diff --git a/.floo b/.floo
new file mode 100644
index 0000000..a609292
--- /dev/null
+++ b/.floo
@@ -0,0 +1,3 @@
+{
+ "url": "https://floobits.com/yaltik/coworking"
+}
\ No newline at end of file
diff --git a/.flooignore b/.flooignore
new file mode 100644
index 0000000..b1e8d7d
--- /dev/null
+++ b/.flooignore
@@ -0,0 +1,9 @@
+#*
+*.o
+*.pyc
+*~
+extern/
+heroku.yml
+node_modules/
+tmp
+vendor/
\ No newline at end of file
diff --git a/.pylintrc b/.pylintrc
index affec68..0fc70b8 100644
--- a/.pylintrc
+++ b/.pylintrc
@@ -1,3 +1,4 @@
[MASTER]
load-plugins=pylint_odoo
+disable=C8101
diff --git a/Note.txt b/Note.txt
new file mode 100644
index 0000000..e69de29
diff --git a/models/coworker.py b/models/coworker.py
index daedf22..3c3006f 100644
--- a/models/coworker.py
+++ b/models/coworker.py
@@ -42,6 +42,11 @@ class Coworker(models.Model):
is_done = fields.Boolean('Done?')
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')
def _compute_full_name(self):
diff --git a/models/event.py b/models/event.py
index c9c825f..96144b5 100644
--- a/models/event.py
+++ b/models/event.py
@@ -12,7 +12,8 @@ class Event(models.Model):
_order = 'id desc'
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_end = fields.Datetime(required=True)
@@ -22,8 +23,23 @@ class Event(models.Model):
('confirmed', 'Confirmed'),
('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')
def _check_date_end(self):
diff --git a/views/coworker_views.xml b/views/coworker_views.xml
index 003145a..7c5cbff 100644
--- a/views/coworker_views.xml
+++ b/views/coworker_views.xml
@@ -38,6 +38,11 @@
+
+
+
+
diff --git a/views/event_views.xml b/views/event_views.xml
index ee509e6..4346b9e 100644
--- a/views/event_views.xml
+++ b/views/event_views.xml
@@ -7,6 +7,9 @@
coworking.event
+
+
+ Event Search
+ coworking.event
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+