選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

EditRepositoryPage.java 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package com.gitblit.wicket.pages;
  2. import java.util.Date;
  3. import org.apache.wicket.PageParameters;
  4. import org.apache.wicket.markup.html.form.CheckBox;
  5. import org.apache.wicket.markup.html.form.Form;
  6. import org.apache.wicket.markup.html.form.TextField;
  7. import org.apache.wicket.model.CompoundPropertyModel;
  8. import org.eclipse.jgit.lib.Repository;
  9. import com.gitblit.GitBlit;
  10. import com.gitblit.utils.JGitUtils;
  11. import com.gitblit.wicket.AdminPage;
  12. import com.gitblit.wicket.BasePage;
  13. import com.gitblit.wicket.WicketUtils;
  14. import com.gitblit.wicket.models.RepositoryModel;
  15. @AdminPage
  16. public class EditRepositoryPage extends BasePage {
  17. private final boolean isCreate;
  18. public EditRepositoryPage() {
  19. // create constructor
  20. super();
  21. isCreate = true;
  22. setupPage(new RepositoryModel("", "", "", new Date()));
  23. }
  24. public EditRepositoryPage(PageParameters params) {
  25. // edit constructor
  26. super(params);
  27. isCreate = false;
  28. String name = WicketUtils.getRepositoryName(params);
  29. Repository r = GitBlit.self().getRepository(name);
  30. String description = JGitUtils.getRepositoryDescription(r);
  31. String owner = JGitUtils.getRepositoryOwner(r);
  32. String group = JGitUtils.getRepositoryGroup(r);
  33. RepositoryModel model = new RepositoryModel(name, description, owner, new Date());
  34. model.group = group;
  35. model.useTickets = JGitUtils.getRepositoryUseTickets(r);
  36. model.useDocs = JGitUtils.getRepositoryUseDocs(r);
  37. model.useRestrictedAccess = JGitUtils.getRepositoryRestrictedAccess(r);
  38. setupPage(model);
  39. }
  40. protected void setupPage(final RepositoryModel repository) {
  41. if (isCreate) {
  42. super.setupPage("", getString("gb.newRepository"));
  43. } else {
  44. super.setupPage("", getString("gb.edit"));
  45. }
  46. CompoundPropertyModel<RepositoryModel> model = new CompoundPropertyModel<RepositoryModel>(repository);
  47. Form<RepositoryModel> form = new Form<RepositoryModel>("editForm", model) {
  48. private static final long serialVersionUID = 1L;
  49. @Override
  50. protected void onSubmit() {
  51. GitBlit.self().editRepository(repository, isCreate);
  52. setRedirect(true);
  53. setResponsePage(RepositoriesPage.class);
  54. }
  55. };
  56. form.add(new TextField<String>("name").setEnabled(isCreate));
  57. form.add(new TextField<String>("description"));
  58. form.add(new TextField<String>("owner"));
  59. form.add(new TextField<String>("group"));
  60. form.add(new CheckBox("useTickets"));
  61. form.add(new CheckBox("useDocs"));
  62. add(form);
  63. }
  64. }