Exemplo n.º 1
0
    def __init__ (self, **settings):
        Plugin.__init__(self, **settings)
        print "SETTINGS", settings
        assert 'page'   in settings, "You should specify page"
        assert 'object' in settings, "You should specify object"

        if 'object' in settings:
            self.object = settings['object']

        if 'fields' in settings:
            self.fields = []
            for field in settings['fields']:
                c = {
                    'name'          : field.get('name', ''),
                    'field'         : field.get('field', ''),
                    'type'          : field.get('type', 'input'),
                    'description'   : field.get('description', ''),
                    'validate_rx'   : field.get('validate_rx', ''),
                    'validate_err'  : field.get('validate_err', ''),
                    'old_value'     : 'POST',
                }
                self.fields.append(c)
        else:
            # Attempt to retrieve object fields from metadata
            metadata = settings['page'].get_metadata()
            md_o = metadata.details_by_object(settings['object'])
            self.fields = md_o['column']
Exemplo n.º 2
0
    def __init__(self, **settings):
        Plugin.__init__(self, **settings)
        assert 'page' in settings, "You should specify page"
        assert 'object' in settings, "You should specify object"

        if 'object' in settings:
            self.object = settings['object']

        if 'fields' in settings:
            self.fields = []
            for field in settings['fields']:
                c = {
                    'name': field.get('name', ''),
                    'field': field.get('field', ''),
                    'type': field.get('type', 'input'),
                    'description': field.get('description', ''),
                    'validate_rx': field.get('validate_rx', ''),
                    'validate_err': field.get('validate_err', ''),
                    'old_value': 'POST',
                }
                self.fields.append(c)
        else:
            # Attempt to retrieve object fields from metadata
            metadata = settings['page'].get_metadata()
            md_o = metadata.details_by_object(settings['object'])
            self.fields = md_o['column']
Exemplo n.º 3
0
    def __init__(self,
                 query=None,
                 query_all=None,
                 sync_query=None,
                 checkboxes=False,
                 columns=None,
                 init_key=None,
                 datatables_options={},
                 **settings):
        Plugin.__init__(self, **settings)
        self.query = query
        self.query_uuid = query.query_uuid if query else None
        # Until we have a proper way to access queries in Python
        self.query_all = query_all
        self.query_all_uuid = query_all.query_uuid if query_all else None
        self.sync_query_uuid = sync_query.query_uuid if sync_query else None
        self.checkboxes = checkboxes
        # XXX We need to have some hidden columns until we properly handle dynamic queries
        if columns is not None:
            self.columns = columns
            self.hidden_columns = []
        elif self.query:
            self.columns = list(
                ['Testbed', 'Virtualization Server', 'VM name', 'Delete'])
            #replace production
            #self.columns = self.query.fields
            if query_all:
                #replace production
                self.hidden_columns = []
                # We need a list because sets are not JSON-serializable
                #self.hidden_columns = #list(self.query_all.fields - self.query.fields)
            else:
                self.hidden_columns = []
        else:
            self.columns = []
            self.hidden_columns = []

        self.columns = list(
            ['Testbed', 'Virtualization Server', 'VM name', 'Delete'])
        self.init_key = init_key
        self.datatables_options = datatables_options
        # if checkboxes were required, we tell datatables about this column's type
        # so that sorting can take place on a selected-first basis (or -last of course)
        # this relies on the template exposing the checkboxes 'th' with class 'checkbox'
        if self.checkboxes:
            # we use aoColumnDefs rather than aoColumns -- ignore user-provided aoColumns
            if 'aoColumns' in self.datatables_options:
                logger.warning(
                    'WARNING: querytable uses aoColumnDefs, your aoColumns spec. is discarded'
                )
                del self.datatables_options['aoColumns']
            # set aoColumnDefs in datatables_options - might already have stuff in there
            aoColumnDefs = self.datatables_options.setdefault(
                'aoColumnDefs', [])
            # here 'checkbox' is the class that we give to the <th> dom elem
            # dom-checkbox is a sorting type that we define in querytable.js
            aoColumnDefs.append({
                'aTargets': ['checkbox'],
                'sSortDataType': 'dom-checkbox'
            })
Exemplo n.º 4
0
    def __init__ (self, query, query_lease, **settings):
        Plugin.__init__ (self, **settings)
        
        self.query=query

        self.query_lease = query_lease
        self.query_lease_uuid = query_lease.query_uuid
Exemplo n.º 5
0
 def __init__ (self, query, query_all_resources, query_lease = None, **settings):
     Plugin.__init__ (self, **settings)
     
     self.query=query
     self.query_all_resources = query_all_resources
     self.query_all_resources_uuid = query_all_resources.query_uuid
     self.query_lease = query_lease
     query_lease.query_uuid if query_lease else None
Exemplo n.º 6
0
 def __init__ (self, transient=True, levels=None, **settings):
     Plugin.__init__ (self, **settings)
     if levels is None: levels=default_levels
     # shortcut: 'ALL' turn everything on
     elif levels=='ALL': levels=dict( [ (k,True) for k in default_levels ] )
     elif levels=='NONE': levels=dict( [ (k,False) for k in default_levels ] )
     self.transient=transient
     self.levels=levels
Exemplo n.º 7
0
 def __init__ (self, query=None, button_domid=None, **settings):
     Plugin.__init__ (self, **settings)
     # set defaults
     if query is None: 
         query = Query.get('ple:user').filter_by('user_hrn', '==', '$user_hrn').select('pi_authorities')
     if button_domid is None: button_domid="topmenu-validate"
     self.query=query
     self.button_domid=button_domid
Exemplo n.º 8
0
 def __init__ (self, query=None, query_all=None, 
               checkboxes=False, columns=None, 
               init_key=None,
               datatables_options={}, **settings):
     Plugin.__init__ (self, **settings)
     self.query          = query
     # Until we have a proper way to access queries in Python
     self.query_all      = query_all
     self.query_all_uuid = query_all.query_uuid if query_all else None
Exemplo n.º 9
0
 def __init__ (self, query, query_all, googlemap_api_key=None, latitude=43., longitude=7., zoom=4, **settings):
     Plugin.__init__ (self, **settings)
     self.query=query
     self.query_all = query_all
     self.googlemap_api_key=googlemap_api_key
     self.query_all_uuid = query_all.query_uuid if query_all else None
     self.latitude=latitude
     self.longitude=longitude
     self.zoom=zoom
Exemplo n.º 10
0
 def __init__(self, query=None, button_domid=None, **settings):
     Plugin.__init__(self, **settings)
     # set defaults
     if query is None:
         query = Query.get('ple:user').filter_by(
             'user_hrn', '==', '$user_hrn').select('pi_authorities')
     if button_domid is None: button_domid = "topmenu-validate"
     self.query = query
     self.button_domid = button_domid
Exemplo n.º 11
0
    def __init__ (self, query=None, query_all=None, 
                  checkboxes=False, columns=None, 
                  init_key=None,
                  datatables_options={}, **settings):
        Plugin.__init__ (self, **settings)
        self.query          = query
        # Until we have a proper way to access queries in Python
        self.query_all      = query_all
        self.query_all_uuid = query_all.query_uuid if query_all else None
        self.checkboxes     = checkboxes

        # XXX We need to have some hidden columns until we properly handle dynamic queries
        if columns is not None:
            _columns = columns
            _hidden_columns = []
        elif self.query:
            logger.debug("self.query.fields = {}".format(self.query_all.fields))
            # Columns displayed by default
            if self.default_fields is not None:
                _columns = [field for field in self.default_fields if not field == 'urn']
            else:
                _columns = [field for field in self.query.fields if not field == 'urn']
            if query_all:
                # We need a list because sets are not JSON-serializable
                if self.default_fields is not None:
                    logger.debug(self.query_all.fields)
                    _hidden_columns = list(self.query_all.fields - set(self.default_fields))
                else:
                    _hidden_columns = list(self.query_all.fields - self.query.fields)
                _hidden_columns.append('urn')
            else:
                _hidden_columns = []
        else:
            _columns = []
            _hidden_columns = []

        logger.debug("_columns={}".format(_columns))
        self.columns = { self.mapping.get(c, c) : c for c in _columns }
        self.hidden_columns = { self.mapping.get(c, c) : c for c in _hidden_columns }
        logger.debug("self.columns {}".format(self.columns))
        logger.debug("self.hidden_columns {}".format(self.hidden_columns))

        self.init_key=init_key
        self.datatables_options=datatables_options
        # if checkboxes were required, we tell datatables about this column's type
        # so that sorting can take place on a selected-first basis (or -last of course)
        # this relies on the template exposing the checkboxes 'th' with class 'checkbox'
        if self.checkboxes:
            # we use aoColumnDefs rather than aoColumns -- ignore user-provided aoColumns
            if 'aoColumns' in self.datatables_options:
                logger.warning('WARNING: querytable uses aoColumnDefs, your aoColumns spec. is discarded')
                del self.datatables_options['aoColumns']
            # set aoColumnDefs in datatables_options - might already have stuff in there
            aoColumnDefs = self.datatables_options.setdefault ('aoColumnDefs',[])
Exemplo n.º 12
0
 def __init__(self,
              query,
              googlemap_api_key=None,
              latitude=50.,
              longitude=50,
              zoom=3,
              **settings):
     Plugin.__init__(self, **settings)
     self.query = query
     self.googlemap_api_key = googlemap_api_key
     self.latitude = latitude
     self.longitude = longitude
     self.zoom = zoom
Exemplo n.º 13
0
 def __init__(self,
              query=None,
              query_all=None,
              checkboxes=False,
              columns=None,
              init_key=None,
              datatables_options={},
              **settings):
     Plugin.__init__(self, **settings)
     self.query = query
     self.query.uuid = query.query_uuid if query else None
     self.query_all = query_all
     self.query_all_uuid = query_all.query_uuid if query_all else None
Exemplo n.º 14
0
    def __init__ (self, query, query_all_resources, query_lease = None, **settings):
        Plugin.__init__ (self, **settings)
        
        self.query=query
        self.query_all_resources = query_all_resources
        self.query_all_resources_uuid = query_all_resources.query_uuid
        self.query_lease = query_lease
        query_lease.query_uuid if query_lease else None

        #granularity in minutes
        granularity = 10
        #self.time_slots = []
        self.time_slots = self.createTimeSlots(granularity)
        self.nodes = [
                        ['Grid Nodes' , ['node016', 'node017', 'node018', 'node019', 'node020', 'node021',  'node029', 'node030', 'node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031','node031',]],
                        ['Other Nodes' , ['node022', 'node023', 'node024','node025', 'node026', 'node027', 'node028',]]
                    ]
Exemplo n.º 15
0
 def __init__ (self, query=None, query_all=None, 
               checkboxes=False, columns=None, 
               id_key=None,
               datatables_options={}, **settings):
     Plugin.__init__ (self, **settings)
     self.query          = query
     # Until we have a proper way to access queries in Python
     self.query_all      = query_all
     self.query_all_uuid = query_all.query_uuid if query_all else None
     self.checkboxes     = checkboxes
     # XXX We need to have some hidden columns until we properly handle dynamic queries
     if columns is not None:
         self.columns=columns
         self.hidden_columns = []
     elif self.query:
         self.columns = self.query.fields
         if query_all:
             # We need a list because sets are not JSON-serializable
             self.hidden_columns = list(self.query_all.fields - self.query.fields)
         else:
             self.hidden_columns = []
     else:
         self.columns = []
         self.hidden_columns = []
     # needs to be json-serializable, and sets are not
     self.columns=list(self.columns)
     self.id_key=id_key
     self.datatables_options=datatables_options
     # if checkboxes were required, we tell datatables about this column's type
     # so that sorting can take place on a selected-first basis (or -last of course)
     # this relies on the template exposing the checkboxes 'th' with class 'checkbox'
     if self.checkboxes:
         # we use aoColumnDefs rather than aoColumns -- ignore user-provided aoColumns
         if 'aoColumns' in self.datatables_options:
             print 'WARNING: querygrid uses aoColumnDefs, your aoColumns spec. is discarded'
             del self.datatables_options['aoColumns']
         # set aoColumnDefs in datatables_options - might already have stuff in there
         aoColumnDefs = self.datatables_options.setdefault ('aoColumnDefs',[])
         # here 'checkbox' is the class that we give to the <th> dom elem
         # dom-checkbox is a sorting type that we define in querygrid.js
         aoColumnDefs.append ( {'aTargets': ['checkbox'], 'sSortDataType': 'dom-checkbox' } )
Exemplo n.º 16
0
    def __init__ (self, query=None, **settings):
        Plugin.__init__ (self, **settings)

        self.query = query
Exemplo n.º 17
0
 def __init__(self, query, query_all=None, **settings):
     Plugin.__init__(self, **settings)
     self.query = query
     self.query_uuid = query.query_uuid
     self.query_all = query_all
     self.query_all_uuid = query_all.query_uuid if query_all else None
Exemplo n.º 18
0
 def __init__ (self, criterias, **settings):
     Plugin.__init__ (self, **settings)
     self.criterias=criterias
     self.page.expose_js_metadata()
Exemplo n.º 19
0
 def __init__(self, query, query_all=None, **settings):
     Plugin.__init__(self, **settings)
     self.query = query
     self.query_uuid = query.query_uuid
     self.query_all = query_all
     self.query_all_uuid = query_all.query_uuid if query_all else None
Exemplo n.º 20
0
 def __init__(self, query, query_all, **settings):
     Plugin.__init__(self, **settings)
     self.query = query
     self.query_all = query_all
     self.query_all_uuid = query_all.query_uuid
Exemplo n.º 21
0
 def __init__(self, criterias, **settings):
     Plugin.__init__(self, **settings)
     self.criterias = criterias
     self.page.expose_js_metadata()
Exemplo n.º 22
0
    def __init__(self, query=None, **settings):
        Plugin.__init__(self, **settings)

        # Until we have a proper way to access queries in Python
        self.query = query
Exemplo n.º 23
0
 def __init__(self, list=[], with_datatables=False, **settings):
     Plugin.__init__(self, **settings)
     self.list = list
     self.with_datatables = with_datatables
Exemplo n.º 24
0
 def __init__ (self, query=None, **settings):
     Plugin.__init__ (self, **settings)
     self.query=query
     self.query_uuid = query.query_uuid if query else None
     logger.info("called univbris topo plugin")
Exemplo n.º 25
0
    def __init__(self,
                 query,
                 query_all_resources,
                 query_lease=None,
                 **settings):
        Plugin.__init__(self, **settings)

        self.query = query
        self.query_all_resources = query_all_resources
        self.query_all_resources_uuid = query_all_resources.query_uuid
        self.query_lease = query_lease
        query_lease.query_uuid if query_lease else None

        #granularity in minutes
        granularity = 10
        #self.time_slots = []
        self.time_slots = self.createTimeSlots(granularity)
        self.nodes = [[
            'Grid Nodes',
            [
                'node016',
                'node017',
                'node018',
                'node019',
                'node020',
                'node021',
                'node029',
                'node030',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
                'node031',
            ]
        ],
                      [
                          'Other Nodes',
                          [
                              'node022',
                              'node023',
                              'node024',
                              'node025',
                              'node026',
                              'node027',
                              'node028',
                          ]
                      ]]
Exemplo n.º 26
0
 def __init__ (self, list=[], with_datatables=False, **settings):
     Plugin.__init__ (self, **settings)
     self.list=list
     self.with_datatables = with_datatables
Exemplo n.º 27
0
 def __init__ (self, key, with_datatables=False, classname=None, **settings):
     Plugin.__init__ (self, **settings)
     self.key=key
     self.with_datatables = with_datatables
     # the DOM classname
     self.classname = classname if classname is not None else "simplelist"
Exemplo n.º 28
0
 def __init__(self, query=None, **settings):
     Plugin.__init__(self, **settings)
     self.query = query
     self.username = str(settings['username'])
Exemplo n.º 29
0
 def __init__(self, key, with_datatables=False, classname=None, **settings):
     Plugin.__init__(self, **settings)
     self.key = key
     self.with_datatables = with_datatables
     # the DOM classname
     self.classname = classname if classname is not None else "simplelist"
Exemplo n.º 30
0
 def __init__ (self, sons=None, active_domid=None, *args, **kwds):
     Plugin.__init__ (self, *args, **kwds)
     self.sons= sons if sons else []
     self.active_domid=active_domid
     # make sure this is valid, unset otherwise, so we always have exactly one active
     self.check_active_domid()
Exemplo n.º 31
0
 def __init__ (self, html, **kwds):
     Plugin.__init__ (self, **kwds)
     self.html=html
Exemplo n.º 32
0
 def __init__ (self, query, query_all, **settings):
     Plugin.__init__ (self, **settings)
     self.query = query
     self.query_all = query_all
     self.query_all_uuid = query_all.query_uuid
Exemplo n.º 33
0
 def __init__(self, sons=None, active_domid=None, *args, **kwds):
     Plugin.__init__(self, *args, **kwds)
     self.sons = sons if sons else []
     self.active_domid = active_domid
     # make sure this is valid, unset otherwise, so we always have exactly one active
     self.check_active_domid()