From db61f3571123340c5134a019394a966352fe930c Mon Sep 17 00:00:00 2001 From: aminhashemi92 Date: Thu, 9 Oct 2025 11:24:00 +0330 Subject: [PATCH 01/10] add approve need to request list --- db.sqlite3 | Bin 4141056 -> 4198400 bytes .../templates/processes/request_list.html | 15 +++++- processes/views.py | 47 ++++++++++++++++++ 3 files changed, 61 insertions(+), 1 deletion(-) diff --git a/db.sqlite3 b/db.sqlite3 index 4408b1574e76d1d3d1df86cb50aebc3e32334e1a..5a406d66a376e28ddbec659f2fdeeb27a234ff7c 100644 GIT binary patch delta 48628 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 RHkk2jms@3in3c&g00135FCPE^ delta 10192 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 diff --git a/processes/templates/processes/request_list.html b/processes/templates/processes/request_list.html index eee1727..1ae210a 100644 --- a/processes/templates/processes/request_list.html +++ b/processes/templates/processes/request_list.html @@ -223,11 +223,24 @@ {{ item.instance.code }} {{ item.instance.process.name }} - + {% if item.instance.status == 'completed' %} {{ item.instance.current_step.name|default:"--" }} {% elif item.instance.current_step %} {{ item.instance.current_step.name }} + {% if item.current_step_approval_status %} +
+ + {% if item.current_step_approval_status.status == 'rejected' %} + + {% elif item.current_step_approval_status.status == 'approved' %} + + {% else %} + + {% endif %} + {{ item.current_step_approval_status.display }} + + {% endif %} {% else %} -- {% endif %} diff --git a/processes/views.py b/processes/views.py index 372c8e7..5bcb38c 100644 --- a/processes/views.py +++ b/processes/views.py @@ -134,6 +134,52 @@ def request_list(request): except Exception: emergency_approved = False + # Get current step approval status + current_step_approval_status = None + if instance.current_step: + try: + current_step_instance = instance.step_instances.filter(step=instance.current_step).first() + if current_step_instance: + # Check if this step requires approvals + required_roles = current_step_instance.required_roles() + if required_roles: + # Get approvals by role + approvals_by_role = current_step_instance.approvals_by_role() + + # Check for rejections + latest_rejection = current_step_instance.get_latest_rejection() + if latest_rejection and current_step_instance.status == 'rejected': + role_name = latest_rejection.role.name if latest_rejection.role else 'نامشخص' + current_step_approval_status = { + 'status': 'rejected', + 'role': role_name, + 'display': f'رد شده توسط {role_name}' + } + else: + # Check approval status + pending_roles = [] + approved_roles = [] + for role in required_roles: + if approvals_by_role.get(role.id) == 'approved': + approved_roles.append(role.name) + else: + pending_roles.append(role.name) + + if pending_roles: + current_step_approval_status = { + 'status': 'pending', + 'roles': pending_roles, + 'display': f'در انتظار تایید {" و ".join(pending_roles)}' + } + elif approved_roles and not pending_roles: + current_step_approval_status = { + 'status': 'approved', + 'roles': approved_roles, + 'display': f'تایید شده توسط {" و ".join(approved_roles)}' + } + except Exception: + current_step_approval_status = None + instances_with_progress.append({ 'instance': instance, 'progress_percentage': round(progress_percentage), @@ -142,6 +188,7 @@ def request_list(request): 'installation_scheduled_date': installation_scheduled_date, 'installation_overdue_days': overdue_days, 'emergency_approved': emergency_approved, + 'current_step_approval_status': current_step_approval_status, }) # Summary stats for header cards From a819e841f943f52e254639d50b1506ba9052ef50 Mon Sep 17 00:00:00 2001 From: aminhashemi92 Date: Thu, 9 Oct 2025 11:34:29 +0330 Subject: [PATCH 02/10] fix next step in quote payments approved. --- db.sqlite3 | Bin 4198400 -> 4210688 bytes invoices/views.py | 28 ++++++++++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/db.sqlite3 b/db.sqlite3 index 5a406d66a376e28ddbec659f2fdeeb27a234ff7c..79d4607ad3f36157e7ceb521df4ace8e4a2dffd2 100644 GIT binary patch delta 23752 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 diff --git a/invoices/views.py b/invoices/views.py index 04ea85c..4651dba 100644 --- a/invoices/views.py +++ b/invoices/views.py @@ -422,13 +422,29 @@ def quote_payment_step(request, instance_id, step_id): step_instance.status = 'completed' step_instance.completed_at = timezone.now() step_instance.save() - # move to next step - redirect_url = 'processes:request_list' + + # Auto-complete next step if it exists if next_step: - instance.current_step = next_step - instance.save() - return redirect('processes:step_detail', instance_id=instance.id, step_id=next_step.id) - return redirect(redirect_url) + next_step_instance, _ = StepInstance.objects.get_or_create( + process_instance=instance, + step=next_step, + defaults={'status': 'in_progress'} + ) + next_step_instance.status = 'completed' + next_step_instance.completed_at = timezone.now() + next_step_instance.save() + + # Move to the step after next + step_after_next = instance.process.steps.filter(order__gt=next_step.order).first() + if step_after_next: + instance.current_step = step_after_next + instance.save() + return redirect('processes:step_detail', instance_id=instance.id, step_id=step_after_next.id) + else: + # No more steps, go to request list + return redirect('processes:request_list') + + return redirect('processes:request_list') messages.success(request, 'تایید شما ثبت شد. منتظر تایید سایر نقش‌ها.') return redirect('invoices:quote_payment_step', instance_id=instance.id, step_id=step.id) From 328c657e0f3dbd58f086cb5669f95a51d3548f47 Mon Sep 17 00:00:00 2001 From: aminhashemi92 Date: Thu, 9 Oct 2025 11:45:59 +0330 Subject: [PATCH 03/10] add loader on uploading installation report --- db.sqlite3 | Bin 4210688 -> 4210688 bytes .../installation_report_step.html | 92 +++++++++++++++++- 2 files changed, 91 insertions(+), 1 deletion(-) diff --git a/db.sqlite3 b/db.sqlite3 index 79d4607ad3f36157e7ceb521df4ace8e4a2dffd2..088d726c69e80fce0675e1bb4afcdf56d3caf92d 100644 GIT binary patch delta 3604 zcmbtXdr(y86~E8jyUX2smt6rxWLMM{MV9-%dofvdMXRG?3^-%zv;#g+(JBafhRof2oFRI9ORT9d|c`f)EXXh`^@ zfBepG_MUUkIrp6Jan>|j2@|0!n^>LOowE?h-YTI04pn;i5=`6W zdj+pQ*S}ds{O;8n8hV9w-QQU7m6ortYYr3XwuiaQv54tn(yu`{J9D#r;3Cjx`uLU1FbA+Ye+1J5>}n_JA!;yU@Io;R-e zxE4<^tkjBoUaeWTX-9*!e*Ml}TLfJ-bamV2>dg)6?$>14i6a`kby zS}f|Ju%hb*c;gs1*X#_&Qq4pVzHQu!Df1J9K3wdnE_6Rd>L7`bIH(kRT3n%P!tL!k@dnGAzv&#)0LLQ z_yq6f_H&Hqb&rSbWSO)i%#QjFq?K$6yKI*~#z$WjjGz!M7R6#g3yG?zDEhZ)bPX(f z$(OsrDB4uhuqCv$ZZq3T>2BL$Yu3ab6AzB`{7)2Eu>Z_}FG;FEeRcRRu zTA`#>uG>|K>Zpd%3JTTj*vvL-qtTq-5=|M7HByvkzD!XB*|4I4o4xr{z|FF3dWkAq zU(u{i=2lRQiOZr0su;H1;s(GMXHNy@)qF>cZBj;E(i3MYYic+=VWzUCiNdJM84c0bXO z`@L*7Op`dy>Xy_jsajG=3Hj&wUc)f_?+y|tWa{6E zd)KEUbA|0r+vdun63(y5O2R(Y-)suw~6%|sU9kVfoS;)ePFPQ@q^D&S#hx9mbleR)lyrib<|p_f?7c>rXsNa zmbizoTA?`Xuns${gR#Oo7%QxUvBEkSE3AXD!aA5H`07XEq4O-w-@*8=`A7VH{tjAM z(#JeakuID~-0zeSWO%<*nYM~DX%hp%wxXqA)u3{Xps#|eo8ln&$0y1iFWpO@qfgUs z({Is-=mc$op0>hi@cwP3-A-?T*G|uCr{}fP^V;co?ex5MdR{v{FJo1OMJw$3rwY9O zsk(SAM|eowrS%^kUe($g6n_b_Nf;XIawWcmyj&yP0xnX^`w z6hnSaBNr=5C@jl{Fm{ki;y~X(A3@}M38`WGy82z2nS>;5tleJSu&ZW+6l=|LCC-#- z2s%O-!GLGVimMiq4R{j#Az3mD%rpJ(gU{;ZUNCrA_kou#1f1Zj(2H+^i)xs4YJ#E4 z&Yvf$4i_UVfK`WIICGFfFJmCb^#3lOALLVfk~fJIkt9r_im&3Me2~YuK`uo^i6DXD zgLn$XdYIJujxI8M;KTDJH$dH25gIn;y;#A5ix)~b@QVv29l$JlF&hNGj8FvQOrRgo zEQ;*+QoZzt7)UII$YQ)k1!MkBKb&~i%k^_NCc1Ta;Gl9)D{#0aL+J!XC^>uT@DX_)f<_MPou8V z4BB+>P)X`%R2TJA%B1$t81*Fu(*?N`2ZK+h(WU#DHYZ6C#D1oAgv}9-k8sNf?;GLf z5pJ@$ooR%rcO$X;PBi`0;^@E+CQJSZ<~<^O=@=FuW5l@S2p=a)e(k2v-4H~D%E3YM zG2x4g_6n60T|pgr?v>#QNh(Hzh$hOSsxz$<>J>4h$%ZC~j5(oRGD2ZPFhq@se?uQ1 z9>HWIB%uLJ)|r-X7!2zrDI}|!tc96<6Y9~hB!+d(Fqq~E^}{2cB!?A^X?kAowTJcL zsZ|m+4b^k-V#)0KqD<#4j6cV(=ALrzaOIvSp0gg6y}{O`Jx=RL^Se*Fm$)9dj<^iw zZ%hYM;DkF(_i-n=rkeo08M+_e|Lo06fx%Fe^N+7}i?`gdrW^lG^KqrO&9O<$$2wt| zcf}_$A8U+l-twL19BciS0jkwVL#pu@bZ!j vP*Mw|DapTgstzciy)_;}ZuD7t|bZysO%LVYvkIMFFw7wvEe9Hd-kLAgY delta 1859 zcmajfeNYr-7y$77y6@ZF<4#V%lUq(K6gYNockeioq8V+I7AR44&U!awx% z!ka1ez^`X&B0krY8HNcIS7`y!$@8 zv-iC3K9R^4DuQ)oP&GHYUGwqpK%JON%DcOBCB0>KDP2Lq$}=efW$YLn%YEq@7bsGt zB1Q2Al|V2UK+z0xAL+mseMM@aSM&vglKk|##x-rwol1IQl`ayaP^F6=uCX%wWrF{e zzrkPQFC&|cJ;!%fF>p3+V&Lj#I_*E^V^`xe#$Y;3kFLfIzw)FG{jlHASplQBH3JB@ zG)8YU5Cr|^zPTmo2EQ0oWy8y{o(ThH#7vkOvtU-#Gr>05&Fpq=AwP?Y^JPPJZWAl` z8tWU^HmdDyO2?{}XMG#%*EBajwZ8c&rMhU_gECob=AsX@8!zoUNGZK7^H*+s= zMs~a5V)8^8A^SGVpg6gjLdHt_9m)DF!GHUA;q4LoSzbplG(n;t;&!+Auj#};ra!aK z3_1U~Z2TquVDdy6Hb+0dTb#_CT0vcG!tKDOVX2rCn~tSn=~xDuaL>5D-#SPT&U+C@+#(M>BjazXH0VSsqA?d6?L6G!qR+-Q_Ob z6(XO!1BPDrQidL;qv*+AcMXZ(V+p#`=k6qFv6BJepnI-KEK~#4da;wfJ9LS%;;+^* z4-*dJ-lM#e0`h=6AG~=X``txE3l6yx7nl#|69lwe%%21Nm)T2TEK;xmU5f~ND0nei zP;mFX(0ftgxH(N`eo6kR8_Do*$=Vvt(UGbb0vyHafh0NIbUK-~5PFw0u$d zl11}7)|b_8P!}wFtTniBWm(Irg*EFRu3D~Cl+ItgY;o<1hKH2(;m3TUPtBLae4i|c z_kJV8{i3NKTDx42qRKi+q0ycOX~d9Hsy{VVt5W^D$#4={cM8*-C^;HVhM{CQhITbc zZH>$kW&;7C>Ur z73M`8htZ`Lc@qhv2mH2J%dR5q0o1Z<-ku!{P9wk;aeM-2gkl@?3&l=!tJlAp+_xZT zhi`6cMzqmWTw{f!uLewJ*{h0yprRP|L!DZf2FJUL_QI#0Vm9_lK{0xzKwE2Lj_8d9 z^iED6fOtw;Hu^fG&7xpZGCqW!DAn4N#Ts3%=@9#%cGJYXp?BVsUZr(V$RpSj6#Sh< zBm3jp>x-ZyFQnH8R7nZ?Ak1q{bo8+H9D^zkYr`gHHIpFVnfeST^w+sG5UTt`Q2UcJ z28op}9=$Q3%^?jsBW^>t7?dK)S8zFgPuHQ3k7@J94Xi-4kp!`~#a0cAL$+t2zqcfN zn&K~1jH}&rnDU8#eZe5~mCQgh`bs*@5Xr$^->1m34{wUl%O&Y>BCGfmjNZ_6aNb+I zjlnl1c4tkVg5H}H&cNLo-9B1kY0G3S4uXG^U&h_xj&RlN@9be#wT@WVSZ-Q6Ee^b{ a*Uj|0t_}#3g$`izLUQuv`rOcK)BXgt {% endblock %} @@ -38,6 +92,15 @@ {% include '_toasts.html' %} + +
+
+
+
در حال آپلود...
+
لطفا تا بارگذاری کامل گزارش منتظر بمانید.
+
+
+ {% instance_info_modal instance %} @@ -516,7 +579,7 @@ {% if user_is_installer %} {% endif %} - {% if next_step and not edit_mode %} + {% if next_step and not edit_mode and report %} بعدی @@ -638,6 +701,9 @@ // Require date and show success toast on submit (persist across redirect) (function(){ const form = document.querySelector('form[enctype]') || document.querySelector('form'); + const loader = document.getElementById('uploadLoader'); + const submitButton = document.querySelector('button[type="submit"][form="installation-report-form"]'); + if (!form) return; form.addEventListener('submit', function(ev){ const display = document.getElementById('id_visited_date_display'); @@ -663,8 +729,32 @@ return false; } } catch(_) {} + + // Show loader overlay when form is valid and submitting + if (loader) { + loader.classList.add('active'); + } + + // Disable submit button to prevent double submission + if (submitButton) { + submitButton.disabled = true; + submitButton.innerHTML = 'در حال ارسال...'; + } + try { sessionStorage.setItem('install_report_saved', '1'); } catch(_) {} }, false); + + // Hide loader on back navigation or page show (in case of errors) + window.addEventListener('pageshow', function(event) { + if (loader) { + loader.classList.remove('active'); + } + if (submitButton) { + submitButton.disabled = false; + submitButton.innerHTML = 'ثبت گزارش'; + } + }); + // on load, if saved flag exists, show toast try { if (sessionStorage.getItem('install_report_saved') === '1') { From ef0779de6a9b4dafaacece65d34435c4f08b6274 Mon Sep 17 00:00:00 2001 From: aminhashemi92 Date: Thu, 9 Oct 2025 12:10:57 +0330 Subject: [PATCH 04/10] unqiue hologram code --- certificates/admin.py | 6 +- ...alter_certificateinstance_hologram_code.py | 18 ++++++ certificates/models.py | 2 +- certificates/views.py | 56 +++++++++++++++--- db.sqlite3 | Bin 4210688 -> 4235264 bytes 5 files changed, 70 insertions(+), 12 deletions(-) create mode 100644 certificates/migrations/0003_alter_certificateinstance_hologram_code.py diff --git a/certificates/admin.py b/certificates/admin.py index de9ba72..f1eff8a 100644 --- a/certificates/admin.py +++ b/certificates/admin.py @@ -12,9 +12,7 @@ class CertificateTemplateAdmin(admin.ModelAdmin): @admin.register(CertificateInstance) class CertificateInstanceAdmin(admin.ModelAdmin): - list_display = ('process_instance', 'rendered_title', 'issued_at', 'approved') + list_display = ('process_instance', 'rendered_title', 'hologram_code', 'issued_at', 'approved') list_filter = ('approved', 'issued_at') - search_fields = ('process_instance__code', 'rendered_title') + search_fields = ('process_instance__code', 'rendered_title', 'hologram_code') autocomplete_fields = ('process_instance', 'template') - - diff --git a/certificates/migrations/0003_alter_certificateinstance_hologram_code.py b/certificates/migrations/0003_alter_certificateinstance_hologram_code.py new file mode 100644 index 0000000..00fb9cd --- /dev/null +++ b/certificates/migrations/0003_alter_certificateinstance_hologram_code.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2.4 on 2025-10-09 08:26 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('certificates', '0002_certificateinstance_hologram_code'), + ] + + operations = [ + migrations.AlterField( + model_name='certificateinstance', + name='hologram_code', + field=models.CharField(blank=True, max_length=50, null=True, unique=True, verbose_name='کد یکتا هولوگرام'), + ), + ] diff --git a/certificates/models.py b/certificates/models.py index a7afe72..c374035 100644 --- a/certificates/models.py +++ b/certificates/models.py @@ -28,7 +28,7 @@ class CertificateInstance(BaseModel): issued_at = models.DateField(auto_now_add=True, verbose_name='تاریخ صدور') approved = models.BooleanField(default=False, verbose_name='تایید شده') approved_at = models.DateTimeField(null=True, blank=True, verbose_name='تاریخ تایید') - hologram_code = models.CharField(max_length=50, null=True, blank=True, verbose_name='کد یکتا هولوگرام') + hologram_code = models.CharField(max_length=50, null=True, blank=True, verbose_name='کد یکتا هولوگرام', unique=True) class Meta: verbose_name = 'گواهی' diff --git a/certificates/views.py b/certificates/views.py index 5149334..c16e7e9 100644 --- a/certificates/views.py +++ b/certificates/views.py @@ -6,6 +6,7 @@ from django.urls import reverse from django.utils import timezone from django.template import Template, Context from django.utils.safestring import mark_safe +from django.db import IntegrityError from processes.models import ProcessInstance, StepInstance from invoices.models import Invoice @@ -157,15 +158,56 @@ def certificate_print(request, instance_id): if request.method == 'POST': # Save/update hologram code then print code = (request.POST.get('hologram_code') or '').strip() - if cert: - if code: + + if not code: + messages.error(request, 'کد یکتای هولوگرام الزامی است') + # Find certificate step to redirect back + certificate_step = instance.process.steps.filter(order=9).first() + if certificate_step and instance.current_step: + return redirect('processes:step_detail', instance_id=instance.id, step_id=certificate_step.id) + return redirect('processes:instance_summary', instance_id=instance.id) + + try: + if cert: + # Check if hologram code is already used by another certificate + if CertificateInstance.objects.filter(hologram_code=code).exclude(id=cert.id).exists(): + messages.error(request, 'این کد هولوگرام قبلاً استفاده شده است. لطفاً کد دیگری وارد کنید') + # Find certificate step to redirect back + certificate_step = instance.process.steps.filter(order=9).first() + if certificate_step and instance.current_step: + return redirect('processes:step_detail', instance_id=instance.id, step_id=certificate_step.id) + return redirect('processes:instance_summary', instance_id=instance.id) + cert.hologram_code = code cert.save(update_fields=['hologram_code']) - else: - template = CertificateTemplate.objects.filter(is_active=True).order_by('-created').first() - if template: - title, body = _render_template(template, instance) - cert = CertificateInstance.objects.create(process_instance=instance, template=template, rendered_title=title, rendered_body=body, hologram_code=code or None) + else: + # Check if hologram code is already used + if CertificateInstance.objects.filter(hologram_code=code).exists(): + messages.error(request, 'این کد هولوگرام قبلاً استفاده شده است. لطفاً کد دیگری وارد کنید') + # Find certificate step to redirect back + certificate_step = instance.process.steps.filter(order=9).first() + if certificate_step and instance.current_step: + return redirect('processes:step_detail', instance_id=instance.id, step_id=certificate_step.id) + return redirect('processes:instance_summary', instance_id=instance.id) + + template = CertificateTemplate.objects.filter(is_active=True).order_by('-created').first() + if template: + title, body = _render_template(template, instance) + cert = CertificateInstance.objects.create( + process_instance=instance, + template=template, + rendered_title=title, + rendered_body=body, + hologram_code=code + ) + except IntegrityError: + messages.error(request, 'این کد هولوگرام قبلاً استفاده شده است. لطفاً کد دیگری وارد کنید') + # Find certificate step to redirect back + certificate_step = instance.process.steps.filter(order=9).first() + if certificate_step and instance.current_step: + return redirect('processes:step_detail', instance_id=instance.id, step_id=certificate_step.id) + return redirect('processes:instance_summary', instance_id=instance.id) + # proceed to rendering page after saving code return render(request, 'certificates/print.html', { 'instance': instance, diff --git a/db.sqlite3 b/db.sqlite3 index 088d726c69e80fce0675e1bb4afcdf56d3caf92d..18e25d423e6879c79a1ca3cacd066535d7789263 100644 GIT binary patch delta 13018 zcmbVz349b)ws-AIr@E`NbdpXd>COTqkfo}Z>h9R2I}OMhhz%$zOF{qc#CY=_W6ie+?1?BxVKK-`?nU~Krv&Hlpx2Il>DqR?L$kT%hZX#(D z6WnTJtcmR>hox~FPV4iGO)!)=EBLD4>d#eo{0HG|?u=|s{25jk}XVH5(s zj`2})A>w{v5qLV8RNWp2Q0tlFh;0FUgU+@f_E8IH|2dgqJ(|z!0BM_Ri#)7x)ei0RV{J*RZZ0#*>nY{nPo}_)<+lye!qi}Y0e>66Y>>csmk-h zT^-?9+5O6ec_KKvS!6)%k^G0?l|L|o^_QAav;!bwX*&Sg1*UWD*wP@S@CFT*7Y2jC7HI09M7c3anSS*BL2A zG9#?lOrYcQT*ee8c5^gIg^69z5#s)y%#resg#05kRdE-(Bncm==2~P4xm~xMruh{O z)ciV})zZF%gY8TB8(rd$@^|uA@;UhVQG=eK&rUT7LmP(=(oik)DJ7~`3wkt(YNCfW7UG6t zUqrRct(17Zis}jAh6MtgxR-yCqIXLRA>YoAA{l9kv=EsjBLSO4z$OupN$!4`-?SgK ztb%-<;3E^ID$8t3nR$)5&OAffF0GVcPRBJGiF(L8B53&3%Zm6}J9>8ZD&coDdbR@c z4Zg?vbUTn4bDQ@B<(Bu%svPwCx6BA&$L z_i)44!hal<&Jprl%bS+r=1tN$nA9PjloA{B)D)tkLKKML)IwSiXz=r4u|)EC%T!;9 z$L;ZXf*=yMrGhE%h$@JT8Y#mK?}+!r=uG|zz`IN;C)_7Q`0rr3%e086$8Wv?92;Ru z)r`@LP?SK4qPpFFPw&3d&G9H+W?LuvQK|8pukZ7$za$v+`h(v7&l;S7+apIK=tpJ7 zZJrKx4mYLxy5EahplQ*k4EQYK1T}J98~RblZ=TlwwLUbb`UZRyar}PbPgUqgMe642 z&)Pw_&?JJaA4d*>IfbT=IibSxAIPutJwQ@S4WtEJ7mO7B|7>0N#+LExt1QT{7T)vabltYBPA6P%iwE?G9$^hYxGyzsv zrJpQ@x6@VrlnpO#D)QUNUxL~~e8 zjiz}5e&#snoNfM`Vz}+OsSfzr9P^WVoy+dNYrz8TE^m#`eY^H6|MG>m1Q*{iZ`sO~ zcdPydwJTw}*)q+l&#%U^8c-BJv}RkD)^`mWuh*|C;QmJ}1tw8dG)rV`u36#wRdh>h&5rwC#t=_14x;ykfR42cC|ibx3Og}(}K z2<^fSVZE?is1_y(0U=+o@>lqC{0Y8;e~e$xFXpRwFQ3j`;X0A>PjDNNnyu_|b_N?l zDl*JD<}lNa)LX&KWFlN0Hw_sjlOxzq*h6wio`KZ^f-7|uIA52R2`o9OCh&GC`YOsv zJ)w`02y$GA04RUGA5OnOu}R$CKE6jkI6Vp#$s|UCSx!ejmaoX zqM%iWJ_g!Un*;n-wcU^ZUV%vjlQ1Ubn2f|Egvm9SlwlIoNg)^?wpmC&EOOfplg1F; zQ<(Z7YrG5mIc&=WPw8KGhHU}zWXqw_RCuT~E#x9Ug=|&Y$CSY4u~}>yn+O_q`f`9c zHSKk9d}`Wha>2Ho3v)r6Ph?WWq57;N<{IDG#&-rRoSt^tM0P;7I_(q*EK_p?P+gOg z1OHi*)G13=_PlWi>gfNKsaO&? zcf_7)Vdc*V`6v0J{15rO{25HFV&0d*PMNlgW__{}UnEe1(UH_Hj@>vq$%>cgUjs5n zK)kemD-&9*ytnBet==VW7}HR*Ji@?wOOl*NC?>0tPce~#Fy|cJ_%fyn>HJc-jeka zDeyji7;onjK>H{$2ROH7jRQB==H$VLw`DOjS%*x$ST{B65r^pl(BcrCFk&9Q%fWX} ze3ymq9Qe)-M}e$^=a@}wHt}F}K|U;M$X-Ol?ZVx4p0(9Z z3poCzI?U)Cu+@^Kj!SX=l?T06mWD%$^?wnj%_|@$}_cca?|v9&TTo-AJx$b**d7 zS=X9-pf!)I9>M*MFjF~%>9}c!X}+mM{JmHp>=DfTbovVS4GKAO;vOKV|3MSp_axIe zt62aO&RFMy?PskDICI8YNj39e#98ZYf`LxPP>fTb2 z^H^e*k*|YAI}=?L!^4d`6E{$~uIZD}03CUXoZs?Nv;%G^u` zOs*)(qQD34Y!|0%$IS!csSXFvj#e_^*iTBQGsa9O@wuqZ^3a!R03~B6F6Zs=lXIn6&~6$_i1ZxJ z{JgX!;WjasY2klDwdY1-nu>dIDn z-AnJNS>OwLm78iO->QwdF?#LjvD%UqwF}3OpDiN;bdiN?w!iP@NEEI@WKQ@^u|#yVsdGw_{VCl)as6JwFJ zK=W7X5Bq4V=`K`%aXTr~UC1?+rmP#rvc!=26}9u1Ex&cat+h4F=ijL)if2yE;^p&~ zfqiGKHt_m0?j+mQl8mOO?e2h2)jaUsC*9inOfCHg0qQ#V44B*CSxHj-9=M~?qmc03 zHJ)smd=3x-9=drUu^-;AGeD$IC zBE>EPM;lyr@XwFD2@Lyd_BMnwkup5zl!O*tI|)0`jvZ(f3!|IdcMI8AHfhkw>*69YE;<&p|$To_JH3Y6)VKvHW; z!0Sht^nrFi6Uj2Oe<5VQ-2)uBVk6(2ElHkwcwOuQ3Nm<)Qn~Ay%12@GuXEb)(b%i z1{AFup|TGGs>gd2^si4L?J9!aK=0Ju2$Omv=tVS-*R8q-La@av2fGo#hZXEq zGw1+rH+sWB0J<5B2AbD>6<|Vt5frb_(^H9~OVFNy>xHm69s3QvL_wKGpj(LXeK3$? z0~)I2_mJY~5x)$qpO$xF=si~PY5s1Eas4qg&8PN~7I^;+X48P)ad%7{k_Qdd% zc@$KJ@@PS&ha7rkGwzUh13wy!-3ZtAM+hK~_SB>wLI73Xuj(wh-g~b41XPdhb}Ht3(LRsAhZ?=i8E>Nbl&fNl>Mw@d?Fj^WVZ_au(k+HtLs<$o z#&ZGkf*!G>=@bR}4askVH(evGpxrex6<%u77LuUTJu($s|4L{juznj5;pJ}vxA36) z)sP*u|0Bf0*{_Cnk@{5Y!t-ri4*KJaD}ewFF6b4*|9&NO%X2{{LeHZ+03Qkd7lTSj z9cXp9K!LU&sH75oi%Tm(IfuvXBX&FKioWwdPD@Z>&g&+2fykk-qs1{g2pyx#{yu_E z7i?&^s;rn176>+kdX}%B+?Zz}QJO=bN-3%5I^lnl?DU@BddjofswYB|8*_UC3cn0E z6sgh=QBSN44Mx~?#3_wAVD_)e%E9LIVXoz0E6U)%R$RlKV*aGZK-Pn4*TdOWp$Dk$ z*vhdzs@wrLO$~h|kT&p#&vR|{f;2^6l?7=sCY6{>!ek;Q6EGQ%$v8~LVsb4eV=x(w z$tX;sm{edA!6b}Hxk0j}k@z-*$u*diVG@L;vqJAD=_QxC&|9bv(Kb!MtUm zizZ{+W4V00ya2AhGZakFQ}hw_64pq<8cC9&kt7)!Ns^(FBpDh>lA)0#85&8Fp^+pR z8cC9&kt7)!Ns^(FBpDh>lA)0#85&8Fp^+pR8rkC-*(F0GyJTo&mkf>UQV?#a53Nvm zvx~TuB!~y=tT8YlV!Z>jw}q4Hd+nmRk*`r%8f|>KaBtSLF8wn=-$qsEzODQ0$?1Hr z$L-Zb=b+EmqxjILirIrTKzn+M-z{bh$Vc0XUL>wNAZ8BA_xe3Pzvvi@Uw~$3%^MUm z25aC|(4wq~cHkNv%zzoshPVV+{bS%uvc7wRN8eb|<0Y}6KS(@^Fk&BZ*r0s0wWRsP zp@Z^`C`266lV6Wx%=q-|_vvQL@7bUi--qlF6!QkL?xdj61onieMO>4bp_4@ z>Z5psM)3%Z;t?9fBQ%OfXcUjoC?26vJVK**ghufQjp7j+#UnI|M`#p}&?p|EQ9MGU zc!Wmr2#v-^XcUjoC?26vJVK*rgytL=`LXy*@~c>W70a(;`Bf~xise_a{3@1T#qz6I zeih5FV)<1pzl!BovHU8QU&ZpPSbi1Dug2w9vHU8QU&ZpPy8LhI^4GI1J?wv8w|`^Y z{xK|n49g$G^2f0JF)V)!%OAt?$FTe{EPo8kAH(v;u>3JBe+~qF8`aZBZF+CrijglWJh&s!(7 z=#?s}Sy*S#CZRb_o8ojWT=87_#sp?6_s1Ttdq8)cnK6>+dM9?B6T8ldUFXEEb7I#y zvFn`Jbx!O$Cw83^yUvMS=ftjaV%Isb>zvqiPV71-cAXQu&KY-|6T8ldUFXEEb0XKx z{B!veD*)pPIYFL&K7cJ{4l*(NV|qEwQGhBSUnD0IXF!!p&O)2qi?`T0V`xj07#TXvNtYy5iyKIv24%D|Y2<5l80G7gcAX&UFqxj08Y zHXx=)4Z8atWWWfB<8zb7fr5db)F*l)N6s+}G4tqv&5*<%Z7`0e;$sH`@{N^3PnZ{P zbzxH<>D^A>uht_6pVD`e=qksj7^Y6{`imZuU{gCW=DP!8qK$M^p6PowNPinjEZlKZ z$1#n_1e-eBFtzuc0iRS=Er^~SAhuCezZW!)3n!!WBo1msGlq4uuyqd)^rRXHqAYwc z&cN2iFTmjtwr(c2#9#X17-5mmqx6?L&e7Cv>vo4wBkX#y$AK~59uU)uGXFju8A+uh zAdcUSJ95`w^sozIqGC^mVcnbF8W0opR&Sqv7DqswfM=kN9OoNx8+yaytq;}&lV|dW z2Es=N!ZfwdRwRC2=Xg8=_2W3c5%(c{)Q>?;8Ji4V8W)~uWIcPBYr|!!qEJZ4IhLro zR%%Lk-1MgSnJ5VQxkFi?8)rJe(!0aaL?cGTfISYtfsS8=r-36I!fa}sXB;bBP0^Iy z8ETxFVLS{gH-up-vmC|jU~+rtVX&!Hwt{Ed!d?)%K$+l$w(zqiu+(l_ZDgbM@fwmx z-vtv|28iVFHlL=V3XZU@KR+%?0PXZ?Lh}H8Bilto4E0^1sUKf1>)M4=JszL17Ir)x z9-T+uz`Eka&i2qsWSvD!FKLa6mo%jxnqGd>D`G}HOPV||zpGj$RSw8EidA|oN}AM< zUvJd+^kS4=Ymz4RYtY3v>PXUrf%#oEB5C}fe53v&jqA&=@2+T|!(rZlG`4SpZoW~x zk**z-Zxm*vF@y3^Vxjn@(S7*!=tygP9WzQQ(x^TS@R3)2>O=!2;FF?*@&l+m;FT%{ z<@*9&#V192^Xt1djr6%$MOAev+`B;!zJdzq9;tjlzCQb)lX-5BG;&ZrnglCJ61peNtsN2P12Y*0QrQ0msCAaMOPY=`#0hQCNFN+DMDtP|g8+Aba! z?ZWl^{oEVuPplgq%Wk7iQ5JFxv1(h+g-Hym_eOhE#L!?gZ0|;EMURTu)zV&91Kl~@ z#X)o`xw~Qsi|ChhVs`8zIsk!G{iP_p0o56hH|p=9-a_aN&^ZY2fTdPj9Kq;o-3Vamd)ue<3{jrzb{lYwB_uJ+>Po*dGHe0{-3}xmvl7%VG5DI7axP0H~OQHzO3_ zeMh_=biNjrz-yPoBD7o%UmQw1*iX?h+(@yBU&*_;XSfjiDVpy0u=KPoJlMHOP3G72 zIf;_2?+odays>1hmSVz^EgYyI1Ic7FAY)-02#<(}#u=4jy=B)KmEH?|oMS9&2!mg; zg~b?6JuvjMEX7zaw{e!GH%6ReEPbo(G46&f4A^J$Cxa=45pOastKx-kwKc{~+d>-( zkxiiE>u?H|Qh$TB=L)Ffz+=NArRjoxvidXe5Ag&GpxVUC$Ta_rPjfqCc#|@QHz{Ly zlQM=kDPw3IoqC(Pmx0@B)kgAw)v-f>Qf}%z-m0J2rR0m~n|xG1zNH`BIwxl^rbKjf zN|g0?vhr#D#O+t;EbS#(Ke+jpJVd0^Nd2&tmL$+N(v3Da5*eBxt@@X&|9=UerdbZO z`5CJ~(W43RF?uw5FhD17oR!$)@RwLYiZ*!jxBl@QuY+v7(F!Jh>(2z|U-OIb@MXW3 F`+tXokX!%& delta 4794 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 From 129500bc1d267ec4085ada2f96db5f5ec624f933 Mon Sep 17 00:00:00 2001 From: aminhashemi92 Date: Thu, 9 Oct 2025 12:38:28 +0330 Subject: [PATCH 05/10] fix callibration to accept 0.0001 --- db.sqlite3 | Bin 4235264 -> 4251648 bytes installations/forms.py | 6 ++--- ...ort_post_calibration_flow_rate_and_more.py | 23 ++++++++++++++++++ installations/models.py | 4 +-- 4 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 installations/migrations/0008_alter_installationreport_post_calibration_flow_rate_and_more.py diff --git a/db.sqlite3 b/db.sqlite3 index 18e25d423e6879c79a1ca3cacd066535d7789263..ec04a213d68986aa1573d6a493091fc942c27b50 100644 GIT binary patch delta 19505 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 R#MAYoH%tQ_bR$##e*s(GHQE3G delta 10794 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 ILaCPj29fxUz5oCK diff --git a/installations/forms.py b/installations/forms.py index e877b2b..2fa60ec 100644 --- a/installations/forms.py +++ b/installations/forms.py @@ -72,7 +72,6 @@ class InstallationReportForm(forms.ModelForm): 'discharge_pipe_diameter': forms.NumberInput(attrs={ 'class': 'form-control', 'min': '0', - 'step': '1', 'required': True }), 'usage_type': forms.Select(attrs={ @@ -91,19 +90,18 @@ class InstallationReportForm(forms.ModelForm): 'motor_power': forms.NumberInput(attrs={ 'class': 'form-control', 'min': '0', - 'step': '1', 'required': True }), 'pre_calibration_flow_rate': forms.NumberInput(attrs={ 'class': 'form-control', 'min': '0', - 'step': '0.01', + 'step': '0.0001', 'required': True }), 'post_calibration_flow_rate': forms.NumberInput(attrs={ 'class': 'form-control', 'min': '0', - 'step': '0.01', + 'step': '0.0001', 'required': True }), 'water_meter_manufacturer': forms.Select(attrs={ diff --git a/installations/migrations/0008_alter_installationreport_post_calibration_flow_rate_and_more.py b/installations/migrations/0008_alter_installationreport_post_calibration_flow_rate_and_more.py new file mode 100644 index 0000000..b69ada5 --- /dev/null +++ b/installations/migrations/0008_alter_installationreport_post_calibration_flow_rate_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 5.2.4 on 2025-10-09 08:44 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('installations', '0007_installationreport_meter_model'), + ] + + operations = [ + migrations.AlterField( + model_name='installationreport', + name='post_calibration_flow_rate', + field=models.DecimalField(blank=True, decimal_places=4, max_digits=10, null=True, verbose_name='(لیتر بر ثانیه)دبی بعد از کالیبراسیون'), + ), + migrations.AlterField( + model_name='installationreport', + name='pre_calibration_flow_rate', + field=models.DecimalField(blank=True, decimal_places=4, max_digits=10, null=True, verbose_name='(لیتر بر ثانیه)دبی قبل از کالیبراسیون'), + ), + ] diff --git a/installations/models.py b/installations/models.py index 6cd48bd..e1e5850 100644 --- a/installations/models.py +++ b/installations/models.py @@ -62,8 +62,8 @@ class InstallationReport(BaseModel): usage_type = models.CharField(max_length=20, choices=USAGE_TYPE_CHOICES, null=True, verbose_name='نوع مصرف') exploitation_license_number = models.CharField(max_length=50, verbose_name='شماره پروانه بهره‌برداری چاه') motor_power = models.PositiveIntegerField(null=True, blank=True, verbose_name='(کیلووات ساعت) قدرت موتور') - pre_calibration_flow_rate = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True, verbose_name='(لیتر بر ثانیه)دبی قبل از کالیبراسیون') - post_calibration_flow_rate = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True, verbose_name='(لیتر بر ثانیه)دبی بعد از کالیبراسیون') + pre_calibration_flow_rate = models.DecimalField(max_digits=10, decimal_places=4, null=True, blank=True, verbose_name='(لیتر بر ثانیه)دبی قبل از کالیبراسیون') + post_calibration_flow_rate = models.DecimalField(max_digits=10, decimal_places=4, null=True, blank=True, verbose_name='(لیتر بر ثانیه)دبی بعد از کالیبراسیون') water_meter_manufacturer = models.ForeignKey('wells.WaterMeterManufacturer', on_delete=models.SET_NULL, null=True, blank=True, verbose_name='شرکت سازنده کنتور آب') sim_number = models.CharField(max_length=20, null=True, blank=True, verbose_name='شماره سیمکارت') driving_force = models.CharField(max_length=50, null=True, blank=True, verbose_name='نیرو محرکه چاه') From 7c2a1ebc7a5ad2033469cfd0e0458aec6b7b0bd8 Mon Sep 17 00:00:00 2001 From: aminhashemi92 Date: Thu, 9 Oct 2025 13:01:37 +0330 Subject: [PATCH 06/10] fix reset to final invoice when add or delete special item --- db.sqlite3 | Bin 4251648 -> 4349952 bytes invoices/views.py | 95 ++++++++++++++++++++++++++++++++++------------ 2 files changed, 71 insertions(+), 24 deletions(-) diff --git a/db.sqlite3 b/db.sqlite3 index ec04a213d68986aa1573d6a493091fc942c27b50..53afd6e3f590fdd72907d18c047dbdb84a9061d6 100644 GIT binary patch delta 70476 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 diff --git a/invoices/views.py b/invoices/views.py index 4651dba..19e988f 100644 --- a/invoices/views.py +++ b/invoices/views.py @@ -885,6 +885,8 @@ def add_special_charge(request, instance_id, step_id): """افزودن هزینه ویژه تعمیر/تعویض به فاکتور نهایی به‌صورت آیتم جداگانه""" instance = get_scoped_instance_or_404(request, instance_id) invoice = get_object_or_404(Invoice, process_instance=instance) + step = get_object_or_404(instance.process.steps, id=step_id) + # only MANAGER can add special charges try: if not (hasattr(request.user, 'profile') and request.user.profile.has_role(UserRoles.MANAGER)): @@ -914,29 +916,50 @@ def add_special_charge(request, instance_id, step_id): unit_price=amount_dec, ) invoice.calculate_totals() - # If the next step was completed, reopen it (set to in_progress) due to invoice change + + + # After modifying payments, set step back to in_progress try: - step = get_object_or_404(instance.process.steps, id=step_id) - next_step = instance.process.steps.filter(order__gt=step.order).first() - if next_step: - si, _ = StepInstance.objects.get_or_create(process_instance=instance, step=next_step) - if si.status in ['completed', 'approved']: - si.status = 'in_progress' - si.completed_at = None - si.save(update_fields=['status', 'completed_at']) - # Clear prior approvals/rejections as the underlying totals changed + si, _ = StepInstance.objects.get_or_create(process_instance=instance, step=step) + si.status = 'in_progress' + si.completed_at = None + si.save() + except Exception: + pass + + # Reset ALL subsequent completed steps to in_progress + try: + subsequent_steps = instance.process.steps.filter(order__gt=step.order) + for subsequent_step in subsequent_steps: + subsequent_step_instance = instance.step_instances.filter(step=subsequent_step).first() + if subsequent_step_instance: + # Bypass validation by using update() instead of save() + instance.step_instances.filter(step=subsequent_step).update( + status='in_progress', + completed_at=None + ) + # Clear prior approvals/rejections as the underlying totals changed try: - for appr in list(si.approvals.all()): + for appr in list(subsequent_step_instance.approvals.all()): appr.delete() except Exception: pass try: - for rej in list(si.rejections.all()): + for rej in list(subsequent_step_instance.rejections.all()): rej.delete() except Exception: pass except Exception: pass + + # If current step is ahead of this step, reset it back to this step + try: + if instance.current_step and instance.current_step.order > step.order: + instance.current_step = step + instance.save(update_fields=['current_step']) + except Exception: + pass + return JsonResponse({'success': True, 'redirect': reverse('invoices:final_invoice_step', args=[instance.id, step_id])}) @@ -945,6 +968,8 @@ def add_special_charge(request, instance_id, step_id): def delete_special_charge(request, instance_id, step_id, item_id): instance = get_scoped_instance_or_404(request, instance_id) invoice = get_object_or_404(Invoice, process_instance=instance) + step = get_object_or_404(instance.process.steps, id=step_id) + # only MANAGER can delete special charges try: if not (hasattr(request.user, 'profile') and request.user.profile.has_role(UserRoles.MANAGER)): @@ -960,29 +985,51 @@ def delete_special_charge(request, instance_id, step_id, item_id): return JsonResponse({'success': False, 'message': 'امکان حذف این مورد وجود ندارد'}) inv_item.hard_delete() invoice.calculate_totals() - # If the next step was completed, reopen it (set to in_progress) due to invoice change + + + # After modifying payments, set step back to in_progress try: - step = get_object_or_404(instance.process.steps, id=step_id) - next_step = instance.process.steps.filter(order__gt=step.order).first() - if next_step: - si, _ = StepInstance.objects.get_or_create(process_instance=instance, step=next_step) - if si.status in ['completed', 'approved']: - si.status = 'in_progress' - si.completed_at = None - si.save(update_fields=['status', 'completed_at']) - # Clear prior approvals/rejections as the underlying totals changed + si, _ = StepInstance.objects.get_or_create(process_instance=instance, step=step) + si.status = 'in_progress' + si.completed_at = None + si.save() + except Exception: + pass + + # Reset ALL subsequent completed steps to in_progress + try: + subsequent_steps = instance.process.steps.filter(order__gt=step.order) + for subsequent_step in subsequent_steps: + subsequent_step_instance = instance.step_instances.filter(step=subsequent_step).first() + if subsequent_step_instance: + # Bypass validation by using update() instead of save() + instance.step_instances.filter(step=subsequent_step).update( + status='in_progress', + completed_at=None + ) + # Clear prior approvals/rejections as the underlying totals changed try: - for appr in list(si.approvals.all()): + for appr in list(subsequent_step_instance.approvals.all()): appr.delete() except Exception: pass try: - for rej in list(si.rejections.all()): + for rej in list(subsequent_step_instance.rejections.all()): rej.delete() except Exception: pass except Exception: pass + + # If current step is ahead of this step, reset it back to this step + try: + if instance.current_step and instance.current_step.order > step.order: + instance.current_step = step + instance.save(update_fields=['current_step']) + except Exception: + pass + + return JsonResponse({'success': True, 'redirect': reverse('invoices:final_invoice_step', args=[instance.id, step_id])}) From 23f50aacd4ba5c51c4839d4aa034aee35ba83c32 Mon Sep 17 00:00:00 2001 From: aminhashemi92 Date: Thu, 9 Oct 2025 13:29:48 +0330 Subject: [PATCH 07/10] fix permission to see certificate --- certificates/templates/certificates/step.html | 19 +++++++++++++++++- certificates/views.py | 3 ++- db.sqlite3 | Bin 4349952 -> 4358144 bytes .../templates/processes/instance_summary.html | 3 +++ 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/certificates/templates/certificates/step.html b/certificates/templates/certificates/step.html index 2f7e089..5431f92 100644 --- a/certificates/templates/certificates/step.html +++ b/certificates/templates/certificates/step.html @@ -38,9 +38,11 @@
+ {% if request.user|is_broker or request.user|is_manager %} + {% endif %} @@ -52,7 +54,7 @@
{% stepper_header instance step %}
- + {% if request.user|is_broker or request.user|is_manager or request.user|is_accountant or request.user|is_water_resource_manager %}
@@ -115,6 +117,21 @@
+ {% else %} +
+
+
+
+ +
+

دسترسی محدود

+

+ متأسفانه شما دسترسی لازم برای مشاهده این صفحه را ندارید.
+

+
+
+
+ {% endif %}
diff --git a/certificates/views.py b/certificates/views.py index c16e7e9..26a5d6f 100644 --- a/certificates/views.py +++ b/certificates/views.py @@ -13,7 +13,7 @@ from invoices.models import Invoice from installations.models import InstallationReport from .models import CertificateTemplate, CertificateInstance from common.consts import UserRoles - +from common.decorators import allowed_roles from _helpers.jalali import Gregorian from processes.utils import get_scoped_instance_or_404 @@ -151,6 +151,7 @@ def certificate_step(request, instance_id, step_id): @login_required +@allowed_roles([UserRoles.BROKER, UserRoles.MANAGER]) def certificate_print(request, instance_id): instance = get_scoped_instance_or_404(request, instance_id) cert = CertificateInstance.objects.filter(process_instance=instance).order_by('-created').first() diff --git a/db.sqlite3 b/db.sqlite3 index 53afd6e3f590fdd72907d18c047dbdb84a9061d6..0649d937a8d633e0fafb56dff91e232bc63acd5e 100644 GIT binary patch delta 7561 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 diff --git a/processes/templates/processes/instance_summary.html b/processes/templates/processes/instance_summary.html index 71bdd79..59f910f 100644 --- a/processes/templates/processes/instance_summary.html +++ b/processes/templates/processes/instance_summary.html @@ -3,6 +3,7 @@ {% load humanize %} {% load common_tags %} {% load processes_tags %} +{% load accounts_tags %} {% block sidebar %} {% include 'sidebars/admin.html' %} @@ -37,9 +38,11 @@ پرینت فاکتور
{% endif %} + {% if request.user|is_broker or request.user|is_manager %} + {% endif %} بازگشت From 6367d34f0c2ca7d27049a719b1e78e0b075b5195 Mon Sep 17 00:00:00 2001 From: aminhashemi92 Date: Thu, 9 Oct 2025 14:37:59 +0330 Subject: [PATCH 08/10] fix auto complete final invoice --- certificates/templates/certificates/step.html | 2 +- db.sqlite3 | Bin 4358144 -> 4599808 bytes ...istoricalpayment_payment_stage_and_more.py | 23 +++++ invoices/models.py | 11 +++ .../invoices/final_settlement_step.html | 10 +- invoices/views.py | 66 ++++++++++++- processes/views.py | 87 +++++++++++------- 7 files changed, 160 insertions(+), 39 deletions(-) create mode 100644 invoices/migrations/0003_historicalpayment_payment_stage_and_more.py diff --git a/certificates/templates/certificates/step.html b/certificates/templates/certificates/step.html index 5431f92..f8249cb 100644 --- a/certificates/templates/certificates/step.html +++ b/certificates/templates/certificates/step.html @@ -54,7 +54,7 @@
{% stepper_header instance step %}
- {% if request.user|is_broker or request.user|is_manager or request.user|is_accountant or request.user|is_water_resource_manager %} + {% if request.user|is_broker or request.user|is_manager or request.user|is_water_resource_manager %}
diff --git a/db.sqlite3 b/db.sqlite3 index 0649d937a8d633e0fafb56dff91e232bc63acd5e..2f3725441028e19376dafb090ff9da05d5007d8f 100644 GIT binary patch delta 180576 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 z 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�q+6-2HpkUF)>nm8+Z$N6JQ^QksA9rjD(NF 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 + {% if instance.broker.company %} +
+
اطلاعات پرداخت:
+
+ {% if instance.broker.company.card_number %} +
+ شماره کارت: +
{{ instance.broker.company.card_number }}
+
+ {% endif %} + {% if instance.broker.company.account_number %} +
+ شماره حساب: +
{{ instance.broker.company.account_number }}
+
+ {% endif %} + {% if instance.broker.company.sheba_number %} +
+ شماره شبا: +
{{ instance.broker.company.sheba_number }}
+
+ {% endif %} + {% if instance.broker.company.bank_name %} +
+ بانک: +
{{ instance.broker.company.get_bank_name_display }}
+
+ {% endif %} + {% if instance.broker.company.branch_name %} +
+ شعبه: +
{{ instance.broker.company.branch_name }}
+
+ {% endif %} +
+
+ {% endif %}
{% if instance.broker.company %} -
-
اطلاعات پرداخت:
-
- {% if instance.broker.company.card_number %} -
- شماره کارت: -
{{ instance.broker.company.card_number }}
-
+
+
+
مهر و امضا
+ {% if instance.broker.company.signature %} + امضای شرکت {% endif %} - {% if instance.broker.company.account_number %} -
- شماره حساب: -
{{ instance.broker.company.account_number }}
-
- {% endif %} - {% if instance.broker.company.sheba_number %} -
- شماره شبا: -
{{ instance.broker.company.sheba_number }}
-
- {% endif %} - {% if instance.broker.company.bank_name %} -
- بانک: -
{{ instance.broker.company.get_bank_name_display }}
-
- {% endif %} - {% if instance.broker.company.branch_name %} -
- شعبه: -
{{ instance.broker.company.branch_name }}
-
- {% endif %} -
-
{% endif %}
diff --git a/invoices/templates/invoices/quote_print.html b/invoices/templates/invoices/quote_print.html index 052f579..292d345 100644 --- a/invoices/templates/invoices/quote_print.html +++ b/invoices/templates/invoices/quote_print.html @@ -7,6 +7,7 @@ {% load static %} {% load humanize %} + {% load common_tags %} @@ -105,38 +106,12 @@
-
-
-
- {% if instance.broker.company and instance.broker.company.logo %} - لوگو - {% else %} - - {% endif %} -
-
- {% if instance.broker.company %} - {{ instance.broker.company.name }} - {% endif %} - {% if instance.broker.company %} -
- {% if instance.broker.company.address %} -
{{ instance.broker.company.address }}
- {% endif %} - {% if instance.broker.affairs.county.city.name %} -
{{ instance.broker.affairs.county.city.name }}، ایران
- {% endif %} - {% if instance.broker.company.phone %} -
تلفن: {{ instance.broker.company.phone }}
- {% endif %} -
- {% endif %} -
-
-
+
+
پیش‌فاکتور
+
-
#{{ quote.name }}
-
تاریخ صدور: {{ quote.jcreated_date }}
+
شماره : {{ quote.name }}
+
تاریخ صدور: {{ quote.jcreated_date }}
@@ -144,37 +119,29 @@
-
-
- {% if instance.representative.profile.user_type == 'legal' %} - اطلاعات مشترک (حقوقی) - {% else %} - اطلاعات مشترک (حقیقی) - {% endif %} -
+
{% if instance.representative.profile.user_type == 'legal' %} -
نام شرکت: {{ instance.representative.profile.company_name|default:"-" }}
-
شناسه ملی: {{ instance.representative.profile.company_national_id|default:"-" }}
- {% endif %} -
نام: {{ quote.customer.get_full_name }}
- {% if instance.representative.profile and instance.representative.profile.national_code %} -
کد ملی: {{ instance.representative.profile.national_code }}
- {% endif %} - {% if instance.representative.profile and instance.representative.profile.phone_number_1 %} -
تلفن: {{ instance.representative.profile.phone_number_1 }}
- {% endif %} - {% if instance.representative.profile and instance.representative.profile.address %} -
آدرس: {{ instance.representative.profile.address }}
+ اطلاعات مشترک (حقوقی) + {% else %} + اطلاعات مشترک (حقیقی) {% endif %} +
+
شماره اشتراک آب: {{ instance.well.water_subscription_number }}
+ {% if instance.representative.profile.user_type == 'legal' %} +
نام شرکت: {{ instance.representative.profile.company_name|default:"-" }}
+
شناسه ملی: {{ instance.representative.profile.company_national_id|default:"-" }}
+ {% endif %} +
نام و نام خانوادگی: {{ quote.customer.get_full_name }}
+ {% if instance.representative.profile and instance.representative.profile.national_code %} +
کد ملی: {{ instance.representative.profile.national_code }}
+ {% endif %} + {% if instance.representative.profile and instance.representative.profile.phone_number_1 %} +
تلفن: {{ instance.representative.profile.phone_number_1 }}
+ {% endif %} + {% if instance.representative.profile and instance.representative.profile.address %} +
آدرس: {{ instance.representative.profile.address }}
+ {% endif %}
-
-
اطلاعات چاه
-
شماره اشتراک آب: {{ instance.well.water_subscription_number }}
-
شماره اشتراک برق: {{ instance.well.electricity_subscription_number|default:"-" }}
-
سریال کنتور: {{ instance.well.water_meter_serial_number|default:"-" }}
-
قدرت چاه: {{ instance.well.well_power|default:"-" }}
-
-
@@ -203,22 +170,26 @@ - جمع کل(ریال): - {{ quote.total_amount|floatformat:0|intcomma:False }} + جمع کل(ریال): + {{ quote.total_amount|floatformat:0|intcomma:False }} {% if quote.discount_amount > 0 %} - تخفیف(ریال): - {{ quote.discount_amount|floatformat:0|intcomma:False }} + تخفیف(ریال): + {{ quote.discount_amount|floatformat:0|intcomma:False }} {% endif %} - مالیات بر ارزش افزوده(ریال): - {{ quote.get_vat_amount|floatformat:0|intcomma:False }} + مالیات بر ارزش افزوده(ریال): + {{ quote.get_vat_amount|floatformat:0|intcomma:False }} - مبلغ نهایی (با مالیات)(ریال): - {{ quote.final_amount|floatformat:0|intcomma:False }} + مبلغ نهایی (با مالیات)(ریال): + {{ quote.final_amount|floatformat:0|intcomma:False }} + + + مبلغ نهایی به حروف: + {{ quote.final_amount|amount_to_words }} @@ -232,14 +203,11 @@
  • اعتبار پیش‌فاکتور صادر شده ۴۸ ساعت پس از تاریخ صدور می‌باشد
  • مبلغ فوق به صورت علی‌الحساب دریافت می‌گردد
  • این برگه صرفاً جهت اعلام قیمت بوده و ارزش قانونی دیگری ندارد
  • - {% if instance.broker.company and instance.broker.company.signature %} -
  • امضا
  • - {% endif %} + -
    - {% if instance.broker.company %} -
    -
    اطلاعات پرداخت
    + + {% if instance.broker.company %} +
    اطلاعات پرداخت
    {% if instance.broker.company.card_number %}
    شماره کارت: {{ instance.broker.company.card_number }}
    {% endif %} @@ -252,8 +220,20 @@ {% if instance.broker.company.bank_name %}
    بانک: {{ instance.broker.company.get_bank_name_display }}
    {% endif %} + {% endif %} + +
    + +
    + {% if instance.broker.company and instance.broker.company.signature %} +
    +
    مهر و امضا
    + {% if instance.broker.company.signature %} + امضای شرکت + {% endif %} +
    + {% endif %}
    - {% endif %}
    diff --git a/invoices/views.py b/invoices/views.py index 1a11c31..2bf0f39 100644 --- a/invoices/views.py +++ b/invoices/views.py @@ -115,7 +115,7 @@ def create_quote(request, instance_id, step_id): quote, created_q = Quote.objects.get_or_create( process_instance=instance, defaults={ - 'name': f"پیش‌فاکتور {instance.code}", + 'name': f"{instance.code}", 'customer': instance.representative or request.user, 'valid_until': timezone.now().date(), 'created_by': request.user, diff --git a/templates/sidebars/admin.html b/templates/sidebars/admin.html index 3e0d49a..a644505 100644 --- a/templates/sidebars/admin.html +++ b/templates/sidebars/admin.html @@ -51,7 +51,7 @@ - سامانه شفافیت + کنتور پلاس
    From e2e4a6dad8fb408eac9c210c33048ff6f7f3874f Mon Sep 17 00:00:00 2001 From: aminhashemi92 Date: Thu, 9 Oct 2025 18:53:46 +0330 Subject: [PATCH 10/10] add logo and fix sign. in print --- db.sqlite3 | Bin 4608000 -> 4743168 bytes .../invoices/final_invoice_print.html | 6 ++- invoices/templates/invoices/quote_print.html | 7 ++- invoices/views.py | 6 +-- static/assets/img/logo/fav.png | Bin 0 -> 23311 bytes static/assets/img/logo/logo.png | Bin 0 -> 59182 bytes static/assets/img/logo/logo.svg | 13 +++++ static/assets/vendor/css/rtl/core-dark.css | 6 +-- static/assets/vendor/css/rtl/core.css | 6 +-- templates/_base.html | 16 +++--- templates/sidebars/admin.html | 51 ++---------------- 11 files changed, 40 insertions(+), 71 deletions(-) create mode 100644 static/assets/img/logo/fav.png create mode 100644 static/assets/img/logo/logo.png create mode 100644 static/assets/img/logo/logo.svg diff --git a/db.sqlite3 b/db.sqlite3 index 6ef6823e95ac0b27f18b3e0d1af73dac0a3766ba..312b49abe85aff65763808eb41637c7d1ed8e962 100644 GIT binary patch delta 104006 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 delta 12502 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 Yd=yaoDx<(xS&^qm>3_KY0}7hr6951J diff --git a/invoices/templates/invoices/final_invoice_print.html b/invoices/templates/invoices/final_invoice_print.html index 702f083..167306f 100644 --- a/invoices/templates/invoices/final_invoice_print.html +++ b/invoices/templates/invoices/final_invoice_print.html @@ -168,10 +168,12 @@
    {% if instance.broker.company and instance.broker.company.signature %}
    -
    مهر و امضا
    - {% if instance.broker.company.signature %} +
    مهر و امضا + {% if instance.broker.company.signature %} امضای شرکت {% endif %} +
    +
    {% endif %}
    diff --git a/invoices/templates/invoices/quote_print.html b/invoices/templates/invoices/quote_print.html index 292d345..cbb0c13 100644 --- a/invoices/templates/invoices/quote_print.html +++ b/invoices/templates/invoices/quote_print.html @@ -76,6 +76,7 @@ .items-table td { border-bottom: 1px solid #dee2e6; text-align: center; + font-size: 8px; } .total-section { @@ -227,10 +228,12 @@
    {% if instance.broker.company and instance.broker.company.signature %}
    -
    مهر و امضا
    - {% if instance.broker.company.signature %} +
    مهر و امضا + {% if instance.broker.company.signature %} امضای شرکت {% endif %} +
    +
    {% endif %}
    diff --git a/invoices/views.py b/invoices/views.py index 2bf0f39..0313143 100644 --- a/invoices/views.py +++ b/invoices/views.py @@ -1104,9 +1104,9 @@ def final_settlement_step(request, instance_id, step_id): step_instance.status = 'completed' step_instance.completed_at = timezone.now() step_instance.save() - # if next_step: - # instance.current_step = next_step - # instance.save(update_fields=['current_step']) + if next_step: + instance.current_step = next_step + instance.save(update_fields=['current_step']) # return redirect('processes:step_detail', instance_id=instance.id, step_id=next_step.id) # return redirect('processes:request_list') except Exception: diff --git a/static/assets/img/logo/fav.png b/static/assets/img/logo/fav.png new file mode 100644 index 0000000000000000000000000000000000000000..ffa86d7622533da5e44e1b5d46632c98cea425a5 GIT binary patch literal 23311 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 bKRibr+NYC#Y*h*bv}C@Oz2${Dyxso;?u7B( literal 0 HcmV?d00001 diff --git a/static/assets/img/logo/logo.png b/static/assets/img/logo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..71216c8f28f6e8761db6b4c2f9e7639fac0acacd GIT binary patch literal 59182 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 Vj8>TvA5J4IS!BQP%6#V^{|^Q1v77(^ literal 0 HcmV?d00001 diff --git a/static/assets/img/logo/logo.svg b/static/assets/img/logo/logo.svg new file mode 100644 index 0000000..ba477d9 --- /dev/null +++ b/static/assets/img/logo/logo.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/static/assets/vendor/css/rtl/core-dark.css b/static/assets/vendor/css/rtl/core-dark.css index 1c8f60f..bc86e08 100644 --- a/static/assets/vendor/css/rtl/core-dark.css +++ b/static/assets/vendor/css/rtl/core-dark.css @@ -24340,8 +24340,8 @@ html:not(.layout-footer-fixed) .content-wrapper { } .menu-vertical .app-brand { - padding-right: 2rem; - padding-left: 2rem + padding-right: 1.5rem; + padding-left: 1.5rem } .menu-horizontal .app-brand, .menu-horizontal .app-brand + .menu-divider { @@ -24379,7 +24379,7 @@ html:not(.layout-footer-fixed) .content-wrapper { @media (min-width: 1200px) { .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand { - width: 5.25rem + width: 6.75rem } .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-logo, .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-link, .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-text { diff --git a/static/assets/vendor/css/rtl/core.css b/static/assets/vendor/css/rtl/core.css index d5f3721..ec1259b 100644 --- a/static/assets/vendor/css/rtl/core.css +++ b/static/assets/vendor/css/rtl/core.css @@ -24375,8 +24375,8 @@ html:not(.layout-footer-fixed) .content-wrapper { } .menu-vertical .app-brand { - padding-right: 2rem; - padding-left: 2rem + padding-right: 1.5rem; + padding-left: 1.5rem } .menu-horizontal .app-brand, .menu-horizontal .app-brand + .menu-divider { @@ -24414,7 +24414,7 @@ html:not(.layout-footer-fixed) .content-wrapper { @media (min-width: 1200px) { .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand { - width: 5.25rem + width: 6.75rem } .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-logo, .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-link, .layout-menu-collapsed:not(.layout-menu-hover):not(.layout-menu-offcanvas):not(.layout-menu-fixed-offcanvas) .layout-menu .app-brand-text { diff --git a/templates/_base.html b/templates/_base.html index 0a41233..86d87fd 100644 --- a/templates/_base.html +++ b/templates/_base.html @@ -17,14 +17,10 @@ layout-navbar-fixed layout-menu-fixed layout-compact - - - - - + - + @@ -99,7 +95,7 @@ layout-navbar-fixed layout-menu-fixed layout-compact

    - © {{ current_year|default:"2024" }} تمامی حقوق متعلق به شرکت زیست آب است. + © {{ current_year|default:"2024" }} تمامی حقوق متعلق به شرکت زیست‌آب پرآب است. طراحی و توسعه با ❤️ در ایران
    @@ -112,17 +108,17 @@ layout-navbar-fixed layout-menu-fixed layout-compact | - پشتیبانی: info@zistab.com + پشتیبانی: info@poraab.com | - تلفن: 021-12345678 + تلفن: 02188728477 | - تهران، خیابان ولیعصر + تهران، خیابان شهید بهشتی، پلاک ۴۳۶
    diff --git a/templates/sidebars/admin.html b/templates/sidebars/admin.html index a644505..c2af955 100644 --- a/templates/sidebars/admin.html +++ b/templates/sidebars/admin.html @@ -5,55 +5,10 @@