| | |
| | | import java.text.MessageFormat;
|
| | |
|
| | | import org.apache.wicket.RestartResponseException;
|
| | | import org.apache.wicket.markup.html.WebPage;
|
| | | import org.apache.wicket.markup.html.basic.Label;
|
| | | import org.apache.wicket.markup.html.form.Button;
|
| | | import org.apache.wicket.markup.html.form.PasswordTextField;
|
| | | import org.apache.wicket.markup.html.form.StatelessForm;
|
| | | import org.apache.wicket.markup.html.panel.FeedbackPanel;
|
| | | import org.apache.wicket.model.IModel;
|
| | | import org.apache.wicket.model.Model;
|
| | | import org.apache.wicket.protocol.http.WebResponse;
|
| | |
|
| | | import com.gitblit.Constants;
|
| | | import com.gitblit.GitBlit;
|
| | | import com.gitblit.GitBlitException;
|
| | | import com.gitblit.Keys;
|
| | |
| | | import com.gitblit.utils.StringUtils;
|
| | | import com.gitblit.wicket.GitBlitWebSession;
|
| | |
|
| | | public class ChangePasswordPage extends WebPage {
|
| | | public class ChangePasswordPage extends RootSubPage {
|
| | |
|
| | | IModel<String> password = new Model<String>("");
|
| | | IModel<String> confirmPassword = new Model<String>("");
|
| | |
| | | throw new RestartResponseException(getApplication().getHomePage());
|
| | | }
|
| | |
|
| | | if (!GitBlit.getBoolean(Keys.web.authenticateAdminPages, true) && !GitBlit.getBoolean(Keys.web.authenticateViewPages, false)) {
|
| | | if (!GitBlit.getBoolean(Keys.web.authenticateAdminPages, true)
|
| | | && !GitBlit.getBoolean(Keys.web.authenticateViewPages, false)) {
|
| | | // no authentication enabled
|
| | | throw new RestartResponseException(getApplication().getHomePage());
|
| | | }
|
| | |
|
| | | add(new Label("title", GitBlit.getString(Keys.web.siteName, Constants.NAME)));
|
| | | add(new Label("name", getString("gb.changePassword") + ": "
|
| | | + GitBlitWebSession.get().getUser().username));
|
| | | setupPage(getString("gb.changePassword"), GitBlitWebSession.get().getUser().username);
|
| | |
|
| | | StatelessForm<Void> form = new StatelessForm<Void>("passwordForm") {
|
| | |
|
| | |
| | | return;
|
| | | }
|
| | |
|
| | | UserModel user = GitBlitWebSession.get().getUser();
|
| | |
|
| | | // convert to MD5 digest, if appropriate
|
| | | String type = GitBlit.getString(Keys.realm.passwordStorage, "md5");
|
| | | if (type.equalsIgnoreCase("md5")) {
|
| | | // store MD5 digest of password
|
| | | password = StringUtils.MD5_TYPE + StringUtils.getMD5(password);
|
| | | } else if (type.equalsIgnoreCase("combined-md5")) {
|
| | | // store MD5 digest of username+password
|
| | | password = StringUtils.COMBINED_MD5_TYPE
|
| | | + StringUtils.getMD5(user.username.toLowerCase() + password);
|
| | | }
|
| | |
|
| | | UserModel user = GitBlitWebSession.get().getUser();
|
| | | user.password = password;
|
| | | try {
|
| | | GitBlit.self().updateUserModel(user.username, user, false);
|
| | |
| | | confirmPassword);
|
| | | confirmPasswordField.setResetPassword(false);
|
| | | form.add(confirmPasswordField);
|
| | | form.add(new FeedbackPanel("feedback"));
|
| | | |
| | |
|
| | | form.add(new Button("save"));
|
| | | Button cancel = new Button("cancel"){ |
| | | Button cancel = new Button("cancel") {
|
| | | private static final long serialVersionUID = 1L;
|
| | |
|
| | | @Override
|
| | | public void onSubmit() {
|
| | | setResponsePage(RepositoriesPage.class);
|
| | | }
|
| | | };
|
| | | cancel.setDefaultFormProcessing(false);
|
| | | form.add(cancel);
|
| | | |
| | | setResponsePage(RepositoriesPage.class);
|
| | | }
|
| | | };
|
| | | cancel.setDefaultFormProcessing(false);
|
| | | form.add(cancel);
|
| | |
|
| | | add(form);
|
| | | }
|
| | | }
|