diff --git a/_base/settings.py b/_base/settings.py index e53a6f1..8261409 100644 --- a/_base/settings.py +++ b/_base/settings.py @@ -167,7 +167,7 @@ JAZZMIN_SETTINGS = { # Copyright on the footer "copyright": "سامانه شفافیت", # Logo to use for your site, must be present in static files, used for brand on top left - "site_logo": "../static/dist/img/iconlogo.png", + # "site_logo": "../static/dist/img/iconlogo.png", # Relative paths to custom CSS/JS scripts (must be present in static files) "custom_css": "../static/admin/css/custom_rtl.css", "custom_js": None, diff --git a/certificates/templates/certificates/step.html b/certificates/templates/certificates/step.html index 3392f82..b8923c2 100644 --- a/certificates/templates/certificates/step.html +++ b/certificates/templates/certificates/step.html @@ -2,6 +2,7 @@ {% load static %} {% load processes_tags %} {% load humanize %} + {% load accounts_tags %} {% block sidebar %} {% include 'sidebars/admin.html' %} @@ -79,7 +80,11 @@ {% else %}{% endif %}
diff --git a/certificates/views.py b/certificates/views.py index 428c5ba..761ee83 100644 --- a/certificates/views.py +++ b/certificates/views.py @@ -9,6 +9,7 @@ from processes.models import ProcessInstance, StepInstance from invoices.models import Invoice from installations.models import InstallationReport from .models import CertificateTemplate, CertificateInstance +from common.consts import UserRoles from _helpers.jalali import Gregorian @@ -78,6 +79,14 @@ def certificate_step(request, instance_id, step_id): next_step = instance.process.steps.filter(order__gt=instance.current_step.order).first() if instance.current_step else None if request.method == 'POST': + # Only broker can approve and finish certificate step + try: + if not (hasattr(request.user, 'profile') and request.user.profile.has_role(UserRoles.BROKER)): + messages.error(request, 'شما مجوز تایید این مرحله را ندارید') + return redirect('processes:step_detail', instance_id=instance.id, step_id=step.id) + except Exception: + messages.error(request, 'شما مجوز تایید این مرحله را ندارید') + return redirect('processes:step_detail', instance_id=instance.id, step_id=step.id) cert.approved = True cert.approved_at = timezone.now() cert.save() @@ -89,7 +98,10 @@ def certificate_step(request, instance_id, step_id): instance.current_step = next_step instance.save() return redirect('processes:step_detail', instance_id=instance.id, step_id=next_step.id) - return redirect('processes:request_list') + # Mark the whole process instance as completed on the last step + instance.status = 'completed' + instance.save() + return redirect('processes:instance_summary', instance_id=instance.id) return render(request, 'certificates/step.html', { 'instance': instance, diff --git a/contracts/templates/contracts/contract_step.html b/contracts/templates/contracts/contract_step.html index 33ff326..df4fdfc 100644 --- a/contracts/templates/contracts/contract_step.html +++ b/contracts/templates/contracts/contract_step.html @@ -41,32 +41,36 @@تاریخ مراجعه: {{ report.visited_date|to_jalali|default:'-' }}
@@ -67,6 +86,9 @@