Hi, PFA patch for issue RM1417.
Changes: Fixed privileges parsing issue while editing privileges of exiting object. Additional Note: This was general issue and was not related to runtime or pg 9.6. -- *Harshal Dhumal* *Software Engineer* EnterpriseDB India: http://www.enterprisedb.com The Enterprise PostgreSQL Company
diff --git a/web/pgadmin/browser/server_groups/servers/static/js/privilege.js b/web/pgadmin/browser/server_groups/servers/static/js/privilege.js index 70246f6..418122e 100644 --- a/web/pgadmin/browser/server_groups/servers/static/js/privilege.js +++ b/web/pgadmin/browser/server_groups/servers/static/js/privilege.js @@ -58,6 +58,7 @@ * + privileges - Privileges for that role. **/ var PrivilegeRoleModel = pgNode.PrivilegeRoleModel = pgNode.Model.extend({ + idAttribute: 'grantee', defaults: { grantee: undefined, grantor: undefined, diff --git a/web/pgadmin/browser/server_groups/servers/utils.py b/web/pgadmin/browser/server_groups/servers/utils.py index 356b808..4aa04ea 100644 --- a/web/pgadmin/browser/server_groups/servers/utils.py +++ b/web/pgadmin/browser/server_groups/servers/utils.py @@ -63,6 +63,24 @@ def parse_priv_to_db(str_privileges, allowed_acls=[]): priv_with_grant = [] priv_without_grant = [] + if isinstance(priv['privileges'], dict) and 'changed' in priv['privileges']: + tmp = [] + for p in priv['privileges']['changed']: + tmp_p = {'privilege_type': p['privilege_type'], + 'privilege': False, + 'with_grant': False} + + if 'with_grant' in p: + tmp_p['privilege'] = True + tmp_p['with_grant'] = p['with_grant'] + + if 'privilege' in p: + tmp_p['privilege'] = p['privilege'] + + tmp.append(tmp_p) + + priv['privileges'] = tmp + for privilege in priv['privileges']: if privilege['privilege_type'] not in db_privileges:
-- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers