From 198fa1ef2317f9c532cc9f40c8d54010195e8cbe Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 19 Dec 2011 08:51:30 -0500 Subject: [PATCH] Groovy script tweaks --- src/com/gitblit/client/EditRepositoryDialog.java | 39 +++++++++++++++++++++++++++++++++------ 1 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/com/gitblit/client/EditRepositoryDialog.java b/src/com/gitblit/client/EditRepositoryDialog.java index 55f5268..a70a617 100644 --- a/src/com/gitblit/client/EditRepositoryDialog.java +++ b/src/com/gitblit/client/EditRepositoryDialog.java @@ -88,6 +88,8 @@ private JCheckBox skipSummaryMetrics; private JCheckBox isFrozen; + + private JTextField mailRecipientsField; private JComboBox accessRestriction; @@ -96,24 +98,26 @@ private JComboBox ownerField; private JPalette<String> usersPalette; - + private JPalette<String> setsPalette; + + private JPalette<String> teamsPalette; private Set<String> repositoryNames; - public EditRepositoryDialog() { - this(new RepositoryModel()); + public EditRepositoryDialog(int protocolVersion) { + this(protocolVersion, new RepositoryModel()); this.isCreate = true; setTitle(Translation.get("gb.newRepository")); } - public EditRepositoryDialog(RepositoryModel aRepository) { + public EditRepositoryDialog(int protocolVersion, RepositoryModel aRepository) { super(); this.repositoryName = aRepository.name; this.repository = new RepositoryModel(); this.repositoryNames = new HashSet<String>(); this.isCreate = false; - initialize(aRepository); + initialize(protocolVersion, aRepository); setModal(true); setResizable(false); setTitle(Translation.get("gb.edit") + ": " + aRepository.name); @@ -132,7 +136,7 @@ return rootPane; } - private void initialize(RepositoryModel anRepository) { + private void initialize(int protocolVersion, RepositoryModel anRepository) { nameField = new JTextField(anRepository.name == null ? "" : anRepository.name, 35); descriptionField = new JTextField(anRepository.description == null ? "" : anRepository.description, 35); @@ -156,6 +160,9 @@ anRepository.skipSummaryMetrics); isFrozen = new JCheckBox(Translation.get("gb.isFrozenDescription"), anRepository.isFrozen); + mailRecipientsField = new JTextField(anRepository.mailRecipients == null ? "" + : StringUtils.flattenStrings(anRepository.mailRecipients, " "), 50); + accessRestriction = new JComboBox(AccessRestrictionType.values()); accessRestriction.setRenderer(new AccessRestrictionRenderer()); accessRestriction.setSelectedItem(anRepository.accessRestriction); @@ -187,12 +194,18 @@ fieldsPanel .add(newFieldPanel(Translation.get("gb.skipSummaryMetrics"), skipSummaryMetrics)); fieldsPanel.add(newFieldPanel(Translation.get("gb.isFrozen"), isFrozen)); + fieldsPanel.add(newFieldPanel(Translation.get("gb.mailRecipients"), mailRecipientsField)); usersPalette = new JPalette<String>(); JPanel accessPanel = new JPanel(new BorderLayout(5, 5)); accessPanel.add(newFieldPanel(Translation.get("gb.accessRestriction"), accessRestriction), BorderLayout.NORTH); accessPanel.add(newFieldPanel(Translation.get("gb.permittedUsers"), usersPalette), + BorderLayout.CENTER); + + teamsPalette = new JPalette<String>(); + JPanel teamsPanel = new JPanel(new BorderLayout(5, 5)); + teamsPanel.add(newFieldPanel(Translation.get("gb.permittedTeams"), teamsPalette), BorderLayout.CENTER); setsPalette = new JPalette<String>(); @@ -206,6 +219,9 @@ JTabbedPane panel = new JTabbedPane(JTabbedPane.TOP); panel.addTab(Translation.get("gb.general"), fieldsPanel); panel.addTab(Translation.get("gb.accessRestriction"), accessPanel); + if (protocolVersion >= 2) { + panel.addTab(Translation.get("gb.teams"), teamsPanel); + } panel.addTab(Translation.get("gb.federation"), federationPanel); JButton createButton = new JButton(Translation.get("gb.save")); @@ -246,6 +262,7 @@ getContentPane().setLayout(new BorderLayout(5, 5)); getContentPane().add(centerPanel, BorderLayout.CENTER); pack(); + nameField.requestFocus(); } private JPanel newFieldPanel(String label, JComponent comp) { @@ -335,6 +352,8 @@ repository.skipSizeCalculation = skipSizeCalculation.isSelected(); repository.skipSummaryMetrics = skipSummaryMetrics.isSelected(); repository.isFrozen = isFrozen.isSelected(); + + repository.mailRecipients = StringUtils.getStringsFromValue(mailRecipientsField.getText().trim(), " "); repository.accessRestriction = (AccessRestrictionType) accessRestriction.getSelectedItem(); repository.federationStrategy = (FederationStrategy) federationStrategy.getSelectedItem(); @@ -356,6 +375,10 @@ ownerField.setSelectedItem(owner); } usersPalette.setObjects(all, selected); + } + + public void setTeams(List<String> all, List<String> selected) { + teamsPalette.setObjects(all, selected); } public void setRepositories(List<RepositoryModel> repositories) { @@ -384,6 +407,10 @@ return usersPalette.getSelections(); } + public List<String> getPermittedTeams() { + return teamsPalette.getSelections(); + } + /** * ListCellRenderer to display descriptive text about the access * restriction. -- Gitblit v1.9.1