From b2331a89980a43a6be95cb72364c6bdd33caf98a Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sun, 07 Sep 2014 17:38:54 -0400 Subject: [PATCH] Merged #168 "Show account type in teams panel" --- src/main/java/com/gitblit/wicket/pages/NewRepositoryPage.java | 59 +++++++++++++++++++++++++++-------------------------------- 1 files changed, 27 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/NewRepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/NewRepositoryPage.java index 0adb1dd..b6c2359 100644 --- a/src/main/java/com/gitblit/wicket/pages/NewRepositoryPage.java +++ b/src/main/java/com/gitblit/wicket/pages/NewRepositoryPage.java @@ -22,12 +22,8 @@ import java.util.Collections; import java.util.List; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior; import org.apache.wicket.behavior.SimpleAttributeModifier; import org.apache.wicket.markup.html.form.Button; -import org.apache.wicket.markup.html.form.CheckBox; -import org.apache.wicket.markup.html.form.DropDownChoice; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.model.CompoundPropertyModel; import org.apache.wicket.model.IModel; @@ -59,8 +55,11 @@ import com.gitblit.utils.StringUtils; import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.WicketUtils; -import com.gitblit.wicket.panels.RepositoryNamePanel; import com.gitblit.wicket.panels.AccessPolicyPanel; +import com.gitblit.wicket.panels.BooleanChoiceOption; +import com.gitblit.wicket.panels.BooleanOption; +import com.gitblit.wicket.panels.RepositoryNamePanel; +import com.google.common.base.Optional; public class NewRepositoryPage extends RootSubPage { @@ -69,7 +68,7 @@ private Model<String> gitignoreModel; private IModel<Boolean> addGitflowModel; private IModel<Boolean> addGitignoreModel; - private AccessPolicyPanel permissionPanel; + private AccessPolicyPanel accessPolicyPanel; private RepositoryNamePanel namePanel; public NewRepositoryPage() { @@ -108,7 +107,7 @@ if (!namePanel.updateModel(repositoryModel)) { return; } - permissionPanel.updateModel(repositoryModel); + accessPolicyPanel.updateModel(repositoryModel); repositoryModel.owners = new ArrayList<String>(); repositoryModel.owners.add(GitBlitWebSession.get().getUsername()); @@ -132,7 +131,7 @@ if (addGitignore) { gitignore = gitignoreModel.getObject(); if (StringUtils.isEmpty(gitignore)) { - throw new GitBlitException("Please select a .gitignore file"); + throw new GitBlitException(getString("gb.pleaseSelectGitIgnore")); } } @@ -144,7 +143,6 @@ } catch (GitBlitException e) { error(e.getMessage()); - namePanel.resetModel(repositoryModel); return; } setRedirect(true); @@ -174,8 +172,8 @@ repositoryModel.authorizationControl = defaultControl; repositoryModel.accessRestriction = defaultRestriction; - permissionPanel = new AccessPolicyPanel("permissionPanel", repositoryModel); - form.add(permissionPanel); + accessPolicyPanel = new AccessPolicyPanel("accessPolicyPanel", repositoryModel); + form.add(accessPolicyPanel); // // initial commit options @@ -183,7 +181,10 @@ // add README addReadmeModel = Model.of(false); - form.add(new CheckBox("addReadme", addReadmeModel)); + form.add(new BooleanOption("addReadme", + getString("gb.initWithReadme"), + getString("gb.initWithReadmeDescription"), + addReadmeModel)); // add .gitignore File gitignoreDir = app().runtime().getFileOrFolder(Keys.git.gitignoreFolder, "${baseFolder}/gitignore"); @@ -198,29 +199,22 @@ } } Collections.sort(gitignores); + gitignoreModel = Model.of(""); - final DropDownChoice<String> gitignoreChoice = new DropDownChoice<String>("gitignore", gitignoreModel, gitignores); - gitignoreChoice.setOutputMarkupId(true); - form.add(gitignoreChoice.setEnabled(false)); - addGitignoreModel = Model.of(false); - final CheckBox gitignoreCheckbox = new CheckBox("addGitignore", addGitignoreModel); - form.add(gitignoreCheckbox); + form.add(new BooleanChoiceOption<String>("addGitIgnore", + getString("gb.initWithGitignore"), + getString("gb.initWithGitignoreDescription"), + addGitignoreModel, + gitignoreModel, + gitignores).setVisible(gitignores.size() > 0)); - gitignoreCheckbox.add(new AjaxFormComponentUpdatingBehavior("onchange") { - - private static final long serialVersionUID = 1L; - - @Override - protected void onUpdate(AjaxRequestTarget target) { - gitignoreChoice.setEnabled(addGitignoreModel.getObject()); - target.addComponent(gitignoreChoice); - } - }); - - // TODO add .gitflow + // TODO consider gitflow at creation (ticket-55) addGitflowModel = Model.of(false); - form.add(new CheckBox("addGitflow", addGitflowModel)); + form.add(new BooleanOption("addGitFlow", + "Include a .gitflow file", + "This will generate a config file which guides Git clients in setting up Gitflow branches.", + addGitflowModel).setVisible(false)); form.add(new Button("create")); @@ -250,7 +244,8 @@ try { UserModel user = GitBlitWebSession.get().getUser(); - PersonIdent author = new PersonIdent(user.getDisplayName(), user.emailAddress); + String email = Optional.fromNullable(user.emailAddress).or(user.username + "@" + "gitblit"); + PersonIdent author = new PersonIdent(user.getDisplayName(), email); DirCache newIndex = DirCache.newInCore(); DirCacheBuilder indexBuilder = newIndex.builder(); -- Gitblit v1.9.1