Ejemplo n.º 1
0
 def edit_rule(self, rule_id):
     """Edit a policy rule"""
     rule = get_rule(rule_id)
     if not rule:
         abort(404)
     c.rule_id = rule_id
     c.policy_id = rule.policy_id
     c.policy_type = rule.policy.policy_type
     c.POLICY_NAME = POLICY_NAME
     c.POLICY_URL_MAP = POLICY_URL_MAP
     c.form = AddRuleForm(request.POST, rule, csrf_context=session)
     if rule.policy.policy_type in [1, 2]:
         c.form.action.choices = ARCHIVE_RULE_ACTIONS
     if request.method == 'POST' and c.form.validate():
         try:
             updated = update_rule(c.form, rule, c.user,
                         request.host, request.remote_addr)
             if updated:
                 flash(_('The rule has been updated'))
             else:
                 flash(_('No changes were made to the rule'))
         except IntegrityError:
             Session.rollback()
             flash(_('The rule could not be updated'))
         redirect(url('policy-rulesets', policy_id=rule.policy_id))
     return self.render('/settings/rules_edit.html')
Ejemplo n.º 2
0
 def move_rule(self, rule_id, direc):
     """Move a policy rule"""
     rule = get_rule(rule_id)
     if not rule:
         redirect(url('policy-rulesets', policy_id=rule.policy_id))
     if int(direc) == 1:
         rule.move_up()
     else:
         rule.move_down()
     redirect(url('policy-rulesets', policy_id=rule.policy_id))
Ejemplo n.º 3
0
 def delete_rule(self, rule_id):
     """Delete a policy rule"""
     rule = get_rule(rule_id)
     if not rule:
         abort(404)
     c.rule_id = rule_id
     c.policy_id = rule.policy_id
     c.policy_type = rule.policy.policy_type
     c.POLICY_NAME = POLICY_NAME
     c.POLICY_URL_MAP = POLICY_URL_MAP
     c.form = AddRuleForm(request.POST, rule, csrf_context=session)
     if rule.policy.policy_type in [1, 2]:
         c.form.action.choices = ARCHIVE_RULE_ACTIONS
     if request.method == 'POST' and c.form.validate():
         policy_id = rule.policy_id
         delete_rule(rule, c.user, request.host, request.remote_addr)
         flash(_('The rule has been deleted'))
         redirect(url('policy-rulesets', policy_id=policy_id))
     return self.render('/settings/rules_delete.html')