Source code for shuup.default_tax.admin_module.views

from django import forms
from django.utils.translation import gettext_lazy as _

from shuup.admin.utils.picotable import Column
from shuup.admin.utils.views import CreateOrUpdateView, PicotableListView
from shuup.default_tax.models import TaxRule
from shuup.utils.django_compat import format_lazy
from shuup.utils.patterns import PATTERN_SYNTAX_HELP_TEXT


[docs] class TaxRuleForm(forms.ModelForm):
[docs] class Meta: model = TaxRule fields = [ "tax_classes", "customer_tax_groups", "country_codes_pattern", "region_codes_pattern", "postal_codes_pattern", "priority", "override_group", "tax", "enabled", ] help_texts = { "country_codes_pattern": format_lazy( PATTERN_SYNTAX_HELP_TEXT, " ", _("Use ISO 3166-1 country codes (US, FI etc.)"), ), "region_codes_pattern": format_lazy( PATTERN_SYNTAX_HELP_TEXT, " ", _("Use two letter state codes for the US"), ), "postal_codes_pattern": PATTERN_SYNTAX_HELP_TEXT, }
[docs] def clean(self): data = super().clean() data["country_codes_pattern"] = data["country_codes_pattern"].upper() return data
[docs] class TaxRuleEditView(CreateOrUpdateView): model = TaxRule template_name = "shuup/default_tax/admin/edit.jinja" form_class = TaxRuleForm context_object_name = "tax_rule" add_form_errors_as_messages = True
[docs] class TaxRuleListView(PicotableListView): url_identifier = "default_tax.tax_rule" model = TaxRule default_columns = [ Column("id", _("Tax Rule")), Column("tax", _("Tax")), Column("tax_classes", _("Tax Classes")), Column("customer_tax_groups", _("Customer Tax Groups")), Column("country_codes_pattern", _("Countries")), Column("region_codes_pattern", _("Regions")), Column("postal_codes_pattern", _("Postal Codes")), Column("priority", _("Priority")), Column("override_group", _("Override Group")), Column("enabled", _("Enabled")), ]