Commit 674f3c33 authored by Daniel Henninger's avatar Daniel Henninger Committed by dhenninger

More work on permissions from web interface.

git-svn-id: http://svn.igniterealtime.org/svn/repos/wildfire/trunk@6368 b35dd754-fafc-0310-a699-88a17e54d16e
parent e24982fd
...@@ -152,12 +152,14 @@ public class PermissionManager { ...@@ -152,12 +152,14 @@ public class PermissionManager {
Connection con = null; Connection con = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
try { try {
Log.warn("clearing users for "+transportType.toString());
con = DbConnectionManager.getConnection(); con = DbConnectionManager.getConnection();
pstmt = con.prepareStatement(DELETE_ALL_USERS); pstmt = con.prepareStatement(DELETE_ALL_USERS);
pstmt.setString(1, transportType.toString()); pstmt.setString(1, transportType.toString());
pstmt.executeUpdate(); pstmt.executeUpdate();
for (User user : users) { for (User user : users) {
Log.warn("saving user "+user.getUsername());
pstmt = con.prepareStatement(ADD_NEW_USER); pstmt = con.prepareStatement(ADD_NEW_USER);
pstmt.setString(1, transportType.toString()); pstmt.setString(1, transportType.toString());
pstmt.setString(2, user.getUsername()); pstmt.setString(2, user.getUsername());
......
...@@ -150,9 +150,11 @@ public class ConfigManager { ...@@ -150,9 +150,11 @@ public class ConfigManager {
public void savePermissions(String transportName, Integer overallSetting, ArrayList<String> users, ArrayList<String> groups) { public void savePermissions(String transportName, Integer overallSetting, ArrayList<String> users, ArrayList<String> groups) {
JiveGlobals.setProperty("plugin.gateway."+transportName+".registration", overallSetting.toString()); JiveGlobals.setProperty("plugin.gateway."+transportName+".registration", overallSetting.toString());
PermissionManager permissionManager = new PermissionManager(TransportType.valueOf(transportName)); PermissionManager permissionManager = new PermissionManager(TransportType.valueOf(transportName));
ArrayList<User> userList = new ArrayList<User>(); ArrayList<User> userList = new ArrayList<User>();
UserManager userManager = UserManager.getInstance(); UserManager userManager = UserManager.getInstance();
for (String username : users) { for (String username : users) {
if (username.matches("\\s+")) { continue; }
try { try {
User user = userManager.getUser(username); User user = userManager.getUser(username);
userList.add(user); userList.add(user);
...@@ -162,9 +164,11 @@ public class ConfigManager { ...@@ -162,9 +164,11 @@ public class ConfigManager {
} }
} }
permissionManager.storeUserList(userList); permissionManager.storeUserList(userList);
ArrayList<Group> groupList = new ArrayList<Group>(); ArrayList<Group> groupList = new ArrayList<Group>();
GroupManager groupManager = GroupManager.getInstance(); GroupManager groupManager = GroupManager.getInstance();
for (String grpname : groups) { for (String grpname : groups) {
if (grpname.matches("\\s+")) { continue; }
try { try {
Group group = groupManager.getGroup(grpname); Group group = groupManager.getGroup(grpname);
groupList.add(group); groupList.add(group);
......
...@@ -318,12 +318,12 @@ ...@@ -318,12 +318,12 @@
<td align="left"> <td align="left">
<span style="font-weight: bold">Users</span> <a href="javascript:noop()" onClick="activateModifyUsers('<%= this.gatewayType.toString() %>'); return false">(Modify Users)</a><br /> <span style="font-weight: bold">Users</span> <a href="javascript:noop()" onClick="activateModifyUsers('<%= this.gatewayType.toString() %>'); return false">(Modify Users)</a><br />
<span id="<%= this.gatewayType.toString() %>userpermtext"><%= this.userPermText %></span> <span id="<%= this.gatewayType.toString() %>userpermtext"><%= this.userPermText %></span>
<div id="<%= this.gatewayType.toString() %>userpermentrydiv" style="display:none"><textarea class='permissionListTextArea' rows="5" cols="20" id="<%= this.gatewayType.toString() %>userpermentry" name="<%= this.gatewayType.toString() %>userpermentry"><%= this.userPermEntry %></textarea></div> <div id="<%= this.gatewayType.toString() %>userpermentrydiv" style="display:none" class='permissionListDiv'><textarea class='permissionListTextArea' rows="5" cols="20" id="<%= this.gatewayType.toString() %>userpermentry" name="<%= this.gatewayType.toString() %>userpermentry"><%= this.userPermEntry %></textarea></div>
</td> </td>
<td align="left" style="padding-left: 30.0px"> <td align="left" style="padding-left: 30.0px">
<span style="font-weight: bold">Groups</span> <a href="javascript:noop()" onClick="activateModifyGroups('<%= this.gatewayType.toString() %>'); return false">(Modify Groups)</a><br /> <span style="font-weight: bold">Groups</span> <a href="javascript:noop()" onClick="activateModifyGroups('<%= this.gatewayType.toString() %>'); return false">(Modify Groups)</a><br />
<span id="<%= this.gatewayType.toString() %>grouppermtext"><%= this.groupPermText %></span> <span id="<%= this.gatewayType.toString() %>grouppermtext"><%= this.groupPermText %></span>
<div id="<%= this.gatewayType.toString() %>grouppermentrydiv" style="display:none"><textarea class='permissionListTextArea' rows="5" cols="20" id="<%= this.gatewayType.toString() %>grouppermentry" name="<%= this.gatewayType.toString() %>grouppermentry"><%= this.groupPermEntry %></textarea></div> <div id="<%= this.gatewayType.toString() %>grouppermentrydiv" style="display:none" class='permissionListDiv'><textarea class='permissionListTextArea' rows="5" cols="20" id="<%= this.gatewayType.toString() %>grouppermentry" name="<%= this.gatewayType.toString() %>grouppermentry"><%= this.groupPermEntry %></textarea></div>
</td> </td>
</tr> </tr>
</table> </table>
...@@ -466,7 +466,7 @@ ...@@ -466,7 +466,7 @@
function activateModifyUsers(transportID) { function activateModifyUsers(transportID) {
document.getElementById(transportID+"userpermtext").style.display = "none"; document.getElementById(transportID+"userpermtext").style.display = "none";
document.getElementById(transportID+"userpermentrydiv").style.display = "block"; document.getElementById(transportID+"userpermentrydiv").style.display = "inline";
} }
function deactivateModifyUsers(transportID) { function deactivateModifyUsers(transportID) {
...@@ -476,7 +476,7 @@ ...@@ -476,7 +476,7 @@
function activateModifyGroups(transportID) { function activateModifyGroups(transportID) {
document.getElementById(transportID+"grouppermtext").style.display = "none"; document.getElementById(transportID+"grouppermtext").style.display = "none";
document.getElementById(transportID+"grouppermentrydiv").style.display = "block"; document.getElementById(transportID+"grouppermentrydiv").style.display = "inline";
} }
function deactivateModifyGroups(transportID) { function deactivateModifyGroups(transportID) {
......
...@@ -137,6 +137,12 @@ a.jive-gatewayButtonOn { ...@@ -137,6 +137,12 @@ a.jive-gatewayButtonOn {
} }
.permissionListTextArea { .permissionListTextArea {
font-size: 70%; font-size: 70%;
margin: 0px;
padding: 1px;
}
.permissionListDiv {
padding: 0px;
margin: 0px;
} }
...@@ -396,13 +402,13 @@ tr.jive-registrations-edit, tr.jive-registrations-editVisible td { ...@@ -396,13 +402,13 @@ tr.jive-registrations-edit, tr.jive-registrations-editVisible td {
.jive-gateway-addregBtn a { .jive-gateway-addregBtn a {
display: block; display: block;
float: left; float: left;
background: url('/images/add-16x16.gif') no-repeat left; background: url('../images/add-16x16.gif') no-repeat left;
padding-left: 20px; padding-left: 20px;
color: #34679a; color: #34679a;
font-weight: bold; font-weight: bold;
} }
.jive-gateway-cancelAdd a { .jive-gateway-cancelAdd a {
background: url('/images/forbidden-16x16.gif') no-repeat left; background: url('../images/forbidden-16x16.gif') no-repeat left;
} }
.jive-gateway-addreg { .jive-gateway-addreg {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment