From 0b911946c4d81df6c8f411089f2e3036b4251e2b Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 21 Dec 2011 17:13:00 -0500 Subject: [PATCH] Support mailing lists for Teams --- src/com/gitblit/client/EditTeamDialog.java | 30 ++++++++++++++++++++++++------ 1 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/com/gitblit/client/EditTeamDialog.java b/src/com/gitblit/client/EditTeamDialog.java index 4297599..a04ed2c 100644 --- a/src/com/gitblit/client/EditTeamDialog.java +++ b/src/com/gitblit/client/EditTeamDialog.java @@ -65,6 +65,8 @@ private JTextField teamnameField; + private JTextField mailingListsField; + private JPalette<String> repositoryPalette; private JPalette<String> userPalette; @@ -105,16 +107,20 @@ private void initialize(int protocolVersion, TeamModel aTeam) { teamnameField = new JTextField(aTeam.name == null ? "" : aTeam.name, 25); + mailingListsField = new JTextField(aTeam.mailingLists == null ? "" + : StringUtils.flattenStrings(aTeam.mailingLists, " "), 50); + JPanel fieldsPanel = new JPanel(new GridLayout(0, 1)); fieldsPanel.add(newFieldPanel(Translation.get("gb.teamName"), teamnameField)); + fieldsPanel.add(newFieldPanel(Translation.get("gb.mailingLists"), mailingListsField)); final Insets _insets = new Insets(5, 5, 5, 5); repositoryPalette = new JPalette<String>(); userPalette = new JPalette<String>(); - + JPanel fieldsPanelTop = new JPanel(new BorderLayout()); fieldsPanelTop.add(fieldsPanel, BorderLayout.NORTH); - + JPanel repositoriesPanel = new JPanel(new BorderLayout()) { private static final long serialVersionUID = 1L; @@ -140,7 +146,6 @@ panel.addTab(Translation.get("gb.teamMembers"), usersPanel); panel.addTab(Translation.get("gb.restrictedRepositories"), repositoriesPanel); - JButton createButton = new JButton(Translation.get("gb.save")); createButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { @@ -162,7 +167,7 @@ JPanel controls = new JPanel(); controls.add(cancelButton); controls.add(createButton); - + JPanel centerPanel = new JPanel(new BorderLayout(5, 5)) { private static final long serialVersionUID = 1L; @@ -218,9 +223,22 @@ } team.name = tname; + String ml = mailingListsField.getText(); + if (!StringUtils.isEmpty(ml)) { + Set<String> list = new HashSet<String>(); + for (String address : ml.split("(,|\\s)")) { + if (StringUtils.isEmpty(address)) { + continue; + } + list.add(address.toLowerCase()); + } + team.mailingLists.clear(); + team.mailingLists.addAll(list); + } + team.repositories.clear(); team.repositories.addAll(repositoryPalette.getSelections()); - + team.users.clear(); team.users.addAll(userPalette.getSelections()); return true; @@ -251,7 +269,7 @@ } repositoryPalette.setObjects(restricted, selected); } - + public void setUsers(List<String> users, List<String> selected) { Collections.sort(users); if (selected != null) { -- Gitblit v1.9.1