Ejemplo n.º 1
0
            # set request-/session-values for new index
            requestkey = 'filter%s%i' % (filterStereotype, index)
            sessionkey = '%s_%s' % (requestkey, self.id)
            REQUEST.set(requestkey, requestvalue)
            standard.set_session_value(self, sessionkey, requestvalue)
            # increase index
            if filterStereotype == 'value' and requestvalue != '':
                index += 1
request.set('qfilters', index + 1)
standard.set_session_value(zmscontext, 'qfilters_%s' % zmscontext.id,
                           index + 1)
# apply filter
for filterIndex in range(100):
    suffix = '%i_%s' % (filterIndex, zmscontext.id)
    sessionattr = standard.get_session_value(zmscontext,
                                             'filterattr%s' % suffix, '')
    sessionop = standard.get_session_value(zmscontext, 'filterop%s' % suffix,
                                           '%')
    sessionvalue = standard.get_session_value(zmscontext,
                                              'filtervalue%s' % suffix, '')
    if sessionattr and sessionvalue:
        res = standard.filter_list(res, sessionattr, sessionvalue, sessionop)

# Order
res = zmscontext.evalMetaobjAttr('sortChildNodes', records=res, prepare=False)

request.set('res', res)
return res

# --// /recordSet_Prepare //--
Ejemplo n.º 2
0
 def filter_list(self, l, i, v, o='%'):
     warn(self, 'filter_list', 'Products.zms.standard.filter_list')
     return standard.filter_list(l, i, v, o)
Ejemplo n.º 3
0
 def recordSet_Filter(self, REQUEST):
     metaObj = self.getMetaobj(self.meta_id)
     res = REQUEST['res']
     # foreign key
     filterattr = 'fk_key'
     filtervalue = 'fk_val'
     sessionattr = '%s_%s' % (filterattr, self.id)
     sessionvalue = '%s_%s' % (filtervalue, self.id)
     standard.set_session_value(
         self, sessionattr,
         REQUEST.form.get(filterattr,
                          standard.get_session_value(self, sessionattr,
                                                     '')))
     standard.set_session_value(
         self, sessionvalue,
         REQUEST.form.get(
             filtervalue,
             standard.get_session_value(self, sessionvalue, '')))
     if REQUEST.get('btn') == 'BTN_RESET':
         standard.set_session_value(self, sessionattr, '')
         standard.set_session_value(self, sessionvalue, '')
     if standard.get_session_value(self,sessionattr, '') != '' and \
        standard.get_session_value(self,sessionvalue, ''):
         res = standard.filter_list(
             res, standard.get_session_value(self, sessionattr),
             standard.get_session_value(self, sessionvalue), '==')
         masterType = [
             x for x in metaObj['attrs'][1:]
             if x['id'] == standard.get_session_value(self, sessionattr)
         ][0]['type']
         master = [
             x for x in self.getParentNode().objectValues(['ZMSCustom'])
             if x.meta_id == masterType
         ][0]
         masterMetaObj = self.getMetaobj(masterType)
         masterAttrs = masterMetaObj['attrs']
         masterRows = master.getObjProperty(masterAttrs[0]['id'], REQUEST)
         masterRows = standard.filter_list(
             masterRows, masterAttrs[1]['id'],
             standard.get_session_value(self, sessionvalue), '==')
         REQUEST.set('masterMetaObj', masterMetaObj)
         REQUEST.set('masterRow', masterRows[0])
     # init filter from request.
     for filterIndex in range(100):
         for filterStereotype in ['attr', 'op', 'value']:
             requestkey = 'filter%s%i' % (filterStereotype, filterIndex)
             sessionkey = '%s_%s' % (requestkey, self.id)
             requestvalue = REQUEST.form.get(
                 requestkey,
                 standard.get_session_value(self, sessionkey, ''))
             if REQUEST.get('btn') == 'BTN_RESET':
                 requestvalue = ''
             REQUEST.set(requestkey, requestvalue)
             standard.set_session_value(self, sessionkey, requestvalue)
     standard.set_session_value(
         self, 'qfilters_%s' % self.id,
         REQUEST.form.get(
             'qfilters',
             standard.get_session_value(self, 'qfilters_%s' % self.id, 1)))
     # apply filter
     for filterIndex in range(100):
         suffix = '%i_%s' % (filterIndex, self.id)
         sessionattr = standard.get_session_value(self,
                                                  'filterattr%s' % suffix,
                                                  '')
         sessionop = standard.get_session_value(self, 'filterop%s' % suffix,
                                                '%')
         sessionvalue = standard.get_session_value(self,
                                                   'filtervalue%s' % suffix,
                                                   '')
         if sessionattr and sessionvalue:
             metaObjAttr = self.getMetaobjAttr(self.meta_id, sessionattr)
             sessionvalue = self.formatObjAttrValue(metaObjAttr,
                                                    sessionvalue,
                                                    REQUEST['lang'])
             res = standard.filter_list(res, sessionattr, sessionvalue,
                                        sessionop)
     REQUEST.set('res', res)
     return res