summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorDeep Bundela <dbu@odoo.com>2016-04-04 14:25:13 +0200
committerJérome Maes <jem@openerp.com>2016-04-14 11:56:45 +0200
commita2426e420dcc8d5c4ba2139b9094945d1ab5686f (patch)
treecf1f60407cfbcc99c3a4f6e690a98d3309448994 /addons
parent07c84d08f8d9605b6c9761fa217fa1bcd4a3f337 (diff)
[MOV] website_event_track : split files per models
Diffstat (limited to 'addons')
-rw-r--r--addons/website_event_track/__openerp__.py1
-rw-r--r--addons/website_event_track/models/__init__.py1
-rw-r--r--addons/website_event_track/models/event.py56
-rw-r--r--addons/website_event_track/models/website_event_track.py51
-rw-r--r--addons/website_event_track/views/event_views.xml36
-rw-r--r--addons/website_event_track/views/website_event_track_views.xml34
6 files changed, 94 insertions, 85 deletions
diff --git a/addons/website_event_track/__openerp__.py b/addons/website_event_track/__openerp__.py
index f71f3fa7c6a..5e02b57aa22 100644
--- a/addons/website_event_track/__openerp__.py
+++ b/addons/website_event_track/__openerp__.py
@@ -21,6 +21,7 @@ Adds support for:
'depends': ['website_event'],
'data': [
'data/website_event_track_data.xml',
+ 'views/event_views.xml',
'views/website_event_track_templates.xml',
'views/website_event_track_views.xml',
'data/website_event_track_tip_data.xml',
diff --git a/addons/website_event_track/models/__init__.py b/addons/website_event_track/models/__init__.py
index cc0f7a9afdc..434b7104d5c 100644
--- a/addons/website_event_track/models/__init__.py
+++ b/addons/website_event_track/models/__init__.py
@@ -1 +1,2 @@
import website_event_track
+import event
diff --git a/addons/website_event_track/models/event.py b/addons/website_event_track/models/event.py
new file mode 100644
index 00000000000..4cc1e33e8f0
--- /dev/null
+++ b/addons/website_event_track/models/event.py
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+
+from openerp import models, fields, api
+from openerp.tools.translate import _
+from openerp.addons.website.models.website import slug
+
+
+class event_event(models.Model):
+ _inherit = "event.event"
+
+ @api.multi
+ def _count_tracks(self):
+ track_data = self.env['event.track'].read_group([('state', '!=', 'cancel')],
+ ['event_id', 'state'], ['event_id'])
+ result = dict((data['event_id'][0], data['event_id_count']) for data in track_data)
+ for event in self:
+ event.count_tracks = result.get(event.id, 0)
+
+ @api.one
+ def _count_sponsor(self):
+ self.count_sponsor = len(self.sponsor_ids)
+
+ @api.one
+ @api.depends('track_ids.tag_ids')
+ def _get_tracks_tag_ids(self):
+ self.tracks_tag_ids = self.track_ids.mapped('tag_ids').ids
+
+ track_ids = fields.One2many('event.track', 'event_id', 'Tracks')
+ sponsor_ids = fields.One2many('event.sponsor', 'event_id', 'Sponsors')
+ show_track_proposal = fields.Boolean('Tracks Proposals', compute='_get_show_menu', inverse='_set_show_menu', store=True)
+ show_tracks = fields.Boolean('Show Tracks on Website', compute='_get_show_menu', inverse='_set_show_menu', store=True)
+ count_tracks = fields.Integer('Tracks', compute='_count_tracks')
+ allowed_track_tag_ids = fields.Many2many('event.track.tag', relation='event_allowed_track_tags_rel', string='Available Track Tags')
+ tracks_tag_ids = fields.Many2many('event.track.tag', relation='event_track_tags_rel', string='Track Tags', compute='_get_tracks_tag_ids', store=True)
+ count_sponsor = fields.Integer('# Sponsors', compute='_count_sponsor')
+
+ @api.multi
+ def _get_new_menu_pages(self):
+ self.ensure_one()
+ result = super(event_event, self)._get_new_menu_pages()
+ if self.show_tracks:
+ result.append((_('Talks'), '/event/%s/track' % slug(self)))
+ result.append((_('Agenda'), '/event/%s/agenda' % slug(self)))
+ if self.show_track_proposal:
+ result.append((_('Talk Proposals'), '/event/%s/track_proposal' % slug(self)))
+ return result
+
+ @api.multi
+ def _set_show_menu(self):
+ for event in self:
+ # if the number of menu items have changed, then menu items must be regenerated
+ if event.menu_id:
+ nbr_menu_items = len(event._get_new_menu_pages())
+ if nbr_menu_items != len(event.menu_id.child_id):
+ event.menu_id.unlink()
+ return super(event_event, self)._set_show_menu()
diff --git a/addons/website_event_track/models/website_event_track.py b/addons/website_event_track/models/website_event_track.py
index 2d538c4faeb..d648521a72c 100644
--- a/addons/website_event_track/models/website_event_track.py
+++ b/addons/website_event_track/models/website_event_track.py
@@ -124,57 +124,6 @@ class event_track(models.Model):
}
-class event_event(models.Model):
- _inherit = "event.event"
-
- @api.multi
- def _count_tracks(self):
- track_data = self.env['event.track'].read_group([('state', '!=', 'cancel')],
- ['event_id', 'state'], ['event_id'])
- result = dict((data['event_id'][0], data['event_id_count']) for data in track_data)
- for event in self:
- event.count_tracks = result.get(event.id, 0)
-
- @api.one
- def _count_sponsor(self):
- self.count_sponsor = len(self.sponsor_ids)
-
- @api.one
- @api.depends('track_ids.tag_ids')
- def _get_tracks_tag_ids(self):
- self.tracks_tag_ids = self.track_ids.mapped('tag_ids').ids
-
- track_ids = fields.One2many('event.track', 'event_id', 'Tracks')
- sponsor_ids = fields.One2many('event.sponsor', 'event_id', 'Sponsors')
- show_track_proposal = fields.Boolean('Tracks Proposals', compute='_get_show_menu', inverse='_set_show_menu', store=True)
- show_tracks = fields.Boolean('Show Tracks on Website', compute='_get_show_menu', inverse='_set_show_menu', store=True)
- count_tracks = fields.Integer('Tracks', compute='_count_tracks')
- allowed_track_tag_ids = fields.Many2many('event.track.tag', relation='event_allowed_track_tags_rel', string='Available Track Tags')
- tracks_tag_ids = fields.Many2many('event.track.tag', relation='event_track_tags_rel', string='Track Tags', compute='_get_tracks_tag_ids', store=True)
- count_sponsor = fields.Integer('# Sponsors', compute='_count_sponsor')
-
- @api.multi
- def _get_new_menu_pages(self):
- self.ensure_one()
- result = super(event_event, self)._get_new_menu_pages()
- if self.show_tracks:
- result.append((_('Talks'), '/event/%s/track' % slug(self)))
- result.append((_('Agenda'), '/event/%s/agenda' % slug(self)))
- if self.show_track_proposal:
- result.append((_('Talk Proposals'), '/event/%s/track_proposal' % slug(self)))
- return result
-
- @api.multi
- def _set_show_menu(self):
- for event in self:
- # if the number of menu items have changed, then menu items must be regenerated
- if event.menu_id:
- nbr_menu_items = len(event._get_new_menu_pages())
- if nbr_menu_items != len(event.menu_id.child_id):
- event.menu_id.unlink()
- return super(event_event, self)._set_show_menu()
-
-
class event_sponsors_type(models.Model):
_name = "event.sponsor.type"
_order = "sequence"
diff --git a/addons/website_event_track/views/event_views.xml b/addons/website_event_track/views/event_views.xml
new file mode 100644
index 00000000000..4b927f99876
--- /dev/null
+++ b/addons/website_event_track/views/event_views.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <!-- Events Organisation/CONFIGURATION/EVENTS -->
+ <record id="view_event_form" model="ir.ui.view">
+ <field name="name">Event Tracks</field>
+ <field name="inherit_id" ref="event.view_event_form"/>
+ <field name="model">event.event</field>
+ <field name="arch" type="xml">
+ <div name="button_box" position="inside">
+ <button name="%(action_event_track_from_event)d"
+ type="action"
+ class="oe_stat_button"
+ icon="fa-inbox"
+ attrs="{'invisible': [('show_tracks', '=', False), ('show_track_proposal', '=', False)]}">
+ <field name="count_tracks" widget="statinfo"/>
+ </button>
+ <button name="%(action_event_sponsor_from_event)d"
+ type="action"
+ class="oe_stat_button"
+ icon="fa-users">
+ <field name="count_sponsor" widget="statinfo" string="Sponsors"/>
+ </button>
+ </div>
+ <xpath expr="//div[@class='oe_title']" position="inside">
+ <div name="event_checkboxes">
+ <field name="show_menu"/>
+ <label for="show_menu"/>
+ <field name="show_tracks" attrs="{'invisible': [('show_menu', '=', False)]}"/>
+ <label for="show_tracks" attrs="{'invisible': [('show_menu', '=', False)]}"/>
+ <field name="show_track_proposal" attrs="{'invisible': [('show_menu', '=', False)]}"/>
+ <label for="show_track_proposal" attrs="{'invisible': [('show_menu', '=', False)]}"/>
+ </div>
+ </xpath>
+ </field>
+ </record>
+</odoo>
diff --git a/addons/website_event_track/views/website_event_track_views.xml b/addons/website_event_track/views/website_event_track_views.xml
index fc114807eff..ec31351f6e1 100644
--- a/addons/website_event_track/views/website_event_track_views.xml
+++ b/addons/website_event_track/views/website_event_track_views.xml
@@ -318,39 +318,5 @@ Tracks define the agenda of your event. These can be a talk, a round table, a me
<menuitem id="menu_event_track_tag" action="action_event_track_tag"
parent="event.menu_event_configuration"/>
- <!-- Events Organisation/CONFIGURATION/EVENTS -->
- <record model="ir.ui.view" id="view_event_form">
- <field name="name">Event Tracks</field>
- <field name="inherit_id" ref="event.view_event_form"/>
- <field name="model">event.event</field>
- <field name="arch" type="xml">
- <div name="button_box" position="inside">
- <button name="%(action_event_track_from_event)d"
- type="action"
- class="oe_stat_button"
- icon="fa-inbox"
- attrs="{'invisible': [('show_tracks', '=', False), ('show_track_proposal', '=', False)]}">
- <field name="count_tracks" widget="statinfo"/>
- </button>
- <button name="%(action_event_sponsor_from_event)d"
- type="action"
- class="oe_stat_button"
- icon="fa-users">
- <field name="count_sponsor" widget="statinfo" string="Sponsors"/>
- </button>
- </div>
- <xpath expr="//div[@class='oe_title']" position="inside">
- <div name="event_checkboxes">
- <field name="show_menu"/>
- <label for="show_menu"/>
- <field name="show_tracks" attrs="{'invisible': [('show_menu', '=', False)]}"/>
- <label for="show_tracks" attrs="{'invisible': [('show_menu', '=', False)]}"/>
- <field name="show_track_proposal" attrs="{'invisible': [('show_menu', '=', False)]}"/>
- <label for="show_track_proposal" attrs="{'invisible': [('show_menu', '=', False)]}"/>
- </div>
- </xpath>
- </field>
- </record>
-
</data>
</openerp>