diff --git a/InvenTree/part/templates/part/category.html b/InvenTree/part/templates/part/category.html index 6992d9bac4..47ef866e2e 100644 --- a/InvenTree/part/templates/part/category.html +++ b/InvenTree/part/templates/part/category.html @@ -9,7 +9,7 @@ {% if category %}

{{ category.name }} - {% if user.is_staff and roles.part.change %} + {% if user.is_staff and roles.part_category.change %} {% endif %}

@@ -20,18 +20,18 @@ {% endif %}

- {% if roles.part.add %} + {% if roles.part_category.add %} {% endif %} {% if category %} - {% if roles.part.change %} + {% if roles.part_category.change %} {% endif %} - {% if roles.part.delete %} + {% if roles.part_category.delete %} diff --git a/InvenTree/part/templates/part/params.html b/InvenTree/part/templates/part/params.html index af1c4cdab6..d07a19f79f 100644 --- a/InvenTree/part/templates/part/params.html +++ b/InvenTree/part/templates/part/params.html @@ -37,7 +37,7 @@ {% if roles.part.change %} {% endif %} - {% if roles.part.delete %} + {% if roles.part.change %} {% endif %}
diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index 1d76860ac1..0e16bfb498 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -231,7 +231,7 @@ class PartAttachmentDelete(AjaxDeleteView): ajax_template_name = "attachment_delete.html" context_object_name = "attachment" - role_required = 'part.delete' + role_required = 'part.change' def get_data(self): return { @@ -2073,7 +2073,7 @@ class PartParameterEdit(AjaxUpdateView): class PartParameterDelete(AjaxDeleteView): """ View for deleting a PartParameter """ - role_required = 'part.delete' + role_required = 'part.change' model = PartParameter ajax_template_name = 'part/param_delete.html' @@ -2088,7 +2088,7 @@ class CategoryDetail(InvenTreeRoleMixin, DetailView): queryset = PartCategory.objects.all().prefetch_related('children') template_name = 'part/category_partlist.html' - role_required = 'part.view' + role_required = ['part_category.view', 'part.view'] def get_context_data(self, **kwargs): @@ -2138,7 +2138,7 @@ class CategoryEdit(AjaxUpdateView): ajax_template_name = 'modal_form.html' ajax_form_title = _('Edit Part Category') - role_required = 'part.change' + role_required = 'part_category.change' def get_context_data(self, **kwargs): context = super(CategoryEdit, self).get_context_data(**kwargs).copy() @@ -2177,7 +2177,7 @@ class CategoryDelete(AjaxDeleteView): context_object_name = 'category' success_url = '/part/' - role_required = 'part.delete' + role_required = 'part_category.delete' def get_data(self): return { @@ -2193,7 +2193,7 @@ class CategoryCreate(AjaxCreateView): ajax_template_name = 'modal_form.html' form_class = part_forms.EditCategoryForm - role_required = 'part.add' + role_required = 'part_category.add' def get_context_data(self, **kwargs): """ Add extra context data to template. @@ -2233,7 +2233,7 @@ class CategoryCreate(AjaxCreateView): class CategoryParameterTemplateCreate(AjaxCreateView): """ View for creating a new PartCategoryParameterTemplate """ - role_required = 'part.add' + role_required = 'part_category.change' model = PartCategoryParameterTemplate form_class = part_forms.EditCategoryParameterTemplateForm @@ -2336,7 +2336,7 @@ class CategoryParameterTemplateCreate(AjaxCreateView): class CategoryParameterTemplateEdit(AjaxUpdateView): """ View for editing a PartCategoryParameterTemplate """ - role_required = 'part.change' + role_required = 'part_category.change' model = PartCategoryParameterTemplate form_class = part_forms.EditCategoryParameterTemplateForm @@ -2395,7 +2395,7 @@ class CategoryParameterTemplateEdit(AjaxUpdateView): class CategoryParameterTemplateDelete(AjaxDeleteView): """ View for deleting an existing PartCategoryParameterTemplate """ - role_required = 'part.delete' + role_required = 'part_category.change' model = PartCategoryParameterTemplate ajax_form_title = _("Delete Category Parameter Template") @@ -2554,7 +2554,7 @@ class BomItemDelete(AjaxDeleteView): context_object_name = 'item' ajax_form_title = _('Confim BOM item deletion') - role_required = 'part.delete' + role_required = 'part.change' class PartSalePriceBreakCreate(AjaxCreateView): diff --git a/InvenTree/stock/migrations/0057_stock_location_item_owner.py b/InvenTree/stock/migrations/0057_stock_location_item_owner.py index aafabbb012..1c2e74341a 100644 --- a/InvenTree/stock/migrations/0057_stock_location_item_owner.py +++ b/InvenTree/stock/migrations/0057_stock_location_item_owner.py @@ -7,7 +7,7 @@ import django.db.models.deletion class Migration(migrations.Migration): dependencies = [ - ('users', '0004_owner_model'), + ('users', '0005_owner_model'), ('stock', '0056_stockitem_expiry_date'), ] diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index 5c03b365ab..1c7ecc11c5 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -20,7 +20,7 @@ {% if location %}

{{ location.name }} - {% if user.is_staff and roles.stock.change %} + {% if user.is_staff and roles.stock_location.change %} {% endif %}

@@ -31,7 +31,7 @@ {% endif %}
{% if owner_control.value == "False" or owner_control.value == "True" and user in owners or user.is_superuser or not location %} - {% if roles.stock.add %} + {% if roles.stock_location.add %} @@ -57,6 +57,8 @@ {% trans "Count stock" %}
+ {% endif %} + {% if roles.stock_location.change %}