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)
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)