From 95952a8d56abb3c69e3597991b3c3819e65c8775 Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (OpenERP)" Date: Tue, 17 Apr 2012 15:03:40 +0530 Subject: [PATCH 1/2] [ADD] added functionality which checks the available seats at the time of confirming registration, and set current date in demo data inorder to show the upcoming events bzr revid: bde@tinyerp.com-20120417093340-824lazijkbf83m1x --- addons/event/event.py | 12 ++++++++++++ addons/event/event_demo.xml | 8 ++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/addons/event/event.py b/addons/event/event.py index 6bf1ea24786..071835fa240 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -102,6 +102,14 @@ class event_event(osv.osv): total_confirmed = self.event.register_current if total_confirmed < self.event.register_min or total_confirmed > self.event.register_max and self.event.register_max!=0: raise osv.except_osv(_('Error!'),_("The total of confirmed registration for the event '%s' does not meet the expected minimum/maximum. You should maybe reconsider those limits before going further") % (self.event.name)) + + def check_registration_limits_before(self, cr, uid, ids, no_of_registration, context=None): + total_confirmed = self.browse(cr, uid, ids, context=context).register_current + register_max = self.browse(cr, uid, ids, context=context).register_max + available_seats = register_max - total_confirmed + if no_of_registration > available_seats: + raise osv.except_osv(_('Warning!'),_("Only %d Seats are Available!") % (available_seats)) + def confirm_event(self, cr, uid, ids, context=None): register_pool = self.pool.get('event.registration') @@ -295,6 +303,10 @@ class event_registration(osv.osv): def registration_open(self, cr, uid, ids, context=None): """ Open Registration """ + event_obj = self.pool.get('event.event') + event_id = self.browse(cr, uid, ids, context=context)[0].event_id.id + no_of_registration = self.browse(cr, uid, ids, context=context)[0].nb_register + event_obj.check_registration_limits_before(cr, uid, event_id, no_of_registration, context=context) res = self.confirm_registration(cr, uid, ids, context=context) self.mail_user(cr, uid, ids, context=context) return res diff --git a/addons/event/event_demo.xml b/addons/event/event_demo.xml index 96bc64e12aa..d5907b4bebf 100644 --- a/addons/event/event_demo.xml +++ b/addons/event/event_demo.xml @@ -38,16 +38,16 @@ Opera of Verdi - - + + 50 350 Conference on ERP Business - - + + 200 From 27d279e3c3e21233005efa5b4c2aca788044f912 Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (OpenERP)" Date: Tue, 17 Apr 2012 17:01:20 +0530 Subject: [PATCH 2/2] [IMP] improved the date manipulation in event/event_demo.xml bzr revid: bde@tinyerp.com-20120417113120-cm6tro3par1vtpy2 --- addons/event/event_demo.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/event/event_demo.xml b/addons/event/event_demo.xml index d5907b4bebf..81dad07b5e4 100644 --- a/addons/event/event_demo.xml +++ b/addons/event/event_demo.xml @@ -38,16 +38,16 @@ Opera of Verdi - - + + 50 350 Conference on ERP Business - - + + 200