Initial commit: OCA Mrp packages (117 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:05 +02:00
commit 277e84fd7a
4403 changed files with 395154 additions and 0 deletions

163
README.md Normal file
View file

@ -0,0 +1,163 @@
# OCA Mrp
This repository contains **117** OCA packages for mrp.
## Packages Included (117 packages)
- **odoo-bringout-oca-event-event_contact** - From event: event_contact
- **odoo-bringout-oca-event-event_mail** - From event: event_mail
- **odoo-bringout-oca-event-event_project** - From event: event_project
- **odoo-bringout-oca-event-event_registration_mass_mailing** - From event: event_registration_mass_mailing
- **odoo-bringout-oca-event-event_registration_multi_qty** - From event: event_registration_multi_qty
- **odoo-bringout-oca-event-event_registration_partner_unique** - From event: event_registration_partner_unique
- **odoo-bringout-oca-event-event_registration_qr_code** - From event: event_registration_qr_code
- **odoo-bringout-oca-event-event_sale_registration_multi_qty** - From event: event_sale_registration_multi_qty
- **odoo-bringout-oca-event-event_sale_session** - From event: event_sale_session
- **odoo-bringout-oca-event-event_session** - From event: event_session
- **odoo-bringout-oca-event-event_session_registration_multi_qty** - From event: event_session_registration_multi_qty
- **odoo-bringout-oca-event-partner_event** - From event: partner_event
- **odoo-bringout-oca-event-website_event_contact** - From event: website_event_contact
- **odoo-bringout-oca-event-website_event_membership_restriction** - From event: website_event_membership_restriction
- **odoo-bringout-oca-event-website_event_questions_by_ticket** - From event: website_event_questions_by_ticket
- **odoo-bringout-oca-event-website_event_require_legal** - From event: website_event_require_legal
- **odoo-bringout-oca-event-website_event_require_login** - From event: website_event_require_login
- **odoo-bringout-oca-event-website_event_sale_cart_quantity_readonly** - From event: website_event_sale_cart_quantity_readonly
- **odoo-bringout-oca-event-website_event_ticket_limit** - From event: website_event_ticket_limit
- **odoo-bringout-oca-manufacture-account_move_line_mrp_info** - From manufacture: account_move_line_mrp_info
- **odoo-bringout-oca-manufacture-mrp_attachment_mgmt** - From manufacture: mrp_attachment_mgmt
- **odoo-bringout-oca-manufacture-mrp_bom_component_menu** - From manufacture: mrp_bom_component_menu
- **odoo-bringout-oca-manufacture-mrp_bom_hierarchy** - From manufacture: mrp_bom_hierarchy
- **odoo-bringout-oca-manufacture-mrp_bom_image** - From manufacture: mrp_bom_image
- **odoo-bringout-oca-manufacture-mrp_bom_line_formula_quantity** - From manufacture: mrp_bom_line_formula_quantity
- **odoo-bringout-oca-manufacture-mrp_bom_line_net_qty** - From manufacture: mrp_bom_line_net_qty
- **odoo-bringout-oca-manufacture-mrp_bom_location** - From manufacture: mrp_bom_location
- **odoo-bringout-oca-manufacture-mrp_bom_note** - From manufacture: mrp_bom_note
- **odoo-bringout-oca-manufacture-mrp_bom_produce_delay** - From manufacture: mrp_bom_produce_delay
- **odoo-bringout-oca-manufacture-mrp_bom_product_price_margin** - From manufacture: mrp_bom_product_price_margin
- **odoo-bringout-oca-manufacture-mrp_bom_select_product_variant** - From manufacture: mrp_bom_select_product_variant
- **odoo-bringout-oca-manufacture-mrp_bom_tag** - From manufacture: mrp_bom_tag
- **odoo-bringout-oca-manufacture-mrp_bom_tracking** - From manufacture: mrp_bom_tracking
- **odoo-bringout-oca-manufacture-mrp_bom_version** - From manufacture: mrp_bom_version
- **odoo-bringout-oca-manufacture-mrp_bom_widget_section_and_note_one2many** - From manufacture: mrp_bom_widget_section_and_note_one2many
- **odoo-bringout-oca-manufacture-mrp_default_workorder_time** - From manufacture: mrp_default_workorder_time
- **odoo-bringout-oca-manufacture-mrp_lot_number_propagation** - From manufacture: mrp_lot_number_propagation
- **odoo-bringout-oca-manufacture-mrp_lot_production_date** - From manufacture: mrp_lot_production_date
- **odoo-bringout-oca-manufacture-mrp_mto_owner** - From manufacture: mrp_mto_owner
- **odoo-bringout-oca-manufacture-mrp_multi_level** - From manufacture: mrp_multi_level
- **odoo-bringout-oca-manufacture-mrp_multi_level_estimate** - From manufacture: mrp_multi_level_estimate
- **odoo-bringout-oca-manufacture-mrp_packaging_default** - From manufacture: mrp_packaging_default
- **odoo-bringout-oca-manufacture-mrp_planned_order_matrix** - From manufacture: mrp_planned_order_matrix
- **odoo-bringout-oca-manufacture-mrp_product_characterisation** - From manufacture: mrp_product_characterisation
- **odoo-bringout-oca-manufacture-mrp_product_produce_delay_in_hour** - From manufacture: mrp_product_produce_delay_in_hour
- **odoo-bringout-oca-manufacture-mrp_production_allow_recursive** - From manufacture: mrp_production_allow_recursive
- **odoo-bringout-oca-manufacture-mrp_production_back_to_draft** - From manufacture: mrp_production_back_to_draft
- **odoo-bringout-oca-manufacture-mrp_production_grouped_by_product** - From manufacture: mrp_production_grouped_by_product
- **odoo-bringout-oca-manufacture-mrp_production_move_line_auto_fill** - From manufacture: mrp_production_move_line_auto_fill
- **odoo-bringout-oca-manufacture-mrp_production_note** - From manufacture: mrp_production_note
- **odoo-bringout-oca-manufacture-mrp_production_quant_manual_assign** - From manufacture: mrp_production_quant_manual_assign
- **odoo-bringout-oca-manufacture-mrp_restrict_lot** - From manufacture: mrp_restrict_lot
- **odoo-bringout-oca-manufacture-mrp_sale_info** - From manufacture: mrp_sale_info
- **odoo-bringout-oca-manufacture-mrp_stock_owner_restriction** - From manufacture: mrp_stock_owner_restriction
- **odoo-bringout-oca-manufacture-mrp_subcontracting_bom_dual_use** - From manufacture: mrp_subcontracting_bom_dual_use
- **odoo-bringout-oca-manufacture-mrp_subcontracting_inhibit** - From manufacture: mrp_subcontracting_inhibit
- **odoo-bringout-oca-manufacture-mrp_subcontracting_partner_management** - From manufacture: mrp_subcontracting_partner_management
- **odoo-bringout-oca-manufacture-mrp_subcontracting_purchase_link** - From manufacture: mrp_subcontracting_purchase_link
- **odoo-bringout-oca-manufacture-mrp_subcontracting_skip_no_negative** - From manufacture: mrp_subcontracting_skip_no_negative
- **odoo-bringout-oca-manufacture-mrp_tag** - From manufacture: mrp_tag
- **odoo-bringout-oca-manufacture-mrp_unbuild_move_link** - From manufacture: mrp_unbuild_move_link
- **odoo-bringout-oca-manufacture-mrp_unbuild_restore_origin** - From manufacture: mrp_unbuild_restore_origin
- **odoo-bringout-oca-manufacture-mrp_unbuild_subcontracting** - From manufacture: mrp_unbuild_subcontracting
- **odoo-bringout-oca-manufacture-mrp_unbuild_valuation_layer_link** - From manufacture: mrp_unbuild_valuation_layer_link
- **odoo-bringout-oca-manufacture-mrp_warehouse_calendar** - From manufacture: mrp_warehouse_calendar
- **odoo-bringout-oca-manufacture-mrp_workcenter_cost** - From manufacture: mrp_workcenter_cost
- **odoo-bringout-oca-manufacture-mrp_workcenter_hierarchical** - From manufacture: mrp_workcenter_hierarchical
- **odoo-bringout-oca-manufacture-mrp_workcenter_workorder_link** - From manufacture: mrp_workcenter_workorder_link
- **odoo-bringout-oca-manufacture-mrp_workorder_last_worker** - From manufacture: mrp_workorder_last_worker
- **odoo-bringout-oca-manufacture-mrp_workorder_lot_display** - From manufacture: mrp_workorder_lot_display
- **odoo-bringout-oca-manufacture-mrp_workorder_priority** - From manufacture: mrp_workorder_priority
- **odoo-bringout-oca-manufacture-mrp_workorder_sequence** - From manufacture: mrp_workorder_sequence
- **odoo-bringout-oca-manufacture-product_mrp_info** - From manufacture: product_mrp_info
- **odoo-bringout-oca-manufacture-quality_control_mrp_oca** - From manufacture: quality_control_mrp_oca
- **odoo-bringout-oca-manufacture-quality_control_oca** - From manufacture: quality_control_oca
- **odoo-bringout-oca-manufacture-quality_control_stock_oca** - From manufacture: quality_control_stock_oca
- **odoo-bringout-oca-manufacture-reporting-mrp_bom_current_stock** - From manufacture: reporting_mrp_bom_current_stock
- **odoo-bringout-oca-manufacture-reporting-mrp_bom_structure_xlsx** - From manufacture: reporting_mrp_bom_structure_xlsx
- **odoo-bringout-oca-manufacture-reporting-mrp_bom_structure_xlsx_level_1** - From manufacture: reporting_mrp_bom_structure_xlsx_level_1
- **odoo-bringout-oca-manufacture-reporting-mrp_flattened_bom_xlsx** - From manufacture: reporting_mrp_flattened_bom_xlsx
- **odoo-bringout-oca-manufacture-reporting-mrp_flattened_bom_xlsx_direct_materials_cost** - From manufacture: reporting_mrp_flattened_bom_xlsx_direct_materials_cost
- **odoo-bringout-oca-manufacture-reporting-mrp_flattened_bom_xlsx_labour_cost** - From manufacture: reporting_mrp_flattened_bom_xlsx_labour_cost
- **odoo-bringout-oca-manufacture-reporting-mrp_flattened_bom_xlsx_subcontracting_cost** - From manufacture: reporting_mrp_flattened_bom_xlsx_subcontracting_cost
- **odoo-bringout-oca-manufacture-reporting-mrp_order_report_lot** - From manufacture: reporting_mrp_order_report_lot
- **odoo-bringout-oca-manufacture-reporting-mrp_order_report_lot_barcode** - From manufacture: reporting_mrp_order_report_lot_barcode
- **odoo-bringout-oca-manufacture-reporting-mrp_order_report_lot_reserved** - From manufacture: reporting_mrp_order_report_lot_reserved
- **odoo-bringout-oca-manufacture-reporting-mrp_order_report_reserved** - From manufacture: reporting_mrp_order_report_reserved
- **odoo-bringout-oca-timesheet-crm_timesheet** - From timesheet: crm_timesheet
- **odoo-bringout-oca-timesheet-hr_employee_cost_history** - From timesheet: hr_employee_cost_history
- **odoo-bringout-oca-timesheet-hr_timesheet_begin_end** - From timesheet: hr_timesheet_begin_end
- **odoo-bringout-oca-timesheet-hr_timesheet_calendar** - From timesheet: hr_timesheet_calendar
- **odoo-bringout-oca-timesheet-hr_timesheet_date_order_desc** - From timesheet: hr_timesheet_date_order_desc
- **odoo-bringout-oca-timesheet-hr_timesheet_editable_top** - From timesheet: hr_timesheet_editable_top
- **odoo-bringout-oca-timesheet-hr_timesheet_employee_analytic_tag** - From timesheet: hr_timesheet_employee_analytic_tag
- **odoo-bringout-oca-timesheet-hr_timesheet_name_customer** - From timesheet: hr_timesheet_name_customer
- **odoo-bringout-oca-timesheet-hr_timesheet_predefined_description** - From timesheet: hr_timesheet_predefined_description
- **odoo-bringout-oca-timesheet-hr_timesheet_report** - From timesheet: hr_timesheet_report
- **odoo-bringout-oca-timesheet-hr_timesheet_report_rounded** - From timesheet: hr_timesheet_report_rounded
- **odoo-bringout-oca-timesheet-hr_timesheet_sheet** - From timesheet: hr_timesheet_sheet
- **odoo-bringout-oca-timesheet-hr_timesheet_sheet_attendance** - From timesheet: hr_timesheet_sheet_attendance
- **odoo-bringout-oca-timesheet-hr_timesheet_sheet_autodraft** - From timesheet: hr_timesheet_sheet_autodraft
- **odoo-bringout-oca-timesheet-hr_timesheet_sheet_policy_department_manager** - From timesheet: hr_timesheet_sheet_policy_department_manager
- **odoo-bringout-oca-timesheet-hr_timesheet_sheet_policy_project_manager** - From timesheet: hr_timesheet_sheet_policy_project_manager
- **odoo-bringout-oca-timesheet-hr_timesheet_task_domain** - From timesheet: hr_timesheet_task_domain
- **odoo-bringout-oca-timesheet-hr_timesheet_task_required** - From timesheet: hr_timesheet_task_required
- **odoo-bringout-oca-timesheet-hr_timesheet_task_stage** - From timesheet: hr_timesheet_task_stage
- **odoo-bringout-oca-timesheet-hr_timesheet_time_restriction** - From timesheet: hr_timesheet_time_restriction
- **odoo-bringout-oca-timesheet-hr_timesheet_time_type** - From timesheet: hr_timesheet_time_type
- **odoo-bringout-oca-timesheet-hr_timesheet_type_non_billable** - From timesheet: hr_timesheet_type_non_billable
- **odoo-bringout-oca-timesheet-project_task_analytic_propagation** - From timesheet: project_task_analytic_propagation
- **odoo-bringout-oca-timesheet-project_task_stage_allow_timesheet** - From timesheet: project_task_stage_allow_timesheet
- **odoo-bringout-oca-timesheet-sale_timesheet_budget** - From timesheet: sale_timesheet_budget
- **odoo-bringout-oca-timesheet-sale_timesheet_invoice_link** - From timesheet: sale_timesheet_invoice_link
- **odoo-bringout-oca-timesheet-sale_timesheet_line_exclude** - From timesheet: sale_timesheet_line_exclude
- **odoo-bringout-oca-timesheet-sale_timesheet_rounded** - From timesheet: sale_timesheet_rounded
- **odoo-bringout-oca-timesheet-sale_timesheet_task_exclude** - From timesheet: sale_timesheet_task_exclude
- **odoo-bringout-oca-timesheet-sale_timesheet_timeline** - From timesheet: sale_timesheet_timeline
## Installation
Install any package from this category:
```bash
# Install from local directory
pip install packages/oca-mrp/PACKAGE_NAME/
# Install in development mode
pip install -e packages/oca-mrp/PACKAGE_NAME/
# Using uv (recommended for speed)
uv add packages/oca-mrp/PACKAGE_NAME/
```
## Repository Structure
Each package in this repository follows the standard Odoo addon structure:
```
oca-mrp/
├── odoo-bringout-oca-PROJECT-ADDON/
│ ├── ADDON_NAME/ # Complete addon code
│ │ ├── __init__.py
│ │ ├── __manifest__.py
│ │ └── ... (models, views, etc.)
│ ├── pyproject.toml # Python package configuration
│ └── README.md # Package documentation
└── ...
```
## Contributing
These packages are maintained as part of the [OCA (Odoo Community Association)](https://github.com/OCA) ecosystem.
## License
Each package maintains its original license as specified in the OCA repositories.

View file

@ -0,0 +1,44 @@
# Event Contacts
Odoo addon: event_contact
## Installation
```bash
pip install odoo-bringout-oca-event-event_contact
```
## Dependencies
This addon depends on:
- event
## Manifest Information
- **Name**: Event Contacts
- **Version**: 16.0.1.0.0
- **Category**: Marketing
- **License**: AGPL-3
- **Installable**: True
## Source
Based on [OCA/event](https://github.com/OCA/event) branch 16.0, addon `event_contact`.
## License
This package maintains the original AGPL-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

View 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_contact Module - event_contact
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.

View file

@ -0,0 +1,3 @@
# Configuration
Refer to Odoo settings for event_contact. Configure related models, access rights, and options as needed.

View file

@ -0,0 +1,3 @@
# Controllers
This module does not define custom HTTP controllers.

View file

@ -0,0 +1,5 @@
# Dependencies
This addon depends on:
- [event](../../odoo-bringout-oca-ocb-event)

View 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_contact or install in UI.

View file

@ -0,0 +1,7 @@
# Install
```bash
pip install odoo-bringout-oca-event-event_contact"
# or
uv pip install odoo-bringout-oca-event-event_contact"
```

View file

@ -0,0 +1,13 @@
# Models
Detected core models and extensions in event_contact.
```mermaid
classDiagram
class event_event
class event_type
```
Notes
- Classes show model technical names; fields omitted for brevity.
- Items listed under _inherit are extensions of existing models.

View file

@ -0,0 +1,6 @@
# Overview
Packaged Odoo addon: event_contact. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon event_contact
- License: LGPL-3

View file

@ -0,0 +1,3 @@
# Reports
This module does not define custom reports.

View file

@ -0,0 +1,8 @@
# Security
This module does not define custom security rules or access controls beyond Odoo defaults.
Default Odoo security applies:
- Base user access through standard groups
- Model access inherited from dependencies
- No custom row-level security rules

View 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.

View file

@ -0,0 +1,7 @@
# Usage
Start Odoo including this addon (from repo root):
```bash
python3 scripts/nix_odoo_web_server.py --db-name mydb --addon event_contact
```

View file

@ -0,0 +1,3 @@
# Wizards
This module does not include UI wizards.

View file

@ -0,0 +1,114 @@
==============
Event Contacts
==============
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:e6c5e6ae07ae82f6291171aeb778c717ee5d80aafe84bc020538921221d64afd
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fevent-lightgray.png?logo=github
:target: https://github.com/OCA/event/tree/16.0/event_contact
:alt: OCA/event
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/event-16-0/event-16-0-event_contact
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/event&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module adds the possibility to define contacts for the event.
Contacts are needed due to inform the people who should be contacted for
the event.
**Table of contents**
.. contents::
:local:
Usage
=====
To set contacts to event, you need to:
#. Go to *Events > Events*.
#. Edit or create one.
#. You will see a new field under field *Organizer* named *Contacts*.
To set contacts for an event type, you need to:
#. Go to *Events > Configuration > Event Templates*.
#. Edit or create one.
#. You will see a new field under field *Tags* named *Contacts*.
#. After doing this, if you create an event and set it this type, the event
will get appended these contacts automatically.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/event/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/event/issues/new?body=module:%20event_contact%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* OpenSynergy Indonesia
* Tecnativa
Contributors
~~~~~~~~~~~~
* Michael Viriyananda <viriyananda.michael@gmail.com>
* David Alonso <david.alonso@solvos.es>
* `Tecnativa <https://www.tecnativa.com>`__:
* Jairo Llopis
* Alexandre Díaz
* Ernesto Tejeda
* Eduardo López <elp@moduon.team>
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
.. |maintainer-rafaelbn| image:: https://github.com/rafaelbn.png?size=40px
:target: https://github.com/rafaelbn
:alt: rafaelbn
.. |maintainer-edlopen| image:: https://github.com/edlopen.png?size=40px
:target: https://github.com/edlopen
:alt: edlopen
Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-rafaelbn| |maintainer-edlopen|
This module is part of the `OCA/event <https://github.com/OCA/event/tree/16.0/event_contact>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models

View file

@ -0,0 +1,20 @@
# Copyright 2016 OpenSynergy Indonesia
# Copyright 2016-2017 Jairo Llopis <jairo.llopis@tecnativa.com>
# Copyright 2019 Alexandre Díaz <alexandre.diaz@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Event Contacts",
"version": "16.0.1.0.0",
"summary": "Add contacts to event and event type",
"author": "OpenSynergy Indonesia, "
"Tecnativa, "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/event",
"category": "Marketing",
"depends": ["event"],
"maintainers": ["rafaelbn", "edlopen"],
"data": ["views/event_event_view.xml", "views/event_type_view.xml"],
"installable": True,
"license": "AGPL-3",
}

View file

@ -0,0 +1,42 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_contact
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: event_contact
#: model:ir.model.fields,field_description:event_contact.field_event_event__contact_ids
#: model:ir.model.fields,field_description:event_contact.field_event_type__contact_ids
msgid "Contacts"
msgstr "Kontakti"
#. module: event_contact
#: model:ir.model,name:event_contact.model_event_event
msgid "Event"
msgstr "Dogadaj"
#. module: event_contact
#: model:ir.model,name:event_contact.model_event_type
msgid "Event Template"
msgstr "Predložak događaja"
#. module: event_contact
#: model:ir.model.fields,help:event_contact.field_event_type__contact_ids
msgid ""
"Partners available to attend attendees requests by default for events of "
"this type."
msgstr ""
#. module: event_contact
#: model:ir.model.fields,help:event_contact.field_event_event__contact_ids
msgid "Partners available to attend attendees requests for this event."
msgstr "Partneri dostupni za prisustvovanje zahtjevima učesnika za ovaj događaj."

View file

@ -0,0 +1,62 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_contact
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-05 22:25+0000\n"
"PO-Revision-Date: 2023-12-29 10:33+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: event_contact
#: model:ir.model.fields,field_description:event_contact.field_event_event__contact_ids
#: model:ir.model.fields,field_description:event_contact.field_event_type__contact_ids
msgid "Contacts"
msgstr "Contactos"
#. module: event_contact
#: model:ir.model,name:event_contact.model_event_event
msgid "Event"
msgstr "Evento"
#. module: event_contact
#: model:ir.model,name:event_contact.model_event_type
msgid "Event Template"
msgstr "Plantilla del Evento"
#. module: event_contact
#: model:ir.model.fields,help:event_contact.field_event_type__contact_ids
msgid ""
"Partners available to attend attendees requests by default for events of "
"this type."
msgstr ""
"Contactos disponibles por defecto para atender las peticiones de los "
"asistentes para los eventos de este tipo."
#. module: event_contact
#: model:ir.model.fields,help:event_contact.field_event_event__contact_ids
msgid "Partners available to attend attendees requests for this event."
msgstr ""
"Contactos disponibles para atender las peticiones de los asistentes para "
"este evento."
#~ msgid "Display Name"
#~ msgstr "Mostrar Nombre"
#~ msgid "ID"
#~ msgstr "ID"
#~ msgid "Last Modified on"
#~ msgstr "Última Modificación el"
#~ msgid "Event Type"
#~ msgstr "Tipo de evento"

View file

@ -0,0 +1,42 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_contact
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: event_contact
#: model:ir.model.fields,field_description:event_contact.field_event_event__contact_ids
#: model:ir.model.fields,field_description:event_contact.field_event_type__contact_ids
msgid "Contacts"
msgstr ""
#. module: event_contact
#: model:ir.model,name:event_contact.model_event_event
msgid "Event"
msgstr ""
#. module: event_contact
#: model:ir.model,name:event_contact.model_event_type
msgid "Event Template"
msgstr ""
#. module: event_contact
#: model:ir.model.fields,help:event_contact.field_event_type__contact_ids
msgid ""
"Partners available to attend attendees requests by default for events of "
"this type."
msgstr ""
#. module: event_contact
#: model:ir.model.fields,help:event_contact.field_event_event__contact_ids
msgid "Partners available to attend attendees requests for this event."
msgstr ""

View file

@ -0,0 +1,56 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_contact
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-07-20 08:09+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: event_contact
#: model:ir.model.fields,field_description:event_contact.field_event_event__contact_ids
#: model:ir.model.fields,field_description:event_contact.field_event_type__contact_ids
msgid "Contacts"
msgstr "Contatti"
#. module: event_contact
#: model:ir.model,name:event_contact.model_event_event
msgid "Event"
msgstr "Evento"
#. module: event_contact
#: model:ir.model,name:event_contact.model_event_type
msgid "Event Template"
msgstr "Modello evento"
#. module: event_contact
#: model:ir.model.fields,help:event_contact.field_event_type__contact_ids
msgid ""
"Partners available to attend attendees requests by default for events of "
"this type."
msgstr ""
"Partner disponibili in modo predefinito ad iscrivere partecipanti per eventi "
"di questo tipo."
#. module: event_contact
#: model:ir.model.fields,help:event_contact.field_event_event__contact_ids
msgid "Partners available to attend attendees requests for this event."
msgstr "Partner disponibili ad iscrivere partecipanti per questo evento."
#~ msgid "Display Name"
#~ msgstr "Nome visualizzato"
#~ msgid "ID"
#~ msgstr "ID"
#~ msgid "Last Modified on"
#~ msgstr "Ultima modifica il"

View file

@ -0,0 +1,4 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import event_event
from . import event_type

View file

@ -0,0 +1,23 @@
# Copyright 2016 OpenSynergy Indonesia
# Copyright 2017 Jairo Llopis <jairo.llopis@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
class EventEvent(models.Model):
_inherit = "event.event"
contact_ids = fields.Many2many(
string="Contacts",
comodel_name="res.partner",
help="Partners available to attend attendees requests for this event.",
compute="_compute_contact_ids",
store=True,
readonly=False,
)
@api.depends("event_type_id")
def _compute_contact_ids(self):
for one in self:
one.contact_ids |= one.event_type_id.contact_ids

View file

@ -0,0 +1,16 @@
# Copyright 2016 OpenSynergy Indonesia
# Copyright 2017 Jairo Llopis <jairo.llopis@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class EventType(models.Model):
_inherit = "event.type"
contact_ids = fields.Many2many(
string="Contacts",
comodel_name="res.partner",
help="Partners available to attend attendees requests by default for "
"events of this type.",
)

View file

@ -0,0 +1,8 @@
* Michael Viriyananda <viriyananda.michael@gmail.com>
* David Alonso <david.alonso@solvos.es>
* `Tecnativa <https://www.tecnativa.com>`__:
* Jairo Llopis
* Alexandre Díaz
* Ernesto Tejeda
* Eduardo López <elp@moduon.team>

View file

@ -0,0 +1,3 @@
This module adds the possibility to define contacts for the event.
Contacts are needed due to inform the people who should be contacted for
the event.

View file

@ -0,0 +1,13 @@
To set contacts to event, you need to:
#. Go to *Events > Events*.
#. Edit or create one.
#. You will see a new field under field *Organizer* named *Contacts*.
To set contacts for an event type, you need to:
#. Go to *Events > Configuration > Event Templates*.
#. Edit or create one.
#. You will see a new field under field *Tags* named *Contacts*.
#. After doing this, if you create an event and set it this type, the event
will get appended these contacts automatically.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -0,0 +1,451 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>Event Contacts</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="event-contacts">
<h1 class="title">Event Contacts</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:e6c5e6ae07ae82f6291171aeb778c717ee5d80aafe84bc020538921221d64afd
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/event/tree/16.0/event_contact"><img alt="OCA/event" src="https://img.shields.io/badge/github-OCA%2Fevent-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/event-16-0/event-16-0-event_contact"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/event&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module adds the possibility to define contacts for the event.
Contacts are needed due to inform the people who should be contacted for
the event.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
<p>To set contacts to event, you need to:</p>
<ol class="arabic simple">
<li>Go to <em>Events &gt; Events</em>.</li>
<li>Edit or create one.</li>
<li>You will see a new field under field <em>Organizer</em> named <em>Contacts</em>.</li>
</ol>
<p>To set contacts for an event type, you need to:</p>
<ol class="arabic simple">
<li>Go to <em>Events &gt; Configuration &gt; Event Templates</em>.</li>
<li>Edit or create one.</li>
<li>You will see a new field under field <em>Tags</em> named <em>Contacts</em>.</li>
<li>After doing this, if you create an event and set it this type, the event
will get appended these contacts automatically.</li>
</ol>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/event/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/event/issues/new?body=module:%20event_contact%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-3">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2>
<ul class="simple">
<li>OpenSynergy Indonesia</li>
<li>Tecnativa</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
<ul class="simple">
<li>Michael Viriyananda &lt;<a class="reference external" href="mailto:viriyananda.michael&#64;gmail.com">viriyananda.michael&#64;gmail.com</a>&gt;</li>
<li>David Alonso &lt;<a class="reference external" href="mailto:david.alonso&#64;solvos.es">david.alonso&#64;solvos.es</a>&gt;</li>
<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
<li>Jairo Llopis</li>
<li>Alexandre Díaz</li>
<li>Ernesto Tejeda</li>
</ul>
</li>
<li>Eduardo López &lt;<a class="reference external" href="mailto:elp&#64;moduon.team">elp&#64;moduon.team</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainers</a>:</p>
<p><a class="reference external image-reference" href="https://github.com/rafaelbn"><img alt="rafaelbn" src="https://github.com/rafaelbn.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/edlopen"><img alt="edlopen" src="https://github.com/edlopen.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/event/tree/16.0/event_contact">OCA/event</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import test_event

View file

@ -0,0 +1,51 @@
# Copyright 2016-2017 Jairo Llopis <jairo.llopis@tecnativa.com>
# Copyright 2019 Alexandre Díaz <alexandre.diaz@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp.tests.common import TransactionCase
class EventCase(TransactionCase):
def setUp(self, *args, **kwargs):
super(EventCase, self).setUp(*args, **kwargs)
# Partners
self.partner1 = self.env["res.partner"].create({"name": "Test Partner 1"})
self.partner2 = self.env["res.partner"].create({"name": "Test Partner 2"})
self.partner3 = self.env["res.partner"].create({"name": "Test Partner 3"})
self.partner4 = self.env["res.partner"].create({"name": "Test Partner 4"})
self.partner5 = self.env["res.partner"].create({"name": "Test Partner 5"})
self.type1 = self.env["event.type"].create(
{
"name": "Event Type Test 1",
"contact_ids": [(6, False, [self.partner1.id, self.partner2.id])],
}
)
self.type2 = self.env["event.type"].create(
{
"name": "Event Type Test 2",
"contact_ids": [(6, False, [self.partner3.id, self.partner4.id])],
}
)
self.event1 = self.env["event.event"].create(
{
"name": "Event Test 1",
"date_begin": "2019-06-20",
"date_end": "2019-06-23",
}
)
def test_event_onchange_type_contacts_empty(self):
"""You get default contacts from type."""
self.event1.event_type_id = self.type2
self.assertEqual(self.event1.contact_ids, self.type2.contact_ids)
def test_event_onchange_type_contacts_full(self):
"""Contacts not updated because it is not empty."""
self.event1.contact_ids = [(6, False, [self.partner5.id])]
self.event1.event_type_id = self.type1
self.assertEqual(
self.event1.contact_ids, self.partner5 | self.type1.contact_ids
)

View file

@ -0,0 +1,13 @@
<?xml version="1.0" ?>
<odoo>
<record model="ir.ui.view" id="event_contacts_form_view">
<field name="name">Event Contacts</field>
<field name="model">event.event</field>
<field name="inherit_id" ref="event.view_event_form" />
<field name="arch" type="xml">
<field name="organizer_id" position="after">
<field name="contact_ids" widget="many2many_tags" />
</field>
</field>
</record>
</odoo>

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016-2017 Jairo Llopis <jairo.llopis@tecnativa.com>
Copyright 2019 Alexandre Díaz <alexandre.diaz@tecnativa.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="view_event_type_form" model="ir.ui.view">
<field name="name">Add contacts</field>
<field name="model">event.type</field>
<field name="inherit_id" ref="event.view_event_type_form" />
<field name="arch" type="xml">
<xpath expr="//field[@name='tag_ids']" position="after">
<field name="contact_ids" widget="many2many_tags" />
</xpath>
</field>
</record>
</odoo>

View file

@ -0,0 +1,42 @@
[project]
name = "odoo-bringout-oca-event-event_contact"
version = "16.0.0"
description = "Event Contacts - Add contacts to event and event type"
authors = [
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
]
dependencies = [
"odoo-bringout-oca-ocb-event>=16.0.0",
"requests>=2.25.1"
]
readme = "README.md"
requires-python = ">= 3.11"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Office/Business",
]
[project.urls]
homepage = "https://github.com/bringout/0"
repository = "https://github.com/bringout/0"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["event_contact"]
[tool.rye]
managed = true
dev-dependencies = [
"pytest>=8.4.1",
]

View file

@ -0,0 +1,44 @@
# Event Mail
Odoo addon: event_mail
## Installation
```bash
pip install odoo-bringout-oca-event-event_mail
```
## Dependencies
This addon depends on:
- event
## Manifest Information
- **Name**: Event Mail
- **Version**: 16.0.1.1.0
- **Category**: Marketing
- **License**: AGPL-3
- **Installable**: True
## Source
Based on [OCA/event](https://github.com/OCA/event) branch 16.0, addon `event_mail`.
## License
This package maintains the original AGPL-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

View 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_mail Module - event_mail
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.

View file

@ -0,0 +1,3 @@
# Configuration
Refer to Odoo settings for event_mail. Configure related models, access rights, and options as needed.

View file

@ -0,0 +1,3 @@
# Controllers
This module does not define custom HTTP controllers.

View file

@ -0,0 +1,5 @@
# Dependencies
This addon depends on:
- [event](../../odoo-bringout-oca-ocb-event)

View 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_mail or install in UI.

View file

@ -0,0 +1,7 @@
# Install
```bash
pip install odoo-bringout-oca-event-event_mail"
# or
uv pip install odoo-bringout-oca-event-event_mail"
```

View file

@ -0,0 +1,18 @@
# Models
Detected core models and extensions in event_mail.
```mermaid
classDiagram
class event_mail_scheduler_template
class event_mail_template
class event_event
class event_mail
class event_type
class res_company
class res_config_settings
```
Notes
- Classes show model technical names; fields omitted for brevity.
- Items listed under _inherit are extensions of existing models.

View file

@ -0,0 +1,6 @@
# Overview
Packaged Odoo addon: event_mail. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon event_mail
- License: LGPL-3

View file

@ -0,0 +1,3 @@
# Reports
This module does not define custom reports.

View file

@ -0,0 +1,34 @@
# Security
Access control and security definitions in event_mail.
## Access Control Lists (ACLs)
Model access permissions defined in:
- **[ir.model.access.csv](../event_mail/security/ir.model.access.csv)**
- 4 model access rules
## Record Rules
Row-level security rules defined in:
```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:
- **[ir.model.access.csv](../event_mail/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

View 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.

View file

@ -0,0 +1,7 @@
# Usage
Start Odoo including this addon (from repo root):
```bash
python3 scripts/nix_odoo_web_server.py --db-name mydb --addon event_mail
```

View file

@ -0,0 +1,3 @@
# Wizards
This module does not include UI wizards.

View file

@ -0,0 +1,97 @@
==========
Event Mail
==========
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:af835779b1004d266ea5a712875bc07c4101f0e1fccf527e70bcf9e0c80fb102
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fevent-lightgray.png?logo=github
:target: https://github.com/OCA/event/tree/16.0/event_mail
:alt: OCA/event
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/event-16-0/event-16-0-event_mail
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/event&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows to define mail settings for events. By default the emails
scheduler has been deactivated.
You can create mail scheduler templates for events and select one by default
in event settings.
**Table of contents**
.. contents::
:local:
Usage
=====
To use this module, you need to:
#. Go to *Events > Configuration > Mail Templates* and create all templates
that you need.
#. Go to *Events > Settings* and select the default template in
"Template Mail Scheduler" field.
#. Go to *Events > Events* and create one. All mails schedulers has been
created. Also you can select other template in "Mail Template Scheduler"
field on "Communication" tab.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/event/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/event/issues/new?body=module:%20event_mail%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* Tecnativa
Contributors
~~~~~~~~~~~~
* `Tecnativa <https://www.tecnativa.com>`__:
* Sergio Teruel
* David Vidal
* Ernesto Tejeda
* Stefan Ungureanu
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/event <https://github.com/OCA/event/tree/16.0/event_mail>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -0,0 +1,2 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import models

View file

@ -0,0 +1,20 @@
# Copyright 2017 Tecnativa - Sergio Teruel <sergio.teruel@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Event Mail",
"summary": "Mail settings in events",
"version": "16.0.1.1.0",
"author": "Tecnativa, " "Odoo Community Association (OCA)",
"license": "AGPL-3",
"website": "https://github.com/OCA/event",
"category": "Marketing",
"depends": ["event"],
"data": [
"security/ir.model.access.csv",
"views/res_config_view.xml",
"views/event_view.xml",
"views/event_mail_view.xml",
],
"installable": True,
}

View file

@ -0,0 +1,212 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_mail
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_count_done
msgid "# Sent"
msgstr "# Poslano"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid ""
"<span class=\"o_form_label\">Template Mail Scheduler</span>\n"
" <span class=\"fa fa-lg fa-envelope\" title=\"Values set here are company-specific.\" aria-label=\"Values set here are company-specific.\" groups=\"base.group_multi_company\" role=\"img\"/>"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,help:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Communication related to event registrations"
msgstr "Komunikacija vezana za registracije događaja"
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_company
msgid "Companies"
msgstr "Kompanije"
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_config_settings
msgid "Config Settings"
msgstr "Postavke"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_uid
msgid "Created by"
msgstr "Kreirao"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_date
msgid "Created on"
msgstr "Kreirano"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__display_name
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__display_name
msgid "Display Name"
msgstr "Prikazani naziv"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__sequence
msgid "Display order"
msgstr "Redoslijed prikaza"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_event
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_id
msgid "Event"
msgstr "Dogadaj"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_mail_template_id
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Event Mail Template"
msgstr "Predložak pošte događaja"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_type
msgid "Event Template"
msgstr "Predložak događaja"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_scheduler_template
msgid "Event mail scheduler template"
msgstr "Predložak planera pošte događaja"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_state
msgid "Global communication Status"
msgstr "Globalni status komunikacije"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__id
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__id
msgid "ID"
msgstr "ID"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_nbr
msgid "Interval"
msgstr "Razdoblje"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template____last_update
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template____last_update
msgid "Last Modified on"
msgstr "Zadnje mijenjano"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_uid
msgid "Last Updated by"
msgstr "Zadnji ažurirao"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_date
msgid "Last Updated on"
msgstr "Zadnje ažurirano"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Mail Registration"
msgstr "Registracija pošte"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__scheduler_template_ids
msgid "Mail Schedule"
msgstr "Raspored mailova"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Mail Scheduler"
msgstr "Planer mailova"
#. module: event_mail
#: model:ir.actions.act_window,name:event_mail.act_event_mail_template
msgid "Mail Scheduler Template"
msgstr "Predložak planera pošte"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_res_company__event_mail_template_id
#: model:ir.model.fields,field_description:event_mail.field_res_config_settings__event_mail_template_id
msgid "Mail Template"
msgstr "Predložak maila"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_event__event_mail_template_id
msgid "Mail Template Scheduler"
msgstr "Planer predloška pošte"
#. module: event_mail
#: model:ir.ui.menu,name:event_mail.menu_event_mail_template
msgid "Mail Templates"
msgstr "Predlošci pošte"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Mail options"
msgstr "Opcije pošte"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__name
msgid "Name"
msgstr "Naziv:"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__scheduled_date
msgid "Schedule Date"
msgstr "Zakazani datum"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_template
msgid "Scheduling templates for events"
msgstr "Predlošci planiranja za događaje"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__notification_type
msgid "Send"
msgstr "Pošalji"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_done
msgid "Sent"
msgstr "Poslano"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_ref
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template"
msgstr "Prijedlog"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template Mail Scheduler"
msgstr "Planer predloška pošte"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_model_id
msgid "Template Model"
msgstr "Model predloška"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_type
msgid "Trigger "
msgstr "Okidač "
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_unit
msgid "Unit"
msgstr "Jedinica"

View file

@ -0,0 +1,236 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_mail
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-28 10:06+0200\n"
"PO-Revision-Date: 2023-09-03 13:40+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_count_done
msgid "# Sent"
msgstr "# Enviado"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid ""
"<span class=\"o_form_label\">Template Mail Scheduler</span>\n"
" <span class=\"fa fa-lg fa-envelope\" title="
"\"Values set here are company-specific.\" aria-label=\"Values set here are "
"company-specific.\" groups=\"base.group_multi_company\" role=\"img\"/>"
msgstr ""
"<span class=\"o_form_label\">Planificador de plantilla de correo</span>\n"
" <span class="
"\"fa fa-lg fa-envelope\" title=\"Values set here are company-specific.\" "
"aria-label=\"Values set here are company-specific.\" groups=\"base."
"group_multi_company\" role=\"img\"/>"
#. module: event_mail
#: model:ir.model.fields,help:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Communication related to event registrations"
msgstr "Comunicación relacionada con registros de eventos"
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_company
msgid "Companies"
msgstr "Compañías"
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_config_settings
msgid "Config Settings"
msgstr "Ajustes de Configuración"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_date
msgid "Created on"
msgstr "Creado el"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__display_name
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__display_name
msgid "Display Name"
msgstr "Nombre a mostrar"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__sequence
msgid "Display order"
msgstr "Orden de visualización"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_event
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_id
msgid "Event"
msgstr "Evento"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_mail_template_id
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Event Mail Template"
msgstr "Plantilla de emails"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_type
msgid "Event Template"
msgstr "Plantilla de Evento"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_scheduler_template
msgid "Event mail scheduler template"
msgstr "Plantilla de programador de correo de eventos"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_state
msgid "Global communication Status"
msgstr "Estado de comunicación global"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__id
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__id
msgid "ID"
msgstr "ID"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_nbr
msgid "Interval"
msgstr "Intervalo"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template____last_update
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template____last_update
msgid "Last Modified on"
msgstr "Última modificación en"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_date
msgid "Last Updated on"
msgstr "Última actualización el"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Mail Registration"
msgstr "Registro por correo"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__scheduler_template_ids
msgid "Mail Schedule"
msgstr "Programación de correo"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Mail Scheduler"
msgstr "Programador de Correo Electrónico"
#. module: event_mail
#: model:ir.actions.act_window,name:event_mail.act_event_mail_template
msgid "Mail Scheduler Template"
msgstr "Plantilla de programación de correo"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_res_company__event_mail_template_id
#: model:ir.model.fields,field_description:event_mail.field_res_config_settings__event_mail_template_id
msgid "Mail Template"
msgstr "Plantilla de mail"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_event__event_mail_template_id
msgid "Mail Template Scheduler"
msgstr "Plantilla de programación de correo"
#. module: event_mail
#: model:ir.ui.menu,name:event_mail.menu_event_mail_template
msgid "Mail Templates"
msgstr "Plantillas de correo"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Mail options"
msgstr "Opciones de correo"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__name
msgid "Name"
msgstr "Nombre"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__scheduled_date
msgid "Schedule Date"
msgstr "Fecha programada"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_template
msgid "Scheduling templates for events"
msgstr "Plantillas de programación para eventos"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__notification_type
msgid "Send"
msgstr "Enviar"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_done
msgid "Sent"
msgstr "Enviado"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_ref
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template"
msgstr "Plantilla"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template Mail Scheduler"
msgstr "Plantilla de programación de correo"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_model_id
msgid "Template Model"
msgstr "Modelo de plantilla"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_type
msgid "Trigger "
msgstr "Activador "
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_unit
msgid "Unit"
msgstr "Unidad"
#~ msgid "Email Schedule"
#~ msgstr "Programación de Correo Electrónico"
#, fuzzy
#~ msgid "Email Template"
#~ msgstr "Plantilla de mail"
#~ msgid "event.mail.scheduler.template"
#~ msgstr "event.mail.scheduler.template"
#~ msgid "event.mail.template"
#~ msgstr "event.mail.template"

View file

@ -0,0 +1,212 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_mail
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_count_done
msgid "# Sent"
msgstr ""
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid ""
"<span class=\"o_form_label\">Template Mail Scheduler</span>\n"
" <span class=\"fa fa-lg fa-envelope\" title=\"Values set here are company-specific.\" aria-label=\"Values set here are company-specific.\" groups=\"base.group_multi_company\" role=\"img\"/>"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,help:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Communication related to event registrations"
msgstr ""
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_company
msgid "Companies"
msgstr ""
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_config_settings
msgid "Config Settings"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_uid
msgid "Created by"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_date
msgid "Created on"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__display_name
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__display_name
msgid "Display Name"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__sequence
msgid "Display order"
msgstr ""
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_event
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_id
msgid "Event"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_mail_template_id
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Event Mail Template"
msgstr ""
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_type
msgid "Event Template"
msgstr ""
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_scheduler_template
msgid "Event mail scheduler template"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_state
msgid "Global communication Status"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__id
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__id
msgid "ID"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_nbr
msgid "Interval"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template____last_update
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template____last_update
msgid "Last Modified on"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_uid
msgid "Last Updated by"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_date
msgid "Last Updated on"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Mail Registration"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__scheduler_template_ids
msgid "Mail Schedule"
msgstr ""
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Mail Scheduler"
msgstr ""
#. module: event_mail
#: model:ir.actions.act_window,name:event_mail.act_event_mail_template
msgid "Mail Scheduler Template"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_res_company__event_mail_template_id
#: model:ir.model.fields,field_description:event_mail.field_res_config_settings__event_mail_template_id
msgid "Mail Template"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_event__event_mail_template_id
msgid "Mail Template Scheduler"
msgstr ""
#. module: event_mail
#: model:ir.ui.menu,name:event_mail.menu_event_mail_template
msgid "Mail Templates"
msgstr ""
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Mail options"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__name
msgid "Name"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__scheduled_date
msgid "Schedule Date"
msgstr ""
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_template
msgid "Scheduling templates for events"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__notification_type
msgid "Send"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_done
msgid "Sent"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_ref
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template"
msgstr ""
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template Mail Scheduler"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_model_id
msgid "Template Model"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_type
msgid "Trigger "
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_unit
msgid "Unit"
msgstr ""

View file

@ -0,0 +1,230 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_mail
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-07-06 12:16+0000\n"
"Last-Translator: Rémi <remi@le-filament.com>\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.0.2\n"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_count_done
msgid "# Sent"
msgstr "# Envoyé(s)"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid ""
"<span class=\"o_form_label\">Template Mail Scheduler</span>\n"
" <span class=\"fa fa-lg fa-envelope\" title="
"\"Values set here are company-specific.\" aria-label=\"Values set here are "
"company-specific.\" groups=\"base.group_multi_company\" role=\"img\"/>"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,help:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Communication related to event registrations"
msgstr "Communication liée aux inscriptions aux événements"
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_company
msgid "Companies"
msgstr "Sociétés"
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_config_settings
msgid "Config Settings"
msgstr "Paramètres de config"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_uid
msgid "Created by"
msgstr "Créé par"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_date
msgid "Created on"
msgstr "Créé le"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__display_name
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__display_name
msgid "Display Name"
msgstr "Nom affiché"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__sequence
msgid "Display order"
msgstr "Ordre d'affichage"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_event
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_id
msgid "Event"
msgstr "Événement"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_mail_template_id
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Event Mail Template"
msgstr "Modèle mail événement"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_type
msgid "Event Template"
msgstr "Modèle d'évènement"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_scheduler_template
msgid "Event mail scheduler template"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_state
msgid "Global communication Status"
msgstr "Status de communication global"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__id
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__id
msgid "ID"
msgstr "ID"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_nbr
msgid "Interval"
msgstr "Intervalle"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template____last_update
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template____last_update
msgid "Last Modified on"
msgstr "Dernière modification le"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_uid
msgid "Last Updated by"
msgstr "Dernière modification par"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_date
msgid "Last Updated on"
msgstr "Dernière modification le"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Mail Registration"
msgstr "Mail d'inscription"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__scheduler_template_ids
msgid "Mail Schedule"
msgstr "Planification email"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Mail Scheduler"
msgstr "Planificateur email"
#. module: event_mail
#: model:ir.actions.act_window,name:event_mail.act_event_mail_template
msgid "Mail Scheduler Template"
msgstr "Modèle planificateur email"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_res_company__event_mail_template_id
#: model:ir.model.fields,field_description:event_mail.field_res_config_settings__event_mail_template_id
msgid "Mail Template"
msgstr "Modèle d'email"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_event__event_mail_template_id
msgid "Mail Template Scheduler"
msgstr "Modèle de planificateur mail"
#. module: event_mail
#: model:ir.ui.menu,name:event_mail.menu_event_mail_template
msgid "Mail Templates"
msgstr "Modèles d'e-mail"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Mail options"
msgstr "Options e-mail"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__name
msgid "Name"
msgstr "Nom"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__scheduled_date
msgid "Schedule Date"
msgstr "Date planifiée"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_template
msgid "Scheduling templates for events"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__notification_type
msgid "Send"
msgstr "Envoyer"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_done
msgid "Sent"
msgstr "Envoyé"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_ref
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template"
msgstr "Modèle de mail"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template Mail Scheduler"
msgstr "Modèle de planificateur email"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_model_id
msgid "Template Model"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_type
msgid "Trigger "
msgstr "Déclencheur - "
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_unit
msgid "Unit"
msgstr "Unité"
#~ msgid "Email Schedule"
#~ msgstr "Planification email"
#, fuzzy
#~ msgid "Email Template"
#~ msgstr "Modèle d'email"
#~ msgid "event.mail.scheduler.template"
#~ msgstr "event.mail.scheduler.template"
#~ msgid "event.mail.template"
#~ msgstr "event.mail.template"

View file

@ -0,0 +1,246 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_mail
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-10-13 09:37+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_count_done
msgid "# Sent"
msgstr "N° invii"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid ""
"<span class=\"o_form_label\">Template Mail Scheduler</span>\n"
" <span class=\"fa fa-lg fa-envelope\" title="
"\"Values set here are company-specific.\" aria-label=\"Values set here are "
"company-specific.\" groups=\"base.group_multi_company\" role=\"img\"/>"
msgstr ""
"<span class=\"o_form_label\">Schedulatore modello e-mail</span>\n"
" <span class=\"fa fa-lg fa-envelope\" title=\"I "
"valori impostati qui sono specifici per azienda.\" aria-label=\"I valori "
"impostati qui sono specifici per azienda.\" groups=\"base.group_multi_company"
"\" role=\"img\"/>"
#. module: event_mail
#: model:ir.model.fields,help:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Communication related to event registrations"
msgstr "Comunicazione relativa alle registrazioni evento"
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_company
msgid "Companies"
msgstr "Aziende"
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_config_settings
msgid "Config Settings"
msgstr "Impostazioni di configurazione"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_uid
msgid "Created by"
msgstr "Creato da"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_date
msgid "Created on"
msgstr "Creato il"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__display_name
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__display_name
msgid "Display Name"
msgstr "Nome visualizzato"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__sequence
msgid "Display order"
msgstr "Ordine visualizzazione"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_event
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_id
msgid "Event"
msgstr "Evento"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_mail_template_id
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Event Mail Template"
msgstr "Modello e-mail evento"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_type
msgid "Event Template"
msgstr "Modello evento"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_scheduler_template
msgid "Event mail scheduler template"
msgstr "Modello schedulatore e-mail evento"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_state
msgid "Global communication Status"
msgstr "Stato comunicazione globale"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__id
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__id
msgid "ID"
msgstr "ID"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_nbr
msgid "Interval"
msgstr "Intervallo"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template____last_update
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template____last_update
msgid "Last Modified on"
msgstr "Ultima modifica il"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_uid
msgid "Last Updated by"
msgstr "Ultimo aggiornamento di"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_date
msgid "Last Updated on"
msgstr "Ultimo aggiornamento il"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Mail Registration"
msgstr "Registrazione e-mail"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__scheduler_template_ids
msgid "Mail Schedule"
msgstr "Programmazione e-mail"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Mail Scheduler"
msgstr "Pianificatore e-mail"
#. module: event_mail
#: model:ir.actions.act_window,name:event_mail.act_event_mail_template
msgid "Mail Scheduler Template"
msgstr "Modello schedulatore e-mail"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_res_company__event_mail_template_id
#: model:ir.model.fields,field_description:event_mail.field_res_config_settings__event_mail_template_id
msgid "Mail Template"
msgstr "Modello e-mail"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_event__event_mail_template_id
msgid "Mail Template Scheduler"
msgstr "Schedulatore modello e-mail"
#. module: event_mail
#: model:ir.ui.menu,name:event_mail.menu_event_mail_template
msgid "Mail Templates"
msgstr "Modelli e-mail"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Mail options"
msgstr "Opzioni e-mail"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__name
msgid "Name"
msgstr "Nome"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__scheduled_date
msgid "Schedule Date"
msgstr "Schedula data"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_template
msgid "Scheduling templates for events"
msgstr "Modelli programmazione per eventi"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__notification_type
msgid "Send"
msgstr "Invia"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_done
msgid "Sent"
msgstr "Inviato"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_ref
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template"
msgstr "Modello"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template Mail Scheduler"
msgstr "Schedulatore modello e-mail"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_model_id
msgid "Template Model"
msgstr "Modello esempio"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_type
msgid "Trigger "
msgstr "Attivazione "
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_unit
msgid "Unit"
msgstr "Unità"
#~ msgid "Email Template"
#~ msgstr "Modello e-mail"
#~ msgid "Mail Sent on Event"
#~ msgstr "E-mail dell'evento inviata"
#~ msgid "SMS Template"
#~ msgstr "Modello SMS"
#~ msgid "Scheduled Sent Mail"
#~ msgstr "E-mail inviata programmata"
#~ msgid ""
#~ "This field contains the template of the SMS that will be automatically "
#~ "sent"
#~ msgstr ""
#~ "Campo contenente il modello SMS che viene inviato in modo automatico"
#~ msgid ""
#~ "This field contains the template of the mail that will be automatically "
#~ "sent"
#~ msgstr ""
#~ "Campo contenente il modello e-mail che viene inviato in modo automatico"

View file

@ -0,0 +1,247 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_mail
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2022-04-21 00:05+0000\n"
"Last-Translator: Pedro Castro Silva <pedrocs@exo.pt>\n"
"Language-Team: none\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.3.2\n"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_count_done
msgid "# Sent"
msgstr ""
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid ""
"<span class=\"o_form_label\">Template Mail Scheduler</span>\n"
" <span class=\"fa fa-lg fa-envelope\" title="
"\"Values set here are company-specific.\" aria-label=\"Values set here are "
"company-specific.\" groups=\"base.group_multi_company\" role=\"img\"/>"
msgstr ""
"<span class=\"o_form_label\">Agendador de Modelos de Correio</span>\n"
" <span class=\"fa fa-lg fa-envelope\" title=\"Os "
"valores aqui indicados são específicos para esta empresa.\" aria-label=\"Os "
"valores aqui indicados são específicos para esta empresa.\" groups=\"base."
"group_multi_company\" role=\"img\"/>"
#. module: event_mail
#: model:ir.model.fields,help:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Communication related to event registrations"
msgstr ""
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_company
msgid "Companies"
msgstr "Empresas"
#. module: event_mail
#: model:ir.model,name:event_mail.model_res_config_settings
msgid "Config Settings"
msgstr "Parâmetros de Configuração"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_uid
msgid "Created by"
msgstr "Criado por"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__create_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__create_date
msgid "Created on"
msgstr "Criado em"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__display_name
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__display_name
msgid "Display Name"
msgstr "Nome a Apresentar"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__sequence
msgid "Display order"
msgstr "Ordem de Exibição"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_event
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_id
msgid "Event"
msgstr "Evento"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__event_mail_template_id
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Event Mail Template"
msgstr "Modelo de Correio para Eventos"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_type
msgid "Event Template"
msgstr "Modelo de Evento"
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_scheduler_template
msgid "Event mail scheduler template"
msgstr "Modelo de agendador de email de eventos"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_state
msgid "Global communication Status"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__id
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__id
msgid "ID"
msgstr "ID"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_nbr
msgid "Interval"
msgstr "Intervalo"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template____last_update
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template____last_update
msgid "Last Modified on"
msgstr "Última Modificação em"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_uid
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_uid
msgid "Last Updated by"
msgstr "Última Atualização por"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__write_date
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__write_date
msgid "Last Updated on"
msgstr "Última Atualização em"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_registration_ids
msgid "Mail Registration"
msgstr "Registo por Email"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__scheduler_template_ids
msgid "Mail Schedule"
msgstr "Agenda de Emails"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.view_event_mail_template_form
msgid "Mail Scheduler"
msgstr "Agendador de Emails"
#. module: event_mail
#: model:ir.actions.act_window,name:event_mail.act_event_mail_template
msgid "Mail Scheduler Template"
msgstr "Modelo de Agendador de Emails"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_res_company__event_mail_template_id
#: model:ir.model.fields,field_description:event_mail.field_res_config_settings__event_mail_template_id
msgid "Mail Template"
msgstr "Modelo de Email"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_event__event_mail_template_id
msgid "Mail Template Scheduler"
msgstr "Agendador de Modelo de Correio"
#. module: event_mail
#: model:ir.ui.menu,name:event_mail.menu_event_mail_template
msgid "Mail Templates"
msgstr "Modelos de Correio"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Mail options"
msgstr "Opções de correio"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_template__name
msgid "Name"
msgstr "Nome"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__scheduled_date
msgid "Schedule Date"
msgstr ""
#. module: event_mail
#: model:ir.model,name:event_mail.model_event_mail_template
msgid "Scheduling templates for events"
msgstr "Agendamento de modelos para eventos"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__notification_type
msgid "Send"
msgstr "Enviar"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__mail_done
msgid "Sent"
msgstr "Enviado(a)"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_ref
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template"
msgstr "Modelo"
#. module: event_mail
#: model_terms:ir.ui.view,arch_db:event_mail.res_config_settings_view_form
msgid "Template Mail Scheduler"
msgstr "Agendador de Correio Modelo"
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__template_model_id
msgid "Template Model"
msgstr ""
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_type
msgid "Trigger "
msgstr "Acionador "
#. module: event_mail
#: model:ir.model.fields,field_description:event_mail.field_event_mail_scheduler_template__interval_unit
msgid "Unit"
msgstr "Unidade"
#~ msgid "Email Schedule"
#~ msgstr "Agendamento do Email"
#~ msgid "Email Template"
#~ msgstr "Modelo de Email"
#~ msgid "Mail Sent on Event"
#~ msgstr "Email Enviado no Evento"
#~ msgid "SMS Template"
#~ msgstr "Modelo de SMS"
#~ msgid "Scheduled Sent Mail"
#~ msgstr "Email Agendado Enviado"
#~ msgid ""
#~ "This field contains the template of the SMS that will be automatically "
#~ "sent"
#~ msgstr "Este campo contém o modelo do SMS que será enviado automaticamente"
#~ msgid ""
#~ "This field contains the template of the mail that will be automatically "
#~ "sent"
#~ msgstr "Este campo contém o modelo do mail que será automaticamente enviado"

View file

@ -0,0 +1,11 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import res_company
# WARNING: Order of imports matters on this module, so don't put res_company
# below the other modules since it will lead to a missing column error when
# the module is initialized for the first time since there are fields with
# default values wich refer to this new res.company field.
from . import event
from . import event_mail
from . import event_type
from . import res_config_settings

View file

@ -0,0 +1,29 @@
# Copyright 2017 Tecnativa - Sergio Teruel <sergio.teruel@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import Command, api, fields, models
class EventEvent(models.Model):
_inherit = "event.event"
@api.model
def _default_event_mail_template_id(self):
return self.env.company.event_mail_template_id
event_mail_template_id = fields.Many2one(
comodel_name="event.mail.template",
string="Mail Template Scheduler",
default=_default_event_mail_template_id,
)
@api.depends("event_mail_template_id")
def _compute_event_mail_ids(self):
records = self.filtered("event_mail_template_id")
without_template = self - records
for event in records:
command = [(5, 0)] + [
Command.create(line._prepare_event_mail_values())
for line in event.event_mail_template_id.scheduler_template_ids
]
event.event_mail_ids = command
return super(EventEvent, without_template)._compute_event_mail_ids()

View file

@ -0,0 +1,58 @@
# Copyright 2017 Tecnativa - Sergio Teruel <sergio.teruel@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class EventMailSchedulerTemplate(models.Model):
_name = "event.mail.scheduler.template"
_inherit = "event.mail"
_description = "Event mail scheduler template"
event_id = fields.Many2one(required=False)
event_mail_template_id = fields.Many2one(
comodel_name="event.mail.template",
string="Event Mail Template",
required=True,
ondelete="cascade",
)
def _prepare_event_mail_values(self):
self.ensure_one()
return {
"notification_type": self.notification_type,
"interval_nbr": self.interval_nbr,
"interval_unit": self.interval_unit,
"interval_type": self.interval_type,
"template_ref": f"{self.template_ref._name},{self.template_ref.id}",
}
class EventMailTemplate(models.Model):
_name = "event.mail.template"
_description = "Scheduling templates for events"
@api.model
def _default_scheduler_template_ids(self):
return [
{
"notification_type": "mail",
"interval_unit": "now",
"interval_type": "after_sub",
"template_ref": f"mail.template, {self.env.ref('event.event_subscription').id}",
},
{
"notification_type": "mail",
"interval_nbr": 10,
"interval_unit": "days",
"interval_type": "before_event",
"template_ref": f"mail.template, {self.env.ref('event.event_reminder').id}",
},
]
name = fields.Char()
scheduler_template_ids = fields.One2many(
comodel_name="event.mail.scheduler.template",
inverse_name="event_mail_template_id",
string="Mail Schedule",
default=_default_scheduler_template_ids,
)

View file

@ -0,0 +1,21 @@
# Copyright 2019 Tecnativa - David Vidal
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import Command, models
class EventType(models.Model):
_inherit = "event.type"
def default_get(self, fields_list):
res = super().default_get(fields_list)
event_mail_template_id = self.env.company.event_mail_template_id
if event_mail_template_id:
res.update(
{
"event_type_mail_ids": [
Command.create(line._prepare_event_mail_values())
for line in event_mail_template_id.scheduler_template_ids
]
}
)
return res

View file

@ -0,0 +1,12 @@
# Copyright 2019 Tecnativa - David Vidal
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models
class ResCompany(models.Model):
_inherit = "res.company"
event_mail_template_id = fields.Many2one(
comodel_name="event.mail.template",
string="Mail Template",
)

View file

@ -0,0 +1,15 @@
# Copyright 2016 Tecnativa - Sergio Teruel <sergio.teruel@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class ResConfigSettings(models.TransientModel):
_inherit = "res.config.settings"
event_mail_template_id = fields.Many2one(
related="company_id.event_mail_template_id",
comodel_name="event.mail.template",
string="Mail Template",
readonly=False,
)

View file

@ -0,0 +1,6 @@
* `Tecnativa <https://www.tecnativa.com>`__:
* Sergio Teruel
* David Vidal
* Ernesto Tejeda
* Stefan Ungureanu

View file

@ -0,0 +1,4 @@
This module allows to define mail settings for events. By default the emails
scheduler has been deactivated.
You can create mail scheduler templates for events and select one by default
in event settings.

View file

@ -0,0 +1,9 @@
To use this module, you need to:
#. Go to *Events > Configuration > Mail Templates* and create all templates
that you need.
#. Go to *Events > Settings* and select the default template in
"Template Mail Scheduler" field.
#. Go to *Events > Events* and create one. All mails schedulers has been
created. Also you can select other template in "Mail Template Scheduler"
field on "Communication" tab.

View file

@ -0,0 +1,5 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_event_mail_template_user,access_event_mail_template_user,event_mail.model_event_mail_template,event.group_event_user,1,0,0,0
access_event_mail_template_manager,access_event_mail_template_manager,event_mail.model_event_mail_template,event.group_event_manager,1,1,1,1
event_mail_scheduler_template_user,access_event_mail_scheduler_template_user,event_mail.model_event_mail_scheduler_template,event.group_event_user,1,0,0,0
event_mail_scheduler_template_manager,access_event_mail_scheduler_template_manager,event_mail.model_event_mail_scheduler_template,event.group_event_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_event_mail_template_user access_event_mail_template_user event_mail.model_event_mail_template event.group_event_user 1 0 0 0
3 access_event_mail_template_manager access_event_mail_template_manager event_mail.model_event_mail_template event.group_event_manager 1 1 1 1
4 event_mail_scheduler_template_user access_event_mail_scheduler_template_user event_mail.model_event_mail_scheduler_template event.group_event_user 1 0 0 0
5 event_mail_scheduler_template_manager access_event_mail_scheduler_template_manager event_mail.model_event_mail_scheduler_template event.group_event_manager 1 1 1 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -0,0 +1,446 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>Event Mail</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="event-mail">
<h1 class="title">Event Mail</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:af835779b1004d266ea5a712875bc07c4101f0e1fccf527e70bcf9e0c80fb102
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/event/tree/16.0/event_mail"><img alt="OCA/event" src="https://img.shields.io/badge/github-OCA%2Fevent-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/event-16-0/event-16-0-event_mail"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/event&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module allows to define mail settings for events. By default the emails
scheduler has been deactivated.
You can create mail scheduler templates for events and select one by default
in event settings.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
<p>To use this module, you need to:</p>
<ol class="arabic simple">
<li>Go to <em>Events &gt; Configuration &gt; Mail Templates</em> and create all templates
that you need.</li>
<li>Go to <em>Events &gt; Settings</em> and select the default template in
“Template Mail Scheduler” field.</li>
<li>Go to <em>Events &gt; Events</em> and create one. All mails schedulers has been
created. Also you can select other template in “Mail Template Scheduler”
field on “Communication” tab.</li>
</ol>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/event/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/event/issues/new?body=module:%20event_mail%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-3">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2>
<ul class="simple">
<li>Tecnativa</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
<ul>
<li><p class="first"><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:</p>
<blockquote>
<ul class="simple">
<li>Sergio Teruel</li>
<li>David Vidal</li>
<li>Ernesto Tejeda</li>
<li>Stefan Ungureanu</li>
</ul>
</blockquote>
</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/event/tree/16.0/event_mail">OCA/event</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1 @@
from . import test_event_mail

View file

@ -0,0 +1,110 @@
# Copyright 2017 Tecnativa - Sergio Teruel <sergio.teruel@tecnativa.com>
# Copyright 2020 Studio73 - Pablo Fuentes <pablo@studio73.es>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.tests.common import TransactionCase
class EventMailCase(TransactionCase):
@classmethod
def setUpClass(cls):
"""Add some defaults to let the test run without an accounts chart."""
super().setUpClass()
cls.template1 = cls.env["event.mail.template"].create(
{"name": "Template test 01"}
)
event_reminder = cls.env.ref("event.event_reminder")
cls.template2 = cls.env["event.mail.template"].create(
{
"name": "Template test 01",
"scheduler_template_ids": [
(
0,
0,
{
"interval_nbr": 15,
"interval_unit": "days",
"interval_type": "before_event",
"template_ref": f"mail.template, {event_reminder.id}",
},
)
],
}
)
def test_event_template_config(self):
# Store default template in event settings
event_config = (
self.env["res.config.settings"]
.sudo()
.create({"event_mail_template_id": self.template1.id})
)
event_config.execute()
config_template_id = self.env.user.company_id.event_mail_template_id
self.assertTrue(
config_template_id, "Event Mail: Template store in default values"
)
# Create an event
vals = {
"name": "Event test",
"date_begin": "2017-05-01",
"date_end": "2017-06-01",
"auto_confirm": False,
"event_mail_template_id": self.template1.id,
}
event = self.env["event.event"].create(vals)
self.assertTrue(
event.event_mail_ids, "Event Mail: mails scheduler created for this event"
)
# Change template in event
event.event_mail_template_id = self.template2
self.assertEqual(
len(event.event_mail_ids), 1, "Event Mail: mails scheduler only one"
)
def test_event_template_no_config(self):
# Store default template in event settings
event_config = (
self.env["res.config.settings"]
.sudo()
.create({"event_mail_template_id": False})
)
event_config.execute()
config_template_id = self.env.user.company_id.event_mail_template_id
self.assertFalse(
self.env["event.mail.template"].browse(config_template_id).exists(),
"Event Mail: Template are not stored as default values",
)
# Create an event
vals = {
"name": "Event test",
"date_begin": "2017-05-01",
"date_end": "2017-06-01",
"auto_confirm": False,
}
event = self.env["event.event"].create(vals)
self.assertEqual(
len(event.event_mail_ids),
3,
"Event Mail: mails scheduler no created for this event",
)
def test_company_event_type(self):
event_config = (
self.env["res.config.settings"]
.sudo()
.create({"event_mail_template_id": self.template2.id})
)
event_config.execute()
event_type = self.env["event.type"].create({"name": "Physical"})
self.assertTrue(
event_type.event_type_mail_ids.exists(),
"Must be 'Mail Schedule'",
)
self.assertEqual(
len(event_type.event_type_mail_ids),
len(self.env.company.event_mail_template_id.scheduler_template_ids),
"Must be same number of 'Mail Schedule' as in company default template",
)

View file

@ -0,0 +1,45 @@
<?xml version="1.0" ?>
<!-- Copyright 2017 Tecnativa - Sergio Teruel <sergio.teruel@tecnativa.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="view_event_mail_template_form" model="ir.ui.view">
<field name="name">event.mail.template.form</field>
<field name="model">event.mail.template</field>
<field name="arch" type="xml">
<form string="Event Mail Template">
<sheet>
<group>
<field name="name" />
</group>
<group string="Mail Scheduler">
<field name="scheduler_template_ids" nolabel="1" colspan="2">
<tree editable="bottom">
<field name="sequence" widget="handle" />
<field name="template_ref" />
<field
name="interval_nbr"
attrs="{'readonly':[('interval_unit','=','now')]}"
/>
<field name="interval_unit" />
<field name="interval_type" />
</tree>
</field>
</group>
</sheet>
</form>
</field>
</record>
<record id="act_event_mail_template" model="ir.actions.act_window">
<field name="res_model">event.mail.template</field>
<field name="name">Mail Scheduler Template</field>
<field name="view_mode">tree,form</field>
<field name="context">{}</field>
</record>
<menuitem
id="menu_event_mail_template"
name="Mail Templates"
action="act_event_mail_template"
parent="event.menu_event_configuration"
groups="base.group_no_one"
/>
</odoo>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" ?>
<!-- Copyright 2017 Tecnativa - Sergio Teruel <sergio.teruel@tecnativa.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="view_event_form" model="ir.ui.view">
<field name="model">event.event</field>
<field name="inherit_id" ref="event.view_event_form" />
<field name="arch" type="xml">
<xpath expr="//field[@name='event_mail_ids']" position="before">
<field
name="event_mail_template_id"
groups="base.group_user"
attrs="{'readonly': [('seats_expected', '>', 0)]}"
/>
</xpath>
</field>
</record>
</odoo>

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2017 Tecnativa - Sergio Teruel <sergio.teruel@tecnativa.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="event.res_config_settings_view_form" />
<field name="arch" type="xml">
<xpath expr="//div[@data-key='event']" position="inside">
<h2>Mail options</h2>
<div class="row mt16 o_settings_container">
<div
class="col-12 col-lg-6 o_setting_box"
title="Template Mail Scheduler"
>
<div class="o_setting_right_pane">
<span class="o_form_label">Template Mail Scheduler</span>
<span
class="fa fa-lg fa-envelope"
title="Values set here are company-specific."
aria-label="Values set here are company-specific."
groups="base.group_multi_company"
role="img"
/>
<div class="text-muted">
Template Mail Scheduler
</div>
<div class="content-group">
<div class="mt16 row">
<label
for="event_mail_template_id"
string="Template"
class="col-3 col-lg-3 o_light_label"
/>
<field
name="event_mail_template_id"
class="oe_inline"
/>
</div>
</div>
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>

View file

@ -0,0 +1,42 @@
[project]
name = "odoo-bringout-oca-event-event_mail"
version = "16.0.0"
description = "Event Mail - Mail settings in events"
authors = [
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
]
dependencies = [
"odoo-bringout-oca-ocb-event>=16.0.0",
"requests>=2.25.1"
]
readme = "README.md"
requires-python = ">= 3.11"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Office/Business",
]
[project.urls]
homepage = "https://github.com/bringout/0"
repository = "https://github.com/bringout/0"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["event_mail"]
[tool.rye]
managed = true
dev-dependencies = [
"pytest>=8.4.1",
]

View file

@ -0,0 +1,45 @@
# Event project
Odoo addon: event_project
## Installation
```bash
pip install odoo-bringout-oca-event-event_project
```
## Dependencies
This addon depends on:
- event
- project
## Manifest Information
- **Name**: Event project
- **Version**: 16.0.1.0.1
- **Category**: Event Management
- **License**: AGPL-3
- **Installable**: True
## Source
Based on [OCA/event](https://github.com/OCA/event) branch 16.0, addon `event_project`.
## License
This package maintains the original AGPL-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

View 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_project Module - event_project
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.

View file

@ -0,0 +1,3 @@
# Configuration
Refer to Odoo settings for event_project. Configure related models, access rights, and options as needed.

View file

@ -0,0 +1,3 @@
# Controllers
This module does not define custom HTTP controllers.

View file

@ -0,0 +1,6 @@
# Dependencies
This addon depends on:
- [event](../../odoo-bringout-oca-ocb-event)
- [project](../../odoo-bringout-oca-ocb-project)

View 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_project or install in UI.

View file

@ -0,0 +1,7 @@
# Install
```bash
pip install odoo-bringout-oca-event-event_project"
# or
uv pip install odoo-bringout-oca-event-event_project"
```

View file

@ -0,0 +1,14 @@
# Models
Detected core models and extensions in event_project.
```mermaid
classDiagram
class event_event
class project_project
class project_task
```
Notes
- Classes show model technical names; fields omitted for brevity.
- Items listed under _inherit are extensions of existing models.

View file

@ -0,0 +1,6 @@
# Overview
Packaged Odoo addon: event_project. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon event_project
- License: LGPL-3

View file

@ -0,0 +1,3 @@
# Reports
This module does not define custom reports.

View file

@ -0,0 +1,34 @@
# Security
Access control and security definitions in event_project.
## Access Control Lists (ACLs)
Model access permissions defined in:
- **[ir.model.access.csv](../event_project/security/ir.model.access.csv)**
- 1 model access rules
## Record Rules
Row-level security rules defined in:
```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:
- **[ir.model.access.csv](../event_project/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

View 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.

View file

@ -0,0 +1,7 @@
# Usage
Start Odoo including this addon (from repo root):
```bash
python3 scripts/nix_odoo_web_server.py --db-name mydb --addon event_project
```

View file

@ -0,0 +1,3 @@
# Wizards
This module does not include UI wizards.

View file

@ -0,0 +1,121 @@
=============
Event project
=============
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:43b55b332c7b2fa54fbf04e01e06798cf09891bb789deac6c53f9c35f247dde7
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fevent-lightgray.png?logo=github
:target: https://github.com/OCA/event/tree/16.0/event_project
:alt: OCA/event
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/event-16-0/event-16-0-event_project
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/event&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows you to assign a project to an event. This project
will inherit its event's fields.
Fields inherited from event:
- Name
- Date begin
- Date end
- Organizer
- Note
**Table of contents**
.. contents::
:local:
Usage
=====
To use this module, you need to:
1. Go to an event or create a brand new one and assign a project or
create a new one.
2. After saving, the event will be updated with the name of the event
and date.
3. Modify those fields and check propagation: Namem, Date begin, Date
end, Organizer and Note
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/event/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/event/issues/new?body=module:%20event_project%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
-------
* Tecnativa
* Moduon
Contributors
------------
- Endika Iglesias <endikaig@antiun.com>
- Javier Iniesta <javieria@antiun.com>
- `Tecnativa <https://www.tecnativa.com>`__:
- Pedro M. Baeza
- Rafael Blasco
- Antonio Espinosa
- David Vidal
- Ernesto Tejeda
- Eduardo de Miguel (`Moduon <https://www.moduon.team>`__)
Maintainers
-----------
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
.. |maintainer-Shide| image:: https://github.com/Shide.png?size=40px
:target: https://github.com/Shide
:alt: Shide
.. |maintainer-rafaelbn| image:: https://github.com/rafaelbn.png?size=40px
:target: https://github.com/rafaelbn
:alt: rafaelbn
Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-Shide| |maintainer-rafaelbn|
This module is part of the `OCA/event <https://github.com/OCA/event/tree/16.0/event_project>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -0,0 +1 @@
from . import models

View file

@ -0,0 +1,23 @@
# Copyright 2015 Antiun - Javier Iniesta
# Copyright 2015 Antiun - Endika Iglesias
# Copyright 2015 Tecnativa - Antonio Espinosa
# Copyright 2016 Tecnativa - Pedro M. Baeza
# Copyright 2017 Tecnativa - David Vidal
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Event project",
"version": "16.0.1.0.1",
"author": "Tecnativa, Moduon, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/event",
"license": "AGPL-3",
"category": "Event Management",
"depends": ["event", "project"],
"data": [
"views/event_event_view.xml",
"views/project_project_view.xml",
"views/project_task_view.xml",
"security/ir.model.access.csv",
],
"installable": True,
"maintainers": ["Shide", "rafaelbn"],
}

View file

@ -0,0 +1,74 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_project
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: event_project
#: model:ir.model,name:event_project.model_event_event
#: model_terms:ir.ui.view,arch_db:event_project.view_task_search_form
msgid "Event"
msgstr "Dogadaj"
#. module: event_project
#: model_terms:ir.actions.act_window,help:event_project.act_event_task_list
msgid ""
"Keep track of the progress of your tasks from creation to completion.<br>\n"
" Collaborate efficiently by chatting in real-time or via email."
msgstr ""
#. module: event_project
#: model_terms:ir.actions.act_window,help:event_project.act_event_task_list
msgid "No tasks found. Let's create one!"
msgstr "Nema pronađenih zadataka. Kreiraj novi!"
#. module: event_project
#: model:ir.model,name:event_project.model_project_project
msgid "Project"
msgstr "Projekat"
#. module: event_project
#: model:ir.model.fields,help:event_project.field_event_event__project_id
#: model:ir.model.fields,help:event_project.field_event_session__project_id
msgid "Project end date will be updated with event start date."
msgstr "Datum završetka projekta će biti ažuriran sa početnim datumom događaja."
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_project_project__event_id
#: model:ir.model.fields,field_description:event_project.field_project_task__event_id
msgid "Related event"
msgstr "Povezani događaj"
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_event_event__project_id
#: model:ir.model.fields,field_description:event_project.field_event_session__project_id
msgid "Related project"
msgstr "Povezani projekt"
#. module: event_project
#: model:ir.model,name:event_project.model_project_task
msgid "Task"
msgstr "Zadatak"
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_event_event__count_tasks
#: model:ir.model.fields,field_description:event_project.field_event_session__count_tasks
msgid "Task number"
msgstr "Broj zadatka"
#. module: event_project
#: model:ir.actions.act_window,name:event_project.act_event_task_list
#: model:ir.model.fields,field_description:event_project.field_event_event__task_ids
#: model:ir.model.fields,field_description:event_project.field_event_session__task_ids
#: model_terms:ir.ui.view,arch_db:event_project.view_event_form
msgid "Tasks"
msgstr "Zadaci"

View file

@ -0,0 +1,134 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_project
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-29 16:16+0000\n"
"PO-Revision-Date: 2023-12-29 10:33+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: event_project
#: model:ir.model,name:event_project.model_event_event
#: model_terms:ir.ui.view,arch_db:event_project.view_task_search_form
msgid "Event"
msgstr "Evento"
#. module: event_project
#: model_terms:ir.actions.act_window,help:event_project.act_event_task_list
msgid ""
"Keep track of the progress of your tasks from creation to completion.<br>\n"
" Collaborate efficiently by chatting in real-time or via "
"email."
msgstr ""
#. module: event_project
#: model_terms:ir.actions.act_window,help:event_project.act_event_task_list
msgid "No tasks found. Let's create one!"
msgstr ""
#. module: event_project
#: model:ir.model,name:event_project.model_project_project
msgid "Project"
msgstr "Proyecto"
#. module: event_project
#: model:ir.model.fields,help:event_project.field_event_event__project_id
#: model:ir.model.fields,help:event_project.field_event_session__project_id
msgid "Project end date will be updated with event start date."
msgstr ""
"La fecha fin del proyecto se actualizará con la fecha inicio del evento."
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_project_project__event_id
#: model:ir.model.fields,field_description:event_project.field_project_task__event_id
msgid "Related event"
msgstr "Evento relacionado"
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_event_event__project_id
#: model:ir.model.fields,field_description:event_project.field_event_session__project_id
msgid "Related project"
msgstr "Proyecto relacionado"
#. module: event_project
#: model:ir.model,name:event_project.model_project_task
msgid "Task"
msgstr "Tarea"
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_event_event__count_tasks
#: model:ir.model.fields,field_description:event_project.field_event_session__count_tasks
msgid "Task number"
msgstr "Número de Tarea"
#. module: event_project
#: model:ir.actions.act_window,name:event_project.act_event_task_list
#: model:ir.model.fields,field_description:event_project.field_event_event__task_ids
#: model:ir.model.fields,field_description:event_project.field_event_session__task_ids
#: model_terms:ir.ui.view,arch_db:event_project.view_event_form
msgid "Tasks"
msgstr "Tareas"
#~ msgid "Display Name"
#~ msgstr "Mostrar Nombre"
#~ msgid "Last Modified on"
#~ msgstr "Última Modificación el"
#~ msgid "Cancel"
#~ msgstr "Cancelar"
#~ msgid "Create Project"
#~ msgstr "Crear proyecto"
#~ msgid "Created by"
#~ msgstr "Creado por"
#~ msgid "Created on"
#~ msgstr "Creado en"
#~ msgid "Event Details"
#~ msgstr "Detalles del evento"
#~ msgid "Event id"
#~ msgstr "ID del evento"
#~ msgid "Last Updated by"
#~ msgstr "Última actualización por"
#~ msgid "Last Updated on"
#~ msgstr "Última actualización en"
#~ msgid "Project Task Work"
#~ msgstr "Trabajo de la tarea"
#~ msgid "Project Template Wizard"
#~ msgstr "Wizard de plantilla de proyecto"
#~ msgid "Select a project template"
#~ msgstr "Seleccionar una plantilla de proyecto"
#~ msgid "Set Project Template"
#~ msgstr "Asignar plantilla de proyecto"
#~ msgid "Template project"
#~ msgstr "Proyecto plantilla"
#~ msgid "Template project is required."
#~ msgstr "El proyecto plantilla es obligatorio."
#~ msgid "Works"
#~ msgstr "Trabajos"
#~ msgid "or"
#~ msgstr "o"

View file

@ -0,0 +1,74 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_project
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: event_project
#: model:ir.model,name:event_project.model_event_event
#: model_terms:ir.ui.view,arch_db:event_project.view_task_search_form
msgid "Event"
msgstr ""
#. module: event_project
#: model_terms:ir.actions.act_window,help:event_project.act_event_task_list
msgid ""
"Keep track of the progress of your tasks from creation to completion.<br>\n"
" Collaborate efficiently by chatting in real-time or via email."
msgstr ""
#. module: event_project
#: model_terms:ir.actions.act_window,help:event_project.act_event_task_list
msgid "No tasks found. Let's create one!"
msgstr ""
#. module: event_project
#: model:ir.model,name:event_project.model_project_project
msgid "Project"
msgstr ""
#. module: event_project
#: model:ir.model.fields,help:event_project.field_event_event__project_id
#: model:ir.model.fields,help:event_project.field_event_session__project_id
msgid "Project end date will be updated with event start date."
msgstr ""
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_project_project__event_id
#: model:ir.model.fields,field_description:event_project.field_project_task__event_id
msgid "Related event"
msgstr ""
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_event_event__project_id
#: model:ir.model.fields,field_description:event_project.field_event_session__project_id
msgid "Related project"
msgstr ""
#. module: event_project
#: model:ir.model,name:event_project.model_project_task
msgid "Task"
msgstr ""
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_event_event__count_tasks
#: model:ir.model.fields,field_description:event_project.field_event_session__count_tasks
msgid "Task number"
msgstr ""
#. module: event_project
#: model:ir.actions.act_window,name:event_project.act_event_task_list
#: model:ir.model.fields,field_description:event_project.field_event_event__task_ids
#: model:ir.model.fields,field_description:event_project.field_event_session__task_ids
#: model_terms:ir.ui.view,arch_db:event_project.view_event_form
msgid "Tasks"
msgstr ""

View file

@ -0,0 +1,88 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_project
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-05-10 15:23+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.4\n"
#. module: event_project
#: model:ir.model,name:event_project.model_event_event
#: model_terms:ir.ui.view,arch_db:event_project.view_task_search_form
msgid "Event"
msgstr "Evento"
#. module: event_project
#: model_terms:ir.actions.act_window,help:event_project.act_event_task_list
msgid ""
"Keep track of the progress of your tasks from creation to completion.<br>\n"
" Collaborate efficiently by chatting in real-time or via "
"email."
msgstr ""
"Tiene traccia dell'avanzamento dei propri lavori dalla creazione al "
"completamento.<br>\n"
" Collabora efficientemente dialogando in tempo reale o per "
"e-mail."
#. module: event_project
#: model_terms:ir.actions.act_window,help:event_project.act_event_task_list
msgid "No tasks found. Let's create one!"
msgstr "Nessun lavoro trovato! Creiamone uno!"
#. module: event_project
#: model:ir.model,name:event_project.model_project_project
msgid "Project"
msgstr "Progetto"
#. module: event_project
#: model:ir.model.fields,help:event_project.field_event_event__project_id
#: model:ir.model.fields,help:event_project.field_event_session__project_id
msgid "Project end date will be updated with event start date."
msgstr "La data fine progetto verrà aggiornata con la data inizio evento."
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_project_project__event_id
#: model:ir.model.fields,field_description:event_project.field_project_task__event_id
msgid "Related event"
msgstr "Evento correlato"
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_event_event__project_id
#: model:ir.model.fields,field_description:event_project.field_event_session__project_id
msgid "Related project"
msgstr "Progetto correlato"
#. module: event_project
#: model:ir.model,name:event_project.model_project_task
msgid "Task"
msgstr "Lavoro"
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_event_event__count_tasks
#: model:ir.model.fields,field_description:event_project.field_event_session__count_tasks
msgid "Task number"
msgstr "Numero lavoro"
#. module: event_project
#: model:ir.actions.act_window,name:event_project.act_event_task_list
#: model:ir.model.fields,field_description:event_project.field_event_event__task_ids
#: model:ir.model.fields,field_description:event_project.field_event_session__task_ids
#: model_terms:ir.ui.view,arch_db:event_project.view_event_form
msgid "Tasks"
msgstr "Lavori"
#~ msgid "Display Name"
#~ msgstr "Nome visualizzato"
#~ msgid "Last Modified on"
#~ msgstr "Ultima modifica il"

View file

@ -0,0 +1,90 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * event_project
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-09 11:24+0000\n"
"PO-Revision-Date: 2015-10-12 06:20+0200\n"
"Last-Translator: Matjaz Mozetic <m.mozetic@matmoz.si>\n"
"Language-Team: \n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: \n"
"X-Generator: Poedit 1.8.5\n"
#. module: event_project
#: model:ir.model,name:event_project.model_event_event
#: model_terms:ir.ui.view,arch_db:event_project.view_task_search_form
msgid "Event"
msgstr "Dogodek"
#. module: event_project
#: model_terms:ir.actions.act_window,help:event_project.act_event_task_list
msgid ""
"Keep track of the progress of your tasks from creation to completion.<br>\n"
" Collaborate efficiently by chatting in real-time or via "
"email."
msgstr ""
#. module: event_project
#: model_terms:ir.actions.act_window,help:event_project.act_event_task_list
msgid "No tasks found. Let's create one!"
msgstr ""
#. module: event_project
#: model:ir.model,name:event_project.model_project_project
msgid "Project"
msgstr ""
#. module: event_project
#: model:ir.model.fields,help:event_project.field_event_event__project_id
#: model:ir.model.fields,help:event_project.field_event_session__project_id
msgid "Project end date will be updated with event start date."
msgstr ""
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_project_project__event_id
#: model:ir.model.fields,field_description:event_project.field_project_task__event_id
#, fuzzy
msgid "Related event"
msgstr "Povezani projekt"
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_event_event__project_id
#: model:ir.model.fields,field_description:event_project.field_event_session__project_id
msgid "Related project"
msgstr "Povezani projekt"
#. module: event_project
#: model:ir.model,name:event_project.model_project_task
msgid "Task"
msgstr "Opravilo"
#. module: event_project
#: model:ir.model.fields,field_description:event_project.field_event_event__count_tasks
#: model:ir.model.fields,field_description:event_project.field_event_session__count_tasks
msgid "Task number"
msgstr ""
#. module: event_project
#: model:ir.actions.act_window,name:event_project.act_event_task_list
#: model:ir.model.fields,field_description:event_project.field_event_event__task_ids
#: model:ir.model.fields,field_description:event_project.field_event_session__task_ids
#: model_terms:ir.ui.view,arch_db:event_project.view_event_form
#, fuzzy
msgid "Tasks"
msgstr "Opravilo"
#~ msgid "Event anticipation days"
#~ msgstr "Dni pred dogodkom"
#~ msgid "Previous day to event date begin"
#~ msgstr "Dni pred začetkom dogodka"
#~ msgid "Template project"
#~ msgstr "Predloga projekta"

View file

@ -0,0 +1,3 @@
from . import event_event
from . import project_project
from . import project_task

View file

@ -0,0 +1,73 @@
# Copyright 2017 Tecnativa - David Vidal
# Copyright 2024 Moduon Team S.L.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
class EventEvent(models.Model):
_inherit = "event.event"
project_id = fields.Many2one(
comodel_name="project.project",
string="Related project",
help="Project end date will be updated with event start date.",
)
task_ids = fields.One2many(
comodel_name="project.task",
inverse_name="event_id",
string="Tasks",
readonly=True,
)
count_tasks = fields.Integer(
string="Task number",
compute="_compute_count_tasks",
)
@api.depends("task_ids")
def _compute_count_tasks(self):
for event in self:
event.count_tasks = len(event.task_ids)
def project_data_update(self, vals):
"""Update data in the linked project. To be called after calling
create/write super."""
def _get_project_vals(event):
return {
"name": event.display_name,
"date_start": event.date_begin,
"date": event.date_end,
"event_id": event.id,
"partner_id": event.organizer_id.id,
"description": event.note,
}
fields_to_check = {
"name",
"date_begin",
"date_end",
"project_id",
"organizer_id",
"note",
}
if not any([f in vals for f in fields_to_check]):
return
for event in self:
if not event.project_id:
continue
event.project_id.write(_get_project_vals(event))
@api.model
def create(self, vals):
events = super().create(vals)
events.project_data_update(vals)
return events
def write(self, vals):
if vals.get("project_id") is False:
self.mapped("project_id").write({"event_id": False})
res = super().write(vals)
self.project_data_update(vals)
return res

Some files were not shown because too many files have changed in this diff Show more