From bd9b0fe67f84d99ac02dd223f9a742d196a9f7dd Mon Sep 17 00:00:00 2001 From: pilarvargas-tecnativa Date: Thu, 3 Apr 2025 22:13:19 +0200 Subject: [PATCH 01/12] [ADD] website_event_require_legal: New module TT55807 --- website_event_require_legal/README.rst | 98 ++++ website_event_require_legal/__init__.py | 2 + website_event_require_legal/__manifest__.py | 21 + .../controllers/__init__.py | 1 + .../controllers/main.py | 34 ++ .../models/__init__.py | 1 + website_event_require_legal/models/event.py | 19 + .../readme/CONFIGURE.rst | 6 + .../readme/CONTRIBUTORS.rst | 3 + .../readme/DESCRIPTION.rst | 2 + website_event_require_legal/readme/USAGE.rst | 5 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 444 ++++++++++++++++++ .../static/tests/tours/tour.js | 47 ++ website_event_require_legal/tests/__init__.py | 1 + website_event_require_legal/tests/test_ui.py | 57 +++ .../event_templates_page_registration.xml | 40 ++ .../views/event_views.xml | 16 + 18 files changed, 797 insertions(+) create mode 100644 website_event_require_legal/README.rst create mode 100644 website_event_require_legal/__init__.py create mode 100644 website_event_require_legal/__manifest__.py create mode 100644 website_event_require_legal/controllers/__init__.py create mode 100644 website_event_require_legal/controllers/main.py create mode 100644 website_event_require_legal/models/__init__.py create mode 100644 website_event_require_legal/models/event.py create mode 100644 website_event_require_legal/readme/CONFIGURE.rst create mode 100644 website_event_require_legal/readme/CONTRIBUTORS.rst create mode 100644 website_event_require_legal/readme/DESCRIPTION.rst create mode 100644 website_event_require_legal/readme/USAGE.rst create mode 100644 website_event_require_legal/static/description/icon.png create mode 100644 website_event_require_legal/static/description/index.html create mode 100644 website_event_require_legal/static/tests/tours/tour.js create mode 100644 website_event_require_legal/tests/__init__.py create mode 100644 website_event_require_legal/tests/test_ui.py create mode 100644 website_event_require_legal/views/event_templates_page_registration.xml create mode 100644 website_event_require_legal/views/event_views.xml diff --git a/website_event_require_legal/README.rst b/website_event_require_legal/README.rst new file mode 100644 index 000000000..8f8a0ebba --- /dev/null +++ b/website_event_require_legal/README.rst @@ -0,0 +1,98 @@ +=========================== +Website Event Require Legal +=========================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:ebb54a318fbded1a7f689bba6793bd8899addc6510526fb9d0f44e00907757ad + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fevent-lightgray.png?logo=github + :target: https://github.com/OCA/event/tree/16.0/website_event_require_legal + :alt: OCA/event +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/event-16-0/event-16-0-website_event_require_legal + :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/event&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module enforces to accept the legal terms for the registration from the website on +the events configured so. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + + +To configure this module, you need to: + +#. Go to an event and set the Website Require Legal option on. +#. Set the custom text to be displayed to accept the terms and conditions. + If none is set, a default text will be displayed with a link to ‘/terms’. + +Usage +===== + +On the website go to events and register for the event that has been configured to +require acceptance of legal terms. In the registration pop-up window you will see +the acceptance box and the default text or custom text. In order to be able to +register you will need to accept the terms. Once the registration is created, +the metadata can be consulted in the chatter for each registration that has been made. + +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 +~~~~~~~ + +* Tecnativa + +Contributors +~~~~~~~~~~~~ + + +* `Tecnativa `_: + * Pilar Vargas + +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/event `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/website_event_require_legal/__init__.py b/website_event_require_legal/__init__.py new file mode 100644 index 000000000..91c5580fe --- /dev/null +++ b/website_event_require_legal/__init__.py @@ -0,0 +1,2 @@ +from . import controllers +from . import models diff --git a/website_event_require_legal/__manifest__.py b/website_event_require_legal/__manifest__.py new file mode 100644 index 000000000..27cf9e9ec --- /dev/null +++ b/website_event_require_legal/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2025 Tecnativa - Pilar Vargas +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + "name": "Website Event Require Legal", + "version": "16.0.1.0.0", + "author": "Tecnativa, " "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/event", + "category": "Event", + "depends": ["website_event"], + "data": [ + "views/event_views.xml", + "views/event_templates_page_registration.xml", + ], + "assets": { + "web.assets_tests": [ + "/website_event_require_legal/static/tests/tours/tour.js", + ], + }, + "installable": True, + "license": "AGPL-3", +} diff --git a/website_event_require_legal/controllers/__init__.py b/website_event_require_legal/controllers/__init__.py new file mode 100644 index 000000000..12a7e529b --- /dev/null +++ b/website_event_require_legal/controllers/__init__.py @@ -0,0 +1 @@ +from . import main diff --git a/website_event_require_legal/controllers/main.py b/website_event_require_legal/controllers/main.py new file mode 100644 index 000000000..225e5b814 --- /dev/null +++ b/website_event_require_legal/controllers/main.py @@ -0,0 +1,34 @@ +# Copyright 2025 Tecnativa - Pilar Vargas +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from odoo import _ +from odoo.http import request, route + +from odoo.addons.website_event.controllers.main import WebsiteEventController + + +class RequireLegalToRegister(WebsiteEventController): + @route() + def event_registration_success(self, event, registration_ids): + res = super().event_registration_success(event, registration_ids) + if event.website_require_legal: + registration_ids_list = [int(reg) for reg in registration_ids.split(",")] + registrations = request.env["event.registration"].browse( + registration_ids_list + ) + for registration in registrations: + self._log_acceptance_metadata(registration) + return res + + def _log_acceptance_metadata(self, record): + """Log legal terms acceptance metadata.""" + environ = request.httprequest.headers.environ + message = _("Website legal terms acceptance metadata:
%s") + metadata = "
".join( + "{}: {}".format(val, environ.get(val)) + for val in ( + "REMOTE_ADDR", + "HTTP_USER_AGENT", + "HTTP_ACCEPT_LANGUAGE", + ) + ) + record.sudo().message_post(body=message % metadata, message_type="notification") diff --git a/website_event_require_legal/models/__init__.py b/website_event_require_legal/models/__init__.py new file mode 100644 index 000000000..44ad1cba0 --- /dev/null +++ b/website_event_require_legal/models/__init__.py @@ -0,0 +1 @@ +from . import event diff --git a/website_event_require_legal/models/event.py b/website_event_require_legal/models/event.py new file mode 100644 index 000000000..658ff5bd1 --- /dev/null +++ b/website_event_require_legal/models/event.py @@ -0,0 +1,19 @@ +# Copyright 2025 Tecnativa - Pilar Vargas +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from odoo import fields, models + + +class EventEvent(models.Model): + _inherit = "event.event" + + website_require_legal = fields.Boolean( + string="Require legal terms", + help="If set, the user must have accepted the terms in event to register " + "attendees from the website.", + ) + website_description_legal = fields.Html( + string="Legal Terms Description", + help="Custom text for the legal terms checkbox shown on the event " + "registration page. Leave empty to use the default text.", + translate=True, + ) diff --git a/website_event_require_legal/readme/CONFIGURE.rst b/website_event_require_legal/readme/CONFIGURE.rst new file mode 100644 index 000000000..927ea151e --- /dev/null +++ b/website_event_require_legal/readme/CONFIGURE.rst @@ -0,0 +1,6 @@ + +To configure this module, you need to: + +#. Go to an event and set the Website Require Legal option on. +#. Set the custom text to be displayed to accept the terms and conditions. + If none is set, a default text will be displayed with a link to ‘/terms’. \ No newline at end of file diff --git a/website_event_require_legal/readme/CONTRIBUTORS.rst b/website_event_require_legal/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..0eea5a025 --- /dev/null +++ b/website_event_require_legal/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ + +* `Tecnativa `_: + * Pilar Vargas diff --git a/website_event_require_legal/readme/DESCRIPTION.rst b/website_event_require_legal/readme/DESCRIPTION.rst new file mode 100644 index 000000000..a2162eea8 --- /dev/null +++ b/website_event_require_legal/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module enforces to accept the legal terms for the registration from the website on +the events configured so. diff --git a/website_event_require_legal/readme/USAGE.rst b/website_event_require_legal/readme/USAGE.rst new file mode 100644 index 000000000..58859664f --- /dev/null +++ b/website_event_require_legal/readme/USAGE.rst @@ -0,0 +1,5 @@ +On the website go to events and register for the event that has been configured to +require acceptance of legal terms. In the registration pop-up window you will see +the acceptance box and the default text or custom text. In order to be able to +register you will need to accept the terms. Once the registration is created, +the metadata can be consulted in the chatter for each registration that has been made. diff --git a/website_event_require_legal/static/description/icon.png b/website_event_require_legal/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<+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/website_event_require_legal/static/description/index.html b/website_event_require_legal/static/description/index.html new file mode 100644 index 000000000..5d766a04d --- /dev/null +++ b/website_event_require_legal/static/description/index.html @@ -0,0 +1,444 @@ + + + + + +Website Event Require Legal + + + + + + diff --git a/website_event_require_legal/static/tests/tours/tour.js b/website_event_require_legal/static/tests/tours/tour.js new file mode 100644 index 000000000..a19850e84 --- /dev/null +++ b/website_event_require_legal/static/tests/tours/tour.js @@ -0,0 +1,47 @@ +/* Copyright 2025 Tecnativa - Pilar Vargas + * License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */ + +odoo.define("website_event_require_legal.tour", function (require) { + "use strict"; + + var tour = require("web_tour.tour"); + + var steps = [ + { + trigger: + 'a:has(span[itemprop="name"]:contains("Test event for require legal"))', + }, + { + trigger: '.a-submit:contains("Register")', + }, + // Cannot proceed until the terms are accepted. + { + trigger: 'button:contains("Continue")', + }, + { + trigger: "#accepted_event_legal_terms", + }, + { + content: "Validate attendees details", + extra_trigger: + "input[name='1-name'], input[name='2-name'], input[name='3-name']", + trigger: 'button:contains("Continue")', + }, + { + trigger: "input[name='1-name'], input[name='2-name'], input[name='3-name']", + }, + ]; + + tour.register( + "website_event_require_legal", + { + url: "/event", + test: true, + }, + steps + ); + + return { + steps: steps, + }; +}); diff --git a/website_event_require_legal/tests/__init__.py b/website_event_require_legal/tests/__init__.py new file mode 100644 index 000000000..6dab214ac --- /dev/null +++ b/website_event_require_legal/tests/__init__.py @@ -0,0 +1 @@ +from . import test_ui diff --git a/website_event_require_legal/tests/test_ui.py b/website_event_require_legal/tests/test_ui.py new file mode 100644 index 000000000..fb06d40ad --- /dev/null +++ b/website_event_require_legal/tests/test_ui.py @@ -0,0 +1,57 @@ +# Copyright 2025 Tecnativa - Pilar Vargas +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from datetime import date, timedelta + +from odoo import fields +from odoo.tests import new_test_user, tagged +from odoo.tests.common import HttpCase + + +@tagged("post_install", "-at_install") +class TestWebsiteEventRequireLegal(HttpCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.organizer = cls.env["res.partner"].create({"name": "Organizer"}) + cls.date = { + "begin": fields.Date.to_string(date.today()), + "end": fields.Date.to_string(date.today() + timedelta(days=7)), + } + cls.event = cls.env["event.event"].create( + { + "name": "Test event for require legal", + "date_begin": cls.date["begin"], + "date_end": cls.date["end"], + "website_require_legal": True, + "website_description_legal": "Test description legal", + "is_published": True, + } + ) + cls.user = new_test_user( + cls.env, + login="super_mario", + groups="base.group_portal", + password="super_mario", + name="Super Mario", + ) + + def test_ui_website(self): + """Test frontend tour.""" + self.start_tour( + "/event", + "website_event_require_legal", + login="super_mario", + step_delay=100, + ) + registration = self.env["event.registration"].search( + [ + ("name", "=", "Super Mario"), + ] + ) + # Assert that the registration have metadata logs + self.assertTrue( + registration.message_ids.filtered( + lambda one: "Website legal terms acceptance metadata" in one.body + ) + ) diff --git a/website_event_require_legal/views/event_templates_page_registration.xml b/website_event_require_legal/views/event_templates_page_registration.xml new file mode 100644 index 000000000..cc6b075e6 --- /dev/null +++ b/website_event_require_legal/views/event_templates_page_registration.xml @@ -0,0 +1,40 @@ + + + + + diff --git a/website_event_require_legal/views/event_views.xml b/website_event_require_legal/views/event_views.xml new file mode 100644 index 000000000..59088ddf8 --- /dev/null +++ b/website_event_require_legal/views/event_views.xml @@ -0,0 +1,16 @@ + + + + event.event + + + + + + + + + From 2dfb85c94b77a719bc092a328959363921b58de5 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Fri, 4 Apr 2025 13:45:30 +0200 Subject: [PATCH 02/12] [IMP] website_event_require_legal: Some adjustments + i18n --- website_event_require_legal/README.rst | 1 + website_event_require_legal/i18n/es.po | 79 +++++++++++++++++++ .../i18n/website_event_require_legal.pot | 71 +++++++++++++++++ website_event_require_legal/models/event.py | 5 +- .../readme/CONTRIBUTORS.rst | 1 + .../static/description/index.html | 3 +- website_event_require_legal/tests/test_ui.py | 4 +- .../views/event_views.xml | 1 + 8 files changed, 159 insertions(+), 6 deletions(-) create mode 100644 website_event_require_legal/i18n/es.po create mode 100644 website_event_require_legal/i18n/website_event_require_legal.pot diff --git a/website_event_require_legal/README.rst b/website_event_require_legal/README.rst index 8f8a0ebba..c1d2bd62d 100644 --- a/website_event_require_legal/README.rst +++ b/website_event_require_legal/README.rst @@ -79,6 +79,7 @@ Contributors * `Tecnativa `_: * Pilar Vargas + * Pedro M. Baeza Maintainers ~~~~~~~~~~~ diff --git a/website_event_require_legal/i18n/es.po b/website_event_require_legal/i18n/es.po new file mode 100644 index 000000000..3494cd07c --- /dev/null +++ b/website_event_require_legal/i18n/es.po @@ -0,0 +1,79 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_event_require_legal +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-04-04 11:36+0000\n" +"PO-Revision-Date: 2025-04-04 13:43+0200\n" +"Last-Translator: Pedro M. Baeza \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.5\n" + +#. module: website_event_require_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_event__website_description_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_session__website_description_legal +msgid "" +"Custom text for the legal terms checkbox shown on the event registration " +"page. Leave empty to use the default text." +msgstr "" +"Texto personalizado para la casilla de aceptación de los términos legales " +"en la página de registro del evento. Dejar en blanco para usar el texto " +"por defecto." + +#. module: website_event_require_legal +#: model:ir.model,name:website_event_require_legal.model_event_event +msgid "Event" +msgstr "Evento" + +#. module: website_event_require_legal +#: model_terms:ir.ui.view,arch_db:website_event_require_legal.accept_legal_input +msgid "I agree to the" +msgstr "Estoy de acuerdo con" + +#. module: website_event_require_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_event__website_require_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_session__website_require_legal +msgid "" +"If set, the user must accept the terms in order to register in the event from" +" the website." +msgstr "" +"Si está establecido, el usuario debe aceptar los términos para poder registrarse en " +"el evento desde el sitio web" + +#. module: website_event_require_legal +#: model_terms:ir.ui.view,arch_db:website_event_require_legal.view_event_form +msgid "Leave it empty for using the default text." +msgstr "Dejar en blanco para usar texto por defecto." + +#. module: website_event_require_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_event__website_description_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_session__website_description_legal +msgid "Legal Terms Description" +msgstr "Descripción de los términos legales" + +#. module: website_event_require_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_event__website_require_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_session__website_require_legal +msgid "Require legal terms" +msgstr "Requerir términos legales" + +#. module: website_event_require_legal +#. odoo-python +#: code:addons/website_event_require_legal/controllers/main.py:0 +#, python-format +msgid "Website legal terms acceptance metadata:
%s" +msgstr "" +"Metadatos de aceptación de los términos legales del sitio web:
%s" + +#. module: website_event_require_legal +#: model_terms:ir.ui.view,arch_db:website_event_require_legal.accept_legal_input +msgid "terms & conditions" +msgstr "términos y condiciones" diff --git a/website_event_require_legal/i18n/website_event_require_legal.pot b/website_event_require_legal/i18n/website_event_require_legal.pot new file mode 100644 index 000000000..20fdcc4ab --- /dev/null +++ b/website_event_require_legal/i18n/website_event_require_legal.pot @@ -0,0 +1,71 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_event_require_legal +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-04-04 12:01+0000\n" +"PO-Revision-Date: 2025-04-04 12:01+0000\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: website_event_require_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_event__website_description_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_session__website_description_legal +msgid "" +"Custom text for the legal terms checkbox shown on the event registration " +"page. Leave empty to use the default text." +msgstr "" + +#. module: website_event_require_legal +#: model:ir.model,name:website_event_require_legal.model_event_event +msgid "Event" +msgstr "" + +#. module: website_event_require_legal +#: model_terms:ir.ui.view,arch_db:website_event_require_legal.accept_legal_input +msgid "I agree to the" +msgstr "" + +#. module: website_event_require_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_event__website_require_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_session__website_require_legal +msgid "" +"If set, the user must accept the terms in order to register in the event from" +" the website." +msgstr "" + +#. module: website_event_require_legal +#: model_terms:ir.ui.view,arch_db:website_event_require_legal.view_event_form +msgid "Leave it empty for using the default text." +msgstr "" + +#. module: website_event_require_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_event__website_description_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_session__website_description_legal +msgid "Legal Terms Description" +msgstr "" + +#. module: website_event_require_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_event__website_require_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_session__website_require_legal +msgid "Require legal terms" +msgstr "" + +#. module: website_event_require_legal +#. odoo-python +#: code:addons/website_event_require_legal/controllers/main.py:0 +#, python-format +msgid "Website legal terms acceptance metadata:
%s" +msgstr "" + +#. module: website_event_require_legal +#: model_terms:ir.ui.view,arch_db:website_event_require_legal.accept_legal_input +msgid "terms & conditions" +msgstr "" diff --git a/website_event_require_legal/models/event.py b/website_event_require_legal/models/event.py index 658ff5bd1..46c9cd918 100644 --- a/website_event_require_legal/models/event.py +++ b/website_event_require_legal/models/event.py @@ -1,4 +1,5 @@ # Copyright 2025 Tecnativa - Pilar Vargas +# Copyright 2025 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import fields, models @@ -8,8 +9,8 @@ class EventEvent(models.Model): website_require_legal = fields.Boolean( string="Require legal terms", - help="If set, the user must have accepted the terms in event to register " - "attendees from the website.", + help="If set, the user must accept the terms in order to register in the event " + "from the website.", ) website_description_legal = fields.Html( string="Legal Terms Description", diff --git a/website_event_require_legal/readme/CONTRIBUTORS.rst b/website_event_require_legal/readme/CONTRIBUTORS.rst index 0eea5a025..00b439820 100644 --- a/website_event_require_legal/readme/CONTRIBUTORS.rst +++ b/website_event_require_legal/readme/CONTRIBUTORS.rst @@ -1,3 +1,4 @@ * `Tecnativa `_: * Pilar Vargas + * Pedro M. Baeza diff --git a/website_event_require_legal/static/description/index.html b/website_event_require_legal/static/description/index.html index 5d766a04d..d7dfac99c 100644 --- a/website_event_require_legal/static/description/index.html +++ b/website_event_require_legal/static/description/index.html @@ -423,7 +423,8 @@

Authors

Contributors

  • Tecnativa: -* Pilar Vargas
  • +* Pilar Vargas +* Pedro M. Baeza
diff --git a/website_event_require_legal/tests/test_ui.py b/website_event_require_legal/tests/test_ui.py index fb06d40ad..16dcbef6e 100644 --- a/website_event_require_legal/tests/test_ui.py +++ b/website_event_require_legal/tests/test_ui.py @@ -45,9 +45,7 @@ def test_ui_website(self): step_delay=100, ) registration = self.env["event.registration"].search( - [ - ("name", "=", "Super Mario"), - ] + [("name", "=", "Super Mario")] ) # Assert that the registration have metadata logs self.assertTrue( diff --git a/website_event_require_legal/views/event_views.xml b/website_event_require_legal/views/event_views.xml index 59088ddf8..17971c727 100644 --- a/website_event_require_legal/views/event_views.xml +++ b/website_event_require_legal/views/event_views.xml @@ -8,6 +8,7 @@ From 81f9811845ae9bab3715d90835296146c3fa6893 Mon Sep 17 00:00:00 2001 From: Carlos Roca Date: Fri, 4 Apr 2025 15:57:51 +0200 Subject: [PATCH 03/12] [IMP] website_event_require_legal: Make test more resilient --- website_event_require_legal/README.rst | 3 ++- .../i18n/website_event_require_legal.pot | 6 ++---- website_event_require_legal/readme/CONTRIBUTORS.rst | 1 + website_event_require_legal/static/description/index.html | 5 +++-- website_event_require_legal/static/tests/tours/tour.js | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/website_event_require_legal/README.rst b/website_event_require_legal/README.rst index c1d2bd62d..7a2d9bb9b 100644 --- a/website_event_require_legal/README.rst +++ b/website_event_require_legal/README.rst @@ -7,7 +7,7 @@ Website Event Require Legal !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:ebb54a318fbded1a7f689bba6793bd8899addc6510526fb9d0f44e00907757ad + !! source digest: sha256:700e92539634f69c55205e2eae01ea7425a1762e8f1136751e2c5bdd23d1901f !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -80,6 +80,7 @@ Contributors * `Tecnativa `_: * Pilar Vargas * Pedro M. Baeza + * Carlos Roca Maintainers ~~~~~~~~~~~ diff --git a/website_event_require_legal/i18n/website_event_require_legal.pot b/website_event_require_legal/i18n/website_event_require_legal.pot index 20fdcc4ab..5e387373e 100644 --- a/website_event_require_legal/i18n/website_event_require_legal.pot +++ b/website_event_require_legal/i18n/website_event_require_legal.pot @@ -6,8 +6,6 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-04 12:01+0000\n" -"PO-Revision-Date: 2025-04-04 12:01+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -37,8 +35,8 @@ msgstr "" #: model:ir.model.fields,help:website_event_require_legal.field_event_event__website_require_legal #: model:ir.model.fields,help:website_event_require_legal.field_event_session__website_require_legal msgid "" -"If set, the user must accept the terms in order to register in the event from" -" the website." +"If set, the user must accept the terms in order to register in the event " +"from the website." msgstr "" #. module: website_event_require_legal diff --git a/website_event_require_legal/readme/CONTRIBUTORS.rst b/website_event_require_legal/readme/CONTRIBUTORS.rst index 00b439820..c60cdb7ce 100644 --- a/website_event_require_legal/readme/CONTRIBUTORS.rst +++ b/website_event_require_legal/readme/CONTRIBUTORS.rst @@ -2,3 +2,4 @@ * `Tecnativa `_: * Pilar Vargas * Pedro M. Baeza + * Carlos Roca diff --git a/website_event_require_legal/static/description/index.html b/website_event_require_legal/static/description/index.html index d7dfac99c..30c6e4ded 100644 --- a/website_event_require_legal/static/description/index.html +++ b/website_event_require_legal/static/description/index.html @@ -367,7 +367,7 @@

Website Event Require Legal

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:ebb54a318fbded1a7f689bba6793bd8899addc6510526fb9d0f44e00907757ad +!! source digest: sha256:700e92539634f69c55205e2eae01ea7425a1762e8f1136751e2c5bdd23d1901f !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/event Translate me on Weblate Try me on Runboat

This module enforces to accept the legal terms for the registration from the website on @@ -424,7 +424,8 @@

Contributors

  • Tecnativa: * Pilar Vargas -* Pedro M. Baeza
  • +* Pedro M. Baeza +* Carlos Roca
diff --git a/website_event_require_legal/static/tests/tours/tour.js b/website_event_require_legal/static/tests/tours/tour.js index a19850e84..abd8c1f59 100644 --- a/website_event_require_legal/static/tests/tours/tour.js +++ b/website_event_require_legal/static/tests/tours/tour.js @@ -28,7 +28,7 @@ odoo.define("website_event_require_legal.tour", function (require) { trigger: 'button:contains("Continue")', }, { - trigger: "input[name='1-name'], input[name='2-name'], input[name='3-name']", + trigger: ".o_wereg_confirmed_attendees", }, ]; From 01ad1a133b5a632aef02972d70b958418e8e9b9a Mon Sep 17 00:00:00 2001 From: mymage Date: Sat, 5 Apr 2025 09:07:00 +0000 Subject: [PATCH 04/12] Added translation using Weblate (Italian) --- website_event_require_legal/i18n/it.po | 77 ++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 website_event_require_legal/i18n/it.po diff --git a/website_event_require_legal/i18n/it.po b/website_event_require_legal/i18n/it.po new file mode 100644 index 000000000..adae34e8e --- /dev/null +++ b/website_event_require_legal/i18n/it.po @@ -0,0 +1,77 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * website_event_require_legal +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-04-05 12: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.10.2\n" + +#. module: website_event_require_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_event__website_description_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_session__website_description_legal +msgid "" +"Custom text for the legal terms checkbox shown on the event registration " +"page. Leave empty to use the default text." +msgstr "" +"Testo personalizzato per la casella di controllo dei termini legali " +"visualizzata nella pagina di registrazione dell'evento. Lasciare vuoto per " +"usare il testo predefinito." + +#. module: website_event_require_legal +#: model:ir.model,name:website_event_require_legal.model_event_event +msgid "Event" +msgstr "Evento" + +#. module: website_event_require_legal +#: model_terms:ir.ui.view,arch_db:website_event_require_legal.accept_legal_input +msgid "I agree to the" +msgstr "Concordo con il" + +#. module: website_event_require_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_event__website_require_legal +#: model:ir.model.fields,help:website_event_require_legal.field_event_session__website_require_legal +msgid "" +"If set, the user must accept the terms in order to register in the event " +"from the website." +msgstr "" +"Se impostata, l'utente deve accettare i termini per potersi registrare " +"all'evento dal sito web." + +#. module: website_event_require_legal +#: model_terms:ir.ui.view,arch_db:website_event_require_legal.view_event_form +msgid "Leave it empty for using the default text." +msgstr "Lasciare vuoto per usare il testo predefinito." + +#. module: website_event_require_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_event__website_description_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_session__website_description_legal +msgid "Legal Terms Description" +msgstr "Descrizione termini legali" + +#. module: website_event_require_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_event__website_require_legal +#: model:ir.model.fields,field_description:website_event_require_legal.field_event_session__website_require_legal +msgid "Require legal terms" +msgstr "Richiede termini legali" + +#. module: website_event_require_legal +#. odoo-python +#: code:addons/website_event_require_legal/controllers/main.py:0 +#, python-format +msgid "Website legal terms acceptance metadata:
%s" +msgstr "Metadati accettazione termini legali sito web:
%s" + +#. module: website_event_require_legal +#: model_terms:ir.ui.view,arch_db:website_event_require_legal.accept_legal_input +msgid "terms & conditions" +msgstr "termini e condizioni" From 21cc8e0824584a63240a7accef2170143882ffda Mon Sep 17 00:00:00 2001 From: pilarvargas-tecnativa Date: Tue, 8 Apr 2025 17:50:39 +0200 Subject: [PATCH 05/12] [IMP] website_event_require_legal: pre-commit auto fixes --- website_event_require_legal/README.rst | 47 ++++++++++--------- .../controllers/main.py | 2 +- website_event_require_legal/pyproject.toml | 3 ++ .../readme/CONFIGURE.md | 6 +++ .../readme/CONFIGURE.rst | 6 --- .../readme/CONTRIBUTORS.md | 4 ++ .../readme/CONTRIBUTORS.rst | 5 -- .../{DESCRIPTION.rst => DESCRIPTION.md} | 4 +- website_event_require_legal/readme/USAGE.md | 6 +++ website_event_require_legal/readme/USAGE.rst | 5 -- .../static/description/index.html | 36 +++++++------- 11 files changed, 66 insertions(+), 58 deletions(-) create mode 100644 website_event_require_legal/pyproject.toml create mode 100644 website_event_require_legal/readme/CONFIGURE.md delete mode 100644 website_event_require_legal/readme/CONFIGURE.rst create mode 100644 website_event_require_legal/readme/CONTRIBUTORS.md delete mode 100644 website_event_require_legal/readme/CONTRIBUTORS.rst rename website_event_require_legal/readme/{DESCRIPTION.rst => DESCRIPTION.md} (55%) create mode 100644 website_event_require_legal/readme/USAGE.md delete mode 100644 website_event_require_legal/readme/USAGE.rst diff --git a/website_event_require_legal/README.rst b/website_event_require_legal/README.rst index 7a2d9bb9b..b384a1efb 100644 --- a/website_event_require_legal/README.rst +++ b/website_event_require_legal/README.rst @@ -17,19 +17,19 @@ Website Event Require Legal :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fevent-lightgray.png?logo=github - :target: https://github.com/OCA/event/tree/16.0/website_event_require_legal + :target: https://github.com/OCA/event/tree/17.0/website_event_require_legal :alt: OCA/event .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/event-16-0/event-16-0-website_event_require_legal + :target: https://translation.odoo-community.org/projects/event-17-0/event-17-0-website_event_require_legal :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/event&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/event&target_branch=17.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module enforces to accept the legal terms for the registration from the website on -the events configured so. +This module enforces to accept the legal terms for the registration from +the website on the events configured so. **Table of contents** @@ -39,21 +39,22 @@ the events configured so. Configuration ============= - To configure this module, you need to: -#. Go to an event and set the Website Require Legal option on. -#. Set the custom text to be displayed to accept the terms and conditions. - If none is set, a default text will be displayed with a link to ‘/terms’. +1. Go to an event and set the Website Require Legal option on. +2. Set the custom text to be displayed to accept the terms and + conditions. If none is set, a default text will be displayed with a + link to ‘/terms’. Usage ===== -On the website go to events and register for the event that has been configured to -require acceptance of legal terms. In the registration pop-up window you will see -the acceptance box and the default text or custom text. In order to be able to -register you will need to accept the terms. Once the registration is created, -the metadata can be consulted in the chatter for each registration that has been made. +On the website go to events and register for the event that has been +configured to require acceptance of legal terms. In the registration +pop-up window you will see the acceptance box and the default text or +custom text. In order to be able to register you will need to accept the +terms. Once the registration is created, the metadata can be consulted +in the chatter for each registration that has been made. Bug Tracker =========== @@ -61,7 +62,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. @@ -69,21 +70,21 @@ Credits ======= Authors -~~~~~~~ +------- * Tecnativa Contributors -~~~~~~~~~~~~ +------------ +- `Tecnativa `__: -* `Tecnativa `_: - * Pilar Vargas - * Pedro M. Baeza - * Carlos Roca + - Pilar Vargas + - Pedro M. Baeza + - Carlos Roca Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -95,6 +96,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/event `_ project on GitHub. +This module is part of the `OCA/event `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/website_event_require_legal/controllers/main.py b/website_event_require_legal/controllers/main.py index 225e5b814..c32461d3a 100644 --- a/website_event_require_legal/controllers/main.py +++ b/website_event_require_legal/controllers/main.py @@ -24,7 +24,7 @@ def _log_acceptance_metadata(self, record): environ = request.httprequest.headers.environ message = _("Website legal terms acceptance metadata:
%s") metadata = "
".join( - "{}: {}".format(val, environ.get(val)) + f"{val}: {environ.get(val)}" for val in ( "REMOTE_ADDR", "HTTP_USER_AGENT", diff --git a/website_event_require_legal/pyproject.toml b/website_event_require_legal/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/website_event_require_legal/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/website_event_require_legal/readme/CONFIGURE.md b/website_event_require_legal/readme/CONFIGURE.md new file mode 100644 index 000000000..da758cdef --- /dev/null +++ b/website_event_require_legal/readme/CONFIGURE.md @@ -0,0 +1,6 @@ +To configure this module, you need to: + +1. Go to an event and set the Website Require Legal option on. +2. Set the custom text to be displayed to accept the terms and + conditions. If none is set, a default text will be displayed with a + link to ‘/terms’. diff --git a/website_event_require_legal/readme/CONFIGURE.rst b/website_event_require_legal/readme/CONFIGURE.rst deleted file mode 100644 index 927ea151e..000000000 --- a/website_event_require_legal/readme/CONFIGURE.rst +++ /dev/null @@ -1,6 +0,0 @@ - -To configure this module, you need to: - -#. Go to an event and set the Website Require Legal option on. -#. Set the custom text to be displayed to accept the terms and conditions. - If none is set, a default text will be displayed with a link to ‘/terms’. \ No newline at end of file diff --git a/website_event_require_legal/readme/CONTRIBUTORS.md b/website_event_require_legal/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..332bf102b --- /dev/null +++ b/website_event_require_legal/readme/CONTRIBUTORS.md @@ -0,0 +1,4 @@ +- [Tecnativa](https://www.tecnativa.com): + - Pilar Vargas + - Pedro M. Baeza + - Carlos Roca diff --git a/website_event_require_legal/readme/CONTRIBUTORS.rst b/website_event_require_legal/readme/CONTRIBUTORS.rst deleted file mode 100644 index c60cdb7ce..000000000 --- a/website_event_require_legal/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,5 +0,0 @@ - -* `Tecnativa `_: - * Pilar Vargas - * Pedro M. Baeza - * Carlos Roca diff --git a/website_event_require_legal/readme/DESCRIPTION.rst b/website_event_require_legal/readme/DESCRIPTION.md similarity index 55% rename from website_event_require_legal/readme/DESCRIPTION.rst rename to website_event_require_legal/readme/DESCRIPTION.md index a2162eea8..07d566cb4 100644 --- a/website_event_require_legal/readme/DESCRIPTION.rst +++ b/website_event_require_legal/readme/DESCRIPTION.md @@ -1,2 +1,2 @@ -This module enforces to accept the legal terms for the registration from the website on -the events configured so. +This module enforces to accept the legal terms for the registration from +the website on the events configured so. diff --git a/website_event_require_legal/readme/USAGE.md b/website_event_require_legal/readme/USAGE.md new file mode 100644 index 000000000..e9ed6ebd2 --- /dev/null +++ b/website_event_require_legal/readme/USAGE.md @@ -0,0 +1,6 @@ +On the website go to events and register for the event that has been +configured to require acceptance of legal terms. In the registration +pop-up window you will see the acceptance box and the default text or +custom text. In order to be able to register you will need to accept the +terms. Once the registration is created, the metadata can be consulted +in the chatter for each registration that has been made. diff --git a/website_event_require_legal/readme/USAGE.rst b/website_event_require_legal/readme/USAGE.rst deleted file mode 100644 index 58859664f..000000000 --- a/website_event_require_legal/readme/USAGE.rst +++ /dev/null @@ -1,5 +0,0 @@ -On the website go to events and register for the event that has been configured to -require acceptance of legal terms. In the registration pop-up window you will see -the acceptance box and the default text or custom text. In order to be able to -register you will need to accept the terms. Once the registration is created, -the metadata can be consulted in the chatter for each registration that has been made. diff --git a/website_event_require_legal/static/description/index.html b/website_event_require_legal/static/description/index.html index 30c6e4ded..402d04424 100644 --- a/website_event_require_legal/static/description/index.html +++ b/website_event_require_legal/static/description/index.html @@ -369,9 +369,9 @@

Website Event Require Legal

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:700e92539634f69c55205e2eae01ea7425a1762e8f1136751e2c5bdd23d1901f !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/event Translate me on Weblate Try me on Runboat

-

This module enforces to accept the legal terms for the registration from the website on -the events configured so.

+

Beta License: AGPL-3 OCA/event Translate me on Weblate Try me on Runboat

+

This module enforces to accept the legal terms for the registration from +the website on the events configured so.

Table of contents

    @@ -391,24 +391,26 @@

    Configuration

    To configure this module, you need to:

    1. Go to an event and set the Website Require Legal option on.
    2. -
    3. Set the custom text to be displayed to accept the terms and conditions. -If none is set, a default text will be displayed with a link to ‘/terms’.
    4. +
    5. Set the custom text to be displayed to accept the terms and +conditions. If none is set, a default text will be displayed with a +link to ‘/terms’.

Usage

-

On the website go to events and register for the event that has been configured to -require acceptance of legal terms. In the registration pop-up window you will see -the acceptance box and the default text or custom text. In order to be able to -register you will need to accept the terms. Once the registration is created, -the metadata can be consulted in the chatter for each registration that has been made.

+

On the website go to events and register for the event that has been +configured to require acceptance of legal terms. In the registration +pop-up window you will see the acceptance box and the default text or +custom text. In order to be able to register you will need to accept the +terms. Once the registration is created, the metadata can be consulted +in the chatter for each registration that has been made.

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.

@@ -422,10 +424,12 @@

Authors

Contributors

    -
  • Tecnativa: -* Pilar Vargas -* Pedro M. Baeza -* Carlos Roca
  • +
  • Tecnativa:
      +
    • Pilar Vargas
    • +
    • Pedro M. Baeza
    • +
    • Carlos Roca
    • +
    +
@@ -437,7 +441,7 @@

Maintainers

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/event project on GitHub.

+

This module is part of the OCA/event project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

From a891497996e730c7dd39d64f7a9f3d351ad33ebf Mon Sep 17 00:00:00 2001 From: pilarvargas-tecnativa Date: Tue, 8 Apr 2025 22:53:32 +0200 Subject: [PATCH 06/12] [MIG] website_event_require_legal: Migration to version 17.0 TT55847 --- website_event_require_legal/README.rst | 10 ++-- website_event_require_legal/__manifest__.py | 4 +- .../controllers/main.py | 7 ++- .../i18n/website_event_require_legal.pot | 8 +--- .../static/description/index.html | 2 +- .../static/tests/tours/tour.esm.js | 44 +++++++++++++++++ .../static/tests/tours/tour.js | 47 ------------------- .../views/event_views.xml | 4 +- 8 files changed, 61 insertions(+), 65 deletions(-) create mode 100644 website_event_require_legal/static/tests/tours/tour.esm.js delete mode 100644 website_event_require_legal/static/tests/tours/tour.js diff --git a/website_event_require_legal/README.rst b/website_event_require_legal/README.rst index b384a1efb..473ce6f76 100644 --- a/website_event_require_legal/README.rst +++ b/website_event_require_legal/README.rst @@ -7,7 +7,7 @@ Website Event Require Legal !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:700e92539634f69c55205e2eae01ea7425a1762e8f1136751e2c5bdd23d1901f + !! source digest: sha256:e10f6d51b054665008b5fbed69210d22acfa9110e8b057de1e78d983b4a84dd1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -77,11 +77,11 @@ Authors Contributors ------------ -- `Tecnativa `__: +- `Tecnativa `__: - - Pilar Vargas - - Pedro M. Baeza - - Carlos Roca + - Pilar Vargas + - Pedro M. Baeza + - Carlos Roca Maintainers ----------- diff --git a/website_event_require_legal/__manifest__.py b/website_event_require_legal/__manifest__.py index 27cf9e9ec..1ec99c379 100644 --- a/website_event_require_legal/__manifest__.py +++ b/website_event_require_legal/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Website Event Require Legal", - "version": "16.0.1.0.0", + "version": "17.0.1.0.0", "author": "Tecnativa, " "Odoo Community Association (OCA)", "website": "https://github.com/OCA/event", "category": "Event", @@ -13,7 +13,7 @@ ], "assets": { "web.assets_tests": [ - "/website_event_require_legal/static/tests/tours/tour.js", + "/website_event_require_legal/static/tests/tours/*", ], }, "installable": True, diff --git a/website_event_require_legal/controllers/main.py b/website_event_require_legal/controllers/main.py index c32461d3a..9b82e7e72 100644 --- a/website_event_require_legal/controllers/main.py +++ b/website_event_require_legal/controllers/main.py @@ -2,6 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import _ from odoo.http import request, route +from odoo.tools import Markup from odoo.addons.website_event.controllers.main import WebsiteEventController @@ -22,7 +23,6 @@ def event_registration_success(self, event, registration_ids): def _log_acceptance_metadata(self, record): """Log legal terms acceptance metadata.""" environ = request.httprequest.headers.environ - message = _("Website legal terms acceptance metadata:
%s") metadata = "
".join( f"{val}: {environ.get(val)}" for val in ( @@ -31,4 +31,7 @@ def _log_acceptance_metadata(self, record): "HTTP_ACCEPT_LANGUAGE", ) ) - record.sudo().message_post(body=message % metadata, message_type="notification") + message = Markup(_("Website legal terms acceptance metadata: %s") % metadata) + record.sudo().message_post( + body=message, message_type="notification", subtype_xmlid="mail.mt_comment" + ) diff --git a/website_event_require_legal/i18n/website_event_require_legal.pot b/website_event_require_legal/i18n/website_event_require_legal.pot index 5e387373e..289e2b78b 100644 --- a/website_event_require_legal/i18n/website_event_require_legal.pot +++ b/website_event_require_legal/i18n/website_event_require_legal.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -15,7 +15,6 @@ msgstr "" #. module: website_event_require_legal #: model:ir.model.fields,help:website_event_require_legal.field_event_event__website_description_legal -#: model:ir.model.fields,help:website_event_require_legal.field_event_session__website_description_legal msgid "" "Custom text for the legal terms checkbox shown on the event registration " "page. Leave empty to use the default text." @@ -33,7 +32,6 @@ msgstr "" #. module: website_event_require_legal #: model:ir.model.fields,help:website_event_require_legal.field_event_event__website_require_legal -#: model:ir.model.fields,help:website_event_require_legal.field_event_session__website_require_legal msgid "" "If set, the user must accept the terms in order to register in the event " "from the website." @@ -46,13 +44,11 @@ msgstr "" #. module: website_event_require_legal #: model:ir.model.fields,field_description:website_event_require_legal.field_event_event__website_description_legal -#: model:ir.model.fields,field_description:website_event_require_legal.field_event_session__website_description_legal msgid "Legal Terms Description" msgstr "" #. module: website_event_require_legal #: model:ir.model.fields,field_description:website_event_require_legal.field_event_event__website_require_legal -#: model:ir.model.fields,field_description:website_event_require_legal.field_event_session__website_require_legal msgid "Require legal terms" msgstr "" @@ -60,7 +56,7 @@ msgstr "" #. odoo-python #: code:addons/website_event_require_legal/controllers/main.py:0 #, python-format -msgid "Website legal terms acceptance metadata:
%s" +msgid "Website legal terms acceptance metadata: %s" msgstr "" #. module: website_event_require_legal diff --git a/website_event_require_legal/static/description/index.html b/website_event_require_legal/static/description/index.html index 402d04424..032daf4aa 100644 --- a/website_event_require_legal/static/description/index.html +++ b/website_event_require_legal/static/description/index.html @@ -367,7 +367,7 @@

Website Event Require Legal

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:700e92539634f69c55205e2eae01ea7425a1762e8f1136751e2c5bdd23d1901f +!! source digest: sha256:e10f6d51b054665008b5fbed69210d22acfa9110e8b057de1e78d983b4a84dd1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/event Translate me on Weblate Try me on Runboat

This module enforces to accept the legal terms for the registration from diff --git a/website_event_require_legal/static/tests/tours/tour.esm.js b/website_event_require_legal/static/tests/tours/tour.esm.js new file mode 100644 index 000000000..58e5bcebf --- /dev/null +++ b/website_event_require_legal/static/tests/tours/tour.esm.js @@ -0,0 +1,44 @@ +/** @odoo-module **/ + +/* Copyright 2025 Tecnativa - Pilar Vargas + * License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */ +import {registry} from "@web/core/registry"; + +registry.category("web_tour.tours").add("website_event_require_legal", { + url: "/event", + test: true, + steps: () => [ + { + trigger: + 'a[href^="/event/test-event-for-require-legal-"][href$="/register"]', + run: "click", + }, + { + trigger: + '.container.d-none button[data-bs-target="#modal_ticket_registration"]', + run: "click", + }, + { + trigger: "button.a-submit", + run: "click", + }, + // Cannot proceed until the terms are accepted. + { + trigger: "button[type='submit'].btn.btn-primary:not(.o_wait_lazy_js)", + run: "click", + }, + { + content: "Accept legal terms", + trigger: "#accepted_event_legal_terms", + run: "click", + }, + { + trigger: "button[type='submit'].btn.btn-primary:not(.o_wait_lazy_js)", + run: "click", + }, + { + content: "Check container of confirmed registrations", + trigger: ".o_wereg_confirmed_attendees", + }, + ], +}); diff --git a/website_event_require_legal/static/tests/tours/tour.js b/website_event_require_legal/static/tests/tours/tour.js deleted file mode 100644 index abd8c1f59..000000000 --- a/website_event_require_legal/static/tests/tours/tour.js +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2025 Tecnativa - Pilar Vargas - * License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */ - -odoo.define("website_event_require_legal.tour", function (require) { - "use strict"; - - var tour = require("web_tour.tour"); - - var steps = [ - { - trigger: - 'a:has(span[itemprop="name"]:contains("Test event for require legal"))', - }, - { - trigger: '.a-submit:contains("Register")', - }, - // Cannot proceed until the terms are accepted. - { - trigger: 'button:contains("Continue")', - }, - { - trigger: "#accepted_event_legal_terms", - }, - { - content: "Validate attendees details", - extra_trigger: - "input[name='1-name'], input[name='2-name'], input[name='3-name']", - trigger: 'button:contains("Continue")', - }, - { - trigger: ".o_wereg_confirmed_attendees", - }, - ]; - - tour.register( - "website_event_require_legal", - { - url: "/event", - test: true, - }, - steps - ); - - return { - steps: steps, - }; -}); diff --git a/website_event_require_legal/views/event_views.xml b/website_event_require_legal/views/event_views.xml index 17971c727..89ddd95fb 100644 --- a/website_event_require_legal/views/event_views.xml +++ b/website_event_require_legal/views/event_views.xml @@ -4,12 +4,12 @@ event.event - + From 940c0a86127b14322044147f38a9860dd8e3f6d1 Mon Sep 17 00:00:00 2001 From: eduardo Date: Thu, 4 Sep 2025 07:05:57 +0000 Subject: [PATCH 07/12] [IMP] website_event_require_legal: pre-commit auto fixes --- website_event_require_legal/README.rst | 10 +++++----- .../static/description/index.html | 6 +++--- .../views/event_templates_page_registration.xml | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/website_event_require_legal/README.rst b/website_event_require_legal/README.rst index 473ce6f76..167673b62 100644 --- a/website_event_require_legal/README.rst +++ b/website_event_require_legal/README.rst @@ -17,13 +17,13 @@ Website Event Require Legal :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fevent-lightgray.png?logo=github - :target: https://github.com/OCA/event/tree/17.0/website_event_require_legal + :target: https://github.com/OCA/event/tree/18.0/website_event_require_legal :alt: OCA/event .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/event-17-0/event-17-0-website_event_require_legal + :target: https://translation.odoo-community.org/projects/event-18-0/event-18-0-website_event_require_legal :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/event&target_branch=17.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/event&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -62,7 +62,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. @@ -96,6 +96,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/event `_ project on GitHub. +This module is part of the `OCA/event `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/website_event_require_legal/static/description/index.html b/website_event_require_legal/static/description/index.html index 032daf4aa..74b0211a6 100644 --- a/website_event_require_legal/static/description/index.html +++ b/website_event_require_legal/static/description/index.html @@ -369,7 +369,7 @@

Website Event Require Legal

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:e10f6d51b054665008b5fbed69210d22acfa9110e8b057de1e78d983b4a84dd1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/event Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/event Translate me on Weblate Try me on Runboat

This module enforces to accept the legal terms for the registration from the website on the events configured so.

Table of contents

@@ -410,7 +410,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.

@@ -441,7 +441,7 @@

Maintainers

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/event project on GitHub.

+

This module is part of the OCA/event project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/website_event_require_legal/views/event_templates_page_registration.xml b/website_event_require_legal/views/event_templates_page_registration.xml index cc6b075e6..06c359c69 100644 --- a/website_event_require_legal/views/event_templates_page_registration.xml +++ b/website_event_require_legal/views/event_templates_page_registration.xml @@ -14,9 +14,9 @@ class="control-label form-check-label" > I agree to the terms & conditions + target="_BLANK" + href="/terms" + >terms & conditions