Add contractor manager role.

This commit is contained in:
aminhashemi92 2025-12-19 20:00:16 +03:30
parent 9cadf4eed5
commit 5971860c4f
7 changed files with 15 additions and 6 deletions

View file

@ -155,7 +155,7 @@
{% endfor %}
</select>
</div>
{% if request.user|is_admin or request.user|is_manager or request.user|is_accountant %}
{% if request.user|is_admin or request.user|is_manager or request.user|is_accountant or request.user|is_contractor_manager %}
<div class="col-sm-6 col-md-3">
<label class="form-label">امور</label>
<select class="form-select" name="affairs">
@ -166,7 +166,7 @@
</select>
</div>
{% endif %}
{% if request.user|is_admin or request.user|is_manager or request.user|is_accountant %}
{% if request.user|is_admin or request.user|is_manager or request.user|is_accountant or request.user|is_contractor_manager %}
<div class="col-sm-6 col-md-3">
<label class="form-label">کارگزار</label>
<select class="form-select" name="broker">

View file

@ -20,7 +20,7 @@ def scope_instances_queryset(user, queryset=None):
return qs.filter(id__in=assign_ids)
if profile.has_role(UserRoles.BROKER):
return qs.filter(broker=profile.broker)
if profile.has_role(UserRoles.ACCOUNTANT) or profile.has_role(UserRoles.MANAGER) or profile.has_role(UserRoles.WATER_RESOURCE_MANAGER):
if profile.has_role(UserRoles.ACCOUNTANT) or profile.has_role(UserRoles.MANAGER) or profile.has_role(UserRoles.WATER_RESOURCE_MANAGER) or profile.has_role(UserRoles.CONTRACTOR_MANAGER):
return qs.filter(broker__affairs__county__city=profile.county.city)
if profile.has_role(UserRoles.ADMIN):
return qs
@ -69,7 +69,7 @@ def scope_wells_queryset(user, queryset=None):
return qs
if profile.has_role(UserRoles.BROKER):
return qs.filter(broker=profile.broker)
if profile.has_role(UserRoles.ACCOUNTANT) or profile.has_role(UserRoles.MANAGER) or profile.has_role(UserRoles.WATER_RESOURCE_MANAGER):
if profile.has_role(UserRoles.ACCOUNTANT) or profile.has_role(UserRoles.MANAGER) or profile.has_role(UserRoles.WATER_RESOURCE_MANAGER) or profile.has_role(UserRoles.CONTRACTOR_MANAGER):
return qs.filter(broker__affairs__county__city=profile.county.city)
if profile.has_role(UserRoles.INSTALLER):
# Wells that have instances assigned to this installer
@ -102,7 +102,7 @@ def scope_customers_queryset(user, queryset=None):
return qs
if profile.has_role(UserRoles.BROKER):
return qs.filter(broker=profile.broker)
if profile.has_role(UserRoles.ACCOUNTANT) or profile.has_role(UserRoles.MANAGER) or profile.has_role(UserRoles.WATER_RESOURCE_MANAGER):
if profile.has_role(UserRoles.ACCOUNTANT) or profile.has_role(UserRoles.MANAGER) or profile.has_role(UserRoles.WATER_RESOURCE_MANAGER) or profile.has_role(UserRoles.CONTRACTOR_MANAGER):
return qs.filter(county__city=profile.county.city)
if profile.has_role(UserRoles.INSTALLER):
# Customers that are representatives of instances assigned to this installer