diff --git a/models/calendar.py b/models/calendar.py index ae7eeb274fa852b0380e05505ae3ec4c9a23257c..e47644834002668fccfedec68fbe3cdaa13fa559 100644 --- a/models/calendar.py +++ b/models/calendar.py @@ -46,15 +46,29 @@ class CGScopCalendar(models.Model): index=True, on_delete='restrict', default=_default_ur) + ur_financial_system_nb = fields.Integer( + string="Nb Dispositifs Financiers", + compute="_compute_ur_financial_system_nb") # ------------------------------------------------------ - # onchange + # Compute + # ------------------------------------------------------ + @api.depends('ur_id') + def _compute_ur_financial_system_nb(self): + for event in self: + financial_system = event.env['ur.financial.system'].search([ + ('ur_id', '=', event.ur_id.id)]) + event.ur_financial_system_nb = len( + financial_system) + + # ------------------------------------------------------ + # Onchange # ------------------------------------------------------ @api.onchange('project_id') def _onchange_project_id(self): if self.project_id.partner_id: self.coop_id = self.project_id.partner_id - + @api.onchange('coop_id') def _onchange_coop_id(self): address = '' diff --git a/views/calendar.xml b/views/calendar.xml index 3d5e15c6ad77b1deb334512bef5e96132daa9770..aa6008decb0c01ffaa9c790f658489613f2bb07c 100644 --- a/views/calendar.xml +++ b/views/calendar.xml @@ -90,7 +90,8 @@ <field name="allday" attrs="{'readonly': [('id', '!=', False), ('recurrency','=',True)]}" force_save="1"/> <field name="type" /> <field name="location" /> - <field name="ur_financial_system_id" options="{'no_open': True, 'no_create': True}" /> + <field name="ur_financial_system_nb" invisible="1"/> + <field name="ur_financial_system_id" options="{'no_open': True, 'no_create': True}" attrs="{'required':[('ur_financial_system_nb', '>', 0)]}"/> </group> </group> <group string="Informations complémentaires" name="event_extra_info"> @@ -166,9 +167,11 @@ </calendar> <field name="partner_ids" position="before"> <field name="ur_id" invisible="1"/> + <field name="coop_id" options="{'no_open': True, 'no_create': True}"/> </field> <field name="partner_ids" position="attributes"> <attribute name="domain">[('user_ids', '!=', False), ('ur_id', '=', ur_id)]</attribute> + <field name="type" options="{'no_open': True, 'no_create': True}"/> </field> </field> </record> @@ -184,9 +187,6 @@ <field name="coop_id"/> </field> <filter name="mymeetings" position="after"> - <separator/> - <filter string="Transformé en feuille de temps" name="timesheet" domain="[('is_transfered', '=', True)]"/> - <filter string="Non Transformé" name="not_timesheet" domain="[('is_transfered', '=', False)]"/> <separator/> <filter string="UR" name="ur" domain="[('type', '=', 'ur')]"/> <filter string="Hors UR" name="not_ur" domain="[('type', '=', 'outside')]"/> @@ -195,21 +195,5 @@ </field> </record> - <record id="cgscop_view_calendar_event_calendar" model="ir.ui.view"> - <field name="name">calendar.event.calendar</field> - <field name="model">calendar.event</field> - <field name="inherit_id" ref="calendar.view_calendar_event_calendar"/> - <field name="arch" type="xml"> - <data> - <field name="partner_ids" position="before"> - <field name="coop_id" options="{'no_open': True, 'no_create': True}"/> - </field> - <field name="partner_ids" position="after"> - <field name="type" options="{'no_open': True, 'no_create': True}"/> - </field> - </data> - </field> - </record> - </data> </odoo>