def get_rule(self, transition):
     rulename = generateRuleName(transition)
     if self.storage is not None:
         for rule in self.storage.values():
             if rule.__name__ == rulename:
                 return RuleAdapter(rule, transition)
     return None
Esempio n. 2
0
    def __call__(self):
        self.errors = {}

        if self.request.get('form.actions.add', False) == 'Add':
            self.authorize()
            am = ActionManager()
            rule = am.get_rule(self.selected_transition)
            if rule is None:
                id = generateRuleName(self.selected_transition)
                r = Rule()
                r.title = u"%s transition content rule" % (
                    self.selected_transition.id)
                r.description = """This content rule was automatically created
by the workflow manager to support actions on workflow transitions. If you want
the behavior to work as expected, do not modify this outside of the workflow
manager."""
                am.storage[id] = r
                rule = RuleAdapter(r, self.selected_transition)
                rule.activate()

            editurl = '%s/%s/+action' % (self.portal.absolute_url(), rule.id)
            data = urlencode({
                ':action':
                self.request.get('action-type', 'plone.actions.Mail'),
                'form.button.AddAction':
                'Add'
            })

            return self.handle_response(load=editurl + '?' + data)
        else:
            return self.handle_response(tmpl=self.template)
    def __call__(self):
        self.errors = {}

        if self.request.get('form.actions.add', False):
            self.authorize()
            am = ActionManager()
            rule = am.get_rule(self.selected_transition)
            if rule is None:
                rule_id = generateRuleName(self.selected_transition)
                r = Rule()
                r.title = u"%s transition content rule" % (
                    self.selected_transition.id)
                r.description = """This content rule was automatically created
by the workflow manager to support actions on workflow transitions. If you want
the behavior to work as expected, do not modify this outside of the workflow
manager."""
                am.storage[rule_id] = r
                rule = RuleAdapter(r, self.selected_transition)
                rule.activate()

            editurl = '%s/%s/+action' % (self.portal.absolute_url(), rule.id)
            data = urlencode({
                ':action': self.request.get('action-type',
                                            'plone.actions.Mail'),
                'form.button.AddAction': 'Add'})

            return self.handle_response(load=editurl + '?' + data)
        else:
            return self.handle_response(tmpl=self.template)
Esempio n. 4
0
 def get_rule(self, transition):
     rulename = generateRuleName(transition)
     rulename_old = generateRuleNameOld(transition)
     if self.storage is not None:
         for rule in self.storage.values():
             if rule.__name__ == rulename or rule.__name__ == rulename_old:
                 return RuleAdapter(rule, transition)
     return None
 def create(self, transition):
     rule = self.get_rule(transition)
     if rule is None:
         id = generateRuleName(transition)
         r = Rule()
         r.title = u"%s transition content rule" % transition.id
         r.description = _(u"This content rule was automatically created "
                           u"the workflow manager to create actions on "
                           u"workflow events. If you want the behavior to "
                           u"work as expected, do not modify this out of "
                           u"the workflow manager.")
         self.storage[id] = r
         rule = RuleAdapter(r, transition)
         rule.activate()
     return rule
Esempio n. 6
0
    def create(self, transition):
        rule = self.get_rule(transition)
        if rule is None:
            rule_id = generateRuleName(transition)
            r = Rule()
            r.title = _(u"%s transition content rule") % transition.id
            r.description = _(u"This content rule was automatically created "
                              u"the workflow manager to create actions on "
                              u"workflow events. If you want the behavior to "
                              u"work as expected, do not modify this out of "
                              u"the workflow manager.")
            self.storage[rule_id] = r
            rule = RuleAdapter(r, transition)
            rule.activate()

        return rule