def __call__(self): context = aq_inner(self.context) request = aq_inner(self.request) form = request.form status = IStatusMessage(self.request) operation = request.get('operation', None) if operation == 'move_up': assignable = IRuleAssignmentManager(context) rule_id = request.get('rule_id') keys = list(assignable.keys()) idx = keys.index(rule_id) del keys[idx] keys.insert(idx - 1, rule_id) assignable.updateOrder(keys) elif operation == 'move_down': assignable = IRuleAssignmentManager(context) rule_id = request.get('rule_id') keys = list(assignable.keys()) idx = keys.index(rule_id) del keys[idx] keys.insert(idx + 1, rule_id) assignable.updateOrder(keys) elif 'form.button.AddAssignment' in form: rule_id = form.get('rule_id') api.assign_rule(self.context, rule_id) elif 'form.button.Delete' in form: rule_ids = form.get('rule_ids', ()) for r in rule_ids: api.unassign_rule(self.context, r) status.addStatusMessage(_(u'Assignments deleted.'), type='info') elif 'form.button.Enable' in form: rule_ids = form.get('rule_ids', ()) for r in rule_ids: api.edit_rule_assignment(context, r, enabled=True) status.addStatusMessage(_(u'Assignments enabled.'), type='info') elif 'form.button.Disable' in form: rule_ids = form.get('rule_ids', ()) for r in rule_ids: api.edit_rule_assignment(context, r, enabled=False) status.addStatusMessage(_(u'Assignments disabled.'), type='info') elif 'form.button.Bubble' in form: rule_ids = form.get('rule_ids', ()) for r in rule_ids: api.edit_rule_assignment( context, r, bubbles=True, enabled=True) status.addStatusMessage(_(u'Changes saved.'), type='info') elif 'form.button.NoBubble' in form: rule_ids = form.get('rule_ids', ()) for r in rule_ids: api.edit_rule_assignment(context, r, bubbles=False) status.addStatusMessage(_(u'Changes saved.'), type='info') return self.template()
def testRuleAssignmentRemovedAPI(self): self.assertTrue('r1' in self.f11a) self.assertTrue('r1' in self.f12a) api.unassign_rule(self.folder.f1.f11, 'r1') self.assertFalse('r1' in self.f11a) self.assertTrue('r1' in self.f12a)
def remove_content_rules(portal): """ Remove content rules on uninstall """ storage = queryUtility(IRuleStorage) if not storage: return ids = ["eea-asyncmove-rule-fail", "eea-asyncmove-rule-success", "eea-asyncmove-rename-rule-fail", "eea-asyncmove-rule-added", "eea-asyncmove-rename-rule-success"] for i in ids: found = storage.get(i) if found: api.unassign_rule(portal, i) del storage[i]
def remove_content_rules(portal): """ Remove content rules on uninstall """ storage = queryUtility(IRuleStorage) if not storage: return ids = [ "eea-asyncmove-rule-fail", "eea-asyncmove-rule-success", "eea-asyncmove-rename-rule-fail", "eea-asyncmove-rule-added", "eea-asyncmove-rename-rule-success" ] for i in ids: found = storage.get(i) if found: api.unassign_rule(portal, i) del storage[i]