Example #1
0
 def getBatch(self, start=0, limit=20, lang=None):
     context = proxy.removeSecurityProxy(self.context)
     query = get_query(context, self.request)
     # filters
     filter_by = dateFilter(self.request)
     if filter_by:
         if (("start_date" in context._class.c) and 
             ("end_date" in context._class.c)
         ):
             # apply date range resrictions
             query = query.filter(filter_by)
     query = self.query_add_filters(query, self.getFilter())
     # order_by
     order_by = self.getSort() # [columns]
     if order_by:
         query = query.order_by(order_by)
     # ore.alchemist.container.AlchemistContainer.batch()
     # nodes: [<bungeni.models.domain.Question]
     nodes = [ contained(ob, self, stringKey(ob)) for ob in 
               query_iterator(query, self.context, self.permission) ]
     self.set_size = len(nodes)
     nodes[:] = nodes[start : start + limit]
     nodes = self.translate_objects(nodes, lang)
     batch = self._jsonValues(nodes, self.fields)
     return batch
Example #2
0
 def getBatch(self, start=0, limit=20, lang=None):
     context = proxy.removeSecurityProxy(self.context)
     query = get_query(context, self.request)
     # filters
     filter_by = dateFilter(self.request)
     if filter_by:
         if (("start_date" in context._class.c)
                 and ("end_date" in context._class.c)):
             # apply date range resrictions
             query = query.filter(filter_by)
     query = self.query_add_filters(query, self.getFilter())
     # order_by
     order_by = self.getSort()  # [columns]
     if order_by:
         query = query.order_by(order_by)
     # ore.alchemist.container.AlchemistContainer.batch()
     # nodes: [<bungeni.models.domain.Question]
     nodes = [
         contained(ob, self, stringKey(ob))
         for ob in query_iterator(query, self.context, self.permission)
     ]
     self.set_size = len(nodes)
     nodes[:] = nodes[start:start + limit]
     nodes = self.translate_objects(nodes, lang)
     batch = self._jsonValues(nodes, self.fields)
     return batch
Example #3
0
 def _get_secured_batch(self, query, start, limit):
     secured_query = secured_iterator("zope.View", query, self.context)
     nodes = []
     for ob in secured_query:
         ob = contained(ob, self, stringKey(ob))
         nodes.append(ob)
     self.set_size = len(nodes)
     return nodes[start:start + limit]
Example #4
0
 def _get_secured_batch( self, query, start, limit):
     secured_query = secured_iterator("zope.View", query, self.context)
     nodes =[]
     for ob in secured_query:
         ob = contained( ob, self, stringKey(ob) )
         nodes.append(ob)
     self.set_size = len(nodes)
     return nodes[start : start + limit]
Example #5
0
 def getBatch(self, start=0, limit=20, lang=None):
     context = removeSecurityProxy(self.context)
     nodes = [container.contained(ob, self, workspace.stringKey(ob)) 
              for ob in query_iterator(context._query, self.context, self.permission)]
     self.set_size = len(nodes)
     nodes[:] = nodes[start : start + limit]
     nodes = self.translate_objects(nodes, lang)
     batch = self._jsonValues(nodes)
     return batch
Example #6
0
 def getBatch(self, start=0, limit=20, lang=None):
     context = removeSecurityProxy(self.context)
     nodes = [
         container.contained(ob, self, workspace.stringKey(ob)) for ob in
         query_iterator(context._query, self.context, self.permission)
     ]
     self.set_size = len(nodes)
     nodes[:] = nodes[start:start + limit]
     nodes = self.translate_objects(nodes, lang)
     batch = self._jsonValues(nodes)
     return batch
Example #7
0
 def get(self, name, default=None):
     try:
         domain_class, primary_key = valueKey(name)
     except:
         return default
     session = Session()
     value = session.query(domain_class).get(primary_key)
     if value is None:
         return default
     # The check below is to ensure an error is raised if an object is not
     # in the tab requested eg. through an outdated url
     if self.check_item(domain_class, value.status):
         value = contained(value, self, name)
         return value
     else:
         return default
Example #8
0
 def get(self, name, default=None):
     try:
         domain_class, primary_key = valueKey(name)
     except:
         return default
     session = Session()
     value = session.query(domain_class).get(primary_key)
     if value is None:
         return default
     # The check below is to ensure an error is raised if an object is not
     # in the tab requested eg. through an outdated url
     if value in self._query:
         value = contained(value, self, stringKey(value))
         return value
     else:
         return default
Example #9
0
 def get_batch(self, start=0, limit=25, lang=None):
     context = removeSecurityProxy(self.context)
     filter_short_name = self.request.get("filter_short_name", None)
     filter_type = self.request.get("filter_type", None)
     filter_status = self.request.get("filter_status", None)
     results, self.set_size = context.query(
         filter_short_name=filter_short_name,
         filter_type=filter_type,
         filter_status=filter_status,
         sort_on=self.sort_on,
         sort_dir=self.sort_dir,
         start=start,
         limit=limit,
         )
     results = [container.contained(ob, self, workspace.stringKey(ob))
              for ob in results]
     results = self.check_permission(results)
     nodes = results[start:start + limit]
     nodes = self.translate_objects(nodes, lang)
     batch = self._json_values(nodes)
     return batch
Example #10
0
 def items(self, **kw):
     for obj in self._query(kw):
         name = stringKey(obj)
         yield (name, contained(obj, self, name))
Example #11
0
 def items(self):
     for obj in self._query:
         name = stringKey(obj)
         yield (name, contained(obj, self, name))