From f447d3cc4929d147a304dfce8e1242ec6d736edb Mon Sep 17 00:00:00 2001 From: soong Date: Mon, 19 Aug 2024 08:28:35 +0800 Subject: [PATCH] =?UTF-8?q?[ADD]=20=E5=A2=9E=E5=8A=A0=E4=BC=9A=E8=AE=AE?= =?UTF-8?q?=E8=A1=A8=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website_form_room/__init__.py | 1 + website_form_room/__manifest__.py | 11 +++ website_form_room/controllers/__init__.py | 1 + website_form_room/controllers/main.py | 42 ++++++++++ website_form_room/static/description/icon.png | Bin 0 -> 2329 bytes .../views/webclient_templates.xml | 78 ++++++++++++++++++ 6 files changed, 133 insertions(+) create mode 100644 website_form_room/__init__.py create mode 100644 website_form_room/__manifest__.py create mode 100644 website_form_room/controllers/__init__.py create mode 100644 website_form_room/controllers/main.py create mode 100644 website_form_room/static/description/icon.png create mode 100644 website_form_room/views/webclient_templates.xml diff --git a/website_form_room/__init__.py b/website_form_room/__init__.py new file mode 100644 index 000000000..e046e49fb --- /dev/null +++ b/website_form_room/__init__.py @@ -0,0 +1 @@ +from . import controllers diff --git a/website_form_room/__manifest__.py b/website_form_room/__manifest__.py new file mode 100644 index 000000000..a62a8ec87 --- /dev/null +++ b/website_form_room/__manifest__.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': '会议表单', + 'version': '17.0', + 'depends': ['web'], + 'data': [ + 'views/webclient_templates.xml', + ], +} diff --git a/website_form_room/controllers/__init__.py b/website_form_room/controllers/__init__.py new file mode 100644 index 000000000..12a7e529b --- /dev/null +++ b/website_form_room/controllers/__init__.py @@ -0,0 +1 @@ +from . import main diff --git a/website_form_room/controllers/main.py b/website_form_room/controllers/main.py new file mode 100644 index 000000000..240ecd61a --- /dev/null +++ b/website_form_room/controllers/main.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import json +import logging + + +import odoo +import odoo.modules.registry +from odoo import http +from odoo.exceptions import AccessError +from odoo.http import request +from odoo.addons.web.controllers.utils import ensure_db + +_logger = logging.getLogger(__name__) + + +class Home(http.Controller): + @http.route('/web/room', type='http', auth="none") + def web_login(self, room_id=None, **kw): + ensure_db() + values = {k: v for k, v in request.params.items()} + + if not room_id: + values['error'] = "缺少会议号" + else: + values['room_id'] = int(room_id) + # record = request.env['room.booking'].sudo().browse(values['room_id']) + if request.httprequest.method == 'POST': + try: + # pass + values["message"] = "签到成功" + except odoo.exceptions.AccessDenied as e: + if e.args == odoo.exceptions.AccessDenied().args: + values['error'] = "重复签到" + else: + values['error'] = "签到失败" + + response = request.render('website_form_room.website_form_room', values) + response.headers['X-Frame-Options'] = 'SAMEORIGIN' + response.headers['Content-Security-Policy'] = "frame-ancestors 'self'" + return response diff --git a/website_form_room/static/description/icon.png b/website_form_room/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b7aaac75c2d3f1b84c4d84c26abb29d310f54364 GIT binary patch literal 2329 zcmV+!3Fh{RP)FsL5N!$BqR``X(b+@4>SmncxfD7 z5N(x|2gDOi-~k~7DR-%D8VAHhqNoWe_e-4$A+;rG+$N13+v{PzO(N3J>~(f$9nVjS ztUBY?-T%(_pa0D407xVfi9{liNF)-8L?Vd}1SFRHFP+1e^>IUexu_aDzu#0l4gsQo z#1bY1VLu1iox4dh)Ds(y=66GYNI@*vaI6S~kS-=h%fed?K$IT#eisCUELkhic*HDK zJBXqlT%pNGK{eWWmoO>F6DD`@Aefx?OWP!%RbNI52sAK^A;mcQK$%1*` zC~D>POpJrzA78#w^*uySQ@jWbYmLGQ7rx;LN}%`TX6*?#pQ(C58jsB3HRvM>*$%1Ub-AUuB6$DM3mde|FjHujzlar48sVYm><>8O$5Dv6V zjn=QX)DBxUs=6M6CO!v=hLFWThyvtsyGAjnGV04EtO|QV7GoZwTyNK;s(Q#m67OQZ z5$KwR1-e~>suAS>=@~GTxu%dz+%r{Cve3lK^Cs?hTErI=VA!rrRS3d_K;IY=;v0X$ zg1hpHU87Ym2=fgTqlc9$9mF!O6pJ6(HCokzY#1!C`;y{NQ!m5?hJ$i>WZr5@|hF0_x{;cn%SyCBKlsbpe*F39O@YcPdJA^cJL?C5QE zqu>(mg5(UXkIifLC-&w-zbFf94!s~4RxkUUn)q_K3X<4=sf$q9YW{(gQ;B`E=|u08 z4k3VIFcVLMcrs)l*2k zZCWdEz*i43O&nY=_UNXs?3-=@A1pC(p<*yHYSGvUobW7&c|reT;*QbTKb`h7G>#ie zZv;%-Q~0yOQ^_(%O%8m+A^nM1p)=dr;CN(W?lc$g8nyARYOV zHsW+>+;}9{5eX9qc!9SVh-*O>MoK#HMW-l=&6ErJ22oVuNgQy}a5~-%0pLmyk0$O2 zg63>7<)Wu)GAbtSH~d-Q*hAvIQyW!w7egqJVTjG`SUNOr9Gp8ufNTY^P-@WjlegEr z4FTb(hhTkYVjP0dxO~cGK8Xt#!wi2xih(%lAvj5BUL*n3!&Lu2ny&5u!LU+&=&QCG zSBp(vu|t|;X83ynLc~@O_N@XLZ?A-U{tRe8TQ5bU zAm`sY3gvtO0wgomrgcKdIPnnI3-w+>6R-LDQ%7y{Kb?l(`v!vY6%2oyK>!YNh+(@Q zl^2U9?i4Ix6MctZ_T*2%5e$E!`o>ah1cD~_+_|;cI!+mWKTelXx5LWoJ!qL=8{^`1Y_GK{` zQQ(X+eV&ULNb%gHIW#Vwodger7XGYob;rl|&TLeH;GWs_zyUOIx4z+&wYN5#KMuj| zJI$heV=1nt--}Pzje?=HvTnj<*0**f9f%kRdJ0atI2amZ`0I{>7>H+2U~B3rrsp27 ze+Qa){PedFH0ruKxaz?>SMrtl@FyT|tb{L2|Gj4UuTC*Bu7e2SYa3ARsk#HCq%^bpEaUVuX7~$H3}l5V7h&Pg3NFLg#B({F zs>QoqLb+z}CQ%@uaOvgWh*%weuzXe{}+?lW(04`h>q zU$_T7ZU4osgqlZlU*;>k!k)&4PD`?^o5QC`!8N)~j z4}Vq!@{D2rncDGuyueZ!?ML5;gcv}l41;XW4(|wcIl(P~KNem8@ZnT!>g*n7HresH4*7FKv5DWf z%!9e$#KhoZH$a6D+H>mJ{+q|MuitxZIZ=xnl)29uUkU7$r4qRhDhMHUJ$e7TyOmtF zCtzQpr4nt<4(}2_qHuwblN_>d+;gBjed*c&eZ};RN)rPSdiad#D}{-H*tuVufFF?$ ze^v-R>%{bx*Y3u=g3}mWe5De?pA{-ZfZ0ULdm$-Nkp)vlxFf%7~FBMNBf99f{ zudwjfREc?GB_e;sANtDVT@N&~aB+oa!YecUSy54^k}mZX6ln6;uE=cP;YCFqf@%5+ zo1bDmBW)OKBDp3mkw_#Gi9{liNF)-8WHs>zQ`DPOOtls_00000NkvXXu0mjff?H3D literal 0 HcmV?d00001 diff --git a/website_form_room/views/webclient_templates.xml b/website_form_room/views/webclient_templates.xml new file mode 100644 index 000000000..135d9bbf3 --- /dev/null +++ b/website_form_room/views/webclient_templates.xml @@ -0,0 +1,78 @@ + + + + + + + +