示例#1
0
def data_rules_template(categoryid, templateid, userid=None):
    template = get_template_by_id(templateid)
    category = get_category_by_id(categoryid)
    if userid != None:
        user = get_user_by_id(userid)
        rules = get_rules(conflevel=confuser, template=template, category=category, user=user)
    else:
        rules = get_rules(template=template, category=category)
    ret = []
    for tag in rules:
        ntag = tag['tag'].name
        for rule in tag['rules']:
            trule = {'name': rule['rule'].name, 'id': rule['rule'].id, 'tag': ntag}
            if rule['choice'].has_key('current'):
                trule['current-state'] = rule['choice']['current'].state
                trule['current-value'] = rule['choice']['current'].value
            if rule['choice'].has_key('herited'):
                trule['herited-state'] = rule['choice']['herited'].state
                trule['herited-value'] = rule['choice']['herited'].value
            ret.append(trule)
    return json.dumps(ret)
示例#2
0
 def render_POST(self, request):
     if request.postpath[0] == 'data_categories_paned':
         groupid = request.args['id'][0]
         groupname = request.args['name'][0]
         return data_categories_paned(groupname, groupid)
     elif request.postpath[0] == 'data_groups_tree':
         id = request.args['node'][0]
         if id == 'src':
             id = None
         elif id[0] == 't':
             #template
             tid=int(id[1:])
             if tid == 0:
                 tid=None
             return data_templates_tree(tid)
         elif id == '':
             id = None
         else:
             id = int(id)
         return data_groups_tree(id)
     elif request.postpath[0] == 'data_rules_group':
         userid = request.args['userid'][0]
         groupid = int(request.args['groupid'][0])
         categoryid = int(request.args['categoryid'][0])
         if userid == '':
             userid = None
         else:
             userid = int(userid)
         return data_rules_group(categoryid, groupid, userid)
     elif request.postpath[0] == 'data_rules_template':
         userid = request.args['userid'][0]
         templateid = int(request.args['templateid'][0])
         categoryid = int(request.args['categoryid'][0])
         if userid == '':
             userid = None
         else:
             userid = int(userid)
         return data_rules_template(categoryid, templateid, userid)
     elif request.postpath[0] == 'set_choice_group':
         userid = request.args['userid'][0]
         group = get_group_by_id(int(request.args['groupid'][0]))
         rule = get_rule_by_id(int(request.args['ruleid'][0]))
         state = unicode(request.args['state'][0])
         value = unicode(request.args['value'][0])
         if userid == '':
             user = None
         else:
             user = get_user_by_id(int(userid))
         choice = set_choice(rule=rule, group=group, user=user, state=state, value=value)
         session.commit()
         session.flush()
         return 'ok'
     elif request.postpath[0] == 'set_choice_template':
         userid = request.args['userid'][0]
         template = get_template_by_id(int(request.args['templateid'][0]))
         rule = get_rule_by_id(int(request.args['ruleid'][0]))
         state = unicode(request.args['state'][0])
         value = unicode(request.args['value'][0])
         if userid == '':
             user = None
         else:
             user = get_user_by_id(int(userid))
         choice = set_choice(rule=rule, template=template, user=user, state=state, value=value)
         session.commit()
         session.flush()
         return 'ok'
     else:
         return "hu?"