fix permission to see certificate

This commit is contained in:
aminhashemi92 2025-10-09 13:29:48 +03:30
parent 7c2a1ebc7a
commit 23f50aacd4
4 changed files with 23 additions and 2 deletions

View file

@ -38,9 +38,11 @@
</small> </small>
</div> </div>
<div class="d-flex gap-2"> <div class="d-flex gap-2">
{% if request.user|is_broker or request.user|is_manager %}
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#printHologramModal"> <button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#printHologramModal">
<i class="bx bx-printer me-2"></i> پرینت <i class="bx bx-printer me-2"></i> پرینت
</button> </button>
{% endif %}
<a href="{% url 'processes:request_list' %}" class="btn btn-outline-secondary"> <a href="{% url 'processes:request_list' %}" class="btn btn-outline-secondary">
<i class="bx bx-chevron-right bx-sm ms-sm-n2"></i> <i class="bx bx-chevron-right bx-sm ms-sm-n2"></i>
@ -52,7 +54,7 @@
<div class="bs-stepper wizard-vertical vertical mt-2"> <div class="bs-stepper wizard-vertical vertical mt-2">
{% stepper_header instance step %} {% stepper_header instance step %}
<div class="bs-stepper-content"> <div class="bs-stepper-content">
{% if request.user|is_broker or request.user|is_manager or request.user|is_accountant or request.user|is_water_resource_manager %}
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="d-flex mb-2"> <div class="d-flex mb-2">
@ -115,6 +117,21 @@
</form> </form>
</div> </div>
</div> </div>
{% else %}
<div class="card">
<div class="card-body">
<div class="text-center py-5">
<div class="mb-4">
<i class="bx bx-lock-alt text-warning" style="font-size: 80px;"></i>
</div>
<h4 class="mb-3">دسترسی محدود</h4>
<p class="text-muted mb-4">
متأسفانه شما دسترسی لازم برای مشاهده این صفحه را ندارید.<br>
</p>
</div>
</div>
</div>
{% endif %}
</div> </div>
</div> </div>
</div> </div>

View file

@ -13,7 +13,7 @@ from invoices.models import Invoice
from installations.models import InstallationReport from installations.models import InstallationReport
from .models import CertificateTemplate, CertificateInstance from .models import CertificateTemplate, CertificateInstance
from common.consts import UserRoles from common.consts import UserRoles
from common.decorators import allowed_roles
from _helpers.jalali import Gregorian from _helpers.jalali import Gregorian
from processes.utils import get_scoped_instance_or_404 from processes.utils import get_scoped_instance_or_404
@ -151,6 +151,7 @@ def certificate_step(request, instance_id, step_id):
@login_required @login_required
@allowed_roles([UserRoles.BROKER, UserRoles.MANAGER])
def certificate_print(request, instance_id): def certificate_print(request, instance_id):
instance = get_scoped_instance_or_404(request, instance_id) instance = get_scoped_instance_or_404(request, instance_id)
cert = CertificateInstance.objects.filter(process_instance=instance).order_by('-created').first() cert = CertificateInstance.objects.filter(process_instance=instance).order_by('-created').first()

Binary file not shown.

View file

@ -3,6 +3,7 @@
{% load humanize %} {% load humanize %}
{% load common_tags %} {% load common_tags %}
{% load processes_tags %} {% load processes_tags %}
{% load accounts_tags %}
{% block sidebar %} {% block sidebar %}
{% include 'sidebars/admin.html' %} {% include 'sidebars/admin.html' %}
@ -37,9 +38,11 @@
<i class="bx bx-printer me-2"></i> پرینت فاکتور <i class="bx bx-printer me-2"></i> پرینت فاکتور
</a> </a>
{% endif %} {% endif %}
{% if request.user|is_broker or request.user|is_manager %}
<button type="button" class="btn btn-outline-secondary" data-bs-toggle="modal" data-bs-target="#printHologramModal"> <button type="button" class="btn btn-outline-secondary" data-bs-toggle="modal" data-bs-target="#printHologramModal">
<i class="bx bx-printer me-2"></i> پرینت گواهی <i class="bx bx-printer me-2"></i> پرینت گواهی
</button> </button>
{% endif %}
<a href="{% url 'processes:request_list' %}" class="btn btn-outline-secondary"> <a href="{% url 'processes:request_list' %}" class="btn btn-outline-secondary">
<i class="bx bx-chevron-right bx-sm ms-sm-n2"></i> <i class="bx bx-chevron-right bx-sm ms-sm-n2"></i>
بازگشت بازگشت