Resolved few intialization issue with Node model data, moved the

privileges functionality out of the backform.pgadmin.js to make it more
modular. Now - privileges will expect the privileges data in following
format:
<name_of_the_property> : [{
    "privileges": [{
        "privilege_type": <privilege_type>,
        "privilege": true,
        "with_grant": false
    },
    ...
    ],
    "grantee": <grantee>,
    "grantor": <grantor>
    },
   ...
]

Example:
acl": [{
    "privileges": [{
        "privilege_type": "CONNECT",
        "privilege": true,
        "with_grant": false
     	}],
    "grantee": '',
    "grantor": 'ashesh'
},{
    "privileges": [{
        "privilege_type": "CREATE",
        "privilege": true,
        "with_grant": false
    },{
        "privilege": true,
        "privilege_type": "TEMPORARY",
        "with_grant": false
    }],
    "grantee": test,
    "grantor": ashesh
}]
This commit is contained in:
Ashesh Vashi
2015-12-23 12:10:23 +05:30
parent bf5170bc89
commit c51ecc69e4
8 changed files with 575 additions and 308 deletions
@@ -8,7 +8,8 @@
##########################################################################
import json
from abc import ABCMeta, abstractmethod, abstractproperty
from flask import render_template, request, make_response, jsonify, current_app
from flask import render_template, request, make_response, jsonify, \
current_app, url_for
from flask.ext.security import login_required, current_user
from pgadmin.settings.settings_model import db, Server, ServerGroup, User
from pgadmin.utils.menu import MenuItem
@@ -84,6 +85,25 @@ class ServerModule(sg.ServerGroupPluginModule):
return snippets
def get_own_javascripts(self):
scripts = []
scripts.extend([{
'name': 'pgadmin.node.server',
'path': url_for('browser.index') + '%s/module' % self.node_type,
'when': self.script_load
},
{
'name': 'pgadmin.browser.server.privilege',
'path': url_for('browser.index') + 'server/static/js/privilege',
'when': self.node_type
}])
for module in self.submodules:
scripts.extend(module.get_own_javascripts())
return scripts
class ServerMenuItem(MenuItem):
def __init__(self, **kwargs):
@@ -606,7 +626,8 @@ class ServerNode(PGChildNodeView):
),
'connected': True,
'type': manager.server_type,
'version': manager.version
'version': manager.version,
'db': manager.db
}
)