Revision: 3873
Author: [email protected]
Date: Thu Aug 12 08:18:05 2010
Log: FIXED - bug 2950: Non Admin user systems admins have funcitonality
greyed out
http://trillian.sqlpower.ca/bugzilla/show_bug.cgi?id=2950
Fixed a bug in how the security panels were checking group membership.
Through a fluke, it worked for admin, but not for any other user. Also
cleaned up some usage of grants.
http://code.google.com/p/power-architect/source/detail?r=3873
Modified:
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/GroupEditorPanel.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/PrivilegesEditorPanel.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/ProjectSecurityPanel.java
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/UserEditorPanel.java
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/GroupEditorPanel.java
Wed Aug 4 11:55:58 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/GroupEditorPanel.java
Thu Aug 12 08:18:05 2010
@@ -363,7 +363,7 @@
for (Group g : securityWorkspace.getChildren(Group.class)) {
for (GroupMember gm : g.getChildren(GroupMember.class)) {
- if (gm.getUser().getUUID().equals(user.getUsername())) {
+ if (gm.getUser().getUUID().equals(user.getUUID())) {
for (Grant gr : g.getChildren(Grant.class)) {
grantsForUser.add(gr);
}
@@ -374,8 +374,8 @@
boolean disableModifyGroup = true;
for (Grant g : grantsForUser) {
- if ((g.getSubject() != null &&
g.getSubject().equals(group.getUUID()))
- || (g.getType() != null &&
g.getType().equals(Group.class.getName()))) {
+ if ((!g.isSystemLevel() &&
g.getSubject().equals(group.getUUID()))
+ || (g.isSystemLevel() &&
g.getType().equals(Group.class.getName()))) {
if (g.isModifyPrivilege()) {
disableModifyGroup = false;
}
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/PrivilegesEditorPanel.java
Fri Jul 30 08:32:41 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/PrivilegesEditorPanel.java
Thu Aug 12 08:18:05 2010
@@ -262,8 +262,8 @@
boolean disable = true;
for (Grant g : grantsForUser) {
- if ((g.getSubject() != null && g.getSubject().equals(subject))
- || (g.getType() != null && g.getType().equals(type))) {
+ if ((!g.isSystemLevel() && g.getSubject().equals(subject))
+ || (g.isSystemLevel() && g.getType().equals(type))) {
if (g.isGrantPrivilege()) {
disable = false;
}
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/ProjectSecurityPanel.java
Thu Aug 5 13:08:01 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/ProjectSecurityPanel.java
Thu Aug 12 08:18:05 2010
@@ -218,8 +218,8 @@
boolean disable = true;
for (Grant g : grantsForUser) {
- if ((g.getSubject() != null && subject != null &&
g.getSubject().equals(subject.getUUID()))
- || (g.getType() != null &&
g.getType().equals(type.getName()))) {
+ if ((!g.isSystemLevel() && subject != null &&
g.getSubject().equals(subject.getUUID()))
+ || (g.isSystemLevel() &&
g.getType().equals(type.getName()))) {
if (g.isGrantPrivilege()) {
disable = false;
}
@@ -320,11 +320,11 @@
for (SPObject object :
securityWorkspace.getChildren(groupOrUserClass)) {
for (Grant grant : object.getChildren(Grant.class)) {
- if (grant.getType() != null &&
grant.getType().equals(type.getName())) {
+ if (grant.isSystemLevel() &&
grant.getType().equals(type.getName())) {
globalGrants.put(object, grant);
}
if (subject != null) {
- if (grant.getSubject() != null &&
grant.getSubject().equals(subject.getUUID())) {
+ if (!grant.isSystemLevel() &&
grant.getSubject().equals(subject.getUUID())) {
specificGrants.put(object, grant);
}
}
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/UserEditorPanel.java
Wed Aug 4 11:55:58 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/UserEditorPanel.java
Thu Aug 12 08:18:05 2010
@@ -463,7 +463,7 @@
for (Group g : securityWorkspace.getChildren(Group.class)) {
for (GroupMember gm : g.getChildren(GroupMember.class)) {
- if
(gm.getUser().getUUID().equals(creatingUser.getUsername())) {
+ if (gm.getUser().getUUID().equals(creatingUser.getUUID()))
{
for (Grant gr : g.getChildren(Grant.class)) {
grantsForUser.add(gr);
}
@@ -479,14 +479,14 @@
}
for (Grant g : grantsForUser) {
- if ((g.getSubject() != null &&
g.getSubject().equals(user.getUUID()))
- || (g.getType() != null &&
g.getType().equals(User.class.getName()))) {
+ if ((!g.isSystemLevel() &&
g.getSubject().equals(user.getUUID()))
+ || (g.isSystemLevel() &&
g.getType().equals(User.class.getName()))) {
if (g.isModifyPrivilege()) {
disableModifyUser = false;
}
}
- if (g.getType() != null &&
g.getType().equals(Group.class.getName())) {
+ if (g.isSystemLevel() &&
g.getType().equals(Group.class.getName())) {
if (g.isModifyPrivilege()) {
disableModifyGroups = false;
}