From 23f50aacd4ba5c51c4839d4aa034aee35ba83c32 Mon Sep 17 00:00:00 2001 From: aminhashemi92 Date: Thu, 9 Oct 2025 13:29:48 +0330 Subject: [PATCH] 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 zcmbVR3v^UPn(q7P?t8oM?e07~BqZG(@_uygtNY%LNpm}q=LiC==y=c&c?1+ffH*sF z7$GncWmrrIQmn5D3wm%_fv8ZZ0|e1=9CZL^j;kwbz|nPF&lp{u8C}k>b*u6wEPFO5 z|M`>q*H=|v)&KwX-@2Q6AEGyH+D3Qe*dMgn*pklRWa`15g}ck_y(JaQtzCP|b3otU zT&}KQd5}`N66FW{FkNLTspZW-S+#u8lC=#jjq6q}X>M)ZSyAL*0!2)M1}V)#wo{De zmNE$*P=9n~Ki^a#P>yA}6Pd{rkY5ugJioK@lP^87YE7=zjIg3aBWeV0$)@&DDVkKR z>S0OK^_a49)#BxAKxYP(-#&XHg@i`JAYqZ%kvNbzk#KPKME>|b;TxOxZqKhhW#SIu z8<^V5zbkakaWQQZ6wvuLp9?M@aB;x*Ht%;wV%3Tg*5sJ1fz$Pg8lZ;iQsK6@`Sqy` z!>@tPKHg4KJO~}RVeZi&mF@(+U*xk)E5*Qdf8ymhwG5mucV$LnK?$=^i>7tdtSQAJhIlDdz&zt2YN-VdGU+}}|&`s4C>_cu<^Aa2)A1mCz>JTBP(fYv4mjvPwlz`YB^T80+wu&+V<@Md8RYWx?g@ihK0 zeB-eAtrz1zvL5Lc{**Y^^orZP7d$U`S9+l*D8B0jp+47TM5#$AC}3t$OIw?y^;E z*Fp@L+kq6b?F`{+|t~%ycw>0 zBkdPO69sRV&HK6cMei%#cf8MeFL*UeUr9rf zjwAypx;AeYH!yoEw0I6$&c<=a z+UIY`gY!28_yX!KxUf6$3!1rXt3`dsK=HnS&fN5X7o_}aAh7$ODS~tR&D0d+Qfe$L zM`gv3liW=Ycn0kO@aKI24{JYR(-B@pP;t;Cf{h2wRIu@dgafYMAJ}#;wI0}g!T%K4 zn^=iWXa2@qV0z(YU+^GJP3%l$0rNI92OPf5{2ADgpXsHpfR_Bsoc1m0K_nq0`A8-q zDL_()qzFkdk`g4PNXn3u!!79*ZRPBp_ADFlwG_Mx=1}Fofx8kFMHJX{ZUT2Sg_=); zIg?Y_iQF>2*U8W{*TkQ~dMSSr>m~e&c4JBfG^SL(wT*p+dBO(f^wi!07o4jsU_f8T zL;-I9ePx|vV2iT1Gx(1ChrwWbId)kjiNmijz@Zwk}64;X`O=70;&%l&Bs{X5xJOz+IU)bh)0D^_q}{R z+wS~tror(CT1R`6OP6deRPD32{5WyFYzNx+NylbJn`2GYO>6F0G)Gw!k!G|`Yrb{W zZT0i&E7z*Cr5o#3s7h1A>~-_*s9U1nGizD%l);Rmr~`+&Rg&OT2^;oFvuV~fjVeSF znM84$^A$9aWCC0fJ;C6Cd!PCxv~N;*nsuZ&T+p*w)hIZ1i~2N8g*p?t z_>>wEZdqH^_N=WMk_eJ0%-X7d`9AX!^96J+H0mj^V_uEGI&XE(2EkYSLD<}A&@|Yv z$Y{nL6^daTw_+tx6-1R2RYp`P=qXG@+Gi{_ki?Kw!x@Wjc=-c%t^EfZ=uOSKA8a*i zG}`_He95ed+bs{V)BLG+YHAInrq(idu=gVmguaW#8U>DAs(J}_pN@ObpZjV%;I4hO z=`M7Zr?i;gQP{b%6u#FQS>aC+b&{wP;HAU0(;Yjh*R0;UyK5KF@W{nbn4;?ixa;}a zzdJXg`oW3BYF{r#iHZ=V5v3BP5G4~O5miMLUXpsUB=sU*l6ny@Nxg`dq+To~ElY?h zCaTDhkH;+}{}vE6iKu*{LQwrx?OA3#5(*-5W(*01kWfTSLJ=_uMZ_c&5tC3vOhOSc z2}Q&t6tb@hA)ycw3L&8o5(*)qh?s;TViJl-NGKvEp@^7-B4QGXh)F0SBJma>@#?6Z zsGwMiP9hq=AE4nudol21(N7XKNx~*c*dz&?Bw>>zY?6dclCVh3F_7@aGvTvO$Nzz4QT193=RF;Nj%R<&m}tq?6qJLrreX&h8ne$sz9)W=a(MT6 zJJ7-X(sS{?;hcaDRJ;3O4qE3Y{V;b7bf1bZW?#f9<+T4H8i=11XM!sWmF1xOoO};B zcP5^VLMi?^2QGb3yI^C0xLts_U4Xb!aV^V{*=^Vk`VJ{xeE{@h0ze2c(L z)0c|Yd#VF;Yi6p)s*MJ>j6&ssW@dt$*2KB?yyD3)uh{&IWA9`aj>cER=XxhU$>0vq zizz9t3`JHs7(g%8V|EJbJ8)#+wGU_rx?>_V{c2YB^x>-Nhfb#aGd{lS_Px~iQ z@D(NTJOlgI)vTvoNmBGBQ7EjOZtimO%mv$eDrj>q0397M1@!jjmN@J_t0V(6=a^kN zxGv*5xK{3Vu7(Q^riL6QMg!l>KnARwYaXU)=TE`Kmuu(YnvIGQ6#>DysDj&ai}{b_ zfku={ltPqDltfe&QDLGgiK-x~oTxIQN{K2Vs+g!Eq6&#BAZij(`9y^*Wgyq4G_+|F zg`dLLZ#QeFG5Pck;OsUN=uNThU}Or-tm@Q3f-=%T&3;p<9NZYI>b-hPta{kmvirFt zcUxx^^knF1;Lv_kOCugZHq5fF>WtuCVaq=Ap{c^ab%Z7vk_s;V+$;m&{bg(x&{tZ>Hm-2hTZ~Dz%(9%=OfpeGgr^4TTZBqE`WeYDC0a-Z>#cw zBWCFl@M}47qt6j_R5?lAD0-3QOhAgUr7$hoy6?`z7*zh8I54#N29!A}x zMHWlPx1&>7m7<71$@q43pQy=_B#XtP?Hfm2I4YWombhqigJF9#7LDqvSa?mlF2}T( zSa3~yMAej-IBAq!9jr;@XgC_v(EGobKdJ$?t44K1vKYjW6NT{k1b1iDHD^y0TxV_G zo!&{F7d%tMcg1DG_rf+I$Nj83?mCOS{IH8z(Pe_wzC@b3?5YHN-CI`BvvP8J#_)}7 zRMxa|L7`W4O~!p{P2=@>o!eIsYMz`n)G1Ez3hI=-w<`|zW+c+IrQ>$`zhBFOwgY;G zb%}yFAvcIdVyMd%T|j2;qu z%hPQ;ZC>5eEIuV%5YpT;U2Xhv?kldyd8cES{Y|^T&SG}ZXK5cb*JfRSE@InmcvJzQ z1^NWwd&exb?l*BxlF(Lyo)63$to!_6=HO#1Ro%}8e93x*lZSC`s{zVYs-er^G($cE z5ZGV_8-ht=U?_zd2D+6S4I4~sL$Io07@j4{Y_fsA28@~IV8R>1g@394&i9MHM6(Y&tmCP?u+Ifb|ro(jinCIRCy`H;7Qx2ts@^27zv72S=W&@qmvT>b%y} zEE`V32qvKAoAPKe9*DPWC;_8&o4X`2bBK!d3@7EG_C>=JLpB+`R)Lg)x}~^t^Z+O5 zp~i(H8%JY`Y*?S3rh~tS>hdrP6t*~J4*G<|D%}Tx(kelJ!PC zA_^_sVBIu?(}ro%5xqNCOOGMSSZ+0@G3fvi|K`JGzbYs@l& z++HQ?h+$NpN0~rl^Og;bb?Y})wbZmXt#976u_rrCMJA?E3JJrS#TZs&jGsp-JOrPp zV@4XXMWCvWkE2Qf%ss7{Gty)F_^Q@kWGgJnx91e(S#0@s)ENWzgD`7hk;R_laM&z% zN7IJ-#x~d;36g!w;s6GTL1EAs42BAW#o*AgIR5!Taf*;?wQp!MHIIl>D13~+C~CH) zSoMUW@Eqar%!4y$cq=@9yQ>a$o#i{iDUxqT>?F^SqhX+lh0_xPjqd*^Z*qcqcs@%V z1)nZj`=`_9AUke8^Llgn_;&)WJzh)K)m8%O4 zwV|N~-Igd`lOltYG*`z^Jjn&;D6R&rGmA&6XK&dr;w}5d*;{@>{9#DEgCNL{0*Yz; z5%kt_&GRDjAufRt4nM2JqJedq5{eXO&}5b7gXLlaCVvwkFXEppkw1b4%?R2Hb+~Fqdu?Zj@k|O zdpGB|-cj3TDQs$Y9D^^@Z27rfmc5Yi>B~2V*7>ne`zqhdM)_+Dz0+$cHG_%S&_5_AFdo+Summ#)6HV~kA(>%3+$|4lLh}zkBZtEWk1HzF zaVW9tZmsKzhR*mD30}wQW3VMTD%RJjH)14VBx9stq+-m)NW)0S$iSF~ zk%^IoI`!Gxvgp-}oq)QQ)YqXKWW9;{l*AwNc*1Y8)i0p(lnP6asp&7oilQC(C&{- zJLyotR!*7F%Bh^81{|=DfbP~}Eblf4>vGqHS~b~eKB}e)`Dfwegee`p_=ve2{2skGKu^Q;^r-;-adUa= z@6jVHn7)V~f}gH7V|s$6Y+JN?5y4YcD$S_aE!@o~(?0eG{P-?|lDws56sj7uEF&|v zC+9IsJ3Y$(`#-}U4_ihm3!1j9ELyzEF~4K=rp*gH4R>{HsLXS1Ua_Tdef{Dk4Xw2u zp87`XstpSoRxO)J-i6|Au@Zbu%54I>|; z0LASnoSLAH(|W{K+vfwCUCAzk#@7r+)KOz6Nl|T6o78FQM0K<}3~sHnH}5rq%zzXF zpPQ>#eC73a3nB!@D>s8`%xI>mJ zJX!Kr>VIilL)zAmwp9#jTScsW>SyiDfOc;{`|;mup9yK7_-)?VF@W@leSz#ep+!8Q zMLc3R>U-yB^(8_ZJP~2R>Is%$=4)~0w}vuzUMhK`j{b!158m`g;hwPQRP=%Dd<+*Y zmn(;-=R42gUg@AWpQF*C13H4C1Ttqj~+6LTK%N1e|Ak{W~V z5$ASfA92>=j&fLw4jxSmeDW1%6+IXGM!D<^mWWO-GSh&2+$@mh|OHo3){11*^8>q|d zfC6+ucDzmE%UKV83L8vh(FvQpM4%(NCIY#SmAC+OziOC*6-Fr*GmSrenzSyK{cI$o zBQ^me!O`p#dxjlm``G)~blfce&->h+Ak2t*5@DE^&Tt6L%X|%;Ap;msX;|e(zc2>%N!iFR*xHQ=$9E&i*jfNUecvzpOy3H!B0D`WZ=W=+1`!@hX1oOSw;1fGa$3>Tct6=7a50K#_t(mO zF?3~Mes(uAaKXmuU>{LWq^m7P&xu`x)FY*6k82ldE^6)+zZbhOsZFHr=`Dt>Iwb=2 u7rW{yTIOb13A^Y%He`pPVi$*E7P~%UIa1q9NQK&F9AB$N&9}RHz<&Tv-Z)+W 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 %} بازگشت