/
This commit is contained in:
parent
1c81289236
commit
c47575ce45
9
.flooignore
Normal file
9
.flooignore
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#*
|
||||||
|
*.o
|
||||||
|
*.pyc
|
||||||
|
*~
|
||||||
|
extern/
|
||||||
|
heroku.yml
|
||||||
|
node_modules/
|
||||||
|
tmp
|
||||||
|
vendor/
|
@ -1,3 +1,4 @@
|
|||||||
[MASTER]
|
[MASTER]
|
||||||
|
|
||||||
load-plugins=pylint_odoo
|
load-plugins=pylint_odoo
|
||||||
|
disable=C8101
|
||||||
|
@ -42,6 +42,11 @@ class Coworker(models.Model):
|
|||||||
is_done = fields.Boolean('Done?')
|
is_done = fields.Boolean('Done?')
|
||||||
is_active = fields.Boolean('Active?', default=True)
|
is_active = fields.Boolean('Active?', default=True)
|
||||||
|
|
||||||
|
# Event fields
|
||||||
|
manager_event_ids = fields.One2many('coworking.event', 'manager_id',
|
||||||
|
string='Events managed')
|
||||||
|
event_ids = fields.Many2many('coworking.event', string='Events visited')
|
||||||
|
|
||||||
|
|
||||||
@api.depends('name', 'firstname')
|
@api.depends('name', 'firstname')
|
||||||
def _compute_full_name(self):
|
def _compute_full_name(self):
|
||||||
|
@ -12,7 +12,8 @@ class Event(models.Model):
|
|||||||
_order = 'id desc'
|
_order = 'id desc'
|
||||||
|
|
||||||
title = fields.Char(required=True)
|
title = fields.Char(required=True)
|
||||||
manager_id = fields.Many2one('coworking.coworker', 'Users', required=False, index=True)
|
manager_id = fields.Many2one('coworking.coworker', 'Manager', index=True,
|
||||||
|
domain="[('coworker_type', 'in', ['staffer', 'member'])]")
|
||||||
date_start = fields.Datetime(default=fields.Date.context_today, required=True)
|
date_start = fields.Datetime(default=fields.Date.context_today, required=True)
|
||||||
date_end = fields.Datetime(required=True)
|
date_end = fields.Datetime(required=True)
|
||||||
|
|
||||||
@ -22,8 +23,23 @@ class Event(models.Model):
|
|||||||
('confirmed', 'Confirmed'),
|
('confirmed', 'Confirmed'),
|
||||||
('canceled', 'Canceled')], default='draft')
|
('canceled', 'Canceled')], default='draft')
|
||||||
|
|
||||||
participants_ids = fields.Many2many('coworking.coworker', string='Users')
|
participants_ids = fields.Many2many('coworking.coworker', string='Subscribers')
|
||||||
|
participants_count = fields.Integer('Number of participants',
|
||||||
|
compute='_compute_participants_count')
|
||||||
|
|
||||||
|
@api.depends('participants_ids')
|
||||||
|
def _compute_participants_count(self):
|
||||||
|
""" Computes number of participants """
|
||||||
|
for event in self:
|
||||||
|
event.participants_count = len(event.participants_ids)
|
||||||
|
|
||||||
|
@api.constrains('statut', 'participants_ids')
|
||||||
|
def _check_if_confirmed(self):
|
||||||
|
"""Test si participants_ids est confirmed"""
|
||||||
|
for event in self:
|
||||||
|
if event.participants_ids and event.statut == 'draft':
|
||||||
|
raise models.ValidationError(_('You can have subscribed people '
|
||||||
|
'if event is not confirmed yet'))
|
||||||
|
|
||||||
@api.constrains('date_end')
|
@api.constrains('date_end')
|
||||||
def _check_date_end(self):
|
def _check_date_end(self):
|
||||||
|
@ -38,6 +38,11 @@
|
|||||||
<field name="note" />
|
<field name="note" />
|
||||||
</page>
|
</page>
|
||||||
<page string="Events" name="Events">
|
<page string="Events" name="Events">
|
||||||
|
<group name="events">
|
||||||
|
<field name="manager_event_ids"
|
||||||
|
context="{'default_manager_id': active_id}" />
|
||||||
|
<field name="event_ids" />
|
||||||
|
</group>
|
||||||
</page>
|
</page>
|
||||||
</notebook>
|
</notebook>
|
||||||
</groupe>
|
</groupe>
|
||||||
|
@ -7,6 +7,9 @@
|
|||||||
<field name="model">coworking.event</field>
|
<field name="model">coworking.event</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="event">
|
<form string="event">
|
||||||
|
<header>
|
||||||
|
<field name="statut" widget="statusbar" clickable="1" />
|
||||||
|
</header>
|
||||||
<sheet>
|
<sheet>
|
||||||
<group name="group_top">
|
<group name="group_top">
|
||||||
<group name="group_left">
|
<group name="group_left">
|
||||||
@ -16,8 +19,8 @@
|
|||||||
<field name="date_end" />
|
<field name="date_end" />
|
||||||
<field name="duration" />
|
<field name="duration" />
|
||||||
<field name="description" />
|
<field name="description" />
|
||||||
<field name="statut" />
|
<field name="participants_ids" widget="many2many_tags"
|
||||||
<fiels name="participants_ids" />
|
options="{'no_create': true}" />
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
</sheet>
|
</sheet>
|
||||||
@ -34,10 +37,46 @@
|
|||||||
<field name="title" />
|
<field name="title" />
|
||||||
<field name="manager_id" />
|
<field name="manager_id" />
|
||||||
<field name="date_start" />
|
<field name="date_start" />
|
||||||
<field name="participants_ids" />
|
<field name="participants_count" />
|
||||||
<field name="statut" />
|
<field name="statut" />
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
<!-- Search -->
|
||||||
|
<record id="view_search_event" model="ir.ui.view">
|
||||||
|
<field name="name">Event Search</field>
|
||||||
|
<field name="model">coworking.event</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<search>
|
||||||
|
<field name="title" />
|
||||||
|
<field name="manager" />
|
||||||
|
|
||||||
|
<filter name="Satut" string="confirmed"
|
||||||
|
domain="[('statut','!=',False)]" />
|
||||||
|
|
||||||
|
<filter name="in_compagny" string="in_compagny"
|
||||||
|
domain="[('company_name','!=',False)]" />
|
||||||
|
|
||||||
|
<separator />
|
||||||
|
|
||||||
|
<filter name="is_savoyar" string="Is_savoyar"
|
||||||
|
domain="[('contact_zip','=like','73___')]" />
|
||||||
|
|
||||||
|
<filter name="meet_of_2017" string="Meet_of_2017"
|
||||||
|
domain="[('contact_date','like','2017')]" />
|
||||||
|
|
||||||
|
<filter name="group_city" string="Group city"
|
||||||
|
context="{'group_by': 'city'}" />
|
||||||
|
|
||||||
|
<filter name="group_month" string="Group month"
|
||||||
|
context="{'group_by': 'contact_date'}" />
|
||||||
|
|
||||||
|
<filter name="group_years" string="Group years"
|
||||||
|
context="{'group_by': 'contact_date:year'}" />
|
||||||
|
|
||||||
|
</search>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
Loading…
Reference in New Issue
Block a user