From 57585307fad70519b1fb818de1cd3fd67a3a4947 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Sat, 23 Nov 2013 10:27:28 +0100 Subject: [PATCH] [NEW] Adding tracks management for events (community meeting) bzr revid: fp@tinyerp.com-20131123092728-jo2f197rjnt39z7g --- addons/event/event.py | 3 - addons/event/event_view.xml | 9 +- .../event/report/report_event_registration.py | 3 - addons/website_event_track/__init__.py | 23 ++ addons/website_event_track/__openerp__.py | 27 ++ .../website_event_track/data/event_data.xml | 22 ++ .../website_event_track/data/event_demo.xml | 33 +++ .../website_event_track/data/event_view.xml | 274 ++++++++++++++++++ addons/website_event_track/models/event.py | 83 ++++++ .../security/event_security.xml | 17 ++ .../security/ir.model.access.csv | 4 + 11 files changed, 485 insertions(+), 13 deletions(-) create mode 100644 addons/website_event_track/__init__.py create mode 100644 addons/website_event_track/__openerp__.py create mode 100644 addons/website_event_track/data/event_data.xml create mode 100644 addons/website_event_track/data/event_demo.xml create mode 100644 addons/website_event_track/data/event_view.xml create mode 100644 addons/website_event_track/models/event.py create mode 100644 addons/website_event_track/security/event_security.xml create mode 100644 addons/website_event_track/security/ir.model.access.csv diff --git a/addons/event/event.py b/addons/event/event.py index 6b5c3ebdf07..5b866442353 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -41,7 +41,6 @@ class event_type(osv.osv): 'default_registration_max': 0, } - class event_event(osv.osv): """Event""" _name = 'event.event' @@ -202,14 +201,12 @@ class event_event(osv.osv): 'email_registration_id' : fields.many2one('email.template','Registration Confirmation Email', help='This field contains the template of the mail that will be automatically sent each time a registration for this event is confirmed.'), 'email_confirmation_id' : fields.many2one('email.template','Event Confirmation Email', help="If you set an email template, each participant will receive this email announcing the confirmation of the event."), 'reply_to': fields.char('Reply-To Email', size=64, readonly=False, states={'done': [('readonly', True)]}, help="The email address of the organizer is likely to be put here, with the effect to be in the 'Reply-To' of the mails sent automatically at event or registrations confirmation. You can also put the email address of your mail gateway if you use one."), - 'main_speaker_id': fields.many2one('res.partner','Main Speaker', readonly=False, states={'done': [('readonly', True)]}, help="Speaker who will be giving speech at the event."), 'address_id': fields.many2one('res.partner','Location', readonly=False, states={'done': [('readonly', True)]}), 'street': fields.related('address_id','street',type='char',string='Street'), 'street2': fields.related('address_id','street2',type='char',string='Street2'), 'state_id': fields.related('address_id','state_id',type='many2one', relation="res.country.state", string='State'), 'zip': fields.related('address_id','zip',type='char',string='zip'), 'city': fields.related('address_id','city',type='char',string='city'), - 'speaker_confirmed': fields.boolean('Speaker Confirmed', readonly=False, states={'done': [('readonly', True)]}), 'country_id': fields.related('address_id', 'country_id', type='many2one', relation='res.country', string='Country', readonly=False, states={'done': [('readonly', True)]}, store=True), 'description': fields.html( diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index e1ea6e95af9..72a36f2b8ef 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -76,18 +76,18 @@
+ - + @@ -102,10 +102,6 @@ - - - - @@ -175,7 +171,6 @@ - diff --git a/addons/event/report/report_event_registration.py b/addons/event/report/report_event_registration.py index 0e33e892432..b529d6ef029 100644 --- a/addons/event/report/report_event_registration.py +++ b/addons/event/report/report_event_registration.py @@ -44,7 +44,6 @@ class report_event_registration(osv.osv): 'user_id': fields.many2one('res.users', 'Event Responsible', readonly=True), 'user_id_registration': fields.many2one('res.users', 'Register', readonly=True), 'name_registration': fields.char('Participant / Contact Name',size=45, readonly=True), - 'speaker_id': fields.many2one('res.partner', 'Speaker', readonly=True), 'company_id': fields.many2one('res.company', 'Company', readonly=True), } _order = 'event_date desc' @@ -64,7 +63,6 @@ class report_event_registration(osv.osv): r.user_id AS user_id_registration, r.name AS name_registration, e.company_id AS company_id, - e.main_speaker_id AS speaker_id, to_char(e.date_begin, 'YYYY-MM-DD') AS event_date, to_char(e.date_begin, 'YYYY') AS year, to_char(e.date_begin, 'MM') AS month, @@ -91,7 +89,6 @@ class report_event_registration(osv.osv): e.user_id, event_state, e.company_id, - e.main_speaker_id, year, month, e.register_max, diff --git a/addons/website_event_track/__init__.py b/addons/website_event_track/__init__.py new file mode 100644 index 00000000000..708d6ce4669 --- /dev/null +++ b/addons/website_event_track/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013-Today OpenERP SA (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +import controllers +import models diff --git a/addons/website_event_track/__openerp__.py b/addons/website_event_track/__openerp__.py new file mode 100644 index 00000000000..1d5d79067e8 --- /dev/null +++ b/addons/website_event_track/__openerp__.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- + +{ + 'name': 'Tracks and Agenda of Events', + 'category': 'Website', + 'summary': 'Organize Your Events', + 'version': '1.0', + 'description': """ +Online Events +============= + + """, + 'author': 'OpenERP SA', + 'depends': ['website_event', 'website_blog'], + 'data': [ + 'data/event_view.xml', + 'data/event_data.xml', + 'views/website_event.xml', + 'security/ir.model.access.csv', + 'security/website_event.xml', + ], + 'qweb': ['static/src/xml/*.xml'], + 'demo': [ + 'data/event_demo.xml' + ], + 'installable': True, +} diff --git a/addons/website_event_track/data/event_data.xml b/addons/website_event_track/data/event_data.xml new file mode 100644 index 00000000000..c02afbc8e98 --- /dev/null +++ b/addons/website_event_track/data/event_data.xml @@ -0,0 +1,22 @@ + + + + + + Proposals + + + Confirmed + + + Published + + + Announced + + + Completed + + + + diff --git a/addons/website_event_track/data/event_demo.xml b/addons/website_event_track/data/event_demo.xml new file mode 100644 index 00000000000..80b762c00f4 --- /dev/null +++ b/addons/website_event_track/data/event_demo.xml @@ -0,0 +1,33 @@ + + + + + + Technical + + + Business + + + Lightning Talks + + + Round Table + + + + + Room 1 + + + Room 2 + + + Room 3 + + + Room 4 + + + + diff --git a/addons/website_event_track/data/event_view.xml b/addons/website_event_track/data/event_view.xml new file mode 100644 index 00000000000..58cfc0de995 --- /dev/null +++ b/addons/website_event_track/data/event_view.xml @@ -0,0 +1,274 @@ + + + + + + event.track + form + Event Tracks + kanban,tree,form,calendar,graph + {'search_default_event_id': active_id, 'default_event_id': active_id} + + + + + + Event Locations + event.location + +
+ + +
+
+ + Event Location + event.location + + + + + + + + Event Locations + event.location + + + + + + Event Stages + event.stage + +
+ + +
+
+ + Event Stage + event.stage + + + + + + + + Event Stages + event.stage + + + + + + Event Tags + event.tag + +
+ + +
+
+ + Event Tag + event.tag + + + + + + + + Event Tags + event.tag + + + + + + + Event Tracks + + event.event + + + + + +