Kawai Wiki

Rev

Rev 148 | Rev 150 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 148 Rev 149
Line 2... Line 2...
2
2
3
import org.kawai.dao.UserDAO;
3
import org.kawai.dao.UserDAO;
4
import org.kawai.model.User;
4
import org.kawai.model.User;
5
import org.mentawai.core.BaseAction;
5
import org.mentawai.core.BaseAction;
6
import org.mentawai.filter.AuthenticationFree;
6
import org.mentawai.filter.AuthenticationFree;
7
import org.mentawai.mail.Letter;
-
 
8
import org.mentawai.mail.SimpleEmail;
-
 
9
import org.mentawai.mail.TextLetter;
-
 
10
import org.mentawai.rule.EmailRule;
-
 
11
import org.mentawai.rule.EqualRule;
7
import org.mentawai.rule.EqualRule;
12
import org.mentawai.rule.MethodRule;
8
import org.mentawai.rule.MethodRule;
13
import org.mentawai.rule.RegexRule;
9
import org.mentawai.rule.RegexRule;
14
import org.mentawai.validation.Validatable;
10
import org.mentawai.validation.Validatable;
-
 
11
import org.mentawai.validation.ValidationInterceptor;
15
import org.mentawai.validation.Validator;
12
import org.mentawai.validation.Validator;
16
13
17
public class UserAction extends BaseAction implements Validatable, AuthenticationFree {
-
 
-
 
14
public class UserAction extends BaseAction implements Validatable, AuthenticationFree, ValidationInterceptor {
18
       
15
       
19
        private final UserDAO userDAO;
16
        private final UserDAO userDAO;
20
       
17
       
21
        public UserAction(UserDAO userDAO) {
18
        public UserAction(UserDAO userDAO) {
22
                this.userDAO = userDAO;
19
                this.userDAO = userDAO;
Line 40... Line 37...
40
               
37
               
41
                String username_regex = "^[A-Za-z][A-Za-z0-9\\-\\_\\.]*[A-Za-z0-9]$";
38
                String username_regex = "^[A-Za-z][A-Za-z0-9\\-\\_\\.]*[A-Za-z0-9]$";
42
               
39
               
43
                if (method != null && method.equals("add") && isPost()) {
40
                if (method != null && method.equals("add") && isPost()) {
44
                       
41
                       
45
                        val.requiredFields("required_field", "username", "password", "email", "groupId", "languageId");
-
 
-
 
42
                        val.requiredFields("Required Field", "username", "password", "groupId");
46
                       
43
                       
47
                        val.requiredLists("required_field", "groupId", "languageId");
-
 
-
 
44
                        val.requiredLists("Required Field", "groupId");
48
                       
45
                       
49
                        val.add("username", RegexRule.getInstance(username_regex), "bad_username");
-
 
-
 
46
                        val.add("username", RegexRule.getInstance(username_regex), "Invalid Username");
50
                       
47
                       
51
                        val.add("username", MethodRule.getInstance(this, "checkUsernameAdd"), "username_already_exists");
-
 
-
 
48
                        val.add("username", MethodRule.getInstance(this, "checkUsernameAdd"), "Username already exists!");
52
                       
49
                       
53
                        val.add("email", EmailRule.getInstance(), "bad_email");
-
 
54
                       
-
 
55
                        val.add("password", EqualRule.getInstance("password", "passconf"), "pass_no_match");
-
 
-
 
50
                        val.add("password", EqualRule.getInstance("password", "passconf"), "Passwords do not match!");
-
 
51
                }
-
 
52
        }
-
 
53
       
-
 
54
        @Override
-
 
55
        public boolean beforeValidation(String method) {
-
 
56
                return true; // go ahead with validation...
-
 
57
        }
-
 
58
       
-
 
59
        @Override
-
 
60
        public void afterValidation(String method, boolean wasOk) {
-
 
61
               
-
 
62
                if (method == null) return;
-
 
63
               
-
 
64
                if (method.equals("add") && !wasOk) {
56
                       
65
                       
-
 
66
                        output.setValue("showForm", "addNewUser");
57
                }
67
                }
58
        }
68
        }
59
       
69
       
60
        boolean checkUsernameAdd(String username) {
70
        boolean checkUsernameAdd(String username) {
61
               
71
               
Line 97... Line 107...
97
107
98
                        setSessionObj(u);
108
                        setSessionObj(u);
99
                       
109
                       
100
                        setSessionGroup(u.getGroup());
110
                        setSessionGroup(u.getGroup());
101
                       
111
                       
102
                        addMessage("registration_ok");
-
 
-
 
112
                        addMessage("User " + u.getUsername() + " added!", true);
103
                       
113
                       
104
                        return CREATED;
114
                        return CREATED;
105
                }
115
                }
106
        }
116
        }
107
}
117
}