From 0ef171311c21ba4eac9dab86555bd65cdca68156 Mon Sep 17 00:00:00 2001
From: Anjeel Haria
Date: Tue, 16 Jul 2024 10:38:44 +0530
Subject: [PATCH 1/7] [ADD] helpdesk_mgmt_merge
pre-commit fixes
pre-commit fixes
---
helpdesk_mgmt_merge/README.rst | 86 ++++
helpdesk_mgmt_merge/__init__.py | 1 +
helpdesk_mgmt_merge/__manifest__.py | 17 +
helpdesk_mgmt_merge/readme/CONTRIBUTORS.rst | 1 +
helpdesk_mgmt_merge/readme/DESCRIPTION.rst | 4 +
helpdesk_mgmt_merge/readme/USAGE.rst | 3 +
.../security/ir.model.access.csv | 2 +
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../static/description/index.html | 432 ++++++++++++++++++
helpdesk_mgmt_merge/tests/__init__.py | 4 +
.../tests/test_helpdesk_mgmt_merge.py | 37 ++
helpdesk_mgmt_merge/wizard/__init__.py | 1 +
.../wizard/helpdesk_ticket_merge.py | 127 +++++
.../wizard/helpdesk_ticket_merge_views.xml | 62 +++
14 files changed, 777 insertions(+)
create mode 100644 helpdesk_mgmt_merge/README.rst
create mode 100644 helpdesk_mgmt_merge/__init__.py
create mode 100644 helpdesk_mgmt_merge/__manifest__.py
create mode 100644 helpdesk_mgmt_merge/readme/CONTRIBUTORS.rst
create mode 100644 helpdesk_mgmt_merge/readme/DESCRIPTION.rst
create mode 100644 helpdesk_mgmt_merge/readme/USAGE.rst
create mode 100644 helpdesk_mgmt_merge/security/ir.model.access.csv
create mode 100644 helpdesk_mgmt_merge/static/description/icon.png
create mode 100644 helpdesk_mgmt_merge/static/description/index.html
create mode 100644 helpdesk_mgmt_merge/tests/__init__.py
create mode 100644 helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py
create mode 100644 helpdesk_mgmt_merge/wizard/__init__.py
create mode 100644 helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py
create mode 100644 helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml
diff --git a/helpdesk_mgmt_merge/README.rst b/helpdesk_mgmt_merge/README.rst
new file mode 100644
index 0000000000..52126ff944
--- /dev/null
+++ b/helpdesk_mgmt_merge/README.rst
@@ -0,0 +1,86 @@
+=====================
+Helpdesk Ticket Merge
+=====================
+
+..
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! source digest: sha256:b0aa8c4c4af1e41895ede779fa024d884619125d0883dc24bad4fd8fd9a84e8d
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+ :alt: License: AGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhelpdesk-lightgray.png?logo=github
+ :target: https://github.com/OCA/helpdesk/tree/16.0/helpdesk_mgmt_merge
+ :alt: OCA/helpdesk
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/helpdesk-16-0/helpdesk-16-0-helpdesk_mgmt_merge
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/helpdesk&target_branch=16.0
+ :alt: Try me on Runboat
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+This module adds a wizard to merge helpdesk tickets.
+
+
+A wizard that can be called from tree view of helpdesk ticket.
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Usage
+=====
+
+To use this module, you need to:
+
+#. Merge helpdesk ticket
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues `_.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us to smash it by providing a detailed and welcomed
+`feedback `_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+~~~~~~~
+
+* Onestein
+
+Contributors
+~~~~~~~~~~~~
+
+* `Onestein `_
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+This module is part of the `OCA/helpdesk `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/helpdesk_mgmt_merge/__init__.py b/helpdesk_mgmt_merge/__init__.py
new file mode 100644
index 0000000000..40272379f7
--- /dev/null
+++ b/helpdesk_mgmt_merge/__init__.py
@@ -0,0 +1 @@
+from . import wizard
diff --git a/helpdesk_mgmt_merge/__manifest__.py b/helpdesk_mgmt_merge/__manifest__.py
new file mode 100644
index 0000000000..776459da04
--- /dev/null
+++ b/helpdesk_mgmt_merge/__manifest__.py
@@ -0,0 +1,17 @@
+# Copyright 2024 Onestein
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+{
+ "name": "Helpdesk Ticket Merge",
+ "summary": "Wizard to merge helpdesk tickets",
+ "version": "16.0.1.0.0",
+ "author": "Onestein, Odoo Community Association (OCA)",
+ "website": "https://github.com/OCA/helpdesk",
+ "license": "AGPL-3",
+ "category": "After-Sales",
+ "depends": ["helpdesk_mgmt"],
+ "data": [
+ "security/ir.model.access.csv",
+ "wizard/helpdesk_ticket_merge_views.xml",
+ ],
+ "installable": True,
+}
diff --git a/helpdesk_mgmt_merge/readme/CONTRIBUTORS.rst b/helpdesk_mgmt_merge/readme/CONTRIBUTORS.rst
new file mode 100644
index 0000000000..85125abb22
--- /dev/null
+++ b/helpdesk_mgmt_merge/readme/CONTRIBUTORS.rst
@@ -0,0 +1 @@
+* `Onestein `_
diff --git a/helpdesk_mgmt_merge/readme/DESCRIPTION.rst b/helpdesk_mgmt_merge/readme/DESCRIPTION.rst
new file mode 100644
index 0000000000..9b2325de67
--- /dev/null
+++ b/helpdesk_mgmt_merge/readme/DESCRIPTION.rst
@@ -0,0 +1,4 @@
+This module adds a wizard to merge helpdesk tickets.
+
+
+A wizard that can be called from tree view of helpdesk ticket.
diff --git a/helpdesk_mgmt_merge/readme/USAGE.rst b/helpdesk_mgmt_merge/readme/USAGE.rst
new file mode 100644
index 0000000000..ff5ef47eae
--- /dev/null
+++ b/helpdesk_mgmt_merge/readme/USAGE.rst
@@ -0,0 +1,3 @@
+To use this module, you need to:
+
+#. Merge helpdesk ticket
diff --git a/helpdesk_mgmt_merge/security/ir.model.access.csv b/helpdesk_mgmt_merge/security/ir.model.access.csv
new file mode 100644
index 0000000000..1dddeedd84
--- /dev/null
+++ b/helpdesk_mgmt_merge/security/ir.model.access.csv
@@ -0,0 +1,2 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_helpdesk_ticket_merge_user,access_helpdesk_ticket_merge_user,model_helpdesk_ticket_merge,helpdesk_mgmt.group_helpdesk_user,1,1,1,1
diff --git a/helpdesk_mgmt_merge/static/description/icon.png b/helpdesk_mgmt_merge/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d
GIT binary patch
literal 9455
zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~!
zVpnB`o+K7|Al`Q_U;eD$B
zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA
z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__
zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_
zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I
z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U
z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)(
z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH
zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW
z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx
zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h
zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9
zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz#
z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA
zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K=
z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS
zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C
zuVl&0duN<;uOsB3%T9Fp8t{ED108)`y_~Hnd9AUX7h-H?jVuU|}My+C=TjH(jKz
zqMVr0re3S$H@t{zI95qa)+Crz*5Zj}Ao%4Z><+W(nOZd?gDnfNBC3>M8WE61$So|P
zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO
z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1
zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_
zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8
zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ>
zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN
z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h
zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d
zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB
zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz
z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I
zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X
zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD
z#z-)AXwSRY?OPefw^iI+
z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd
z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs
z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I
z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$
z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV
z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s
zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6
zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u
zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q
zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH
zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c
zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT
zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+
z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ
zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy
zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC)
zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a
zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x!
zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X
zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8
z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A
z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H
zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n=
z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK
z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z
zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h
z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD
z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW
zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@
zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz
z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y<
zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X
zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6
zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6%
z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(|
z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ
z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H
zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6
z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d}
z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A
zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB
z
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
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I
literal 0
HcmV?d00001
diff --git a/helpdesk_mgmt_merge/static/description/index.html b/helpdesk_mgmt_merge/static/description/index.html
new file mode 100644
index 0000000000..6aae1acc7e
--- /dev/null
+++ b/helpdesk_mgmt_merge/static/description/index.html
@@ -0,0 +1,432 @@
+
+
+
+
+
+Helpdesk Ticket Merge
+
+
+
+
+
Helpdesk Ticket Merge
+
+
+

+
This module adds a wizard to merge helpdesk tickets.
+
A wizard that can be called from tree view of helpdesk ticket.
+
Table of contents
+
+
+
+
To use this module, you need to:
+
+- Merge helpdesk ticket
+
+
+
+
+
Bugs are tracked on GitHub Issues.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us to smash it by providing a detailed and welcomed
+feedback.
+
Do not contact contributors directly about support or help with technical issues.
+
+
+
+
+
+
+
+
This module is maintained by the OCA.
+
+
+
+
OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
This module is part of the OCA/helpdesk project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
diff --git a/helpdesk_mgmt_merge/tests/__init__.py b/helpdesk_mgmt_merge/tests/__init__.py
new file mode 100644
index 0000000000..13e1d6a1ff
--- /dev/null
+++ b/helpdesk_mgmt_merge/tests/__init__.py
@@ -0,0 +1,4 @@
+# Copyright 2024 Onestein
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from . import test_helpdesk_mgmt_merge
diff --git a/helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py b/helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py
new file mode 100644
index 0000000000..34d9e268fd
--- /dev/null
+++ b/helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py
@@ -0,0 +1,37 @@
+from odoo.tests import common
+
+
+class TestHelpdeskTicketMerge(common.TransactionCase):
+ @classmethod
+ def setUpClass(cls):
+ super(TestHelpdeskTicketMerge, cls).setUpClass()
+ cls.HelpdeskTicketMerge = cls.env["helpdesk.ticket.merge"]
+ cls.ticket_1 = cls._create_ticket(cls, "Ticket 1", "Description for Ticket 1")
+ cls.ticket_2 = cls._create_ticket(cls, "Ticket 2", "Description for Ticket 2")
+
+ def _create_ticket(self, name, description):
+ return self.env["helpdesk.ticket"].create(
+ {
+ "name": name,
+ "description": description,
+ }
+ )
+
+ def test_helpdesk_ticket_merge_create_new_ticket(self):
+ self.ticket_merge_1 = self.HelpdeskTicketMerge.with_context(
+ active_ids=[self.ticket_1.id, self.ticket_2.id]
+ ).create({"create_new_ticket": True, "dst_ticket_name": "Test 1"})
+ self.ticket_merge_1.merge_tickets()
+ self.assertEqual(self.ticket_merge_1.dst_ticket_id.name, "Test 1")
+
+ def test_helpdesk_ticket_merge_with_existing_ticket(self):
+ self.ticket_merge_2 = self.HelpdeskTicketMerge.with_context(
+ active_ids=[self.ticket_1.id, self.ticket_2.id]
+ ).create({})
+ self.assertFalse(self.ticket_merge_2.user_id)
+ self.ticket_2.user_id = self.env.user.id
+ self.ticket_merge_2.dst_ticket_id = self.ticket_2.id
+ self.ticket_merge_2._onchange_dst_ticket_id()
+ self.assertTrue(self.ticket_merge_2.user_id)
+ self.ticket_merge_2.merge_tickets()
+ self.assertEqual(self.ticket_merge_2.dst_ticket_id.name, "Ticket 2")
diff --git a/helpdesk_mgmt_merge/wizard/__init__.py b/helpdesk_mgmt_merge/wizard/__init__.py
new file mode 100644
index 0000000000..859f517776
--- /dev/null
+++ b/helpdesk_mgmt_merge/wizard/__init__.py
@@ -0,0 +1 @@
+from . import helpdesk_ticket_merge
diff --git a/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py
new file mode 100644
index 0000000000..74a56c601e
--- /dev/null
+++ b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py
@@ -0,0 +1,127 @@
+from odoo import _, api, fields, models
+
+
+class HelpdeskTicketMerge(models.TransientModel):
+ _name = "helpdesk.ticket.merge"
+ _description = "Helpdesk Ticket Merge"
+
+ ticket_ids = fields.Many2many(
+ "helpdesk.ticket", string="Tickets to Merge", required=True
+ )
+ user_id = fields.Many2one("res.users", string="Assigned to")
+ create_new_ticket = fields.Boolean(string="Create a new ticket")
+ dst_ticket_name = fields.Char(string="New ticket name")
+ dst_helpdesk_team_id = fields.Many2one(
+ "helpdesk.ticket.team", string="Destination Helpdesk Team"
+ )
+ dst_ticket_id = fields.Many2one(
+ "helpdesk.ticket", string="Merge into an existing ticket"
+ )
+
+ def merge_tickets(self):
+ tag_ids = self.ticket_ids.mapped("tag_ids").ids
+ attachment_ids = self.ticket_ids.mapped("attachment_ids").ids
+ user_ids = self.ticket_ids.mapped("user_ids").ids
+ values = {
+ "tag_ids": [(4, tag_id) for tag_id in tag_ids],
+ "attachment_ids": [(4, attachment_id) for attachment_id in attachment_ids],
+ "user_ids": [(4, user_id) for user_id in user_ids],
+ }
+ values["user_id"] = self.user_id.id
+ if self.create_new_ticket:
+ partner_ids = self.ticket_ids.mapped("partner_id")
+ ticket_category_ids = self.ticket_ids.mapped("category_id").ids
+ priorities = self.ticket_ids.mapped("priority")
+ values.update(
+ {
+ "name": self.dst_ticket_name,
+ "team_id": self.dst_helpdesk_team_id.id,
+ "description": self._merge_description(self.ticket_ids),
+ "partner_id": len(set(partner_ids)) == 1
+ and partner_ids[0].id
+ or False,
+ "partner_name": len(set(partner_ids)) == 1
+ and partner_ids[0].name
+ or False,
+ "partner_email": len(set(partner_ids)) == 1
+ and partner_ids[0].email
+ or False,
+ "category_id": len(set(ticket_category_ids)) == 1
+ and ticket_category_ids[0]
+ or False,
+ "priority": len(set(priorities)) == 1 and priorities[0] or False,
+ }
+ )
+
+ self.dst_ticket_id = self.env["helpdesk.ticket"].create(values)
+ else:
+ values["description"] = "\n".join(
+ (
+ self.dst_ticket_id.description or "",
+ self._merge_description(self.ticket_ids - self.dst_ticket_id),
+ )
+ )
+ self.dst_ticket_id.write(values)
+
+ merged_tickets = self.ticket_ids - self.dst_ticket_id
+ self._merge_followers(merged_tickets)
+ for ticket in merged_tickets:
+ self._add_message("to", self.dst_ticket_id.number, ticket)
+ ticket_numbers = ", ".join(merged_tickets.mapped("number"))
+ self._add_message("from", ticket_numbers, self.dst_ticket_id)
+ merged_tickets.write({"active": False})
+
+ return {
+ "type": "ir.actions.act_window",
+ "res_model": "helpdesk.ticket",
+ "views": [[False, "form"]],
+ "res_id": self.dst_ticket_id.id,
+ }
+
+ def _merge_description(self, tickets):
+ return "\n".join(
+ tickets.mapped(
+ lambda ticket: _("Description from ticket %(name)s: %(description)s")
+ % {
+ "name": ticket.name,
+ "description": ticket.description or _("No description"),
+ }
+ )
+ )
+
+ def _merge_followers(self, merged_tickets):
+ self.dst_ticket_id.message_subscribe(
+ partner_ids=(merged_tickets).mapped("message_partner_ids").ids,
+ )
+
+ def default_get(self, fields):
+ result = super(HelpdeskTicketMerge, self).default_get(fields)
+ selected_tickets = self.env["helpdesk.ticket"].browse(
+ self.env.context.get("active_ids", False)
+ )
+ assigned_tickets = selected_tickets.filtered(lambda ticket: ticket.user_id)
+ result.update(
+ {
+ "ticket_ids": selected_tickets.ids,
+ "user_id": assigned_tickets and assigned_tickets[0].user_id.id or False,
+ "dst_helpdesk_team_id": selected_tickets[0].team_id.id,
+ "dst_ticket_id": selected_tickets[0].id,
+ }
+ )
+ return result
+
+ @api.onchange("dst_ticket_id")
+ def _onchange_dst_ticket_id(self):
+ if self.dst_ticket_id.user_id:
+ self.user_id = self.dst_ticket_id.user_id
+
+ def _add_message(self, way, ticket_numbers, ticket):
+ """Send a message post with to advise the helpdesk ticket about the merge.
+ :param way : choice between "from" or "to"
+ :param ticket_numbers : list of helpdesk ticket numbers to add in the body
+ :param ticket : the ticket where the message will be posted
+ """
+ subject = "Merge helpdesk ticket"
+ body = _(f"This helpdesk ticket has been merged {way} {ticket_numbers}")
+
+ ticket.message_post(body=body, subject=subject, content_subtype="plaintext")
diff --git a/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml
new file mode 100644
index 0000000000..4c2a21ab18
--- /dev/null
+++ b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml
@@ -0,0 +1,62 @@
+
+
+
+ helpdesk.ticket.merge.form
+ helpdesk.ticket.merge
+
+
+
+
+
+
+
+ Merge Helpdesk Tickets
+ ir.actions.act_window
+ helpdesk.ticket.merge
+ form
+
+ new
+
+
+
From 863bad78bdfa31b2e5175b530e6fe478f5521aef Mon Sep 17 00:00:00 2001
From: oca-ci
Date: Mon, 20 Jan 2025 07:31:43 +0000
Subject: [PATCH 2/7] [UPD] Update helpdesk_mgmt_merge.pot
---
.../i18n/helpdesk_mgmt_merge.pot | 120 ++++++++++++++++++
1 file changed, 120 insertions(+)
create mode 100644 helpdesk_mgmt_merge/i18n/helpdesk_mgmt_merge.pot
diff --git a/helpdesk_mgmt_merge/i18n/helpdesk_mgmt_merge.pot b/helpdesk_mgmt_merge/i18n/helpdesk_mgmt_merge.pot
new file mode 100644
index 0000000000..a6dc711ab9
--- /dev/null
+++ b/helpdesk_mgmt_merge/i18n/helpdesk_mgmt_merge.pot
@@ -0,0 +1,120 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * helpdesk_mgmt_merge
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 16.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: helpdesk_mgmt_merge
+#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_merge.helpdesk_ticket_merge_view_form
+msgid ""
+"NB: This will archive the selected tickets "
+"(Except the destination ticket)"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__user_id
+msgid "Assigned to"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_merge.helpdesk_ticket_merge_view_form
+msgid "Cancel"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__create_new_ticket
+msgid "Create a new ticket"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#. odoo-python
+#: code:addons/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py:0
+#, python-format
+msgid "Description from ticket %(name)s: %(description)s"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__dst_helpdesk_team_id
+msgid "Destination Helpdesk Team"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model,name:helpdesk_mgmt_merge.model_helpdesk_ticket_merge
+msgid "Helpdesk Ticket Merge"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__id
+msgid "ID"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.actions.act_window,name:helpdesk_mgmt_merge.action_helpdesk_ticket_merge
+msgid "Merge Helpdesk Tickets"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_merge.helpdesk_ticket_merge_view_form
+msgid "Merge Tickets"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__dst_ticket_id
+msgid "Merge into an existing ticket"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__dst_ticket_name
+msgid "New ticket name"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#. odoo-python
+#: code:addons/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py:0
+#, python-format
+msgid "No description"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__ticket_ids
+msgid "Tickets to Merge"
+msgstr ""
From 726b1d7235111b37c084ca3d252fc6bb052f7121 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Mon, 20 Jan 2025 07:35:04 +0000
Subject: [PATCH 3/7] [BOT] post-merge updates
---
helpdesk_mgmt_merge/README.rst | 2 +-
helpdesk_mgmt_merge/static/description/index.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/helpdesk_mgmt_merge/README.rst b/helpdesk_mgmt_merge/README.rst
index 52126ff944..26dac16cf3 100644
--- a/helpdesk_mgmt_merge/README.rst
+++ b/helpdesk_mgmt_merge/README.rst
@@ -7,7 +7,7 @@ Helpdesk Ticket Merge
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !! source digest: sha256:b0aa8c4c4af1e41895ede779fa024d884619125d0883dc24bad4fd8fd9a84e8d
+ !! source digest: sha256:3848c0b7fe0360c78d7aca6c2705918e708cf06afb9b4ec9bfc830d9f3637486
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
diff --git a/helpdesk_mgmt_merge/static/description/index.html b/helpdesk_mgmt_merge/static/description/index.html
index 6aae1acc7e..4e7fea706f 100644
--- a/helpdesk_mgmt_merge/static/description/index.html
+++ b/helpdesk_mgmt_merge/static/description/index.html
@@ -367,7 +367,7 @@ Helpdesk Ticket Merge
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!! source digest: sha256:b0aa8c4c4af1e41895ede779fa024d884619125d0883dc24bad4fd8fd9a84e8d
+!! source digest: sha256:3848c0b7fe0360c78d7aca6c2705918e708cf06afb9b4ec9bfc830d9f3637486
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

This module adds a wizard to merge helpdesk tickets.
From e282789685435921e8849706c6f25bb4552757c9 Mon Sep 17 00:00:00 2001
From: mymage
Date: Mon, 20 Jan 2025 14:36:38 +0000
Subject: [PATCH 4/7] Added translation using Weblate (Italian)
---
helpdesk_mgmt_merge/i18n/it.po | 121 +++++++++++++++++++++++++++++++++
1 file changed, 121 insertions(+)
create mode 100644 helpdesk_mgmt_merge/i18n/it.po
diff --git a/helpdesk_mgmt_merge/i18n/it.po b/helpdesk_mgmt_merge/i18n/it.po
new file mode 100644
index 0000000000..cd10ad11c3
--- /dev/null
+++ b/helpdesk_mgmt_merge/i18n/it.po
@@ -0,0 +1,121 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * helpdesk_mgmt_merge
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 16.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#. module: helpdesk_mgmt_merge
+#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_merge.helpdesk_ticket_merge_view_form
+msgid ""
+"NB: This will archive the selected tickets "
+"(Except the destination ticket)"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__user_id
+msgid "Assigned to"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_merge.helpdesk_ticket_merge_view_form
+msgid "Cancel"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__create_new_ticket
+msgid "Create a new ticket"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#. odoo-python
+#: code:addons/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py:0
+#, python-format
+msgid "Description from ticket %(name)s: %(description)s"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__dst_helpdesk_team_id
+msgid "Destination Helpdesk Team"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model,name:helpdesk_mgmt_merge.model_helpdesk_ticket_merge
+msgid "Helpdesk Ticket Merge"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__id
+msgid "ID"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.actions.act_window,name:helpdesk_mgmt_merge.action_helpdesk_ticket_merge
+msgid "Merge Helpdesk Tickets"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_merge.helpdesk_ticket_merge_view_form
+msgid "Merge Tickets"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__dst_ticket_id
+msgid "Merge into an existing ticket"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__dst_ticket_name
+msgid "New ticket name"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#. odoo-python
+#: code:addons/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py:0
+#, python-format
+msgid "No description"
+msgstr ""
+
+#. module: helpdesk_mgmt_merge
+#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__ticket_ids
+msgid "Tickets to Merge"
+msgstr ""
From e877fb3711d722b7df6a8dbbe723758f6f932685 Mon Sep 17 00:00:00 2001
From: mymage
Date: Mon, 20 Jan 2025 14:38:55 +0000
Subject: [PATCH 5/7] Translated using Weblate (Italian)
Currently translated at 100.0% (20 of 20 strings)
Translation: helpdesk-16.0/helpdesk-16.0-helpdesk_mgmt_merge
Translate-URL: https://translation.odoo-community.org/projects/helpdesk-16-0/helpdesk-16-0-helpdesk_mgmt_merge/it/
---
helpdesk_mgmt_merge/i18n/it.po | 44 ++++++++++++++++++----------------
1 file changed, 24 insertions(+), 20 deletions(-)
diff --git a/helpdesk_mgmt_merge/i18n/it.po b/helpdesk_mgmt_merge/i18n/it.po
index cd10ad11c3..36fa55f6a0 100644
--- a/helpdesk_mgmt_merge/i18n/it.po
+++ b/helpdesk_mgmt_merge/i18n/it.po
@@ -6,13 +6,15 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: Automatically generated\n"
+"PO-Revision-Date: 2025-01-20 17:06+0000\n"
+"Last-Translator: mymage \n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.6.2\n"
#. module: helpdesk_mgmt_merge
#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_merge.helpdesk_ticket_merge_view_form
@@ -20,102 +22,104 @@ msgid ""
"NB: This will archive the selected tickets "
"(Except the destination ticket)"
msgstr ""
+"NB: questo archivierà i ticket selezionati ("
+"tranne il ticket di destinazione)"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__user_id
msgid "Assigned to"
-msgstr ""
+msgstr "Assegnato a"
#. module: helpdesk_mgmt_merge
#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_merge.helpdesk_ticket_merge_view_form
msgid "Cancel"
-msgstr ""
+msgstr "Annulla"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__create_new_ticket
msgid "Create a new ticket"
-msgstr ""
+msgstr "Crea un nuovo ticket"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__create_uid
msgid "Created by"
-msgstr ""
+msgstr "Creato da"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__create_date
msgid "Created on"
-msgstr ""
+msgstr "Creato il"
#. module: helpdesk_mgmt_merge
#. odoo-python
#: code:addons/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py:0
#, python-format
msgid "Description from ticket %(name)s: %(description)s"
-msgstr ""
+msgstr "Descrizione dal ticket %(name)s: %(description)s"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__dst_helpdesk_team_id
msgid "Destination Helpdesk Team"
-msgstr ""
+msgstr "Team assistenza clienti destinazione"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__display_name
msgid "Display Name"
-msgstr ""
+msgstr "Nome visualizzato"
#. module: helpdesk_mgmt_merge
#: model:ir.model,name:helpdesk_mgmt_merge.model_helpdesk_ticket_merge
msgid "Helpdesk Ticket Merge"
-msgstr ""
+msgstr "Unione ticket assistenza clienti"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__id
msgid "ID"
-msgstr ""
+msgstr "ID"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge____last_update
msgid "Last Modified on"
-msgstr ""
+msgstr "Ultima modifica il"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__write_uid
msgid "Last Updated by"
-msgstr ""
+msgstr "Ultimo aggiornamento di"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__write_date
msgid "Last Updated on"
-msgstr ""
+msgstr "Ultimo aggiornamento il"
#. module: helpdesk_mgmt_merge
#: model:ir.actions.act_window,name:helpdesk_mgmt_merge.action_helpdesk_ticket_merge
msgid "Merge Helpdesk Tickets"
-msgstr ""
+msgstr "Unisci ticket assistenza clienti"
#. module: helpdesk_mgmt_merge
#: model_terms:ir.ui.view,arch_db:helpdesk_mgmt_merge.helpdesk_ticket_merge_view_form
msgid "Merge Tickets"
-msgstr ""
+msgstr "Unisci ticket"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__dst_ticket_id
msgid "Merge into an existing ticket"
-msgstr ""
+msgstr "Unisci ad un ticket esistente"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__dst_ticket_name
msgid "New ticket name"
-msgstr ""
+msgstr "Nuovo nome ticket"
#. module: helpdesk_mgmt_merge
#. odoo-python
#: code:addons/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py:0
#, python-format
msgid "No description"
-msgstr ""
+msgstr "Nessuna descrizione"
#. module: helpdesk_mgmt_merge
#: model:ir.model.fields,field_description:helpdesk_mgmt_merge.field_helpdesk_ticket_merge__ticket_ids
msgid "Tickets to Merge"
-msgstr ""
+msgstr "Ticket da unire"
From 1acf5e59531dc708d5658cf896438c4340e683c0 Mon Sep 17 00:00:00 2001
From: Bhavesh Heliconia
Date: Wed, 19 Feb 2025 11:57:57 +0530
Subject: [PATCH 6/7] [IMP] helpdesk_mgmt_merge: pre-commit auto fixes
---
helpdesk_mgmt_merge/README.rst | 21 ++++----
helpdesk_mgmt_merge/pyproject.toml | 3 ++
helpdesk_mgmt_merge/readme/CONTRIBUTORS.md | 1 +
helpdesk_mgmt_merge/readme/CONTRIBUTORS.rst | 1 -
.../{DESCRIPTION.rst => DESCRIPTION.md} | 1 -
.../readme/{USAGE.rst => USAGE.md} | 2 +-
.../static/description/index.html | 6 +--
.../tests/test_helpdesk_mgmt_merge.py | 2 +-
.../wizard/helpdesk_ticket_merge.py | 2 +-
.../wizard/helpdesk_ticket_merge_views.xml | 52 +++++++++----------
10 files changed, 45 insertions(+), 46 deletions(-)
create mode 100644 helpdesk_mgmt_merge/pyproject.toml
create mode 100644 helpdesk_mgmt_merge/readme/CONTRIBUTORS.md
delete mode 100644 helpdesk_mgmt_merge/readme/CONTRIBUTORS.rst
rename helpdesk_mgmt_merge/readme/{DESCRIPTION.rst => DESCRIPTION.md} (99%)
rename helpdesk_mgmt_merge/readme/{USAGE.rst => USAGE.md} (56%)
diff --git a/helpdesk_mgmt_merge/README.rst b/helpdesk_mgmt_merge/README.rst
index 26dac16cf3..f7726f66f2 100644
--- a/helpdesk_mgmt_merge/README.rst
+++ b/helpdesk_mgmt_merge/README.rst
@@ -17,20 +17,19 @@ Helpdesk Ticket Merge
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhelpdesk-lightgray.png?logo=github
- :target: https://github.com/OCA/helpdesk/tree/16.0/helpdesk_mgmt_merge
+ :target: https://github.com/OCA/helpdesk/tree/18.0/helpdesk_mgmt_merge
:alt: OCA/helpdesk
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/helpdesk-16-0/helpdesk-16-0-helpdesk_mgmt_merge
+ :target: https://translation.odoo-community.org/projects/helpdesk-18-0/helpdesk-18-0-helpdesk_mgmt_merge
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
- :target: https://runboat.odoo-community.org/builds?repo=OCA/helpdesk&target_branch=16.0
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/helpdesk&target_branch=18.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module adds a wizard to merge helpdesk tickets.
-
A wizard that can be called from tree view of helpdesk ticket.
**Table of contents**
@@ -43,7 +42,7 @@ Usage
To use this module, you need to:
-#. Merge helpdesk ticket
+1. Merge helpdesk ticket
Bug Tracker
===========
@@ -51,7 +50,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -59,17 +58,17 @@ Credits
=======
Authors
-~~~~~~~
+-------
* Onestein
Contributors
-~~~~~~~~~~~~
+------------
-* `Onestein `_
+- `Onestein `__
Maintainers
-~~~~~~~~~~~
+-----------
This module is maintained by the OCA.
@@ -81,6 +80,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-This module is part of the `OCA/helpdesk `_ project on GitHub.
+This module is part of the `OCA/helpdesk `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/helpdesk_mgmt_merge/pyproject.toml b/helpdesk_mgmt_merge/pyproject.toml
new file mode 100644
index 0000000000..4231d0cccb
--- /dev/null
+++ b/helpdesk_mgmt_merge/pyproject.toml
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["whool"]
+build-backend = "whool.buildapi"
diff --git a/helpdesk_mgmt_merge/readme/CONTRIBUTORS.md b/helpdesk_mgmt_merge/readme/CONTRIBUTORS.md
new file mode 100644
index 0000000000..3a4386c7d7
--- /dev/null
+++ b/helpdesk_mgmt_merge/readme/CONTRIBUTORS.md
@@ -0,0 +1 @@
+- [Onestein](http://www.onestein.eu)
diff --git a/helpdesk_mgmt_merge/readme/CONTRIBUTORS.rst b/helpdesk_mgmt_merge/readme/CONTRIBUTORS.rst
deleted file mode 100644
index 85125abb22..0000000000
--- a/helpdesk_mgmt_merge/readme/CONTRIBUTORS.rst
+++ /dev/null
@@ -1 +0,0 @@
-* `Onestein `_
diff --git a/helpdesk_mgmt_merge/readme/DESCRIPTION.rst b/helpdesk_mgmt_merge/readme/DESCRIPTION.md
similarity index 99%
rename from helpdesk_mgmt_merge/readme/DESCRIPTION.rst
rename to helpdesk_mgmt_merge/readme/DESCRIPTION.md
index 9b2325de67..dfe795fcd0 100644
--- a/helpdesk_mgmt_merge/readme/DESCRIPTION.rst
+++ b/helpdesk_mgmt_merge/readme/DESCRIPTION.md
@@ -1,4 +1,3 @@
This module adds a wizard to merge helpdesk tickets.
-
A wizard that can be called from tree view of helpdesk ticket.
diff --git a/helpdesk_mgmt_merge/readme/USAGE.rst b/helpdesk_mgmt_merge/readme/USAGE.md
similarity index 56%
rename from helpdesk_mgmt_merge/readme/USAGE.rst
rename to helpdesk_mgmt_merge/readme/USAGE.md
index ff5ef47eae..980ebe6f77 100644
--- a/helpdesk_mgmt_merge/readme/USAGE.rst
+++ b/helpdesk_mgmt_merge/readme/USAGE.md
@@ -1,3 +1,3 @@
To use this module, you need to:
-#. Merge helpdesk ticket
+1. Merge helpdesk ticket
diff --git a/helpdesk_mgmt_merge/static/description/index.html b/helpdesk_mgmt_merge/static/description/index.html
index 4e7fea706f..c1ea0c82a6 100644
--- a/helpdesk_mgmt_merge/static/description/index.html
+++ b/helpdesk_mgmt_merge/static/description/index.html
@@ -369,7 +369,7 @@ Helpdesk Ticket Merge
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:3848c0b7fe0360c78d7aca6c2705918e708cf06afb9b4ec9bfc830d9f3637486
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

This module adds a wizard to merge helpdesk tickets.
A wizard that can be called from tree view of helpdesk ticket.
Table of contents
@@ -397,7 +397,7 @@
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
-feedback.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -423,7 +423,7 @@
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
This module is part of the OCA/helpdesk project on GitHub.
+
This module is part of the OCA/helpdesk project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py b/helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py
index 34d9e268fd..0316091f7a 100644
--- a/helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py
+++ b/helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py
@@ -4,7 +4,7 @@
class TestHelpdeskTicketMerge(common.TransactionCase):
@classmethod
def setUpClass(cls):
- super(TestHelpdeskTicketMerge, cls).setUpClass()
+ super().setUpClass()
cls.HelpdeskTicketMerge = cls.env["helpdesk.ticket.merge"]
cls.ticket_1 = cls._create_ticket(cls, "Ticket 1", "Description for Ticket 1")
cls.ticket_2 = cls._create_ticket(cls, "Ticket 2", "Description for Ticket 2")
diff --git a/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py
index 74a56c601e..89fbed6eae 100644
--- a/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py
+++ b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py
@@ -95,7 +95,7 @@ def _merge_followers(self, merged_tickets):
)
def default_get(self, fields):
- result = super(HelpdeskTicketMerge, self).default_get(fields)
+ result = super().default_get(fields)
selected_tickets = self.env["helpdesk.ticket"].browse(
self.env.context.get("active_ids", False)
)
diff --git a/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml
index 4c2a21ab18..3202156639 100644
--- a/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml
+++ b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml
@@ -1,54 +1,53 @@
-
- helpdesk.ticket.merge.form
- helpdesk.ticket.merge
-
-
+
+
Merge Helpdesk Tickets
@@ -58,5 +57,4 @@
new
-
From 11a1358b4ea2074239d20df7ff4e2ca4122a5496 Mon Sep 17 00:00:00 2001
From: Bhavesh Heliconia
Date: Wed, 19 Feb 2025 11:59:28 +0530
Subject: [PATCH 7/7] [MIG] helpdesk_mgmt_merge: Migration to 18.0
---
helpdesk_mgmt_merge/README.rst | 3 ++
helpdesk_mgmt_merge/__manifest__.py | 2 +-
helpdesk_mgmt_merge/readme/CONTRIBUTORS.md | 2 ++
.../static/description/index.html | 4 +++
.../tests/test_helpdesk_mgmt_merge.py | 4 +--
.../wizard/helpdesk_ticket_merge.py | 30 +++++++++++++------
.../wizard/helpdesk_ticket_merge_views.xml | 12 +++++---
7 files changed, 41 insertions(+), 16 deletions(-)
diff --git a/helpdesk_mgmt_merge/README.rst b/helpdesk_mgmt_merge/README.rst
index f7726f66f2..2afc0880cd 100644
--- a/helpdesk_mgmt_merge/README.rst
+++ b/helpdesk_mgmt_merge/README.rst
@@ -66,6 +66,9 @@ Contributors
------------
- `Onestein `__
+- `Heliconia Solutions Pvt. Ltd. `__
+
+ - Bhavesh Heliconia
Maintainers
-----------
diff --git a/helpdesk_mgmt_merge/__manifest__.py b/helpdesk_mgmt_merge/__manifest__.py
index 776459da04..bc7d29862f 100644
--- a/helpdesk_mgmt_merge/__manifest__.py
+++ b/helpdesk_mgmt_merge/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Helpdesk Ticket Merge",
"summary": "Wizard to merge helpdesk tickets",
- "version": "16.0.1.0.0",
+ "version": "18.0.1.0.0",
"author": "Onestein, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/helpdesk",
"license": "AGPL-3",
diff --git a/helpdesk_mgmt_merge/readme/CONTRIBUTORS.md b/helpdesk_mgmt_merge/readme/CONTRIBUTORS.md
index 3a4386c7d7..e3142d6147 100644
--- a/helpdesk_mgmt_merge/readme/CONTRIBUTORS.md
+++ b/helpdesk_mgmt_merge/readme/CONTRIBUTORS.md
@@ -1 +1,3 @@
- [Onestein](http://www.onestein.eu)
+- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io)
+ - Bhavesh Heliconia
diff --git a/helpdesk_mgmt_merge/static/description/index.html b/helpdesk_mgmt_merge/static/description/index.html
index c1ea0c82a6..28d70ed2e4 100644
--- a/helpdesk_mgmt_merge/static/description/index.html
+++ b/helpdesk_mgmt_merge/static/description/index.html
@@ -412,6 +412,10 @@
diff --git a/helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py b/helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py
index 0316091f7a..74b8f92434 100644
--- a/helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py
+++ b/helpdesk_mgmt_merge/tests/test_helpdesk_mgmt_merge.py
@@ -1,7 +1,7 @@
-from odoo.tests import common
+from odoo.addons.base.tests.common import BaseCommon
-class TestHelpdeskTicketMerge(common.TransactionCase):
+class TestHelpdeskTicketMerge(BaseCommon):
@classmethod
def setUpClass(cls):
super().setUpClass()
diff --git a/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py
index 89fbed6eae..a9f221869b 100644
--- a/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py
+++ b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge.py
@@ -1,4 +1,4 @@
-from odoo import _, api, fields, models
+from odoo import Command, api, fields, models
class HelpdeskTicketMerge(models.TransientModel):
@@ -23,10 +23,13 @@ def merge_tickets(self):
attachment_ids = self.ticket_ids.mapped("attachment_ids").ids
user_ids = self.ticket_ids.mapped("user_ids").ids
values = {
- "tag_ids": [(4, tag_id) for tag_id in tag_ids],
- "attachment_ids": [(4, attachment_id) for attachment_id in attachment_ids],
- "user_ids": [(4, user_id) for user_id in user_ids],
+ "tag_ids": [Command.link(tag_id) for tag_id in tag_ids],
+ "attachment_ids": [
+ Command.link(attachment_id) for attachment_id in attachment_ids
+ ],
+ "user_ids": [Command.link(user_id) for user_id in user_ids],
}
+
values["user_id"] = self.user_id.id
if self.create_new_ticket:
partner_ids = self.ticket_ids.mapped("partner_id")
@@ -81,10 +84,12 @@ def merge_tickets(self):
def _merge_description(self, tickets):
return "\n".join(
tickets.mapped(
- lambda ticket: _("Description from ticket %(name)s: %(description)s")
+ lambda ticket: self.env._(
+ "Description from ticket %(name)s: %(description)s"
+ )
% {
"name": ticket.name,
- "description": ticket.description or _("No description"),
+ "description": ticket.description or self.env._("No description"),
}
)
)
@@ -102,7 +107,7 @@ def default_get(self, fields):
assigned_tickets = selected_tickets.filtered(lambda ticket: ticket.user_id)
result.update(
{
- "ticket_ids": selected_tickets.ids,
+ "ticket_ids": [Command.set(selected_tickets.ids)],
"user_id": assigned_tickets and assigned_tickets[0].user_id.id or False,
"dst_helpdesk_team_id": selected_tickets[0].team_id.id,
"dst_ticket_id": selected_tickets[0].id,
@@ -122,6 +127,13 @@ def _add_message(self, way, ticket_numbers, ticket):
:param ticket : the ticket where the message will be posted
"""
subject = "Merge helpdesk ticket"
- body = _(f"This helpdesk ticket has been merged {way} {ticket_numbers}")
+ body = self.env._(
+ f"This helpdesk ticket has been merged {way} {ticket_numbers}"
+ )
- ticket.message_post(body=body, subject=subject, content_subtype="plaintext")
+ ticket.message_post(
+ body=body,
+ subject=subject,
+ message_type="comment",
+ subtype_id=self.env.ref("mail.mt_comment").id,
+ )
diff --git a/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml
index 3202156639..7e82f051d9 100644
--- a/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml
+++ b/helpdesk_mgmt_merge/wizard/helpdesk_ticket_merge_views.xml
@@ -15,21 +15,25 @@
NB: This will archive the selected tickets (Except the destination ticket)
+ >NB: This will archive the selected tickets (Except the destination ticket)
+