예제 #1
0
 def setUpClass(cls):
     cls.domain = 'forwarding-rules-dbaccessors'
     cls.forwarding_rules = [
         ForwardingRule(domain=cls.domain),
         ForwardingRule(domain=cls.domain),
         ForwardingRule(domain='other'),
     ]
     ForwardingRule.get_db().bulk_save(cls.forwarding_rules)
예제 #2
0
def add_forwarding_rule(request, domain, forwarding_rule_id=None):
    forwarding_rule = None
    if forwarding_rule_id is not None:
        forwarding_rule = ForwardingRule.get(forwarding_rule_id)
        if forwarding_rule.domain != domain:
            raise Http404

    if request.method == "POST":
        form = ForwardingRuleForm(request.POST)
        if form.is_valid():
            if forwarding_rule is None:
                forwarding_rule = ForwardingRule(domain=domain)
            forwarding_rule.forward_type = form.cleaned_data.get(
                "forward_type")
            forwarding_rule.keyword = form.cleaned_data.get("keyword")
            forwarding_rule.backend_id = form.cleaned_data.get("backend_id")
            forwarding_rule.save()
            return HttpResponseRedirect(
                reverse('list_forwarding_rules', args=[domain]))
    else:
        initial = {}
        if forwarding_rule is not None:
            initial["forward_type"] = forwarding_rule.forward_type
            initial["keyword"] = forwarding_rule.keyword
            initial["backend_id"] = forwarding_rule.backend_id
        form = ForwardingRuleForm(initial=initial)

    context = {
        "domain": domain,
        "form": form,
        "forwarding_rule_id": forwarding_rule_id,
    }
    return render(request, "sms/add_forwarding_rule.html", context)