Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .weblate.json
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,11 @@
"filemask": "custom_furniture/i18n/*.po",
"new_base": "custom_furniture/i18n/custom_furniture.pot"
},
{
"name": "customer_check_in",
"filemask": "customer_check_in/i18n/*.po",
"new_base": "customer_check_in/i18n/customer_check_in.pot"
},
{
"name": "diy_workshops",
"filemask": "diy_workshops/i18n/*.po",
Expand Down
Empty file added customer_check_in/__init__.py
Empty file.
36 changes: 36 additions & 0 deletions customer_check_in/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
'name': 'Customer Check In',
'version': '1.0',
'category': 'Hospitality',
'depends': [
'base_industry_data',
'event_booth',
'event_sale',
'knowledge',
'website_event',
'website_event_exhibitor',
'website_event_track_gantt',
'web_studio',
],
'data': [
'data/ir_model.xml',
'data/ir_model_access.xml',
'data/ir_model_fields.xml',
'data/ir_default.xml',
'data/ir_actions_server.xml',
'data/base_automation.xml',
'data/ir_actions_act_window.xml',
'data/ir_actions_act_url.xml',
'data/ir_ui_view.xml',
'data/ir_ui_menu.xml',
],
'demo': [

],
'license': 'OPL-1',
'author': 'Odoo S.A.',
"cloc_exclude": [

],
'images': [],
}
12 changes: 12 additions & 0 deletions customer_check_in/data/base_automation.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="base_automation_on_registration_remaining_entries_change" model="base.automation">
<field name="name">On Registration Remaining Entries Change</field>
<field name="action_server_ids" eval="[(6, 0, [ref('action_set_registration_done')])]"/>
<field name="model_id" ref="event.model_event_registration"/>
<field name="on_change_field_ids" eval="[(6, 0, [ref('x_remaining_entries_field_event_registration')])]"/>
<field name="filter_domain">[('id', '!=', False), ('x_remaining_entries', '&lt;=', 0), ('state', 'in', ['open'])]</field>
<field name="trigger">on_change</field>
</record>
<!-- Comment le faire tourner également si la date limite est dépassée ?-->
</odoo>
8 changes: 8 additions & 0 deletions customer_check_in/data/ir_actions_act_url.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="action_url_open_registration_desk" model="ir.actions.act_url">
<field name="name">Registration Desk</field>
<field name="url">/odoo/registration-desk</field>
<field name="target">self</field>
</record>
</odoo>
21 changes: 21 additions & 0 deletions customer_check_in/data/ir_actions_act_window.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="action_window_stations_view" model="ir.actions.act_window">
<field name="name">Stations</field>
<field name="res_model">event.event</field>
<field name="domain">[('x_recurring_access', '!=', False)]</field>
<field name="view_mode">kanban,list,form,search</field>
<field name="context">{'default_x_recurring_access': True}</field>
</record>
<record id="action_window_attendances_view" model="ir.actions.act_window">
<field name="name">Attendances</field>
<field name="res_model">x_attendance</field>
<field name="view_mode">list,search</field>
</record>
<record id="action_window_redirect_attendances_filtered_view" model="ir.actions.act_window">
<field name="name">Attendances Today Redirected From Event</field>
<field name="res_model">x_attendance</field>
<field name="view_mode">list,search</field>
<field name="context">{'search_default_x_event_id': active_id, 'search_default_date_today_filter_x_attendance': 1}</field>
</record>
</odoo>
12 changes: 12 additions & 0 deletions customer_check_in/data/ir_actions_server.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="action_set_registration_done" model="ir.actions.server">
<field name="code"><![CDATA[
record['name'] = 'Fully registered'
record.action_set_done()
]]></field>
<field name="model_id" ref="event.model_event_registration"/>
<field name="state">code</field>
<field name="name">Execute Code</field>
</record>
</odoo>
8 changes: 8 additions & 0 deletions customer_check_in/data/ir_default.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo noupdate="1">
<!-- Make the field value false so you can see the placeholder -->
<!-- <record id="default_x_allowed_entries_event_event_ticket" model="ir.default">
<field name="field_id" ref="x_allowed_entries_field_event_event_ticket"/>
<field name="json_value">false</field>
</record> -->
</odoo>
7 changes: 7 additions & 0 deletions customer_check_in/data/ir_model.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="x_attendance_model" model="ir.model">
<field name="name">Attendance</field>
<field name="model">x_attendance</field>
</record>
</odoo>
12 changes: 12 additions & 0 deletions customer_check_in/data/ir_model_access.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="x_attendance_user_access" model="ir.model.access">
<field name="group_id" ref="base.group_user"/>
<field name="model_id" ref="x_attendance_model"/>
<field name="name">x_attendance_user_access</field>
<field name="perm_create" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_unlink" eval="True"/>
<field name="perm_write" eval="True"/>
</record>
</odoo>
131 changes: 131 additions & 0 deletions customer_check_in/data/ir_model_fields.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<!-- Event event fields -->
<record id="x_recurring_access_field_event_event" model="ir.model.fields">
<field name="name">x_recurring_access</field>
<field name="ttype">boolean</field>
<field name="field_description">Recurring Access</field>
<field name="model_id" ref="event.model_event_event"/>
<field name="help">Enables the system to track multiple entries.
When enabled, the ticket type can be configured for either unlimited access until an expiry date, or a fixed number of available entrances.
</field>
</record>

<!-- <record id="event.field_event_event__date_end" model="ir.model.fields">
<field name="required" eval="False"/>
</record> -->

<!-- Event ticket fields -->
<record id="x_allowed_entries_field_event_event_ticket" model="ir.model.fields">
<field name="name">x_allowed_entries</field>
<field name="ttype">integer</field>
<field name="field_description">Allowed Entries</field>
<field name="model_id" ref="event.model_event_event_ticket"/>
</record>

<!-- x_attendance fields -->
<record id="x_event_registration_id_field_x_attendance" model="ir.model.fields">
<field name="name">x_event_registration_id</field>
<field name="ttype">many2one</field>
<field name="field_description">Event Registration</field>
<field name="model_id" ref="x_attendance_model"/>
<field name="relation">event.registration</field>
</record>
<record id="x_attendance_date_field_x_attendance" model="ir.model.fields">
<field name="name">x_attendance_date</field>
<field name="ttype">datetime</field>
<field name="field_description">Attendance Date</field>
<field name="model_id" ref="x_attendance_model"/>
</record>
<record id="x_date_attendance_date_field_x_attendance" model="ir.model.fields">
<field name="name">x_date_attendance_date</field>
<field name="ttype">date</field>
<field name="field_description">Date Attendance Date</field>
<field name="model_id" ref="x_attendance_model"/>
<field name="depends">x_attendance_date</field>
<field name="compute"><![CDATA[
for record in self:
if record.x_attendance_date: record['x_date_attendance_date'] = record.x_attendance_date.date()
else: record['x_attendance_date'] = False
]]></field>
</record>
<record id="x_event_id_field_x_attendance" model="ir.model.fields">
<field name="name">x_event_id</field>
<field name="ttype">many2one</field>
<field name="field_description">Related Event</field>
<field name="model_id" ref="x_attendance_model"/>
<field name="related">x_event_registration_id.event_id</field>
<field name="relation">event.event</field>
</record>
<record id="x_address_id_field_x_attendance" model="ir.model.fields">
<field name="name">x_address_id</field>
<field name="ttype">many2one</field>
<field name="field_description">Venue</field>
<field name="model_id" ref="x_attendance_model"/>
<field name="related">x_event_registration_id.event_id.address_id</field>
<field name="relation">res.partner</field>
</record>
<record id="x_responsible_id_field_x_attendance" model="ir.model.fields">
<field name="name">x_responsible_id</field>
<field name="ttype">many2one</field>
<field name="field_description">Responsible</field>
<field name="model_id" ref="x_attendance_model"/>
<field name="related">x_event_registration_id.event_id.user_id</field>
<field name="relation">res.users</field>
</record>
<record id="x_company_name_field_x_attendance" model="ir.model.fields">
<field name="name">x_company_name</field>
<field name="ttype">char</field>
<field name="field_description">Company</field>
<field name="model_id" ref="x_attendance_model"/>
<field name="related">x_event_registration_id.company_name</field>
</record>

<record id="x_attendances_registered_today_ids_field_event_event" model="ir.model.fields">
<field name="name">x_attendances_registered_today_ids</field>
<field name="ttype">one2many</field>
<field name="field_description">Attendances Registered Today</field>
<field name="model_id" ref="event.model_event_event"/>
<field name="relation">x_attendance</field>
<field name="relation_field">x_event_id</field>
<field name="domain" eval="[('x_date_attendance_date', '=', 'today')]"/>
</record>
<record id="x_attendances_registered_today_amount_field_event_event" model="ir.model.fields">
<field name="name">x_attendances_registered_today_amount</field>
<field name="ttype">integer</field>
<field name="field_description">Attendances Registered Today Amount</field>
<field name="model_id" ref="event.model_event_event"/>
<field name="depends">x_attendances_registered_today_ids</field>
<field name="compute"><![CDATA[
for record in self: record['x_attendances_registered_today_amount'] = len(record.x_attendances_registered_today_ids)
]]></field>
</record>

<!-- Event registration fields -->
<record id="x_attendances_ids_field_event_registration" model="ir.model.fields"> <!-- Add automatically when registration scanned -->
<field name="name">x_attendances_ids</field>
<field name="ttype">one2many</field>
<field name="field_description">Attendances</field>
<field name="model_id" ref="event.model_event_registration"/>
<field name="relation">x_attendance</field>
<field name="relation_field">x_event_registration_id</field>
</record>
<record id="x_remaining_entries_field_event_registration" model="ir.model.fields">
<field name="name">x_remaining_entries</field>
<field name="ttype">integer</field>
<field name="field_description">Remaining Entries</field>
<field name="model_id" ref="event.model_event_registration"/>
<field name="depends">x_attendances_ids,event_ticket_id</field>
<field name="compute"><![CDATA[
for record in self:
record['x_remaining_entries'] = record.event_ticket_id.x_allowed_entries - len(record.x_attendances_ids)
]]></field>
</record>
<record id="x_registration_valid_until_field_event_registration" model="ir.model.fields">
<field name="name">x_registration_valid_until</field>
<field name="ttype">datetime</field>
<field name="field_description">Valid until</field>
<field name="model_id" ref="event.model_event_registration"/>
<field name="related">event_id.date_end</field>
</record>
</odoo>
27 changes: 27 additions & 0 deletions customer_check_in/data/ir_ui_menu.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo auto_sequence="1">
<record id="menu_check_in_main_app" model="ir.ui.menu">
<field name="name">Check In</field>
<field name="web_icon_data" type="base64" file="customer_check_in/static/description/icon.png"/>
</record>

<record id="menu_stations_submenu" model="ir.ui.menu">
<field name="name">Stations</field>
<field name="parent_id" ref="menu_check_in_main_app"/>
<field name="action" ref="action_window_stations_view"/>
</record>
<record id="menu_attendees_submenu" model="ir.ui.menu">
<field name="name">Attendees</field>
<field name="parent_id" ref="menu_check_in_main_app"/>
</record>
<record id="menu_configuration_submenu_attendees" model="ir.ui.menu">
<field name="name">Configuration</field>
<field name="parent_id" ref="menu_attendees_submenu"/>
<!-- <field name="action" ref="action_window_attendances_view"/> -->
</record>
<record id="menu_attendees_submenu_attendees" model="ir.ui.menu">
<field name="name">Attendees</field>
<field name="parent_id" ref="menu_attendees_submenu"/>
<field name="action" ref="action_window_attendances_view"/>
</record>
</odoo>
Loading