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 000000000..b7aaac75c Binary files /dev/null and b/website_form_room/static/description/icon.png differ 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 @@ + + + + + + + +