コード例 #1
0
    def get_script_steps(self, form):
        action_data = {
            "template_data": {},
            "recipient": {"constant": form["base"].cleaned_data["recipient"]},
            "language": {"variable": "language"},
            "fallback_language": {"constant": settings.PARLER_DEFAULT_LANGUAGE_CODE}
        }

        for language in form.forms:
            form_lang = form[language]
            # tries to get the cleaned data, otherwise the initial value
            # since cleaned_data can be blank if the user did not change anything
            action_data["template_data"][language] = {
                "content_type": "html",
                "subject": form_lang.cleaned_data.get("subject", form_lang.initial.get("subject", "")).strip(),
                "body": form_lang.cleaned_data.get("body", form_lang.initial.get("body", "")).strip()
            }

        send_mail_action = SendEmail(action_data)
        conditions = []
        if form["base"].cleaned_data.get("last24hrs"):
            conditions.append(BooleanEqual({
                "v1": {"variable": "dispatched_last_24hs"},
                "v2": {"constant": (not form["base"].cleaned_data["last24hrs"])}
            }))

        return [Step(next=StepNext.STOP, actions=(send_mail_action,), conditions=conditions)]
コード例 #2
0
 def create_script(self, shop, form=None):
     condition = BooleanEqual({
         "v1": {"constant": True},
         "v2": {"constant": False}
     })
     script = Script(event_identifier=AlertLimitReached.identifier, name="Dummy Alert", enabled=True, shop=shop)
     script.set_steps([Step(next=StepNext.STOP, conditions=(condition,))])
     script.save()
     return script