Files
project_v19/xf_doc_approval/models/__pycache__/document.cpython-312.pyc
T

45 lines
18 KiB
Plaintext
Raw Normal View History

2026-07-01 14:41:49 +07:00
Ë
çÉiï/ãó ddlmZmZmZmZddlmZmZmZddl m
Z
m Z m Z m
Z
mZGddej«ZGddej«Zy )
é)ÚapiÚfieldsÚmodelsÚ_)Ú UserErrorÚValidationErrorÚ AccessErroré)ÚApprovalMethodsÚ
DocumentStateÚ
ApproverStateÚ ApprovalStepÚDocumentVisibilitycóTeZdZdZdgZdZejd¬«Zejddddd¬«Z
ejdd¬ «Z ejd
ejdej dd¬ «Zejd ejd
¬«Zejdejd¬«Zejdejdej d¬«Zejdejdej ¬«Zej4ddddd¬«Zej4ddddd¬«Zej4dddd¬«Zej<d d!d"d¬#«Zej<d$d%d"d¬#«Z ejd&d'¬(«Z!ejd)d'¬(«Z"ejd*«Z#e$jJd+d,«d-„«Z&e$jJd.«d/„«Z'e$jJd.d0«d1„«Z(e$jRd,«d2„«Z*e$jRd3«d4„«Z+e$jXd5«d6„«Z-e$jXd+d3«d7„«Z.e$jXd+d8«d9„«Z/dGd:„Z0d;„Z1d<„Z2d=„Z3d>„Z4d?„Z5d@„Z6dA„Z7dB„Z8dC„Z9dD„Z:ˆfdE„Z;ˆfdF„Z<ˆxZ=S)HÚDocApprovalDocumentPackageú xf.doc.approval.document.packagez mail.threadúDocument PackageT)ÚdefaultÚName)ÚstringÚrequiredÚ translateÚreadonlyÚtrackingÚ Description)rrÚStatus)rÚ selectionrrrrzApproval StatusÚ_compute_approval_state)rrÚcomputez
Approval StepÚ_compute_approval_stepzApproval Method)rrrrrÚ
Visibility)rrrrÚ Initiatorz res.userscó.|jjS©N)ÚenvÚuser©Úselfs ú4/mnt/extra-addons/xf_doc_approval/models/document.pyú<lambda>z#DocApprovalDocumentPackage.<lambda>:s˜TŸX™XŸ]™]€ó)rÚ comodel_namerrrÚCompanyz res.companycó.|jjSr$)r%Úcompanyr's r)r*z#DocApprovalDocumentPackage.<lambda>As˜TŸX™X×-€r+z
Approval Teamzxf.doc.approval.teamz![('company_id', '=', company_id)])rr,rÚdomainÚ Approversz!xf.doc.approval.document.approverÚdocument_package_id)rr,Ú inverse_namerÚ Documentsúxf.doc.approval.documentz Is InitiatorÚ_compute_access)rz Is Approverz
Reject ReasonÚstateÚapproval_team_idcó˜|D}|jj|jk(xs$|jjj«|_|j «}|jj|j
d«vxs$|jjj«}|jdk(xr||_ŒÇy)user_idÚpending) r%r&Úinitiator_user_idÚ _is_adminÚ is_initiatorÚget_current_approversÚmappedÚapproval_stateÚ is_approver)r(ÚrecordÚcurrent_approversÚ responsibles r)r6z*DocApprovalDocumentPackage._compute_access]àò TˆFà"&§(¡(§-¡-°6×3KÑ3KÑ"KÒ"hÈtÏxÉxÏ}É}×OfÑOfÓOhˆ ð!'× <Ñ <Ó >Ð ØŸ(™(Ÿ-™-Ð+<×+CÑ+CÀIÓ+NÐkÐRV×RZÑRZ×R_ÑR_×RiÑRiÓRkˆKØ!'×!6Ñ!6¸)Ñ!CÒ!SÈ ˆ ñ Tr+zapprover_ids.statecóþ|D]x}|j}t|«t|jd««k(rd|_Œ>|jd«rd|_ŒX|jd«rd|_Œrd|_Œzy)Ncó |jdk(S©approved©r7©Úas r)r*zDDocApprovalDocumentPackage._compute_approval_state.<locals>.<lambda>lsÀ!Ç'Á'ÈZÑBW€r+rIcó |jdk(S)rejectedrJrKs r)r*zDDocApprovalDocumentPackage._compute_approval_state.<locals>.<lambda>ns¨a¯g©g¸Ñ.C€r+rNcó |jdk(S©Nr;rJrKs r)r*zDDocApprovalDocumentPackage._compute_approval_state.<locals>.<lambda>ps¨a¯g©g¸Ñ.B€r+r;ú
to approve)Ú approver_idsÚlenÚfilteredrA)r(rCÚ approverss r)rz2DocApprovalDocumentPackage._compute_approval_statehswàò 5ˆ×+ˆ9 Y×%7Ñ%7Ñ8WÓ%XÓ!YÒYØ(2Õ×#Ñ$CÔDØ(2Õ×#Ñ$BÔCØ(1Õ%à(4Õ 5r+zapprover_ids.stepcóÎ|D]_}d}|jjd«}|j«|D]$Š|jjˆfd«sŒ"‰}n||_Œay)stepcóD|jk(xr|jdk7SrH)rWr7)rLrWs €r)r*zCDocApprovalDocumentPackage._compute_approval_step.<locals>.<lambda>|sø€¸!¿&¹&ÀD¹.Ò:bÈQÏWÉWÐXbÑMb€r+)rRr@ÚsortrTÚ
approval_step)r(rCrZÚstepsrWs @r)r z1DocApprovalDocumentPackage._compute_approval_stepuslø€àò 1ˆ ˆ×'×.¨vÓ6ˆ J‰JŒLØò
Ø×&×/Ó0bÕcØ$(ð
ð$1ˆ ñ 1r+có6|jrg}|jjD]4}||j|jj|j
dœgz
}Œ6|jj
g«}|D]}||j|«z
}Œ||_yy)N)rWr:Úrole)r8rRrWr:Úidr]ÚbrowseÚnew)r(Úteam_approversÚ
team_approverrUrLs r)Úonchange_approval_teamz1DocApprovalDocumentPackage.onchange_approval_teamƒà × Ò àˆNØ!%×!6Ñ!6×!CÑ!Cò

ØØ$ð#ñð
ð ×Ó4ˆIØ
.ؘYŸ]™]¨1Ó-‘ ð
.à )ˆ ð !r+rRcó°|jrJ|jjjd«|jjd«k7rd|_yyy)Nr:)r8rRr@r's r)Úonchange_approversz-DocApprovalDocumentPackage.onchange_approvers“sOà × Ò Ø×8¸ÓCÀt×GXÑGX×G_ÑG_Ð`iÓGjÒjØ(,Õkð !r+Ú
company_idcó\|D]'}|jj|j«Œ)yr$)rRÚvalidate_companyrf©r(rCs r)Ú_validate_companyz,DocApprovalDocumentPackage._validate_companys-àò DˆFØ × Ñ × ×1BÑ1BÕ  Dr+cór|D]2}|jdk(sŒ|jrŒ ttd««y)approvalz!Please add at least one approver!)r7rRrrris r)Ú_check_approversz+DocApprovalDocumentPackage._check_approvers ó8àò Nˆ|‰|˜)°&×2EÓ2EÜ%¤aÐ(KÓ&LÓ Nr+Ú document_idscór|D]2}|jdk(sŒ|jrŒ ttd««y)Nrlz!Please add at least one document!)r7rorrris r)Ú_check_documentsz+DocApprovalDocumentPackage._check_documents¦rnr+cóR|i}|jd|i«|j|«S)Nr7)ÚupdateÚwrite)r(r7Úvalss r)Ú set_statez$DocApprovalDocumentPackage.set_state­s,Ø ˆˆDØ W˜eÐz‰z˜Ðr+cóÈ|j«|jjd«jd«}|s|S|djŠ|jˆfd«S)Ncó |jdk(S)NrQrJrKs r)r*z?DocApprovalDocumentPackage.get_next_approvers.<locals>.<lambda>µs¸a¿g¹gÈÑ>U€r+rWrcó"|jk(Sr$)rW)rLÚ next_steps €r)r*z?DocApprovalDocumentPackage.get_next_approvers.<locals>.<lambda>¹sø€°·±¸9Ñ1D€r+)Ú
ensure_onerRrTÚsortedrW)r(Únext_approversrzs @r)Úget_next_approversz-DocApprovalDocumentPackage.get_next_approvers³s[ø€Ø ÔØ×3Ñ4UÓ]Ð^dÓeˆÙØ " %×*ˆ Ø×&Ó'DÓEr+có`j«jjˆfd«S)NcóX|jdk(xr|jjk(SrP)r7rWrZ©rLr(s €r)r*zBDocApprovalDocumentPackage.get_current_approvers.<locals>.<lambda>½s%ø€°A·G±G¸yÑ4HÒ4iÈQÏVÉVÐW[×WiÑWiÑMi€r+)r{rRrTr's`r)r?z0DocApprovalDocumentPackage.get_current_approvers»s%ø€Ø ÔØ× Ñ ×)Ó*iÓjr+cój«j«}|sttd««|j ˆfd«}|s)‰j
j j«r|d}|sttd««|S)Nú2There are not approvers for this document package!cóJ|jjjk(Sr$)r:r%r&rs €r)r*zADocApprovalDocumentPackage.get_current_approver.<locals>.<lambda>Åsø€ÀÇ Á ÈTÏXÉXÏ]É]Ñ@Z€r+rz5You are not allowed to approve this document package!) r{r?rrrTr%r&r=r )r(rDÚcurrent_approvers` r)Úget_current_approverz/DocApprovalDocumentPackage.get_current_approver¿s}ø€Ø ÔØ ×Ù ÜœAÐ 5Ó6ZÓÙ D§H¡H§M¡M×$;Ñ$;Ô$=ØÑ ÙÜœaÐ WÓ Ðr+cóh|D]-}|j|td«|jz|d¬«Œ/y)NzDocument Approval: %sz mail.mt_note)ÚsubjectÚ partner_idsÚ
subtype_xmlid)Úmessage_post_with_sourcerÚname)r(Úview_refr‰rCs r)Úsend_notificationz,DocApprovalDocumentPackage.send_notificationÌs?Øò ˆFØ × ÜÐ2°V·[±[Ñ

ñ r+cóÜ|D]f}|jdk(rP|jrD|j|jjd«jd«j¬«|j
dk(rt
td««|j
dk(rt
td««|j
d k(rt
td
««|j
d k(sŒÜ|j«}|rg|jdk(rd |_|jd