Skip to content
Snippets Groups Projects
Commit 1085f5f9 authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Add rules

parent 795ed859
No related branches found
No related tags found
2 merge requests!8Resolve "Add payment processing UI",!6Add rules
Pipeline #59039 canceled
import rules
from .models.base import Client
from .models.invoice import Invoice, InvoiceGroup
# View clients
view_clients_predicate = has_person & (
has_global_perm("tezor.view_client") | has_any_object("tezor.view_client", Client)
)
rules.add_perm("tezor.view_clients_rule", view_clients_predicate)
# Edit clients
edit_clients_predicate = has_person & (
has_global_perm("tezor.edit_client") | has_any_object("tezor.edit_client", Client)
)
rules.add_perm("tezor.edit_clients_rule", edit_clients_predicate)
# Create clients
create_clients_predicate = has_person & (
has_global_perm("tezor.create_client") | has_any_object("tezor.create_client", Client)
)
rules.add_perm("tezor.create_clients_rule", create_clients_predicate)
# Delete clients
delete_clients_predicate = has_person & (
has_global_perm("tezor.delete_client") | has_any_object("tezor.delete_client", Client)
)
rules.add_perm("tezor.delete_clients_rule", delete_clients_predicate)
# View invoice groups
view_invoice_groups_predicate = has_person & (
has_global_perm("tezor.view_invoice_group") | has_any_object("tezor.view_invoice_group", InvoiceGroup)
)
rules.add_perm("tezor.view_invoice_groups_rule", view_invoice_groups_predicate)
# Edit invoice groups
edit_invoice_groups_predicate = has_person & (
has_global_perm("tezor.edit_invoice_group") | has_any_object("tezor.edit_invoice_group", InvoiceGroup)
)
rules.add_perm("tezor.edit_invoice_groups_rule", edit_invoice_groups_predicate)
# Create invoice groups
create_invoice_groups_predicate = has_person & (
has_global_perm("tezor.create_invoice_group") | has_any_object("tezor.create_invoice_group", InvoiceGroup)
)
rules.add_perm("tezor.create_invoice_groups_rule", create_invoice_groups_predicate)
# Delete invoice groups
delete_invoice_groups_predicate = has_person & (
has_global_perm("tezor.delete_invoice_group") | has_any_object("tezor.delete_invoice_group", InvoiceGroup)
)
rules.add_perm("tezor.delete_invoice_groups_rule", delete_invoice_groups_predicate)
# View invoices
view_invoices_predicate = has_person & (
has_global_perm("tezor.view_invoice") | has_any_object("tezor.view_invoice", Invoice)
)
rules.add_perm("tezor.view_invoices_rule", view_invoices_predicate)
# Edit invoices
edit_invoices_predicate = has_person & (
has_global_perm("tezor.edit_invoice") | has_any_object("tezor.edit_invoice", Invoice)
)
rules.add_perm("tezor.edit_invoices_rule", edit_invoices_predicate)
# Create invoices
create_invoices_predicate = has_person & (
has_global_perm("tezor.create_invoice") | has_any_object("tezor.create_invoice", Invoice)
)
rules.add_perm("tezor.create_invoices_rule", create_invoices_predicate)
# Delete invoices
delete_invoices_predicate = has_person & (
has_global_perm("tezor.delete_invoice") | has_any_object("tezor.delete_invoice", Invoice)
)
rules.add_perm("tezor.delete_invoices_rule", delete_invoices_predicate)
......@@ -37,7 +37,7 @@ class ClientListView(PermissionRequiredMixin, SingleTableView):
model = Client
table_class = ClientsTable
permission_required = "tezor.view_clients"
permission_required = "tezor.view_clients_rule"
template_name = "tezor/client/list.html"
......@@ -47,7 +47,7 @@ class ClientCreateView(PermissionRequiredMixin, AdvancedCreateView):
model = Client
form_class = EditClientForm
permission_required = "tezor.add_clients"
permission_required = "tezor.create_clients_rule"
template_name = "tezor/client/create.html"
success_url = reverse_lazy("clients")
success_message = _("The client has been created.")
......@@ -59,7 +59,7 @@ class ClientEditView(PermissionRequiredMixin, AdvancedEditView):
model = Client
form_class = EditClientForm
permission_required = "tezor.edit_clients"
permission_required = "tezor.edit_clients_rule"
template_name = "tezor/client/edit.html"
success_url = reverse_lazy("clients")
success_message = _("The client has been saved.")
......@@ -69,7 +69,7 @@ class ClientDeleteView(PermissionRequiredMixin, AdvancedDeleteView):
"""Delete view for client."""
model = Client
permission_required = "tezor.delete_client"
permission_required = "tezor.delete_clients_rule"
template_name = "core/pages/delete.html"
success_url = reverse_lazy("clients")
success_message = _("The client has been deleted.")
......@@ -78,7 +78,7 @@ class ClientDeleteView(PermissionRequiredMixin, AdvancedDeleteView):
class ClientDetailView(PermissionRequiredMixin, DetailView):
model = Client
permission_required = "tezor.view_client"
permission_required = "tezor.view_clients_rule"
template_name = "tezor/client/full.html"
def get_context_data(self, object):
......@@ -94,7 +94,7 @@ class ClientDetailView(PermissionRequiredMixin, DetailView):
class InvoiceGroupDetailView(PermissionRequiredMixin, DetailView):
model = InvoiceGroup
permission_required = "tezor.view_invoice_group"
permission_required = "tezor.view_invoice_groups_rule"
template_name = "tezor/invoice_group/full.html"
def get_context_data(self, object):
......@@ -114,7 +114,7 @@ class InvoiceGroupCreateView(PermissionRequiredMixin, AdvancedCreateView):
model = InvoiceGroup
form_class = EditInvoiceGroupForm
permission_required = "tezor.add_invoice_groups"
permission_required = "tezor.create_invoice_groups_rule"
template_name = "tezor/invoice_group/create.html"
success_url = reverse_lazy("clients")
success_message = _("The invoice_group has been created.")
......@@ -132,7 +132,7 @@ class InvoiceGroupEditView(PermissionRequiredMixin, AdvancedEditView):
model = InvoiceGroup
form_class = EditInvoiceGroupForm
permission_required = "tezor.edit_invoice_groups"
permission_required = "tezor.edit_invoice_groups_rule"
template_name = "tezor/invoice_group/edit.html"
success_url = reverse_lazy("invoice_groups")
success_message = _("The invoice_group has been saved.")
......@@ -142,7 +142,7 @@ class InvoiceGroupDeleteView(PermissionRequiredMixin, AdvancedDeleteView):
"""Delete view for invoice_group."""
model = InvoiceGroup
permission_required = "tezor.delete_invoice_group"
permission_required = "tezor.delete_invoice_groups_rule"
template_name = "core/pages/delete.html"
success_url = reverse_lazy("invoice_groups")
success_message = _("The invoice_group has been deleted.")
......@@ -151,5 +151,5 @@ class InvoiceGroupDeleteView(PermissionRequiredMixin, AdvancedDeleteView):
class InvoiceDetailView(PermissionRequiredMixin, DetailView):
model = Invoice
permission_required = "tezor.view_invoice"
permission_required = "tezor.view_invoices_rule"
template_name = "tezor/invoice/full.html"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment