config = Config()
self.auth = auth
-# self.server = config.manifold_server
-# self.port = config.manifold_port
-# self.path = config.manifold_path
self.cainfo = cainfo
self.errors = []
self.trace = []
self.prelude=Prelude(css_files='css/plugin.css')
# load metadata
self._metadata={}
- self._metadata_javascript=''
- self.expose_js_metadata()
+ # do not call this uncondionnally as we might not even have logged in
+ # self.expose_js_metadata()
# record known plugins hashed on their domid
def record_plugin (self, plugin):
def expose_js_metadata(self):
request=self.request
- if 'metadata' not in request.session.keys():
+ # xxx this code should probably not be called unconditionnally at page creation time
+ # because we're not sure a user is logged in so we might have no session...
+ if 'manifold' not in request.session:
+ print "Page.expose_js_metadata: no 'manifold' in session... - skipping"
+ return
+ # use cached version if present
+ if 'metadata' in request.session.keys():
+ self._metadata = request.session['metadata']
+ else:
manifold_api_session_auth = request.session['manifold']['auth']
manifold_api = ManifoldAPI(auth=manifold_api_session_auth)
self._metadata[method] = res
request.session['metadata'] = self._metadata
- self._metadata_javascript = "all_headers=" + json.dumps(self._metadata) + ";"
- self.add_js_chunks(self._metadata_javascript)
- else:
- self._metadata = request.session['metadata']
- self._metadata_javascript = "all_headers=" + json.dumps(self._metadata) + ";"
- self.add_js_chunks(self._metadata_javascript)
+ javascript = "all_headers=" + json.dumps(self._metadata) + ";"
+ self.add_js_chunks(javascript)
def metadata_get_fields(self, method):
return self._metadata[method]['column'].sort()
function getMetadata(){
- return all_headers;
+ return MANIFOLD_METADATA;
}
// returns all fields of a given method
function getMetadata_fields(method){
var result=new Array();
- jQuery.each(all_headers, function(m,obj){
+ jQuery.each(MANIFOLD_METADATA, function(m,obj){
if(m==method){
jQuery.each(obj['column'], function(i,f){
result.push(f);
}
// returns all properties of a given field
function getMetadata_field(method, field){
- //console.log(all_headers);
var result=new Array();
- jQuery.each(all_headers, function(m,obj){
+ jQuery.each(MANIFOLD_METADATA, function(m,obj){
if(m==method){
jQuery.each(obj['column'], function(i,f){
if(f['column']==field){
}
// returns the value of a property from a field within a method (type of object : resource,node,lease,slice...)
function getMetadata_property(method, field, property){
- //console.log(all_headers);
var result=null;
- jQuery.each(all_headers, function(m,obj){
+ jQuery.each(MANIFOLD_METADATA, function(m,obj){
if(m==method){
jQuery.each(obj['column'], function(i,f){
if(f['column']==field){
}
});
return result;
- //all_headers[method]['column']
- //[field][]
}
Plugin.__init__ (self, **settings)
self.list=list
self.with_datatables = with_datatables
-
+ self.page.expose_js_metadata()
def title (self) : return "Title for Quick "
console.log(filter[0]);
allowedValues=getMetadata_property('resource', filter[0], 'allowed_values');
if (allowedValues!='' && allowedValues!="N/A") {
- //if(all_headers[filter[0]]['allowed_values']!=''){
+ //if(MANIFOLD_METADATA[filter[0]]['allowed_values']!=''){
jQuery('#QuickFilter_select_field').val("#");
jQuery('#QuickFilter_select_value').children().remove().end();
jQuery('#QuickFilter_select_value_container').hide();