mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-18 04:12:07 +02:00
Initial commit: Core packages
This commit is contained in:
commit
12c29a983b
9512 changed files with 8379910 additions and 0 deletions
58
odoo-bringout-oca-ocb-event/README.md
Normal file
58
odoo-bringout-oca-ocb-event/README.md
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
# Events Organization
|
||||
|
||||
|
||||
Organization and management of Events.
|
||||
======================================
|
||||
|
||||
The event module allows you to efficiently organize events and all related tasks: planning, registration tracking,
|
||||
attendances, etc.
|
||||
|
||||
Key Features
|
||||
------------
|
||||
* Manage your Events and Registrations
|
||||
* Use emails to automatically confirm and send acknowledgments for any event registration
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pip install odoo-bringout-oca-ocb-event
|
||||
```
|
||||
|
||||
## Dependencies
|
||||
|
||||
This addon depends on:
|
||||
- base_setup
|
||||
- mail
|
||||
- portal
|
||||
- utm
|
||||
|
||||
## Manifest Information
|
||||
|
||||
- **Name**: Events Organization
|
||||
- **Version**: 1.7
|
||||
- **Category**: Marketing/Events
|
||||
- **License**: LGPL-3
|
||||
- **Installable**: True
|
||||
|
||||
## Source
|
||||
|
||||
Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `event`.
|
||||
|
||||
## License
|
||||
|
||||
This package maintains the original LGPL-3 license from the upstream Odoo project.
|
||||
|
||||
## Documentation
|
||||
|
||||
- Overview: doc/OVERVIEW.md
|
||||
- Architecture: doc/ARCHITECTURE.md
|
||||
- Models: doc/MODELS.md
|
||||
- Controllers: doc/CONTROLLERS.md
|
||||
- Wizards: doc/WIZARDS.md
|
||||
- Install: doc/INSTALL.md
|
||||
- Usage: doc/USAGE.md
|
||||
- Configuration: doc/CONFIGURATION.md
|
||||
- Dependencies: doc/DEPENDENCIES.md
|
||||
- Troubleshooting: doc/TROUBLESHOOTING.md
|
||||
- FAQ: doc/FAQ.md
|
||||
32
odoo-bringout-oca-ocb-event/doc/ARCHITECTURE.md
Normal file
32
odoo-bringout-oca-ocb-event/doc/ARCHITECTURE.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Architecture
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
U[Users] -->|HTTP| V[Views and QWeb Templates]
|
||||
V --> C[Controllers]
|
||||
V --> W[Wizards – Transient Models]
|
||||
C --> M[Models and ORM]
|
||||
W --> M
|
||||
M --> R[Reports]
|
||||
DX[Data XML] --> M
|
||||
S[Security – ACLs and Groups] -. enforces .-> M
|
||||
|
||||
subgraph Event Module - event
|
||||
direction LR
|
||||
M:::layer
|
||||
W:::layer
|
||||
C:::layer
|
||||
V:::layer
|
||||
R:::layer
|
||||
S:::layer
|
||||
DX:::layer
|
||||
end
|
||||
|
||||
classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px
|
||||
```
|
||||
|
||||
Notes
|
||||
- Views include tree/form/kanban templates and report templates.
|
||||
- Controllers provide website/portal routes when present.
|
||||
- Wizards are UI flows implemented with `models.TransientModel`.
|
||||
- Data XML loads data/demo records; Security defines groups and access.
|
||||
3
odoo-bringout-oca-ocb-event/doc/CONFIGURATION.md
Normal file
3
odoo-bringout-oca-ocb-event/doc/CONFIGURATION.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Configuration
|
||||
|
||||
Refer to Odoo settings for event. Configure related models, access rights, and options as needed.
|
||||
17
odoo-bringout-oca-ocb-event/doc/CONTROLLERS.md
Normal file
17
odoo-bringout-oca-ocb-event/doc/CONTROLLERS.md
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# Controllers
|
||||
|
||||
HTTP routes provided by this module.
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant U as User/Client
|
||||
participant C as Module Controllers
|
||||
participant O as ORM/Views
|
||||
|
||||
U->>C: HTTP GET/POST (routes)
|
||||
C->>O: ORM operations, render templates
|
||||
O-->>U: HTML/JSON/PDF
|
||||
```
|
||||
|
||||
Notes
|
||||
- See files in controllers/ for route definitions.
|
||||
8
odoo-bringout-oca-ocb-event/doc/DEPENDENCIES.md
Normal file
8
odoo-bringout-oca-ocb-event/doc/DEPENDENCIES.md
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# Dependencies
|
||||
|
||||
This addon depends on:
|
||||
|
||||
- [base_setup](../../odoo-bringout-oca-ocb-base_setup)
|
||||
- [mail](../../odoo-bringout-oca-ocb-mail)
|
||||
- [portal](../../odoo-bringout-oca-ocb-portal)
|
||||
- [utm](../../odoo-bringout-oca-ocb-utm)
|
||||
4
odoo-bringout-oca-ocb-event/doc/FAQ.md
Normal file
4
odoo-bringout-oca-ocb-event/doc/FAQ.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# FAQ
|
||||
|
||||
- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged).
|
||||
- Q: How to enable? A: Start server with --addon event or install in UI.
|
||||
7
odoo-bringout-oca-ocb-event/doc/INSTALL.md
Normal file
7
odoo-bringout-oca-ocb-event/doc/INSTALL.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# Install
|
||||
|
||||
```bash
|
||||
pip install odoo-bringout-oca-ocb-event"
|
||||
# or
|
||||
uv pip install odoo-bringout-oca-ocb-event"
|
||||
```
|
||||
26
odoo-bringout-oca-ocb-event/doc/MODELS.md
Normal file
26
odoo-bringout-oca-ocb-event/doc/MODELS.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Models
|
||||
|
||||
Detected core models and extensions in event.
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class event_event
|
||||
class event_event_ticket
|
||||
class event_mail
|
||||
class event_mail_registration
|
||||
class event_registration
|
||||
class event_stage
|
||||
class event_tag
|
||||
class event_tag_category
|
||||
class event_type
|
||||
class event_type_mail
|
||||
class event_type_ticket
|
||||
class event_type_ticket
|
||||
class mail_template
|
||||
class res_config_settings
|
||||
class res_partner
|
||||
```
|
||||
|
||||
Notes
|
||||
- Classes show model technical names; fields omitted for brevity.
|
||||
- Items listed under _inherit are extensions of existing models.
|
||||
6
odoo-bringout-oca-ocb-event/doc/OVERVIEW.md
Normal file
6
odoo-bringout-oca-ocb-event/doc/OVERVIEW.md
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# Overview
|
||||
|
||||
Packaged Odoo addon: event. Provides features documented in upstream Odoo 16 under this addon.
|
||||
|
||||
- Source: OCA/OCB 16.0, addon event
|
||||
- License: LGPL-3
|
||||
28
odoo-bringout-oca-ocb-event/doc/REPORTS.md
Normal file
28
odoo-bringout-oca-ocb-event/doc/REPORTS.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# Reports
|
||||
|
||||
Report definitions and templates in event.
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
```
|
||||
|
||||
## Available Reports
|
||||
|
||||
### PDF/Document Reports
|
||||
- **Full Page Ticket** (PDF/Print)
|
||||
- **Full Page Ticket Example** (PDF/Print)
|
||||
- **Foldable Badge** (PDF/Print)
|
||||
- **Foldable Badge Example** (PDF/Print)
|
||||
|
||||
|
||||
## Report Files
|
||||
|
||||
- **event_event_reports.xml** (XML template/definition)
|
||||
- **event_event_templates.xml** (XML template/definition)
|
||||
- **__init__.py** (Python logic)
|
||||
|
||||
## Notes
|
||||
- Named reports above are accessible through Odoo's reporting menu
|
||||
- Python files define report logic and data processing
|
||||
- XML files contain report templates, definitions, and formatting
|
||||
- Reports are integrated with Odoo's printing and email systems
|
||||
42
odoo-bringout-oca-ocb-event/doc/SECURITY.md
Normal file
42
odoo-bringout-oca-ocb-event/doc/SECURITY.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# Security
|
||||
|
||||
Access control and security definitions in event.
|
||||
|
||||
## Access Control Lists (ACLs)
|
||||
|
||||
Model access permissions defined in:
|
||||
- **[ir.model.access.csv](../event/security/ir.model.access.csv)**
|
||||
- 27 model access rules
|
||||
|
||||
## Record Rules
|
||||
|
||||
Row-level security rules defined in:
|
||||
|
||||
## Security Groups & Configuration
|
||||
|
||||
Security groups and permissions defined in:
|
||||
- **[event_security.xml](../event/security/event_security.xml)**
|
||||
- 3 security groups defined
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "Security Layers"
|
||||
A[Users] --> B[Groups]
|
||||
B --> C[Access Control Lists]
|
||||
C --> D[Models]
|
||||
B --> E[Record Rules]
|
||||
E --> F[Individual Records]
|
||||
end
|
||||
```
|
||||
|
||||
Security files overview:
|
||||
- **[event_security.xml](../event/security/event_security.xml)**
|
||||
- Security groups, categories, and XML-based rules
|
||||
- **[ir.model.access.csv](../event/security/ir.model.access.csv)**
|
||||
- Model access permissions (CRUD rights)
|
||||
|
||||
Notes
|
||||
- Access Control Lists define which groups can access which models
|
||||
- Record Rules provide row-level security (filter records by user/group)
|
||||
- Security groups organize users and define permission sets
|
||||
- All security is enforced at the ORM level by Odoo
|
||||
5
odoo-bringout-oca-ocb-event/doc/TROUBLESHOOTING.md
Normal file
5
odoo-bringout-oca-ocb-event/doc/TROUBLESHOOTING.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# Troubleshooting
|
||||
|
||||
- Ensure Python and Odoo environment matches repo guidance.
|
||||
- Check database connectivity and logs if startup fails.
|
||||
- Validate that dependent addons listed in DEPENDENCIES.md are installed.
|
||||
7
odoo-bringout-oca-ocb-event/doc/USAGE.md
Normal file
7
odoo-bringout-oca-ocb-event/doc/USAGE.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# Usage
|
||||
|
||||
Start Odoo including this addon (from repo root):
|
||||
|
||||
```bash
|
||||
python3 scripts/odoo_web_server.py --db-name mydb --addon event
|
||||
```
|
||||
3
odoo-bringout-oca-ocb-event/doc/WIZARDS.md
Normal file
3
odoo-bringout-oca-ocb-event/doc/WIZARDS.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Wizards
|
||||
|
||||
This module does not include UI wizards.
|
||||
6
odoo-bringout-oca-ocb-event/event/__init__.py
Normal file
6
odoo-bringout-oca-ocb-event/event/__init__.py
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import controllers
|
||||
from . import models
|
||||
from . import report
|
||||
70
odoo-bringout-oca-ocb-event/event/__manifest__.py
Normal file
70
odoo-bringout-oca-ocb-event/event/__manifest__.py
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'name': 'Events Organization',
|
||||
'version': '1.7',
|
||||
'website': 'https://www.odoo.com/app/events',
|
||||
'category': 'Marketing/Events',
|
||||
'summary': 'Trainings, Conferences, Meetings, Exhibitions, Registrations',
|
||||
'description': """
|
||||
Organization and management of Events.
|
||||
======================================
|
||||
|
||||
The event module allows you to efficiently organize events and all related tasks: planning, registration tracking,
|
||||
attendances, etc.
|
||||
|
||||
Key Features
|
||||
------------
|
||||
* Manage your Events and Registrations
|
||||
* Use emails to automatically confirm and send acknowledgments for any event registration
|
||||
""",
|
||||
'depends': ['base_setup', 'mail', 'portal', 'utm'],
|
||||
'data': [
|
||||
'security/event_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'views/event_menu_views.xml',
|
||||
'views/event_ticket_views.xml',
|
||||
'views/event_mail_views.xml',
|
||||
'views/event_registration_views.xml',
|
||||
'views/event_type_views.xml',
|
||||
'views/event_event_views.xml',
|
||||
'views/event_stage_views.xml',
|
||||
'report/event_event_templates.xml',
|
||||
'report/event_event_reports.xml',
|
||||
'data/ir_cron_data.xml',
|
||||
'data/mail_template_data.xml',
|
||||
'data/event_data.xml',
|
||||
'views/res_config_settings_views.xml',
|
||||
'views/event_templates.xml',
|
||||
'views/res_partner_views.xml',
|
||||
'views/event_tag_views.xml'
|
||||
],
|
||||
'demo': [
|
||||
'data/res_users_demo.xml',
|
||||
'data/res_partner_demo.xml',
|
||||
'data/event_demo_misc.xml',
|
||||
'data/event_demo.xml',
|
||||
'data/event_registration_demo.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'assets': {
|
||||
'web.assets_backend': [
|
||||
'event/static/src/scss/event.scss',
|
||||
'event/static/src/icon_selection_field/icon_selection_field.js',
|
||||
'event/static/src/icon_selection_field/icon_selection_field.xml',
|
||||
],
|
||||
'web.assets_common': [
|
||||
'event/static/src/js/tours/**/*',
|
||||
],
|
||||
'web.assets_frontend': [
|
||||
'event/static/src/js/tours/**/*',
|
||||
],
|
||||
'web.report_assets_common': [
|
||||
'/event/static/src/scss/event_foldable_badge_report.scss',
|
||||
'/event/static/src/scss/event_full_page_ticket_report.scss',
|
||||
],
|
||||
'web.report_assets_pdf': [
|
||||
'/event/static/src/scss/event_full_page_ticket_report_pdf.scss',
|
||||
],
|
||||
},
|
||||
'license': 'LGPL-3',
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import main
|
||||
25
odoo-bringout-oca-ocb-event/event/controllers/main.py
Normal file
25
odoo-bringout-oca-ocb-event/event/controllers/main.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
from odoo.http import Controller, request, route, content_disposition
|
||||
|
||||
|
||||
class EventController(Controller):
|
||||
|
||||
@route(['''/event/<model("event.event"):event>/ics'''], type='http', auth="public")
|
||||
def event_ics_file(self, event, **kwargs):
|
||||
lang = request.context.get('lang', request.env.user.lang)
|
||||
if request.env.user._is_public():
|
||||
lang = request.httprequest.cookies.get('frontend_lang')
|
||||
event = event.with_context(lang=lang)
|
||||
files = event._get_ics_file()
|
||||
if not event.id in files:
|
||||
return NotFound()
|
||||
content = files[event.id]
|
||||
return request.make_response(content, [
|
||||
('Content-Type', 'application/octet-stream'),
|
||||
('Content-Length', len(content)),
|
||||
('Content-Disposition', content_disposition('%s.ics' % event.name))
|
||||
])
|
||||
45
odoo-bringout-oca-ocb-event/event/data/event_data.xml
Normal file
45
odoo-bringout-oca-ocb-event/event/data/event_data.xml
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<!-- Event Categories -->
|
||||
<record id="event_type_data_ticket" model="event.type">
|
||||
<field name="name">Ticketing</field>
|
||||
<field name="auto_confirm" eval="False"/>
|
||||
</record>
|
||||
<record id="event_type_data_conference" model="event.type">
|
||||
<field name="name">Conference</field>
|
||||
<field name="auto_confirm" eval="True"/>
|
||||
</record>
|
||||
|
||||
<!-- Event stages -->
|
||||
<record id="event_stage_new" model="event.stage">
|
||||
<field name="name">New</field>
|
||||
<field name="description">Freshly created</field>
|
||||
<field name="sequence">1</field>
|
||||
</record>
|
||||
<record id="event_stage_booked" model="event.stage">
|
||||
<field name="name">Booked</field>
|
||||
<field name="description">The place has been reserved</field>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
<record id="event_stage_announced" model="event.stage">
|
||||
<field name="name">Announced</field>
|
||||
<field name="description">The event has been publicly announced</field>
|
||||
<field name="sequence">3</field>
|
||||
</record>
|
||||
<record id="event_stage_done" model="event.stage">
|
||||
<field name="name">Ended</field>
|
||||
<field name="description">Fully ended</field>
|
||||
<field name="sequence">5</field>
|
||||
<field name="pipe_end" eval="True"/>
|
||||
<field name="fold" eval="True"/>
|
||||
</record>
|
||||
<record id="event_stage_cancelled" model="event.stage">
|
||||
<field name="name">Cancelled</field>
|
||||
<field name="description">The event has been cancelled</field>
|
||||
<field name="sequence">6</field>
|
||||
<field name="pipe_end" eval="True"/>
|
||||
<field name="fold" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
265
odoo-bringout-oca-ocb-event/event/data/event_demo.xml
Normal file
265
odoo-bringout-oca-ocb-event/event/data/event_demo.xml
Normal file
|
|
@ -0,0 +1,265 @@
|
|||
<?xml version="1.0"?>
|
||||
<odoo><data>
|
||||
|
||||
<!-- Event -->
|
||||
<record id="event.event_0" model="event.event">
|
||||
<field name="name">Design Fair Los Angeles</field>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="date_begin" eval="(DateTime.now() + timedelta(days=10)).strftime('%Y-%m-%d 08:00:00')"/>
|
||||
<field name="date_end" eval="(DateTime.now() + timedelta(days=14)).strftime('%Y-%m-%d 18:00:00')"/>
|
||||
<field name="seats_limited">True</field>
|
||||
<field name="seats_max">50</field>
|
||||
<field name="address_id" ref="event.res_partner_location_2"/>
|
||||
<field name="date_tz">America/Los_Angeles</field>
|
||||
<field name="event_type_id" ref="event_type_0"/>
|
||||
<field name="stage_id" ref="event_stage_booked"/>
|
||||
<field name="tag_ids" eval="[(4, ref('event.event_tag_category_1_tag_1')), (4, ref('event.event_tag_category_2_tag_1'))]"/>
|
||||
<field name="ticket_instructions" type="html">
|
||||
<div class="text-center fw-bold py-3">Important ticket information</div>
|
||||
<ul>
|
||||
<li>Please come <b>at least</b> 30 minutes before the beginning of the event.</li>
|
||||
<li>Tickets can be printed or scanned directly from your phone.</li>
|
||||
<li>If you don't have this ticket, you will <b>not</b> be allowed entry!</li>
|
||||
</ul>
|
||||
</field>
|
||||
</record>
|
||||
<record id="event_0_ticket_0" model="event.event.ticket">
|
||||
<field name="name">Free</field>
|
||||
<field name="description">Free entrance, no food !</field>
|
||||
<field name="event_id" ref="event.event_0"/>
|
||||
<field name="start_sale_datetime" eval="(DateTime.today() + timedelta(days=5)).strftime('%Y-%m-%d 00:00:00')"/>
|
||||
<field name="end_sale_datetime" eval="(DateTime.today() + timedelta(days=10)).strftime('%Y-%m-%d 23:00:00')"/>
|
||||
<field name="seats_max">0</field>
|
||||
</record>
|
||||
<record id="event_0_ticket_1" model="event.event.ticket">
|
||||
<field name="name">Standard</field>
|
||||
<field name="description">For only 10, you gain access to catering. Yum yum.</field>
|
||||
<field name="event_id" ref="event.event_0"/>
|
||||
<field name="start_sale_datetime" eval="(DateTime.today() + timedelta(days=5)).strftime('%Y-%m-%d 00:00:00')"/>
|
||||
<field name="end_sale_datetime" eval="(DateTime.today() + timedelta(days=10)).strftime('%Y-%m-%d 23:00:00')"/>
|
||||
<field name="seats_max">50</field>
|
||||
</record>
|
||||
<record id="event_0_ticket_2" model="event.event.ticket">
|
||||
<field name="name">VIP</field>
|
||||
<field name="description">You are truly among the best.</field>
|
||||
<field name="event_id" ref="event.event_0"/>
|
||||
<field name="start_sale_datetime" eval="(DateTime.today() + timedelta(days=5)).strftime('%Y-%m-%d 00:00:00')"/>
|
||||
<field name="end_sale_datetime" eval="(DateTime.today() + timedelta(days=10)).strftime('%Y-%m-%d 23:00:00')"/>
|
||||
<field name="seats_max">10</field>
|
||||
</record>
|
||||
|
||||
<record id="event.event_1" model="event.event">
|
||||
<field name="name">Great Reno Ballon Race</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field eval="(DateTime.today()+ timedelta(days=100)).strftime('%Y-%m-%d 20:15:00')" name="date_begin"/>
|
||||
<field eval="(DateTime.today()+ timedelta(days=101)).strftime('%Y-%m-%d 00:30:00')" name="date_end"/>
|
||||
<field name="event_type_id" ref="event_type_2"/>
|
||||
<field name="address_id" ref="event.res_partner_location_0"/>
|
||||
<field name="stage_id" ref="event_stage_booked"/>
|
||||
<field name="kanban_state">blocked</field>
|
||||
<field name="tag_ids" eval="[(4, ref('event.event_tag_category_1_tag_4')), (4, ref('event.event_tag_category_2_tag_3'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="message_event_1_0" model="mail.message">
|
||||
<field name="model">event.event</field>
|
||||
<field name="res_id" ref="event.event_1"/>
|
||||
<field name="body" type="html"><p>Hello Marc Demo,<br/>
|
||||
Our flight authorizations have been revoked due to insurance issues.<br/>
|
||||
Could you take care of it as soon as possible ?</p>
|
||||
</field>
|
||||
<field name="message_type">comment</field>
|
||||
<field name="subtype_id" ref="mail.mt_comment"/>
|
||||
<field name="author_id" ref="base.partner_admin"/>
|
||||
</record>
|
||||
<record id="message_event_1_1" model="mail.message">
|
||||
<field name="model">event.event</field>
|
||||
<field name="res_id" ref="event.event_1"/>
|
||||
<field name="parent_id" ref="message_event_1_0"/>
|
||||
<field name="body" type="html"><p>Hi Mitchell Admin,<br/>I will take care of it today !</p></field>
|
||||
<field name="message_type">comment</field>
|
||||
<field name="subtype_id" ref="mail.mt_comment"/>
|
||||
<field name="author_id" ref="base.partner_demo"/>
|
||||
</record>
|
||||
<record id="message_event_1_2" model="mail.message">
|
||||
<field name="model">event.event</field>
|
||||
<field name="res_id" ref="event.event_1"/>
|
||||
<field name="parent_id" ref="message_event_1_1"/>
|
||||
<field name="body" type="html"><p>Great ! This event will stay "blocked" until it is fixed.<br/>
|
||||
Feel free to green it once everything is in order.</p>
|
||||
</field>
|
||||
<field name="message_type">comment</field>
|
||||
<field name="subtype_id" ref="mail.mt_comment"/>
|
||||
<field name="author_id" ref="base.partner_admin"/>
|
||||
</record>
|
||||
<record id="activity_event_1_0" model="mail.activity">
|
||||
<field name="res_id" ref="event.event_1" />
|
||||
<field name="res_model_id" ref="event.model_event_event"/>
|
||||
<field name="activity_type_id" ref="mail.mail_activity_data_call"/>
|
||||
<field name="summary">Call the local state house.</field>
|
||||
<field name="date_deadline" eval="DateTime.today()"/>
|
||||
<field name="create_uid" ref="base.user_demo"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
</record>
|
||||
|
||||
<record id="event_2" model="event.event">
|
||||
<field name="name">Conference for Architects</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field eval="(DateTime.today()+ timedelta(days=5)).strftime('%Y-%m-%d 07:00:00')" name="date_begin"/>
|
||||
<field eval="(DateTime.today()+ timedelta(days=5)).strftime('%Y-%m-%d 16:30:00')" name="date_end"/>
|
||||
<field name="event_type_id" ref="event_type_data_conference"/>
|
||||
<field name="address_id" ref="event.res_partner_location_2"/>
|
||||
<field name="seats_limited">True</field>
|
||||
<field name="seats_max">200</field>
|
||||
<field name="stage_id" ref="event_stage_booked"/>
|
||||
<field name="tag_ids" eval="[(4, ref('event.event_tag_category_1_tag_4')), (4, ref('event.event_tag_category_2_tag_1'))]"/>
|
||||
</record>
|
||||
<record id="event_2_ticket_1" model="event.event.ticket">
|
||||
<field name="name">Standard</field>
|
||||
<field name="event_id" ref="event.event_2"/>
|
||||
<field name="end_sale_datetime" eval="(DateTime.today() + timedelta(90)).strftime('%Y-%m-%d 23:00:00')"/>
|
||||
<field name="seats_max">50</field>
|
||||
</record>
|
||||
<record id="event_2_ticket_2" model="event.event.ticket">
|
||||
<field name="name">VIP</field>
|
||||
<field name="event_id" ref="event.event_2"/>
|
||||
<field name="end_sale_datetime" eval="(DateTime.today() + timedelta(60)).strftime('%Y-%m-%d 23:00:00')"/>
|
||||
<field name="seats_max">5</field>
|
||||
</record>
|
||||
<record id="activity_event_2_0" model="mail.activity">
|
||||
<field name="res_id" ref="event.event_2" />
|
||||
<field name="res_model_id" ref="event.model_event_event"/>
|
||||
<field name="activity_type_id" ref="mail.mail_activity_data_call"/>
|
||||
<field name="summary">Call the caterer.</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(days=3)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="create_uid" ref="base.user_admin"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
</record>
|
||||
<record id="event_2_mail_0" model="event.mail">
|
||||
<field name="event_id" ref="event.event_2"/>
|
||||
<field name="template_ref" eval="'mail.template,%i' % ref('event.event_subscription')"/>
|
||||
</record>
|
||||
|
||||
<record id="event.event_3" model="event.event">
|
||||
<field name="name">Live Music Festival</field>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="date_begin" eval="(DateTime.today()+ timedelta(days=130)).strftime('%Y-%m-%d 20:15:00')"/>
|
||||
<field name="date_end" eval="(DateTime.today()+ timedelta(days=133)).strftime('%Y-%m-%d 00:30:00')"/>
|
||||
<field name="date_tz">Europe/London</field>
|
||||
<field name="event_type_id" ref="event_type_0"/>
|
||||
<field name="address_id" ref="event.res_partner_location_1"/>
|
||||
<field name="stage_id" ref="event_stage_announced"/>
|
||||
<field name="tag_ids" eval="[(4, ref('event.event_tag_category_1_tag_3')), (4, ref('event.event_tag_category_2_tag_2'))]"/>
|
||||
</record>
|
||||
<record id="event_3_ticket_0" model="event.event.ticket">
|
||||
<field name="name">Standard</field>
|
||||
<field name="event_id" ref="event.event_3"/>
|
||||
<field name="end_sale_datetime" eval="(DateTime.today() + timedelta(days=20)).strftime('%Y-%m-%d 23:00:00')"/>
|
||||
<field name="seats_max">1200</field>
|
||||
</record>
|
||||
<record id="event_3_ticket_1" model="event.event.ticket">
|
||||
<field name="name">VIP</field>
|
||||
<field name="event_id" ref="event.event_3"/>
|
||||
<field name="end_sale_datetime" eval="(DateTime.today() + timedelta(days=20)).strftime('%Y-%m-%d 23:00:00')"/>
|
||||
<field name="seats_max">50</field>
|
||||
</record>
|
||||
<record id="activity_event_3_0" model="mail.activity">
|
||||
<field name="res_id" ref="event.event_3" />
|
||||
<field name="res_model_id" ref="event.model_event_event"/>
|
||||
<field name="activity_type_id" ref="mail.mail_activity_data_call"/>
|
||||
<field name="summary">Prepare interview with local media.</field>
|
||||
<field name="date_deadline" eval="DateTime.today().strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="create_uid" ref="base.user_admin"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
</record>
|
||||
<record id="event_3_mail_0" model="event.mail">
|
||||
<field name="event_id" ref="event.event_3"/>
|
||||
<field name="template_ref" eval="'mail.template,%i' % ref('event.event_subscription')"/>
|
||||
</record>
|
||||
|
||||
<!-- EVENT_4: very limited, intended to test seats reservation -->
|
||||
<record id="event.event_4" model="event.event">
|
||||
<field name="name">Business workshops</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="date_begin" eval="(DateTime.today() - timedelta(days=5)).strftime('%Y-%m-%d 18:00:00')"/>
|
||||
<field name="date_end" eval="(DateTime.today() - timedelta(days=5)).strftime('%Y-%m-%d 22:30:00')"/>
|
||||
<field name="seats_limited">True</field>
|
||||
<field name="seats_max">4</field>
|
||||
<field name="address_id" ref="event.res_partner_location_2"/>
|
||||
<field name="date_tz">America/Los_Angeles</field>
|
||||
<field name="event_type_id" ref="event_type_1"/>
|
||||
<field name="stage_id" ref="event_stage_done"/>
|
||||
<field name="kanban_state">done</field>
|
||||
<field name="tag_ids" eval="[(4, ref('event.event_tag_category_1_tag_4')), (4, ref('event.event_tag_category_2_tag_1'))]"/>
|
||||
</record>
|
||||
<record id="event_4_ticket_0" model="event.event.ticket">
|
||||
<field name="name">General Admission</field>
|
||||
<field name="event_id" ref="event.event_4"/>
|
||||
<field name="end_sale_datetime" eval="(DateTime.today() - timedelta(30)).strftime('%Y-%m-%d 23:00:00')"/>
|
||||
<field name="seats_max">4</field>
|
||||
</record>
|
||||
<record id="activity_event_4_0" model="mail.activity">
|
||||
<field name="res_id" ref="event.event_4" />
|
||||
<field name="res_model_id" ref="event.model_event_event"/>
|
||||
<field name="activity_type_id" ref="mail.mail_activity_data_call"/>
|
||||
<field name="summary">Prepare after movie.</field>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(days=3)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="create_uid" ref="base.user_admin"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
</record>
|
||||
|
||||
<record id="event.event_5" model="event.event">
|
||||
<field name="name">Hockey Tournament</field>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field eval="(DateTime.today()+ timedelta(days=370)).strftime('%Y-%m-%d 09:00:00')" name="date_begin"/>
|
||||
<field eval="(DateTime.today()+ timedelta(days=371)).strftime('%Y-%m-%d 17:00:00')" name="date_end"/>
|
||||
<field name="event_type_id" ref="event_type_2"/>
|
||||
<field name="address_id" ref="event.res_partner_location_1"/>
|
||||
<field name="tag_ids" eval="[(6, 0, [ref('event.event_tag_category_1_tag_2'), ref('event.event_tag_category_2_tag_3')])]"/>
|
||||
</record>
|
||||
|
||||
<record id="event.event_6" model="event.event">
|
||||
<field name="name">An unpublished event</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field eval="(DateTime.today()+ timedelta(days=30)).strftime('%Y-%m-%d 09:30:00')" name="date_begin"/>
|
||||
<field eval="(DateTime.today()+ timedelta(days=30)).strftime('%Y-%m-%d 17:30:00')" name="date_end"/>
|
||||
<field name="event_type_id" ref="event_type_0"/>
|
||||
<field name="address_id" ref="event.res_partner_location_1"/>
|
||||
</record>
|
||||
|
||||
<record id="event.event_7" model="event.event">
|
||||
<field name="name">OpenWood Collection Online Reveal</field>
|
||||
<field name="date_tz">Europe/Brussels</field>
|
||||
<field name="event_type_id" ref="event_type_0"/>
|
||||
<field name="stage_id" ref="event.event_stage_booked"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="auto_confirm" eval="True"/>
|
||||
<field name="date_begin" eval="(DateTime.now() - timedelta(days=1)).strftime('%Y-%m-%d 05:00:00')"/>
|
||||
<field name="date_end" eval="(DateTime.now() + timedelta(days=1)).strftime('%Y-%m-%d 15:00:00')"/>
|
||||
<field name="address_id" eval="False"/>
|
||||
<field name="tag_ids" eval="[(4, ref('event.event_tag_category_3_tag_1'))]"/>
|
||||
<field name="description" type="html">
|
||||
<div class="oe_structure">
|
||||
<h5>The finest OpenWood furnitures are coming to your house in a brand new collection</h5>
|
||||
<p>And this time, we go fully ONLINE! Meet us in our live streams from the comfort of your house.<br/>
|
||||
Special discount codes will be handed out during the various streams, make sure to be there on time.</p>
|
||||
<p class="mb-3">For any additional information, please contact us at <a href="mailto:events@idea.com">events@idea.com</a>.</p>
|
||||
<div class="bg-light rounded-end border-start border-secondary p-3 mb-5" style="border-start-width: 3px !important;">
|
||||
<p class="mb-1">This event is fully online and FREE, if you have paid for tickets, you should get a refund.<br/>
|
||||
It will require a good Internet connection to get the best video quality.</p>
|
||||
</div>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
<record id="event_7_ticket_1" model="event.event.ticket">
|
||||
<field name="name">Standard</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="end_sale_datetime" eval="(DateTime.now() + timedelta(days=2)).strftime('%Y-%m-%d 15:00:00')"/>
|
||||
</record>
|
||||
<record id="event_7_ticket_2" model="event.event.ticket">
|
||||
<field name="name">VIP</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="end_sale_datetime" eval="(DateTime.now() + timedelta(days=2)).strftime('%Y-%m-%d 15:00:00')"/>
|
||||
<field name="seats_max">10</field>
|
||||
</record>
|
||||
|
||||
</data></odoo>
|
||||
96
odoo-bringout-oca-ocb-event/event/data/event_demo_misc.xml
Normal file
96
odoo-bringout-oca-ocb-event/event/data/event_demo_misc.xml
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
<?xml version="1.0"?>
|
||||
<odoo><data>
|
||||
|
||||
<!-- Event Type -->
|
||||
<record id="event_type_0" model="event.type">
|
||||
<field name="name">Exhibition</field>
|
||||
<field name="auto_confirm" eval="False"/>
|
||||
</record>
|
||||
<record id="event_type_1" model="event.type">
|
||||
<field name="name">Training</field>
|
||||
<field name="auto_confirm" eval="False"/>
|
||||
</record>
|
||||
<record id="event_type_2" model="event.type">
|
||||
<field name="name">Sport</field>
|
||||
<field name="auto_confirm" eval="False"/>
|
||||
<field name="default_timezone">America/Los_Angeles</field>
|
||||
</record>
|
||||
<record id="event_type_data_conference" model="event.type">
|
||||
<field name="default_timezone">Europe/Brussels</field>
|
||||
</record>
|
||||
|
||||
<!-- Category and Tags -->
|
||||
<record id="event_tag_category_1" model="event.tag.category">
|
||||
<field name="name">Age</field>
|
||||
<field name="sequence">3</field>
|
||||
</record>
|
||||
<record id="event_tag_category_2" model="event.tag.category">
|
||||
<field name="name">Activity</field>
|
||||
<field name="sequence">1</field>
|
||||
</record>
|
||||
<record id="event_tag_category_3" model="event.tag.category">
|
||||
<field name="name">Type</field>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
|
||||
<record id="event_tag_category_1_tag_1" model="event.tag">
|
||||
<field name="name">5-10</field>
|
||||
<field name="sequence">1</field>
|
||||
<field name="category_id" ref="event_tag_category_1"/>
|
||||
<field name="color">1</field>
|
||||
</record>
|
||||
|
||||
<record id="event_tag_category_1_tag_2" model="event.tag">
|
||||
<field name="name">10-14</field>
|
||||
<field name="sequence">2</field>
|
||||
<field name="category_id" ref="event_tag_category_1"/>
|
||||
<field name="color">2</field>
|
||||
</record>
|
||||
|
||||
<record id="event_tag_category_1_tag_3" model="event.tag">
|
||||
<field name="name">15-18</field>
|
||||
<field name="sequence">3</field>
|
||||
<field name="category_id" ref="event_tag_category_1"/>
|
||||
<field name="color">3</field>
|
||||
</record>
|
||||
|
||||
<record id="event_tag_category_1_tag_4" model="event.tag">
|
||||
<field name="name">18+</field>
|
||||
<field name="sequence">4</field>
|
||||
<field name="category_id" ref="event_tag_category_1"/>
|
||||
<field name="color">4</field>
|
||||
</record>
|
||||
|
||||
<record id="event_tag_category_2_tag_1" model="event.tag">
|
||||
<field name="name">Culture</field>
|
||||
<field name="sequence">10</field>
|
||||
<field name="category_id" ref="event_tag_category_2"/>
|
||||
<field name="color">5</field>
|
||||
</record>
|
||||
<record id="event_tag_category_2_tag_2" model="event.tag">
|
||||
<field name="name">Music</field>
|
||||
<field name="sequence">11</field>
|
||||
<field name="category_id" ref="event_tag_category_2"/>
|
||||
<field name="color">6</field>
|
||||
</record>
|
||||
<record id="event_tag_category_2_tag_3" model="event.tag">
|
||||
<field name="name">Sport</field>
|
||||
<field name="sequence">12</field>
|
||||
<field name="category_id" ref="event_tag_category_2"/>
|
||||
<field name="color">7</field>
|
||||
</record>
|
||||
|
||||
<record id="event_tag_category_3_tag_1" model="event.tag">
|
||||
<field name="name">Online</field>
|
||||
<field name="sequence">20</field>
|
||||
<field name="category_id" ref="event_tag_category_3"/>
|
||||
<field name="color">8</field>
|
||||
</record>
|
||||
<record id="event_tag_category_3_tag_2" model="event.tag">
|
||||
<field name="name">Conference</field>
|
||||
<field name="sequence">21</field>
|
||||
<field name="category_id" ref="event_tag_category_3"/>
|
||||
<field name="color">9</field>
|
||||
</record>
|
||||
|
||||
</data></odoo>
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
<?xml version="1.0"?>
|
||||
<odoo><data>
|
||||
<!-- Design fair -->
|
||||
<record id="event_registration_0_0" model="event.registration">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=2)"/>
|
||||
<field name="event_id" ref="event.event_0"/>
|
||||
<field name="event_ticket_id" ref="event.event_0_ticket_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_1"/>
|
||||
</record>
|
||||
<record id="event_registration_0_1" model="event.registration">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=2)"/>
|
||||
<field name="event_id" ref="event.event_0"/>
|
||||
<field name="event_ticket_id" ref="event.event_0_ticket_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_2"/>
|
||||
</record>
|
||||
<record id="event_registration_0_2" model="event.registration">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=2)"/>
|
||||
<field name="event_id" ref="event.event_0"/>
|
||||
<field name="event_ticket_id" ref="event.event_0_ticket_0"/>
|
||||
<field name="name">Tucker Carlson</field>
|
||||
<field name="email">tuck@test.example.com</field>
|
||||
<field name="partner_id" eval="False"/>
|
||||
</record>
|
||||
|
||||
<!-- Reno Ballon Race -->
|
||||
<record id="event_registration_1_0" model="event.registration">
|
||||
<field name="event_id" ref="event.event_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_1"/>
|
||||
</record>
|
||||
<record id="event_registration_1_1" model="event.registration">
|
||||
<field name="event_id" ref="event.event_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_2"/>
|
||||
</record>
|
||||
<record id="event_registration_1_2" model="event.registration">
|
||||
<field name="event_id" ref="event.event_1"/>
|
||||
<field name="name">Piers Morgan</field>
|
||||
<field name="email">piersm@test.example.com</field>
|
||||
<field name="partner_id" eval="False"/>
|
||||
</record>
|
||||
<record id="event_registration_1_3" model="event.registration">
|
||||
<field name="event_id" ref="event.event_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_3"/>
|
||||
</record>
|
||||
<record id="event_registration_1_4" model="event.registration">
|
||||
<field name="event_id" ref="event.event_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_4"/>
|
||||
</record>
|
||||
<record id="event_registration_1_5" model="event.registration">
|
||||
<field name="event_id" ref="event.event_1"/>
|
||||
<field name="name">Nigel Woodfire</field>
|
||||
<field name="email">nigelw@test.example.com</field>
|
||||
<field name="partner_id" eval="False"/>
|
||||
</record>
|
||||
|
||||
<!-- Conference for architects -->
|
||||
<record id="event_registration_2_0" model="event.registration">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=0.5)"/>
|
||||
<field name="event_id" ref="event.event_2"/>
|
||||
<field name="event_ticket_id" ref="event.event_2_ticket_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_1"/>
|
||||
</record>
|
||||
<record id="event_registration_2_1" model="event.registration">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=0.5)"/>
|
||||
<field name="event_id" ref="event.event_2"/>
|
||||
<field name="event_ticket_id" ref="event.event_2_ticket_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_2"/>
|
||||
</record>
|
||||
<record id="event_registration_2_2" model="event.registration">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=0.5)"/>
|
||||
<field name="event_id" ref="event.event_2"/>
|
||||
<field name="event_ticket_id" ref="event.event_2_ticket_2"/>
|
||||
<field name="name">Piers Morgan</field>
|
||||
<field name="email">piersm@test.example.com</field>
|
||||
<field name="partner_id" eval="False"/>
|
||||
</record>
|
||||
<record id="event_registration_2_3" model="event.registration">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=1)"/>
|
||||
<field name="event_id" ref="event.event_2"/>
|
||||
<field name="event_ticket_id" ref="event.event_2_ticket_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_3"/>
|
||||
</record>
|
||||
<record id="event_registration_2_4" model="event.registration">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=1)"/>
|
||||
<field name="event_id" ref="event.event_2"/>
|
||||
<field name="event_ticket_id" ref="event.event_2_ticket_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_4"/>
|
||||
</record>
|
||||
|
||||
<!-- Live Music Festival -->
|
||||
<record id="event_registration_3_0" model="event.registration">
|
||||
<field name="event_id" ref="event.event_3"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_1"/>
|
||||
</record>
|
||||
<record id="event_registration_3_1" model="event.registration">
|
||||
<field name="event_id" ref="event.event_3"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_2"/>
|
||||
</record>
|
||||
<record id="event_registration_3_2" model="event.registration">
|
||||
<field name="event_id" ref="event.event_3"/>
|
||||
<field name="name">Piers Morgan</field>
|
||||
<field name="email">piersm@test.example.com</field>
|
||||
<field name="partner_id" eval="False"/>
|
||||
</record>
|
||||
<record id="event_registration_3_3" model="event.registration">
|
||||
<field name="event_id" ref="event.event_3"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_3"/>
|
||||
</record>
|
||||
<record id="event_registration_3_4" model="event.registration">
|
||||
<field name="event_id" ref="event.event_3"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_4"/>
|
||||
</record>
|
||||
<record id="event_registration_3_5" model="event.registration">
|
||||
<field name="event_id" ref="event.event_3"/>
|
||||
<field name="name">Nigel Woodfire</field>
|
||||
<field name="email">nigelw@test.example.com</field>
|
||||
<field name="partner_id" eval="False"/>
|
||||
</record>
|
||||
|
||||
<!-- Business Workshop -->
|
||||
<record id="event_registration_4_0" model="event.registration">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=8)"/>
|
||||
<field name="event_id" ref="event.event_4"/>
|
||||
<field name="event_ticket_id" ref="event.event_4_ticket_0"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_7"/>
|
||||
</record>
|
||||
<record id="event_registration_4_1" model="event.registration">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=7)"/>
|
||||
<field name="event_id" ref="event.event_4"/>
|
||||
<field name="event_ticket_id" ref="event.event_4_ticket_0"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_13"/>
|
||||
</record>
|
||||
<record id="event_registration_4_2" model="event.registration">
|
||||
<field name="create_date" eval="DateTime.now() - relativedelta(days=7)"/>
|
||||
<field name="event_id" ref="event.event_4"/>
|
||||
<field name="event_ticket_id" ref="event.event_4_ticket_0"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_14"/>
|
||||
</record>
|
||||
|
||||
<!-- OpenWood Collection Online Reveal: Gemini (all) -->
|
||||
<record id="event_registration_7_0" model="event.registration">
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="event_ticket_id" ref="event.event_7_ticket_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_5"/>
|
||||
</record>
|
||||
<record id="event_registration_7_1" model="event.registration">
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="event_ticket_id" ref="event.event_7_ticket_1"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_10"/>
|
||||
</record>
|
||||
<record id="event_registration_7_2" model="event.registration">
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="event_ticket_id" ref="event.event_7_ticket_2"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_11"/>
|
||||
</record>
|
||||
<record id="event_registration_7_3" model="event.registration">
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="event_ticket_id" ref="event.event_7_ticket_2"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_25"/>
|
||||
</record>
|
||||
|
||||
<function model="event.registration"
|
||||
name="action_confirm"
|
||||
context="{'install_mode' : True}"
|
||||
eval="[[ref('event_registration_0_0'), ref('event_registration_0_1'),
|
||||
ref('event_registration_1_0'), ref('event_registration_1_1'), ref('event_registration_1_2'),
|
||||
ref('event_registration_2_0'), ref('event_registration_2_1'), ref('event_registration_2_2'), ref('event_registration_2_3'),
|
||||
ref('event_registration_4_2')]]"
|
||||
/>
|
||||
|
||||
<function model="event.registration"
|
||||
name="action_set_done"
|
||||
eval="[[ref('event_registration_4_0'), ref('event_registration_4_1')]]"
|
||||
/>
|
||||
|
||||
</data></odoo>
|
||||
15
odoo-bringout-oca-ocb-event/event/data/ir_cron_data.xml
Normal file
15
odoo-bringout-oca-ocb-event/event/data/ir_cron_data.xml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo><data noupdate="1">
|
||||
<!-- Event Mail Scheduler-->
|
||||
<record model="ir.cron" forcecreate="True" id="event_mail_scheduler">
|
||||
<field name="name">Event: Mail Scheduler</field>
|
||||
<field name="model_id" ref="model_event_mail"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code">model.schedule_communications(autocommit=True)</field>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_type">hours</field>
|
||||
<field name="numbercall">-1</field>
|
||||
<field name="doall" eval="False" />
|
||||
</record>
|
||||
</data></odoo>
|
||||
480
odoo-bringout-oca-ocb-event/event/data/mail_template_data.xml
Normal file
480
odoo-bringout-oca-ocb-event/event/data/mail_template_data.xml
Normal file
|
|
@ -0,0 +1,480 @@
|
|||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="event_registration_mail_template_badge" model="mail.template">
|
||||
<field name="name">Event: Registration Badge</field>
|
||||
<field name="model_id" ref="event.model_event_registration"/>
|
||||
<field name="subject">Your badge for {{ object.event_id.name }}</field>
|
||||
<field name="email_from">{{ (object.event_id.organizer_id.email_formatted or object.event_id.user_id.email_formatted or '') }}</field>
|
||||
<field name="email_to">{{ (object.email and '"%s" <%s>' % (object.name, object.email) or object.partner_id.email_formatted or '') }}</field>
|
||||
<field name="description">Sent automatically to someone after they registered to an event</field>
|
||||
<field name="body_html" type="html">
|
||||
<div>
|
||||
Dear <t t-out="object.name or ''">Oscar Morgan</t>,<br/>
|
||||
Thank you for your inquiry.<br/>
|
||||
Here is your badge for the event <t t-out="object.event_id.name or ''">OpenWood Collection Online Reveal</t>.<br/>
|
||||
If you have any questions, please let us know.
|
||||
<br/><br/>
|
||||
Thank you,
|
||||
<t t-if="object.event_id.user_id.signature">
|
||||
<br />
|
||||
<t t-out="object.event_id.user_id.signature or ''">--<br/>Mitchell Admin</t>
|
||||
</t>
|
||||
</div></field>
|
||||
<field name="report_template" ref="action_report_event_registration_foldable_badge"/>
|
||||
<field name="report_name">Foldable Badge - {{ (object.event_id.name or 'Event').replace('/','_') }}</field>
|
||||
<field name="lang">{{ object.partner_id.lang }}</field>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record id="event_subscription" model="mail.template">
|
||||
<field name="name">Event: Registration Confirmation</field>
|
||||
<field name="model_id" ref="event.model_event_registration"/>
|
||||
<field name="subject">Your registration at {{ object.event_id.name }}</field>
|
||||
<field name="email_from">{{ (object.event_id.organizer_id.email_formatted or object.event_id.user_id.email_formatted or '') }}</field>
|
||||
<field name="email_to">{{ (object.email and '"%s" <%s>' % (object.name, object.email) or object.partner_id.email_formatted or '') }}</field>
|
||||
<field name="description">Sent to attendees after registering to an event</field>
|
||||
<field name="body_html" type="html">
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="padding-top: 16px; background-color: #F1F1F1; font-family:Verdana, Arial,sans-serif; color: #454748; width: 100%; border-collapse:separate;"><tr><td align="center">
|
||||
<t t-set="date_begin" t-value="format_datetime(object.event_id.date_begin, tz='UTC', dt_format="yyyyMMdd'T'HHmmss'Z'")"/>
|
||||
<t t-set="date_end" t-value="format_datetime(object.event_id.date_end, tz='UTC', dt_format="yyyyMMdd'T'HHmmss'Z'")"/>
|
||||
<t t-set="is_online" t-value="'is_published' in object.event_id and object.event_id.is_published"/>
|
||||
<t t-set="event_organizer" t-value="object.event_id.organizer_id"/>
|
||||
<t t-set="event_address" t-value="object.event_id.address_id"/>
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="590" style="padding: 16px; background-color: white; color: #454748; border-collapse:separate;">
|
||||
<tbody>
|
||||
<!-- HEADER -->
|
||||
<tr>
|
||||
<td align="center" style="min-width: 590px;">
|
||||
<table width="590" border="0" cellpadding="0" cellspacing="0" style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;">
|
||||
<tr><td valign="middle">
|
||||
<span style="font-size: 10px;">Your registration</span><br/>
|
||||
<span style="font-size: 20px; font-weight: bold;">
|
||||
<t t-out="object.name or ''">Oscar Morgan</t>
|
||||
</span>
|
||||
</td><td valign="middle" align="right">
|
||||
<t t-if="is_online">
|
||||
<a t-att-href="object.event_id.website_url"
|
||||
style="padding: 8px 12px; font-size: 12px; color: #FFFFFF; text-decoration: none !important; font-weight: 400; background-color: #875A7B; border: 0px solid #875A7B; border-radius:3px">
|
||||
View Event
|
||||
</a>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<img t-att-src="'/logo.png?company=%s' % object.company_id.id" style="padding: 0px; margin: 0px; height: auto; width: 80px;" t-att-alt="'%s' % object.company_id.name"/>
|
||||
</t>
|
||||
</td></tr>
|
||||
<tr><td colspan="2" style="text-align:center;">
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin:16px 0px 16px 0px;"/>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- EVENT DESCRIPTION -->
|
||||
<tr>
|
||||
<td align="center" style="min-width: 590px;">
|
||||
<table width="590" border="0" cellpadding="0" cellspacing="0" style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;">
|
||||
<tr><td valign="top" style="font-size: 14px;">
|
||||
<div>
|
||||
Hello <t t-out="object.name or ''">Oscar Morgan</t>,<br/>
|
||||
We are happy to confirm your registration to the event
|
||||
<t t-if="is_online">
|
||||
<a t-att-href="object.event_id.website_url" style="color:#875A7B;text-decoration:none;" t-out="object.event_id.name or ''">OpenWood Collection Online Reveal</a>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<strong t-out="object.event_id.name or ''">OpenWood Collection Online Reveal</strong>
|
||||
</t>
|
||||
for attendee <t t-out="object.name or ''">Oscar Morgan</t>.
|
||||
</div>
|
||||
<div>
|
||||
<br />
|
||||
<strong>Add this event to your calendar</strong>
|
||||
<a t-attf-href="https://www.google.com/calendar/render?action=TEMPLATE&text={{ object.event_id.name }}&dates={{ date_begin }}/{{ date_end }}&location={{ location }}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Google</a>
|
||||
<a t-attf-href="/event/{{ slug(object.event_id) }}/ics" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> iCal/Outlook</a>
|
||||
<a t-attf-href="https://calendar.yahoo.com/?v=60&view=d&type=20&title={{ object.event_id.name }}&in_loc={{ location }}&st={{ format_datetime(object.event_id.date_begin, tz='UTC', dt_format='yyyyMMdd\'T\'HHmmss') }}&et={{ format_datetime(object.event_id.date_end, tz='UTC', dt_format='yyyyMMdd\'T\'HHmmss') }}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new">
|
||||
<img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Yahoo
|
||||
</a>
|
||||
<br /><br />
|
||||
</div>
|
||||
<div>
|
||||
See you soon,<br/>
|
||||
<span style="color: #454748;">
|
||||
-- <br/>
|
||||
<t t-if="event_organizer">
|
||||
<t t-out="event_organizer.name or ''">YourCompany</t>
|
||||
</t>
|
||||
<t t-else="">
|
||||
The <t t-out="object.event_id.name or ''">OpenWood Collection Online Reveal</t> Team
|
||||
</t>
|
||||
</span>
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td style="text-align:center;">
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;"/>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- DETAILS -->
|
||||
<tr>
|
||||
<td align="center" style="min-width: 590px;">
|
||||
<table width="590" border="0" cellpadding="0" cellspacing="0" style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;">
|
||||
<tr><td valign="top" style="font-size: 14px;">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td style="vertical-align:top;">
|
||||
<img src="/web_editor/font_to_img/61555/rgb(81,81,102)/34" style="padding:4px;max-width:inherit;" height="34" alt=""/>
|
||||
</td>
|
||||
<td style="padding: 0px 10px 0px 10px;width:50%;line-height:20px;vertical-align:top;">
|
||||
<div><strong>From</strong> <t t-out="object.event_id.date_begin_located or ''">May 4, 2021, 7:00:00 AM</t></div>
|
||||
<div><strong>To</strong> <t t-out="object.event_id.date_end_located or ''">May 6, 2021, 5:00:00 PM</t></div>
|
||||
<div style="font-size:12px;color:#9e9e9e"><i>(<t t-out="object.event_id.date_tz or ''">Europe/Brussels</t>)</i></div>
|
||||
</td>
|
||||
<td style="vertical-align:top;">
|
||||
<t t-if="event_address">
|
||||
<img src="/web_editor/font_to_img/61505/rgb(81,81,102)/34" style="padding:4px;max-width:inherit;" height="34" alt=""/>
|
||||
</t>
|
||||
</td>
|
||||
<td style="padding: 0px 10px 0px 10px;width:50%;vertical-align:top;">
|
||||
<t t-if="event_address">
|
||||
<t t-set="location" t-value="''"/>
|
||||
<t t-if="object.event_id.address_id.name">
|
||||
<div t-out="object.event_id.address_id.name or ''">Teksa SpA</div>
|
||||
</t>
|
||||
<t t-if="object.event_id.address_id.street">
|
||||
<div t-out="object.event_id.address_id.street or ''">Puerto Madero 9710</div>
|
||||
<t t-set="location" t-value="object.event_id.address_id.street"/>
|
||||
</t>
|
||||
<t t-if="object.event_id.address_id.street2">
|
||||
<div t-out="object.event_id.address_id.street2 or ''">Of A15, Santiago (RM)</div>
|
||||
<t t-set="location" t-value="'%s, %s' % (location, object.event_id.address_id.street2)"/>
|
||||
</t>
|
||||
<div>
|
||||
<t t-if="object.event_id.address_id.city">
|
||||
<t t-out="object.event_id.address_id.city or ''">Pudahuel</t>,
|
||||
<t t-set="location" t-value="'%s, %s' % (location, object.event_id.address_id.city)"/>
|
||||
</t>
|
||||
<t t-if="object.event_id.address_id.state_id.name">
|
||||
<t t-out="object.event_id.address_id.state_id.name or ''">C1</t>,
|
||||
<t t-set="location" t-value="'%s, %s' % (location, object.event_id.address_id.state_id.name)"/>
|
||||
</t>
|
||||
<t t-if="object.event_id.address_id.zip">
|
||||
<t t-out="object.event_id.address_id.zip or ''">98450</t>
|
||||
<t t-set="location" t-value="'%s, %s' % (location, object.event_id.address_id.zip)"/>
|
||||
</t>
|
||||
</div>
|
||||
<t t-if="object.event_id.address_id.country_id.name">
|
||||
<div t-out="object.event_id.address_id.country_id.name or ''">Argentina</div>
|
||||
<t t-set="location" t-value="'%s, %s' % (location, object.event_id.address_id.country_id.name)"/>
|
||||
</t>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td style="text-align:center;">
|
||||
<t t-if="event_organizer">
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;"/>
|
||||
</t>
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign="top" style="font-size: 14px;">
|
||||
<!-- CONTACT ORGANIZER -->
|
||||
<t t-if="event_organizer">
|
||||
<div>
|
||||
<span style="font-weight:300;margin:10px 0px">Questions about this event?</span>
|
||||
<div>Please contact the organizer:</div>
|
||||
<ul>
|
||||
<li><t t-out="event_organizer.name or ''">YourCompany</t></li>
|
||||
<t t-if="event_organizer.email">
|
||||
<li>Mail: <a t-attf-href="mailto:{{ event_organizer.email }}" style="text-decoration:none;color:#875A7B;" t-out="event_organizer.email or ''">info@yourcompany.com</a></li>
|
||||
</t>
|
||||
<t t-if="event_organizer.phone">
|
||||
<li>Phone: <t t-out="event_organizer.phone or ''">+1 650-123-4567</t></li>
|
||||
</t>
|
||||
</ul>
|
||||
</div>
|
||||
</t>
|
||||
</td></tr>
|
||||
<tr><td style="text-align:center;">
|
||||
<!-- CONTACT ORGANIZER SEPARATION -->
|
||||
<t t-if="is_online or event_address">
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;"/>
|
||||
</t>
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign="top" style="font-size: 14px;">
|
||||
<!-- PWA MARKGETING -->
|
||||
<t t-if="is_online">
|
||||
<div>
|
||||
<strong>Get the best mobile experience.</strong>
|
||||
<a href="/event">Install our mobile app</a>
|
||||
</div>
|
||||
</t>
|
||||
</td></tr>
|
||||
<tr><td style="text-align:center;">
|
||||
<!-- PWA MARKGETING SEPARATION-->
|
||||
<t t-if="is_online and event_address">
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;"/>
|
||||
</t>
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign="top" style="font-size: 14px;">
|
||||
<!-- GOOGLE MAPS LINK -->
|
||||
<t t-if="event_address and location">
|
||||
<table style="width:100%;"><tr><td>
|
||||
<div>
|
||||
<i class="fa fa-map-marker"/>
|
||||
<a t-attf-href="https://maps.google.com/maps?q={{ location }}" target="new">
|
||||
See location on Google Maps
|
||||
</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</t>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td></tr>
|
||||
<!-- FOOTER BY -->
|
||||
<tr><td align="center" style="min-width: 590px;">
|
||||
<t t-if="object.company_id">
|
||||
<table width="590" border="0" cellpadding="0" cellspacing="0" style="min-width: 590px; background-color: #F1F1F1; color: #454748; padding: 8px; border-collapse:separate;">
|
||||
<tr><td style="text-align: center; font-size: 14px;">
|
||||
Sent by <a target="_blank" t-attf-href="{{ object.company_id.website }}" style="color: #875A7B;" t-out="object.company_id.name or ''">YourCompany</a>
|
||||
<t t-if="is_online">
|
||||
<br />
|
||||
Discover <a href="/event" style="color:#875A7B;">all our events</a>.
|
||||
</t>
|
||||
</td></tr>
|
||||
</table>
|
||||
</t>
|
||||
</td></tr>
|
||||
</table>
|
||||
</field>
|
||||
<field name="report_template" ref="action_report_event_registration_full_page_ticket"/>
|
||||
<field name="report_name">Full Page Ticket - {{ (object.event_id.name or 'Event').replace('/','') }}</field>
|
||||
<field name="lang">{{ object.partner_id.lang }}</field>
|
||||
</record>
|
||||
|
||||
<record id="event_reminder" model="mail.template">
|
||||
<field name="name">Event: Reminder</field>
|
||||
<field name="model_id" ref="event.model_event_registration"/>
|
||||
<field name="subject">{{ object.event_id.name }}: {{ object.get_date_range_str() }}</field>
|
||||
<field name="email_from">{{ (object.event_id.organizer_id.email_formatted or object.event_id.user_id.email_formatted or '') }}</field>
|
||||
<field name="email_to">{{ (object.email and '"%s" <%s>' % (object.name, object.email) or object.partner_id.email_formatted or '') }}</field>
|
||||
<field name="description">Sent automatically to attendees if there is a reminder defined on the event</field>
|
||||
<field name="body_html" type="html">
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="padding-top: 16px; background-color: #F1F1F1; font-family:Verdana, Arial,sans-serif; color: #454748; width: 100%; border-collapse:separate;"><tr><td align="center">
|
||||
<t t-set="date_begin" t-value="format_datetime(object.event_id.date_begin, tz='UTC', dt_format="yyyyMMdd'T'HHmmss'Z'")"/>
|
||||
<t t-set="date_end" t-value="format_datetime(object.event_id.date_end, tz='UTC', dt_format="yyyyMMdd'T'HHmmss'Z'")"/>
|
||||
<t t-set="is_online" t-value="'is_published' in object.event_id and object.event_id.is_published"/>
|
||||
<t t-set="event_organizer" t-value="object.event_id.organizer_id"/>
|
||||
<t t-set="event_address" t-value="object.event_id.address_id"/>
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="590" style="padding: 16px; background-color: white; color: #454748; border-collapse:separate;">
|
||||
<tbody>
|
||||
<!-- HEADER -->
|
||||
<tr>
|
||||
<td align="center" style="min-width: 590px;">
|
||||
<table width="590" border="0" cellpadding="0" cellspacing="0" style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;">
|
||||
<tr><td valign="middle">
|
||||
<span style="font-size: 10px;">Your registration</span><br/>
|
||||
<span style="font-size: 20px; font-weight: bold;" t-out="object.name or ''">Oscar Morgan</span>
|
||||
</td><td valign="middle" align="right">
|
||||
<t t-if="is_online">
|
||||
<a t-attf-href="{{ object.event_id.website_url }}"
|
||||
style="padding: 8px 12px; font-size: 12px; color: #FFFFFF; text-decoration: none !important; font-weight: 400; background-color: #875A7B; border: 0px solid #875A7B; border-radius:3px">
|
||||
View Event
|
||||
</a>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<img t-att-src="'/logo.png?company=%s' % object.company_id.id" style="padding: 0px; margin: 0px; height: auto; width: 80px;" t-att-alt="'%s' % object.company_id.name"/>
|
||||
</t>
|
||||
</td></tr>
|
||||
<tr><td colspan="2" style="text-align:center;">
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin:16px 0px 16px 0px;"/>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- EVENT DESCRIPTION -->
|
||||
<tr>
|
||||
<td align="center" style="min-width: 590px;">
|
||||
<table width="590" border="0" cellpadding="0" cellspacing="0" style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;">
|
||||
<tr><td valign="top" style="font-size: 14px;">
|
||||
<div>
|
||||
Hello <t t-out="object.name or ''">Oscar Morgan</t>,<br/>
|
||||
We are excited to remind you that the event
|
||||
<t t-if="is_online">
|
||||
<a t-att-href="object.event_id.website_url" style="color:#875A7B;text-decoration:none;" t-out="object.event_id.name or ''">OpenWood Collection Online Reveal</a>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<strong t-out="object.event_id.name or ''">OpenWood Collection Online Reveal</strong>
|
||||
</t>
|
||||
is starting <strong t-out="object.get_date_range_str() or ''">today</strong>.
|
||||
</div>
|
||||
<div>
|
||||
<br />
|
||||
<strong>Add this event to your calendar</strong>
|
||||
<a t-attf-href="https://www.google.com/calendar/render?action=TEMPLATE&text={{ object.event_id.name }}&dates={{ date_begin }}/{{ date_end }}&location={{ location }}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Google</a>
|
||||
<a t-attf-href="/event/{{ slug(object.event_id) }}/ics" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;"><img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> iCal/Outlook</a>
|
||||
<a t-attf-href="https://calendar.yahoo.com/?v=60&view=d&type=20&title={{ object.event_id.name }}&in_loc={{ location }}&st={{ format_datetime(object.event_id.date_begin, tz='UTC', dt_format='yyyyMMdd\'T\'HHmmss') }}&et={{ format_datetime(object.event_id.date_end, tz='UTC', dt_format='yyyyMMdd\'T\'HHmmss') }}" style="padding:3px 5px;border:1px solid #875A7B;color:#875A7B;text-decoration:none;border-radius:3px;" target="new">
|
||||
<img src="/web_editor/font_to_img/61525/rgb(135,90,123)/16" style="vertical-align:middle;" height="16" alt=""/> Yahoo
|
||||
</a>
|
||||
<br /><br />
|
||||
</div>
|
||||
<div>
|
||||
We confirm your registration and hope to meet you there,<br/>
|
||||
<span style="color: #454748;">
|
||||
-- <br/>
|
||||
<t t-if="event_organizer">
|
||||
<t t-out="event_organizer.name or ''">YourCompany</t>
|
||||
</t>
|
||||
<t t-else="">
|
||||
The <t t-out="object.event_id.name or ''">OpenWood Collection Online Reveal</t> Team
|
||||
</t>
|
||||
</span>
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td style="text-align:center;">
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;"/>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- DETAILS -->
|
||||
<tr>
|
||||
<td align="center" style="min-width: 590px;">
|
||||
<table width="590" border="0" cellpadding="0" cellspacing="0" style="min-width: 590px; background-color: white; padding: 0px 8px 0px 8px; border-collapse:separate;">
|
||||
<tr><td valign="top" style="font-size: 14px;">
|
||||
<table style="width:100%;">
|
||||
<tr>
|
||||
<td style="vertical-align:top;">
|
||||
<img src="/web_editor/font_to_img/61555/rgb(81,81,102)/34" style="padding:4px;max-width:inherit;" height="34" alt=""/>
|
||||
</td>
|
||||
<td style="padding: 0px 10px 0px 10px;width:50%;line-height:20px;vertical-align:top;">
|
||||
<div><strong>From</strong> <t t-out="object.event_id.date_begin_located or ''">May 4, 2021, 7:00:00 AM</t></div>
|
||||
<div><strong>To</strong> <t t-out="object.event_id.date_end_located or ''">May 6, 2021, 5:00:00 PM</t></div>
|
||||
<div style="font-size:12px;color:#9e9e9e"><i><t t-out="object.event_id.date_tz or ''">Europe/Brussels</t></i></div>
|
||||
</td>
|
||||
<td style="vertical-align:top;">
|
||||
<t t-if="event_address">
|
||||
<img src="/web_editor/font_to_img/61505/rgb(81,81,102)/34" style="padding:4px;max-width:inherit;" height="34" alt=""/>
|
||||
</t>
|
||||
</td>
|
||||
<td style="padding: 0px 10px 0px 10px;width:50%;vertical-align:top;">
|
||||
<t t-if="event_address">
|
||||
<t t-set="location" t-value="''"/>
|
||||
<t t-if="object.event_id.address_id.name">
|
||||
<div t-out="object.event_id.address_id.name or ''">Teksa SpA</div>
|
||||
</t>
|
||||
<t t-if="object.event_id.address_id.street">
|
||||
<div t-out="object.event_id.address_id.street or ''">Puerto Madero 9710</div>
|
||||
<t t-set="location" t-value="object.event_id.address_id.street"/>
|
||||
</t>
|
||||
<t t-if="object.event_id.address_id.street2">
|
||||
<div t-out="object.event_id.address_id.street2 or ''">Of A15, Santiago (RM)</div>
|
||||
<t t-set="location" t-value="'%s, %s' % (location, object.event_id.address_id.street2)"/>
|
||||
</t>
|
||||
<div>
|
||||
<t t-if="object.event_id.address_id.city">
|
||||
<t t-out="object.event_id.address_id.city or ''">Pudahuel</t>,
|
||||
<t t-set="location" t-value="'%s, %s' % (location, object.event_id.address_id.city)"/>
|
||||
</t>
|
||||
<t t-if="object.event_id.address_id.state_id.name">
|
||||
<t t-out="object.event_id.address_id.state_id.name or ''">C1</t>,
|
||||
<t t-set="location" t-value="'%s, %s' % (location, object.event_id.address_id.state_id.name)"/>
|
||||
</t>
|
||||
<t t-if="object.event_id.address_id.zip">
|
||||
<t t-out="object.event_id.address_id.zip or ''">98450</t>
|
||||
<t t-set="location" t-value="'%s, %s' % (location, object.event_id.address_id.zip)"/>
|
||||
</t>
|
||||
</div>
|
||||
<t t-if="object.event_id.address_id.country_id.name">
|
||||
<div t-out="object.event_id.address_id.country_id.name or ''">Argentina</div>
|
||||
<t t-set="location" t-value="'%s, %s' % (location, object.event_id.address_id.country_id.name)"/>
|
||||
</t>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td style="text-align:center;">
|
||||
<t t-if="event_organizer">
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;"/>
|
||||
</t>
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign="top" style="font-size: 14px;">
|
||||
<!-- CONTACT ORGANIZER -->
|
||||
<t t-if="event_organizer">
|
||||
<div>
|
||||
<span style="font-weight:300;margin:10px 0px">Questions about this event?</span>
|
||||
<div>Please contact the organizer:</div>
|
||||
<ul>
|
||||
<li t-out="event_organizer.name or ''">YourCompany</li>
|
||||
<t t-if="event_organizer.email">
|
||||
<li>Mail: <a t-attf-href="mailto:{{ event_organizer.email }}" style="text-decoration:none;color:#875A7B;" t-out="event_organizer.email or ''"></a></li>
|
||||
</t>
|
||||
<t t-if="event_organizer.phone">
|
||||
<li>Phone: <t t-out="event_organizer.phone or ''"></t></li>
|
||||
</t>
|
||||
</ul>
|
||||
</div>
|
||||
</t>
|
||||
</td></tr>
|
||||
<tr><td style="text-align:center;">
|
||||
<!-- CONTACT ORGANIZER SEPARATION -->
|
||||
<hr t-if="is_online or event_address" width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;"/>
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign="top" style="font-size: 14px;">
|
||||
<!-- PWA MARKGETING -->
|
||||
<div t-if="is_online">
|
||||
<strong>Get the best mobile experience.</strong>
|
||||
<a href="/event">Install our mobile app</a>
|
||||
</div>
|
||||
</td></tr>
|
||||
<tr><td style="text-align:center;">
|
||||
<!-- PWA MARKGETING SEPARATION-->
|
||||
<hr t-if="is_online and event_address" width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin: 16px 0px 16px 0px;"/>
|
||||
</td></tr>
|
||||
|
||||
<tr><td valign="top" style="font-size: 14px;">
|
||||
<!-- GOOGLE MAPS LINK -->
|
||||
<table t-if="event_address" style="width:100%;"><tr><td>
|
||||
<div>
|
||||
<i class="fa fa-map-marker"/>
|
||||
<a t-attf-href="https://maps.google.com/maps?q={{ location }}" target="new">
|
||||
See location on Google Maps
|
||||
</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td></tr>
|
||||
<!-- FOOTER BY -->
|
||||
<tr><td align="center" style="min-width: 590px;">
|
||||
<table t-if="object.company_id" width="590" border="0" cellpadding="0" cellspacing="0" style="min-width: 590px; background-color: #F1F1F1; color: #454748; padding: 8px; border-collapse:separate;">
|
||||
<tr><td style="text-align: center; font-size: 14px;">
|
||||
Sent by <a target="_blank" t-attf-href="{{ object.company_id.website }}" style="color: #875A7B;" t-out="object.company_id.name or ''">YourCompany</a>
|
||||
<t t-if="'website_url' in object.event_id and object.event_id.website_url">
|
||||
<br />
|
||||
Discover <a href="/event" style="color:#875A7B;">all our events</a>.
|
||||
</t>
|
||||
</td></tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
</table>
|
||||
</field>
|
||||
<field name="lang">{{ object.partner_id.lang }}</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
88
odoo-bringout-oca-ocb-event/event/data/res_partner_demo.xml
Normal file
88
odoo-bringout-oca-ocb-event/event/data/res_partner_demo.xml
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
<?xml version="1.0"?>
|
||||
<odoo><data>
|
||||
|
||||
<!-- LOCATIONS -->
|
||||
<record id="res_partner_location_0" model="res.partner">
|
||||
<field name="name">Reno Airfield</field>
|
||||
<field name="is_company">1</field>
|
||||
<field name="street">1235 Columbia Hill Rd</field>
|
||||
<field name="city">Reno</field>
|
||||
<field name="state_id" ref='base.state_us_23'/>
|
||||
<field name="zip">89508</field>
|
||||
<field name="country_id" ref="base.us"/>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_location_1" model="res.partner">
|
||||
<field name="name">Wembley Stadium</field>
|
||||
<field name="is_company">1</field>
|
||||
<field name="street">Wembley HA9 0WS</field>
|
||||
<field name="city">London</field>
|
||||
<field name="state_id" ref='base.state_uk117'/>
|
||||
<field name="country_id" ref="base.uk"/>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_location_2" model="res.partner">
|
||||
<field name="name">Los Angeles Convention Center</field>
|
||||
<field name="is_company">1</field>
|
||||
<field name="street">1201 S Figueroa St</field>
|
||||
<field name="city">Los Angeles</field>
|
||||
<field name="state_id" ref='base.state_us_5'/>
|
||||
<field name="zip">90015</field>
|
||||
<field name="country_id" ref="base.us"/>
|
||||
</record>
|
||||
|
||||
<!-- SPONSORS / OTHER COUNTRIES -->
|
||||
<record id="res_partner_event_1" model="res.partner">
|
||||
<field name="name">Bloem GmbH</field>
|
||||
<field name="is_company" eval="True"/>
|
||||
<field name="image_1920" type="base64" file="event/static/src/img/partner_bloem.png"/>
|
||||
<field name="street">Behrenstraße 55</field>
|
||||
<field name="zip">10117</field>
|
||||
<field name="city">Berlin</field>
|
||||
<field name="country_id" ref="base.de"/>
|
||||
<field name="phone">+49 30 12345678</field>
|
||||
<field name="mobile">+49 30 87654321</field>
|
||||
<field name="email">flower@example.com</field>
|
||||
<field name="website">www.flower.example.com</field>
|
||||
</record>
|
||||
<record id="res_partner_event_2" model="res.partner">
|
||||
<field name="name">OpenWood</field>
|
||||
<field name="is_company" eval="True"/>
|
||||
<field name="image_1920" type="base64" file="event/static/src/img/partner_open_wood.png"/>
|
||||
<field name="street">Orval 1</field>
|
||||
<field name="zip">6823</field>
|
||||
<field name="city">Florenville</field>
|
||||
<field name="country_id" ref="base.be"/>
|
||||
<field name="phone">+32 987 65 43 21</field>
|
||||
<field name="mobile">+32 987 65 43 21</field>
|
||||
<field name="email">wow@example.com</field>
|
||||
<field name="website">www.openwood.example.com</field>
|
||||
</record>
|
||||
<record id="res_partner_event_3" model="res.partner">
|
||||
<field name="name">Tree Dealers SP</field>
|
||||
<field name="is_company" eval="True"/>
|
||||
<field name="image_1920" type="base64" file="event/static/src/img/partner_tree_dealers.png"/>
|
||||
<field name="street">Place d'Youville, 995</field>
|
||||
<field name="zip">QC G1R 3P1</field>
|
||||
<field name="city">Ville de Quebec</field>
|
||||
<field name="country_id" ref="base.ca"/>
|
||||
<field name="phone">+1 418 123 4567</field>
|
||||
<field name="mobile">+1 418 765 4321</field>
|
||||
<field name="email">tree@example.com</field>
|
||||
<field name="website">www.tree.example.com</field>
|
||||
</record>
|
||||
<record id="res_partner_event_4" model="res.partner">
|
||||
<field name="name">Shangai Pterocarpus Furniture Co., Ltd.</field>
|
||||
<field name="is_company" eval="True"/>
|
||||
<field name="image_1920" type="base64" file="event/static/src/img/partner_pterocarpus.png"/>
|
||||
<field name="street">68 Taicang Rd, Shi Men Er Lu Jie Dao, Huangpu Qu</field>
|
||||
<field name="zip">200000</field>
|
||||
<field name="city">Shanghai Shi</field>
|
||||
<field name="country_id" ref="base.cn"/>
|
||||
<field name="phone">+86 21 1234 5678</field>
|
||||
<field name="mobile">+86 21 8765 4321</field>
|
||||
<field name="email">ptero@example.com</field>
|
||||
<field name="website">www.pterocarpus.example.com</field>
|
||||
</record>
|
||||
|
||||
</data></odoo>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
<record id="base.user_demo" model="res.users">
|
||||
<field name="groups_id" eval="[(4, ref('event.group_event_user'))]"/>
|
||||
</record>
|
||||
</odoo>
|
||||
3559
odoo-bringout-oca-ocb-event/event/i18n/af.po
Normal file
3559
odoo-bringout-oca-ocb-event/event/i18n/af.po
Normal file
File diff suppressed because it is too large
Load diff
3536
odoo-bringout-oca-ocb-event/event/i18n/am.po
Normal file
3536
odoo-bringout-oca-ocb-event/event/i18n/am.po
Normal file
File diff suppressed because it is too large
Load diff
4163
odoo-bringout-oca-ocb-event/event/i18n/ar.po
Normal file
4163
odoo-bringout-oca-ocb-event/event/i18n/ar.po
Normal file
File diff suppressed because it is too large
Load diff
3582
odoo-bringout-oca-ocb-event/event/i18n/az.po
Normal file
3582
odoo-bringout-oca-ocb-event/event/i18n/az.po
Normal file
File diff suppressed because it is too large
Load diff
3559
odoo-bringout-oca-ocb-event/event/i18n/be.po
Normal file
3559
odoo-bringout-oca-ocb-event/event/i18n/be.po
Normal file
File diff suppressed because it is too large
Load diff
3625
odoo-bringout-oca-ocb-event/event/i18n/bg.po
Normal file
3625
odoo-bringout-oca-ocb-event/event/i18n/bg.po
Normal file
File diff suppressed because it is too large
Load diff
3555
odoo-bringout-oca-ocb-event/event/i18n/bs.po
Normal file
3555
odoo-bringout-oca-ocb-event/event/i18n/bs.po
Normal file
File diff suppressed because one or more lines are too long
4233
odoo-bringout-oca-ocb-event/event/i18n/ca.po
Normal file
4233
odoo-bringout-oca-ocb-event/event/i18n/ca.po
Normal file
File diff suppressed because it is too large
Load diff
4172
odoo-bringout-oca-ocb-event/event/i18n/cs.po
Normal file
4172
odoo-bringout-oca-ocb-event/event/i18n/cs.po
Normal file
File diff suppressed because it is too large
Load diff
3749
odoo-bringout-oca-ocb-event/event/i18n/da.po
Normal file
3749
odoo-bringout-oca-ocb-event/event/i18n/da.po
Normal file
File diff suppressed because it is too large
Load diff
4242
odoo-bringout-oca-ocb-event/event/i18n/de.po
Normal file
4242
odoo-bringout-oca-ocb-event/event/i18n/de.po
Normal file
File diff suppressed because it is too large
Load diff
2167
odoo-bringout-oca-ocb-event/event/i18n/el.po
Normal file
2167
odoo-bringout-oca-ocb-event/event/i18n/el.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/en_GB.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/en_GB.po
Normal file
File diff suppressed because it is too large
Load diff
4222
odoo-bringout-oca-ocb-event/event/i18n/es.po
Normal file
4222
odoo-bringout-oca-ocb-event/event/i18n/es.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/es_BO.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/es_BO.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/es_CL.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/es_CL.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/es_CO.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/es_CO.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/es_CR.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/es_CR.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/es_DO.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/es_DO.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/es_EC.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/es_EC.po
Normal file
File diff suppressed because it is too large
Load diff
4220
odoo-bringout-oca-ocb-event/event/i18n/es_MX.po
Normal file
4220
odoo-bringout-oca-ocb-event/event/i18n/es_MX.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/es_PE.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/es_PE.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/es_PY.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/es_PY.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/es_VE.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/es_VE.po
Normal file
File diff suppressed because it is too large
Load diff
3749
odoo-bringout-oca-ocb-event/event/i18n/et.po
Normal file
3749
odoo-bringout-oca-ocb-event/event/i18n/et.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/eu.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/eu.po
Normal file
File diff suppressed because it is too large
Load diff
3555
odoo-bringout-oca-ocb-event/event/i18n/event.pot
Normal file
3555
odoo-bringout-oca-ocb-event/event/i18n/event.pot
Normal file
File diff suppressed because it is too large
Load diff
3591
odoo-bringout-oca-ocb-event/event/i18n/fa.po
Normal file
3591
odoo-bringout-oca-ocb-event/event/i18n/fa.po
Normal file
File diff suppressed because it is too large
Load diff
4215
odoo-bringout-oca-ocb-event/event/i18n/fi.po
Normal file
4215
odoo-bringout-oca-ocb-event/event/i18n/fi.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/fo.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/fo.po
Normal file
File diff suppressed because it is too large
Load diff
4231
odoo-bringout-oca-ocb-event/event/i18n/fr.po
Normal file
4231
odoo-bringout-oca-ocb-event/event/i18n/fr.po
Normal file
File diff suppressed because it is too large
Load diff
1810
odoo-bringout-oca-ocb-event/event/i18n/fr_BE.po
Normal file
1810
odoo-bringout-oca-ocb-event/event/i18n/fr_BE.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/fr_CA.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/fr_CA.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/gl.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/gl.po
Normal file
File diff suppressed because it is too large
Load diff
3563
odoo-bringout-oca-ocb-event/event/i18n/gu.po
Normal file
3563
odoo-bringout-oca-ocb-event/event/i18n/gu.po
Normal file
File diff suppressed because it is too large
Load diff
3702
odoo-bringout-oca-ocb-event/event/i18n/he.po
Normal file
3702
odoo-bringout-oca-ocb-event/event/i18n/he.po
Normal file
File diff suppressed because it is too large
Load diff
3569
odoo-bringout-oca-ocb-event/event/i18n/hi.po
Normal file
3569
odoo-bringout-oca-ocb-event/event/i18n/hi.po
Normal file
File diff suppressed because it is too large
Load diff
3612
odoo-bringout-oca-ocb-event/event/i18n/hr.po
Normal file
3612
odoo-bringout-oca-ocb-event/event/i18n/hr.po
Normal file
File diff suppressed because it is too large
Load diff
3601
odoo-bringout-oca-ocb-event/event/i18n/hu.po
Normal file
3601
odoo-bringout-oca-ocb-event/event/i18n/hu.po
Normal file
File diff suppressed because it is too large
Load diff
3536
odoo-bringout-oca-ocb-event/event/i18n/hy.po
Normal file
3536
odoo-bringout-oca-ocb-event/event/i18n/hy.po
Normal file
File diff suppressed because it is too large
Load diff
4165
odoo-bringout-oca-ocb-event/event/i18n/id.po
Normal file
4165
odoo-bringout-oca-ocb-event/event/i18n/id.po
Normal file
File diff suppressed because it is too large
Load diff
3565
odoo-bringout-oca-ocb-event/event/i18n/is.po
Normal file
3565
odoo-bringout-oca-ocb-event/event/i18n/is.po
Normal file
File diff suppressed because it is too large
Load diff
4217
odoo-bringout-oca-ocb-event/event/i18n/it.po
Normal file
4217
odoo-bringout-oca-ocb-event/event/i18n/it.po
Normal file
File diff suppressed because it is too large
Load diff
3622
odoo-bringout-oca-ocb-event/event/i18n/ja.po
Normal file
3622
odoo-bringout-oca-ocb-event/event/i18n/ja.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/ka.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/ka.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/kab.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/kab.po
Normal file
File diff suppressed because it is too large
Load diff
3583
odoo-bringout-oca-ocb-event/event/i18n/km.po
Normal file
3583
odoo-bringout-oca-ocb-event/event/i18n/km.po
Normal file
File diff suppressed because it is too large
Load diff
3643
odoo-bringout-oca-ocb-event/event/i18n/ko.po
Normal file
3643
odoo-bringout-oca-ocb-event/event/i18n/ko.po
Normal file
File diff suppressed because it is too large
Load diff
1948
odoo-bringout-oca-ocb-event/event/i18n/lb.po
Normal file
1948
odoo-bringout-oca-ocb-event/event/i18n/lb.po
Normal file
File diff suppressed because it is too large
Load diff
3563
odoo-bringout-oca-ocb-event/event/i18n/lo.po
Normal file
3563
odoo-bringout-oca-ocb-event/event/i18n/lo.po
Normal file
File diff suppressed because it is too large
Load diff
3655
odoo-bringout-oca-ocb-event/event/i18n/lt.po
Normal file
3655
odoo-bringout-oca-ocb-event/event/i18n/lt.po
Normal file
File diff suppressed because it is too large
Load diff
3573
odoo-bringout-oca-ocb-event/event/i18n/lv.po
Normal file
3573
odoo-bringout-oca-ocb-event/event/i18n/lv.po
Normal file
File diff suppressed because it is too large
Load diff
2030
odoo-bringout-oca-ocb-event/event/i18n/mk.po
Normal file
2030
odoo-bringout-oca-ocb-event/event/i18n/mk.po
Normal file
File diff suppressed because it is too large
Load diff
3597
odoo-bringout-oca-ocb-event/event/i18n/ml.po
Normal file
3597
odoo-bringout-oca-ocb-event/event/i18n/ml.po
Normal file
File diff suppressed because it is too large
Load diff
3590
odoo-bringout-oca-ocb-event/event/i18n/mn.po
Normal file
3590
odoo-bringout-oca-ocb-event/event/i18n/mn.po
Normal file
File diff suppressed because it is too large
Load diff
3565
odoo-bringout-oca-ocb-event/event/i18n/ms.po
Normal file
3565
odoo-bringout-oca-ocb-event/event/i18n/ms.po
Normal file
File diff suppressed because it is too large
Load diff
3571
odoo-bringout-oca-ocb-event/event/i18n/nb.po
Normal file
3571
odoo-bringout-oca-ocb-event/event/i18n/nb.po
Normal file
File diff suppressed because it is too large
Load diff
2027
odoo-bringout-oca-ocb-event/event/i18n/ne.po
Normal file
2027
odoo-bringout-oca-ocb-event/event/i18n/ne.po
Normal file
File diff suppressed because it is too large
Load diff
4220
odoo-bringout-oca-ocb-event/event/i18n/nl.po
Normal file
4220
odoo-bringout-oca-ocb-event/event/i18n/nl.po
Normal file
File diff suppressed because it is too large
Load diff
3559
odoo-bringout-oca-ocb-event/event/i18n/no.po
Normal file
3559
odoo-bringout-oca-ocb-event/event/i18n/no.po
Normal file
File diff suppressed because it is too large
Load diff
4230
odoo-bringout-oca-ocb-event/event/i18n/pl.po
Normal file
4230
odoo-bringout-oca-ocb-event/event/i18n/pl.po
Normal file
File diff suppressed because it is too large
Load diff
4230
odoo-bringout-oca-ocb-event/event/i18n/pt.po
Normal file
4230
odoo-bringout-oca-ocb-event/event/i18n/pt.po
Normal file
File diff suppressed because it is too large
Load diff
3995
odoo-bringout-oca-ocb-event/event/i18n/pt_BR.po
Normal file
3995
odoo-bringout-oca-ocb-event/event/i18n/pt_BR.po
Normal file
File diff suppressed because it is too large
Load diff
3783
odoo-bringout-oca-ocb-event/event/i18n/ro.po
Normal file
3783
odoo-bringout-oca-ocb-event/event/i18n/ro.po
Normal file
File diff suppressed because it is too large
Load diff
3766
odoo-bringout-oca-ocb-event/event/i18n/ru.po
Normal file
3766
odoo-bringout-oca-ocb-event/event/i18n/ru.po
Normal file
File diff suppressed because it is too large
Load diff
3620
odoo-bringout-oca-ocb-event/event/i18n/sk.po
Normal file
3620
odoo-bringout-oca-ocb-event/event/i18n/sk.po
Normal file
File diff suppressed because it is too large
Load diff
3728
odoo-bringout-oca-ocb-event/event/i18n/sl.po
Normal file
3728
odoo-bringout-oca-ocb-event/event/i18n/sl.po
Normal file
File diff suppressed because it is too large
Load diff
3536
odoo-bringout-oca-ocb-event/event/i18n/sq.po
Normal file
3536
odoo-bringout-oca-ocb-event/event/i18n/sq.po
Normal file
File diff suppressed because it is too large
Load diff
3762
odoo-bringout-oca-ocb-event/event/i18n/sr.po
Normal file
3762
odoo-bringout-oca-ocb-event/event/i18n/sr.po
Normal file
File diff suppressed because it is too large
Load diff
2035
odoo-bringout-oca-ocb-event/event/i18n/sr@latin.po
Normal file
2035
odoo-bringout-oca-ocb-event/event/i18n/sr@latin.po
Normal file
File diff suppressed because it is too large
Load diff
4212
odoo-bringout-oca-ocb-event/event/i18n/sv.po
Normal file
4212
odoo-bringout-oca-ocb-event/event/i18n/sv.po
Normal file
File diff suppressed because it is too large
Load diff
3536
odoo-bringout-oca-ocb-event/event/i18n/sw.po
Normal file
3536
odoo-bringout-oca-ocb-event/event/i18n/sw.po
Normal file
File diff suppressed because it is too large
Load diff
3536
odoo-bringout-oca-ocb-event/event/i18n/ta.po
Normal file
3536
odoo-bringout-oca-ocb-event/event/i18n/ta.po
Normal file
File diff suppressed because it is too large
Load diff
3716
odoo-bringout-oca-ocb-event/event/i18n/th.po
Normal file
3716
odoo-bringout-oca-ocb-event/event/i18n/th.po
Normal file
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue