mirror of
https://github.com/bringout/oca-mrp.git
synced 2026-04-23 12:52:09 +02:00
Initial commit: OCA Mrp packages (117 packages)
This commit is contained in:
commit
277e84fd7a
4403 changed files with 395154 additions and 0 deletions
|
|
@ -0,0 +1,2 @@
|
|||
from . import base_partner_merge_automatic_wizard
|
||||
from . import res_partner_register_event
|
||||
|
|
@ -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()
|
||||
|
|
@ -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)
|
||||
|
|
@ -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>
|
||||
Loading…
Add table
Add a link
Reference in a new issue