diff --git a/addons/event/report/report_event_registration.py b/addons/event/report/report_event_registration.py index 060b1ef7556..042676d0c32 100644 --- a/addons/event/report/report_event_registration.py +++ b/addons/event/report/report_event_registration.py @@ -23,16 +23,16 @@ from osv import fields, osv import tools class report_event_registration(osv.osv): - _name = "report.event.registration" _description = "Events Analysis" _auto = False _columns = { 'event_date': fields.char('Event Start Date', size=64, readonly=True), 'year': fields.char('Year', size=4, readonly=True), - 'month': fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), - ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'), - ('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True), + 'month': fields.selection([ + ('01','January'), ('02','February'), ('03','March'), ('04','April'), + ('05','May'), ('06','June'), ('07','July'), ('08','August'), + ('09','September'), ('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True), 'event_id': fields.many2one('event.event', 'Event', required=True), 'draft_state': fields.integer(' # No of Draft Registrations', size=20), 'confirm_state': fields.integer(' # No of Confirmed Registrations', size=20), @@ -48,17 +48,18 @@ class report_event_registration(osv.osv): 'company_id': fields.many2one('res.company', 'Company', readonly=True), } _order = 'event_date desc' + def init(self, cr): """ - initialize the sql view for the event registration - cr -- the cursor + Initialize the sql view for the event registration """ tools.drop_view_if_exists(cr, 'report_event_registration') - cr.execute(""" - CREATE OR REPLACE view report_event_registration AS ( - SELECT - event_id, - r.id, + + # TOFIX this request won't select events that have no registration + cr.execute(""" CREATE VIEW report_event_registration AS ( + SELECT + e.id::char || '/' || coalesce(r.id::char,'') AS id, + e.id AS event_id, e.user_id AS user_id, r.user_id AS user_id_registration, r.name AS name_registration, @@ -72,23 +73,21 @@ class report_event_registration(osv.osv): CASE WHEN r.state IN ('open','done') THEN r.nb_register ELSE 0 END AS confirm_state, e.type AS event_type, e.register_max AS register_max, - e.state AS event_state, - r.state AS registration_state - FROM + e.state AS event_state, + r.state AS registration_state + FROM event_event e + LEFT JOIN event_registration r ON (e.id=r.event_id) - LEFT JOIN - event_registration r ON (e.id=r.event_id) - - GROUP BY + GROUP BY event_id, user_id_registration, - e.id, r.id, registration_state, r.nb_register, - event_type, e.id, e.date_begin, e.main_speaker_id, - e.register_max,event_id, e.user_id,e.company_id, + event_type, + e.id, + e.date_begin, e.user_id, event_state, e.company_id, @@ -97,9 +96,8 @@ class report_event_registration(osv.osv): month, e.register_max, name_registration - - ) - """) + ) + """) report_event_registration() diff --git a/addons/event/report/report_event_registration_view.xml b/addons/event/report/report_event_registration_view.xml index 8b3feed47ea..249757efbd3 100644 --- a/addons/event/report/report_event_registration_view.xml +++ b/addons/event/report/report_event_registration_view.xml @@ -1,8 +1,8 @@ - + - + report.event.registration.tree report.event.registration @@ -28,7 +28,6 @@ - report.event.registration.graph report.event.registration @@ -42,8 +41,7 @@ - - + report.event.registration.search report.event.registration @@ -82,28 +80,28 @@ - + Events Analysis report.event.registration form tree,graph - {"search_default_year":1,"search_default_this_month":1,"search_default_365day":1, "search_default_invoiced":1, "search_default_event":1, 'group_by_no_leaf':1, 'group_by':[]} + {"search_default_year":1,"search_default_this_month":1,"search_default_365day":1, "search_default_invoiced":1, "search_default_event":1, "group_by_no_leaf":1, "group_by":[]} - + tree - + - + graph - + diff --git a/addons/project/project.py b/addons/project/project.py index 4f1d2826980..58431ffd061 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -1426,7 +1426,9 @@ class project_task_history_cumulative(osv.osv): } def init(self, cr): - cr.execute(""" CREATE OR REPLACE VIEW project_task_history_cumulative AS ( + tools.drop_view_if_exists(cr, 'report_event_registration') + + cr.execute(""" CREATE VIEW project_task_history_cumulative AS ( SELECT history.date::varchar||'-'||history.history_id::varchar AS id, history.date AS end_date,