From 24c7ea9447aea5e1ac17702cf8f2e309a14e47d4 Mon Sep 17 00:00:00 2001 From: Madanil Date: Wed, 21 Oct 2026 16:54:17 +0700 Subject: [PATCH] [UPD] update logic fdd tdd --- gmn_freshservice/__manifest__.py | 1 + .../__pycache__/__init__.cpython-312.pyc | Bin 606 -> 606 bytes ...n_freshservice_holiday_v01.cpython-312.pyc | Bin 12576 -> 12576 bytes ...ce_ticket_conversation_v01.cpython-312.pyc | Bin 1933 -> 2356 bytes ...rvice_ticket_stage_log_v01.cpython-312.pyc | Bin 21118 -> 23276 bytes ...mn_freshservice_ticket_v01.cpython-312.pyc | Bin 52215 -> 53415 bytes .../gmn_freshservice_ticket_stage_log_v01.py | 2 +- .../gmn_freshservice_security_v01.xml | 55 ++++++++++++++++++ gmn_freshservice/security/ir.model.access.csv | 17 ++++-- .../__pycache__/__init__.cpython-312.pyc | Bin 219 -> 303 bytes ...mn_freshservice_client_v01.cpython-312.pyc | Bin 18550 -> 19383 bytes .../gmn_freshservice_holiday_views_v01.xml | 9 ++- ...reshservice_ticket_stage_log_views_v01.xml | 2 +- .../gmn_freshservice_ticket_views_v01.xml | 3 +- gmn_freshservice/views/gmn_menu_views_v01.xml | 6 +- .../__pycache__/__init__.cpython-312.pyc | Bin 235 -> 397 bytes ..._holiday_import_wizard_v01.cpython-312.pyc | Bin 9651 -> 9642 bytes ...cket_bottleneck_wizard_v01.cpython-312.pyc | Bin 52150 -> 54480 bytes ...eshservice_ticket_bottleneck_wizard_v01.py | 49 ++++++++++++---- ...ice_ticket_bottleneck_wizard_views_v01.xml | 9 +-- 20 files changed, 126 insertions(+), 27 deletions(-) create mode 100644 gmn_freshservice/security/gmn_freshservice_security_v01.xml diff --git a/gmn_freshservice/__manifest__.py b/gmn_freshservice/__manifest__.py index ae40847..096f15a 100644 --- a/gmn_freshservice/__manifest__.py +++ b/gmn_freshservice/__manifest__.py @@ -20,6 +20,7 @@ Modul untuk melacak audit trail tiket dan memisahkan durasi penanganan: 'mail', ], 'data': [ + 'security/gmn_freshservice_security_v01.xml', 'security/ir.model.access.csv', 'data/gmn_demo_data_v01.xml', 'views/gmn_res_config_settings_views_v01.xml', diff --git a/gmn_freshservice/models/__pycache__/__init__.cpython-312.pyc b/gmn_freshservice/models/__pycache__/__init__.cpython-312.pyc index 02ac545477345f4f54b366dbc949a10fc7564db1..209a6671c01146af3ea1802edd1a957378bdf524 100644 GIT binary patch delta 26 gcmcb|a*u`kG%qg~0}wcJUEj!kmyt1l@=L~20Ap(h-2eap delta 26 gcmcb|a*u`kG%qg~0}%9oyS9=0E+eD==J=G%qg~0}$8=J=G%qg~0}u!ZZsgJzF>|rf_fN^sS1`2H&j-@_>A89Fx%nxjIjQkwMqplA bQEG8UacWUnW^$@NP%1U2SbuZA$VM3es0$hv diff --git a/gmn_freshservice/models/__pycache__/gmn_freshservice_ticket_conversation_v01.cpython-312.pyc b/gmn_freshservice/models/__pycache__/gmn_freshservice_ticket_conversation_v01.cpython-312.pyc index 120e87f189f3bbce781545e498e606e6cfa5ebc1..c98729aeb824d36c25e2af0b15c69b9d81fcf34d 100644 GIT binary patch delta 677 zcmZ8e&ubGw6rS1aZbP6=ky?tPyk1P=j})(kp!g%A(jqi?2!ZgjGfgJ@Bg^crx;YpR zy?F3Yau9FzFeTRiP3s~_#Q{)*Tg+P&IdgeyBW`ZmLK@rX2){#olR8g4$HwRi1>q&m8IHT;s~46W<>m z8f9ZrsF~w~mds{EfQYOiq!{$URa*JEsm+;+OvyEcFRd?Ui`k8D6!zG$VOYf@o2@ja9sBdDZ8f<*M;&cb*sj_7BJI;F m3pXyWQ*u<`oFAJ8H-FoV!%zDXZ}Nl3?>cWgzgU*fuzvu=2FVlv delta 243 zcmdlY)XUFznwOW00SNB5U(MRgGLcV0#SX}u&XB^8!kEL5%NWI&%M``L$iT$l&XB^? z!jQt8%9zDA(NCI{rIJOHbu%a9HbzB-w4&7FjN;UyvdrXEy^_r2?9>vy<5HdK(c3mL<_?W9=!(F8^Sh|zq9WXWMXw=ERq6>7qI~eKTX!jr#bAEK>{C`85tR$ ZGsu5oQDAgqToATAW?{@%1`r#p9smp)Je&Xk diff --git a/gmn_freshservice/models/__pycache__/gmn_freshservice_ticket_stage_log_v01.cpython-312.pyc b/gmn_freshservice/models/__pycache__/gmn_freshservice_ticket_stage_log_v01.cpython-312.pyc index fd0a2f87bbb8d8113f094d1b72e05f48af0c563e..58424e6e1b6ddd4ce5cd9991049bcee6edc0af07 100644 GIT binary patch delta 7299 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 delta 4726 zcmaJ@Yiu0V6}~gGGrL~z)8qASyz8~&XU2~_NSrtgI5=73I5>6^MeDAGKxB_FJI|(^QD4|?}3~^Cz zh(yT{ALTj3_=GTIiCTuls5m4=C64eU##4b>CVBKiNYtt$Vh&={5h(}B(-CV9VyCuf zKFymTQMY3Nof2xN`80o0V3*s=U1zyP$Uy}&;vnQOMwF@B49RB5P%rdls47Bh zjfSQM2veW2a}ctc4NYtG!FRXnvkFsF10WPIYZ;mxwM^S#YJf0xQlHV6sR6=NqJ{=2 zH#Y!6hGr_K4r9xe!){lsj);(_Cz16c)#K(Wx5cmg#q0Ul+JyR#I@4^GttIu!S2t4D1MesKW5tB1QbvEKxJTW?aBd9q8R0DdsLw)9TR@Yjj`U(ULNaj9 zES()GK4a-7d5H0AAVyqV4#%`oFMHAFbHh=S&Rc@xcJ@T8EbwV3yR;$TNV}E=9#~Y! zL#@4|_f z#4YCIrEI3Om^J#nn_xlxP=bE`v@k*{NV;svNhMJ&963U8$s^>XaDd(z+I z)be|KkH*r2>DW+jFFO`&4vzB8w<%st?rrakbal3Nx3~1}>FQ{Yv>fSXmx6xw-(Z+) zVWH5*J2eaKOUJal)|36QtyqVWxD$CEJ_Z-&=cqN5{;@j$hNO1HT-YEgie-n&a@iv*^6#>4CZM`kC;{p9yS#t>W^!*VkQX{YBSXU9*8hbAcl>fg`hlo)0{Ce=36Qf}J?r<9q*eBS`Z1 za-aXRh}`P%-5?w+z~-3Gca85|5aH#ER0UMzVNb+w`JNTXPj)#XA@VlYBE#dIP+mk4 z-dV>*l<6OYTO_WB{h{&}sSPaD9_Fta_Ql8tXW55v17FFl)9Ha zSX~!5fS7G@&(fNt?^s%;?5*lXuABY4Iwg*RN_09|;}F1QrglV}0N~l_&ugcwW8VT+ ztwypN$wnj?OYvyd{^W2vb~3FA&|_*RN>E#Kj0~m+dKZN%c7WP}WFHc=)r8^Xh#J9H z{D9R#B>R!*i-S*}C{7g}`~B7$=^U^h5oX)=#hNF9Re1HgD2!+M2a%7kU{j6s6tI6KY){jH zva=Q(R523eD2eiviwcyFTBr~e;R-3mUF^UPIcT9Gj87|-rfidoLneyXRQ&_qA-Cm$ z#J)6^qIO+U1ThT1qlD%^&%ya4!4W4-xt4u7R($!~An`2wa;`{Z?^MAgd{g*~x^z5@ z*|o?yxaTWk7eZ{f;7!4OZqbW3tF3zpK-@LUaSOh}PcirjLd>NrysYcODBB^+p`2Xc z+*qoRT#|$Pbi7{I59i?i75$dd96X@oUtZ5L$Ym`p&sozNU3-h}y&}g;a3!j*a@Br? zRwQy&jzx)%>oxXQ(;Bc@w_LffE^EdpeudVql9lPQT_{^qhca3})i4QthQDaJF4e2$ zUvIFi$g$i2XYgvv%0=ngTYY|`tSZOrEohmOYciv#GH@njB7?Qf%t;psT)sZxke+s{nvNF|=wpW0RHb8MI*(Z@aR}{YHR4HKNsz;S5u!+)D&A4l8Xzxmx^vY7yv8*sc2(EKnVub?`owhNq#PVR+B=Xu zp{CS0D`^W!6R0!BcD9v;eueD&=z<>^NZ}kPTT1R-_RY2?S1;!D0N{E~({H!^gFi$R zTc;jZJ&NX-%^~$S$l~JE-vUuw*>rF)=cYqXsC{^;$PRCu`06*1#M$_rg@<%JU!RNxG`Sbd{ZD&$pR1Df{jSt@$PT;Jk;}e==|u#9kb%L zPkDP*rD*}Vg}^G6S+Vw0UKZ=nN1e`PlhEV82eB3I4u$VLr1(_}ri9&~Vm&oWk|vWX z`}={4ou?73LZaV1?m!N&AFAGXdS~f-j$5hXxvGi#lCVGe0@a&r|G|LoGk{?uNGc9B qS`avn``WHc7&-MR__j5-8 diff --git a/gmn_freshservice/models/__pycache__/gmn_freshservice_ticket_v01.cpython-312.pyc b/gmn_freshservice/models/__pycache__/gmn_freshservice_ticket_v01.cpython-312.pyc index 9967e7dbe0c7d2a94057e0f0a0ed5ea55893f445..df6eaf0f3b0762da6b9aed29152a878322c1e097 100644 GIT binary patch delta 5172 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 Y@oszV-YOJ$qVDOYpEP~W(76frUt>X%sQ>@~ delta 3892 zcmb7HeQXrR6`$GruC` z3cc1wwF;3EwaFw(X)C2fYC>vPB-vIWAs-NzP}-=VMr|ULN+ebL2T_{CK=^8+zS-Nm zTTE4{E8Xnd_nY5u-psr=yZ6#T$Cc+CzCV_gc@bO(Kl{tj_0v!JW(>axPtPHWD2^d9 zd&eS%XCWrU1yP7QL`U2yIx)u_F<0Czy5mJ+QM_0zj(bFp>37Dw@e;8FY!`LMO5 z8Q4X%IOdC&i{|EF&JKC{Qdqs31D2gE}LE=%Oys4Z{=-RWN+QU+so4ipGn_ z9G1GLfYo?7M!n-DV@?b8nrIbg4wsIXI-wT+Q(+YE(X=5%+$@f1P z(}Cfql@M1TKXQ3Cu7WfxIpGOZL7(a|!P2bA_Tka_XV{{fR`3UEZemO?ApTk#!*BYV zxl&ynooTMatnu6O(FaVtmE-kww4M^$Kxad*IpcH3imYg=%|0ExPoNP-otKZZrhxdH zY@^oN{LMChUBMp+f>KLfX{HUCe-kpRfcRT&TDO`0l{~8IHrfuH1^K-v1+1=vWAM9u zd|`gp4F%2WMI0SpoafFqF*BzEcYtbPSLT?=T5}zi&^rO^%(EIf#*VG2tfhBxh%Oyp zmf!NGf@JmbDa2-*=!z*=upqkf7SR@)=-pF@^KGK{Ou%@k~5LA2)<(M2}VwNr?TZKC&0!R{!C-hYeel7eW@x+%mv zP3*s)482h2>#hE|6Qqffd5~_Ro9Vac zLv#y$m~N%wm?vA4^xLCo%sN8EmGqHOHtY#Ff%iks^AFL-MsXhR&iSWFHrDE#mwn{% zIdaS>4cVAIxjxmg{V0qn9rff@*XA&`+FJ?yXZXl{VR@b0E3XR+H4q(*$m`{G+zLBQ z{@`e7p1*-Aqe$%AkG_M&jhj#~ad!F|Rn`VIS>36GCGyb~;QV`6-;;7h!C(Rw+Nibz^iN)TOvp@@=DNK_^%2!Qm_WRmQb5)q=wl;2{> zh>|ewUw8)lI^g}Ky$ix4=v;BB(X#kyC*ESb-8qc$T4Tl1uKM9USG~l#HYtgynoKB~ zq$z|-x&)1?5c^C?^ZH~cN>(Re1erjW6zNrV%A{-KeK5L~k|3;PBCJGGDu@Kz^V;j> zxU5Tj0^6nCv7|)F{hRtWkm#^X)+ebPBb)iWT1i)mDmvM$N=l6MCL>xa#E>8xWi3g#P1CPFDyl@p=eL{08$i}4Us2|X2sHIm{|0u?6*VARd$2 zeYnmsr?C57AzewrLP4r6C4G7_F6oL!BC^izd7p%dCP_Mg@qtuSGCPr`ZYiuo%;wHD zwdS`vCdE=D28pQg&B;-8DZX6+FNrCdZe_71ha^=Zsw~CYbR{k~u+I<7Y@tdvlX$XF zIT3-IEvE=o$R=6W70@?6d94qZUE{O*z|8TC&*=P(1GCRx_AHqM&$IYBl*a0SZhgif zc+#y87ld*zboD{q`anX69qXucQ=G;_9(JL&mVNSDPpK>I>PC+S5&E7x&2E3Ss!E`a zv^(sG;M}K}il3-SvkTh-QreyKVf4g&C(?ZohIu_+ltxcB@CedE+L3mSJ9F<`I8a<0 z)DIy>^{3EP{S2(2Q)OVEbxLYPQ$Oa|OWf^YOJ47~w^-f9JMtdtmmJG?Q2)js+d0+K z-ye!en%3X1!PhCWihM-v<*Z3I@%o&ya(Dq~Dm-5uL7%enBaci!+5XgTTOTd3%~UZzG293-{TlQoX^{JG8B+RZkbs)sm94pMczf4DV$+Y zuV$eITg~c%6g7R4d2s3c;L0lw$gxx$61L5(=vI=s3jUK%BIH+ zh9~A!n~T9ekI7?vIjohyY}o|ywetO617tW%E|nU}1QxtI^5L`SiP_6NOm|k`X%-0YUq>_MI&St=NDXK}v7bkARxSN%p+>ak%&z@{FCQd$s-IIKyuCqr^ z&6tUy7*+UZgwB>(*&32#vHt!bRxh%rPR%GUg}}9EpggaRqK``(jCW7{%-OUSyE-p= z9By}}n46QE1)s}1NvfdfsC3m#wn{}VZ>E>+{Zpe@>8icxK<@I409K|Ixjp-~?%jGp zsCPA3ey}pDumwyCepi(RfR$;n{Fel`Yb&+@Ze}W;KHbn6a4q-+J+$Z*=b^g}CNl^g zkIX%yztM7uo4oh*i~!bG?d2}7`Z&+c>CgnL*|yVfVh^i1(;k2?bp#87v>s?O@KV8l bM;;bBvmnqj4SRo5_592OGcO} + + + + Freshservice + Modul Analisis Bottleneck & Audit Trail Tiket Freshservice + 25 + + + + + Role + 10 + + + + + + Viewer / Agent IT + 10 + + + Hak baca (Read) pada seluruh tiket, audit trail, percakapan, dan hari libur. Dapat mengakses wizard bottleneck report untuk generate laporan Excel. + + + + + Supervisor / IT Manager + 20 + + + + Hak penuh (CRUD) serta hak mengeksekusi sinkronisasi API, manual override, impor hari libur, dan ekspor laporan bottleneck. + + diff --git a/gmn_freshservice/security/ir.model.access.csv b/gmn_freshservice/security/ir.model.access.csv index 7dba08a..08e83a2 100644 --- a/gmn_freshservice/security/ir.model.access.csv +++ b/gmn_freshservice/security/ir.model.access.csv @@ -1,7 +1,12 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_freshservice_ticket_user,freshservice.ticket.user,model_freshservice_ticket,base.group_user,1,1,1,1 -access_freshservice_ticket_stage_log_user,freshservice.ticket.stage.log.user,model_freshservice_ticket_stage_log,base.group_user,1,1,1,1 -access_freshservice_ticket_conversation_user,freshservice.ticket.conversation.user,model_freshservice_ticket_conversation,base.group_user,1,1,1,1 -access_freshservice_ticket_bottleneck_wizard_user,freshservice.ticket.bottleneck.wizard.user,model_freshservice_ticket_bottleneck_wizard,base.group_user,1,1,1,1 -access_freshservice_holiday_user,freshservice.holiday.user,model_freshservice_holiday,base.group_user,1,1,1,1 -access_freshservice_holiday_import_wizard_user,freshservice.holiday.import.wizard.user,model_freshservice_holiday_import_wizard,base.group_user,1,1,1,1 +access_freshservice_ticket_user,freshservice.ticket.user,model_freshservice_ticket,gmn_freshservice.group_freshservice_user,1,0,0,0 +access_freshservice_ticket_manager,freshservice.ticket.manager,model_freshservice_ticket,gmn_freshservice.group_freshservice_manager,1,1,1,1 +access_freshservice_ticket_stage_log_user,freshservice.ticket.stage.log.user,model_freshservice_ticket_stage_log,gmn_freshservice.group_freshservice_user,1,0,0,0 +access_freshservice_ticket_stage_log_manager,freshservice.ticket.stage.log.manager,model_freshservice_ticket_stage_log,gmn_freshservice.group_freshservice_manager,1,1,1,1 +access_freshservice_ticket_conversation_user,freshservice.ticket.conversation.user,model_freshservice_ticket_conversation,gmn_freshservice.group_freshservice_user,1,0,0,0 +access_freshservice_ticket_conversation_manager,freshservice.ticket.conversation.manager,model_freshservice_ticket_conversation,gmn_freshservice.group_freshservice_manager,1,0,0,0 +access_freshservice_holiday_user,freshservice.holiday.user,model_freshservice_holiday,gmn_freshservice.group_freshservice_user,1,0,0,0 +access_freshservice_holiday_manager,freshservice.holiday.manager,model_freshservice_holiday,gmn_freshservice.group_freshservice_manager,1,1,1,1 +access_freshservice_holiday_import_wizard_manager,freshservice.holiday.import.wizard.manager,model_freshservice_holiday_import_wizard,gmn_freshservice.group_freshservice_manager,1,1,1,1 +access_freshservice_ticket_bottleneck_wizard_user,freshservice.ticket.bottleneck.wizard.user,model_freshservice_ticket_bottleneck_wizard,gmn_freshservice.group_freshservice_user,1,1,1,1 +access_freshservice_ticket_bottleneck_wizard_manager,freshservice.ticket.bottleneck.wizard.manager,model_freshservice_ticket_bottleneck_wizard,gmn_freshservice.group_freshservice_manager,1,1,1,1 diff --git a/gmn_freshservice/services/__pycache__/__init__.cpython-312.pyc b/gmn_freshservice/services/__pycache__/__init__.cpython-312.pyc index 5a35688be8b885a9cb9b3bdada37d8134fac5c2b..796d39fd51ad5b36784d8c166ee2dbae6919e6f8 100644 GIT binary patch delta 163 zcmcc3xSomkG%qg~0}#}mx|Y>FkykQK1jw1rkirnfkiwY4l*5?I6vf2IP|2*xQsoqo zn4F!Mo~lrsT2z*qoLX$9kd#`KS)8emoRgWFSE5jwS5lg-ke#2Gnhg}pPE~L#N-fTS zs#b6e@YI`VqsGO2i#7%Q6rS0&-NZ_2SM34l-)lpvI6q!uBn}oO6iD5oCPF1tst=9EyAyk|yR&9z z*1haX?(sAc4fG&p)-B!W`z!z8!t@z3+YR z?_2ci+w|ZMlapD3>-zUUZ+_nR^x!ic2fuC;hg69}9mAtl+KWcj=tZ+?Vl=&!pRT4U zF$gy{C%Opx7e8=^_A}KngH(u<`iMB`JH{Y4-Zl!E_iw)L2`)86Qb#Vhf#k002yi)^ z54mb69=3$d;qvm^YjEzZi_j_+v#$xoV3T=Ff`hvcCGZ1>m*J9VahPc`S+5JPcfH0X z51A|g(=39Oz;lb+xs})l7P;xzleLx;i>-=hb%=|V#jY_F`+-{KF3G&?OWY@f(qE_QvVADd6;8$XW*vGuUYuK?Q}O!T zSvno>%q@?f+|FIk-Tcux8UH!A)Or5H++*)ha+Ns!zgPNki*Awk%&TOJ7S6Dbv2Ex4 z8d{)NsmEpAWlcbhxW-f{pld50g4gxSzRt7+8+vWj)fMiuPTy2DUPD8nN?bb402L|^ z)mbcpg-xUpG7BVH6QYKBlH`-zJLO61Or-Uz~?#??hvi? z6k2BhXE9rgme7JLL|~C4H0Y2C&kDsBYcmZ^9!53RU~-7{;!{|Uq3l4S42o$H$S&Fl zK{09B4K`~1%FC!C_iH!_Zg=hkvIry#+kkrDgy6(#QOCLJc}sNXO^pOh*5*HH zp=9J2u{~^Ub-@<)=X7yg~3za}SMSvo+&x_y zviRL%xW%aNHhC}0F+L@riefDw(ZFy+QgQQS*7Gck>YJ0fgjpFKHkb3CU}g;8>>#Yg z#hAJ|TUL*Qalz(Us@ZIe@{`$g>=_j%yXo{YDo(zlqsyvPBb3E8`JjvNWJz5$MwQ79 zx~`lIwfuGbJ(p7$Cim&uYbn?8!yLrO5DD}qST+nomot_#R4_*}lrw6o`fYC0?`PaB zW@yC3rwQ~{@jGU)`}l=7M;QO&WjwPv*wLPyF?sW3kEe``oRcfP+|`*` + display="always" + groups="gmn_freshservice.group_freshservice_manager"/>