Bharat Devnani (Open ERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-event_improvements-atp-multiple-subscription-bde
 into lp:~openerp-dev/openobject-addons/trunk-event_improvements-atp.

Requested reviews:
  OpenERP R&D Team (openerp-dev)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-event_improvements-atp-multiple-subscription-bde/+merge/102286

Hello Sir,

I have added functionality which checks the available seats
at the time of confirming registration, and set upcoming date
in demo data.

Thanks & Regards,
Devnani Bharat R.
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-event_improvements-atp-multiple-subscription-bde/+merge/102286
Your team OpenERP R&D Team is requested to review the proposed merge of 
lp:~openerp-dev/openobject-addons/trunk-event_improvements-atp-multiple-subscription-bde
 into lp:~openerp-dev/openobject-addons/trunk-event_improvements-atp.
=== modified file 'event/event.py'
--- event/event.py	2012-03-30 09:08:37 +0000
+++ event/event.py	2012-04-17 11:39:17 +0000
@@ -102,6 +102,14 @@
             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 @@
     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

=== modified file 'event/event_demo.xml'
--- event/event_demo.xml	2012-03-29 13:00:46 +0000
+++ event/event_demo.xml	2012-04-17 11:39:17 +0000
@@ -38,16 +38,16 @@
 
     <record id="event_1" model="event.event">
         <field name="name">Opera of Verdi</field>
-        <field eval="time.strftime('%Y-%m-05 18:00:00')" name="date_begin"/>
-        <field eval="time.strftime('%Y-%m-05 21:00:00')" name="date_end"/>
+        <field eval="(DateTime.today()+ timedelta(days=1)).strftime('%Y-%m-%d 18:00:00')" name="date_begin"/>
+        <field eval="(DateTime.today()+ timedelta(days=2)).strftime('%Y-%m-%d 21:00:00')" name="date_end"/>
         <field name="type" ref="event_type_1"/>
         <field name="register_min">50</field>
         <field name="register_max">350</field>
     </record>
     <record id="event_2" model="event.event">
         <field name="name">Conference on ERP Business</field>
-        <field eval="time.strftime('%Y-%m-05 14:00:00')" name="date_begin"/>
-        <field eval="time.strftime('%Y-%m-05 16:30:00')" name="date_end"/>
+        <field eval="(DateTime.today()+ timedelta(days=2)).strftime('%Y-%m-%d 14:00:00')" name="date_begin"/>
+        <field eval="(DateTime.today()+ timedelta(days=2)).strftime('%Y-%m-%d 16:30:00')" name="date_end"/>
         <field name="type" ref="event_type_2"/>
         <field name="register_max">200</field>
     </record>

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to