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

View file

@ -0,0 +1,2 @@
from . import base_partner_merge_automatic_wizard
from . import res_partner_register_event

View file

@ -0,0 +1,14 @@
# Copyright 2023 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models
class BasePartnerMergeAutomaticWizard(models.TransientModel):
_inherit = "base.partner.merge.automatic.wizard"
def action_merge(self):
"""Inject context for later intercept it when the merge process does a flush,
and an update is launched on the partner that recomputes attendee_partner_id.
"""
self = self.with_context(partner_event_merging=True)
return super().action_merge()

View file

@ -0,0 +1,43 @@
# Copyright 2015 Tecnativa - Javier Iniesta
# Copyright 2016 Tecnativa - Antonio Espinosa
# Copyright 2016 Tecnativa - Vicent Cubells
# Copyright 2018 Jupical Technologies Pvt. Ltd. - Anil Kesariya
# Copyright 2020 Tecnativa - Víctor Martínez
# Copyright 2014-2023 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class ResPartnerRegisterEvent(models.TransientModel):
_name = "res.partner.register.event"
_description = "Register partner for event"
event = fields.Many2one(
comodel_name="event.event", required=True, ondelete="cascade"
)
def _prepare_registration(self, partner):
return {
"event_id": self.event.id,
"partner_id": partner.id,
"attendee_partner_id": partner.id,
"name": partner.name,
"email": partner.email,
"phone": partner.phone,
}
def button_register(self):
vals_list = []
Registration = self.env["event.registration"]
for partner in self.env["res.partner"].browse(
self.env.context.get("active_ids", [])
):
if not Registration.search(
[
("event_id", "=", self.event.id),
("attendee_partner_id", "=", partner.id),
]
):
vals_list.append(self._prepare_registration(partner))
self.env["event.registration"].create(vals_list)

View file

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 Tecnativa - Vicent Cubells
Copyright 2023 Tecnativa - Pedro M. Baeza
Copyright 2018 Jupical Technologies Pvt. Ltd. - Anil kesariya
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
<odoo>
<record id="res_partner_register_event_view" model="ir.ui.view">
<field name="name">Register in an event</field>
<field name="model">res.partner.register.event</field>
<field name="arch" type="xml">
<form string="Select event to register">
<group>
<field
name="event"
options="{'no_create': True, 'no_create_edit':True}"
/>
</group>
<footer>
<div>
<button
name="button_register"
type="object"
string="Create registrations"
class="oe_highlight"
/>
<button special="cancel" string="Cancel" />
</div>
</footer>
</form>
</field>
</record>
<record id="action_partner_register_event" model="ir.actions.act_window">
<field name="name">Register in an event</field>
<field name="res_model">res.partner.register.event</field>
<field name="view_mode">form</field>
<field name="view_id" ref="res_partner_register_event_view" />
<field name="binding_model_id" ref="base.model_res_partner" />
<field name="target">new</field>
</record>
</odoo>