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
This commit is part of merge request !6. Comments created here will be created in the context of that merge request.
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