[FIX] split the button_confirm and registration_open function in event and the super function in event_moodle

bzr revid: mva@openerp.com-20120228120134-k38kkxj2d5ylrw53
This commit is contained in:
MVA 2012-02-28 13:01:34 +01:00
parent 5806856a7e
commit 97e7843377
2 changed files with 34 additions and 24 deletions

View File

@ -103,25 +103,31 @@ class event_event(osv.osv):
def button_done(self, cr, uid, ids, context=None):
return self.write(cr, uid, ids, {'state': 'done'}, context=context)
def confirmation_event(self,cr,uid,ids,context=None):
register_pool = self.pool.get('event.registration')
for self.event in self.browse(cr, uid, ids, context=context):
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 confirmation_email(self,cr,uid,ids,context=None):
if self.event.email_confirmation_id:
#send reminder that will confirm the event for all the people that were already confirmed
reg_ids = register_pool.search(cr, uid, [
('event_id', '=', self.event.id),
('state', 'not in', ['draft', 'cancel'])], context=context)
register_pool.mail_user_confirm(cr, uid, reg_ids)
return self.write(cr, uid, ids, {'state': 'confirm'}, context=context)
def button_confirm(self, cr, uid, ids, context=None):
""" Confirm Event and send confirmation email to all register peoples
"""
#renforcing method : create a list of ids
if isinstance(ids, (int, long)):
ids = [ids]
#renforcing method : create a list of ids
register_pool = self.pool.get('event.registration')
for event in self.browse(cr, uid, ids, context=context):
total_confirmed = event.register_current
if total_confirmed < event.register_min or total_confirmed > event.register_max and 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") % (event.name))
if event.email_confirmation_id:
#send reminder that will confirm the event for all the people that were already confirmed
reg_ids = register_pool.search(cr, uid, [
('event_id', '=', event.id),
('state', 'not in', ['draft', 'cancel'])], context=context)
register_pool.mail_user_confirm(cr, uid, reg_ids)
return self.write(cr, uid, ids, {'state': 'confirm'}, context=context)
self.confirmation_event(cr,uid,ids,context=context)
self.confirmation_email(cr,uid,ids,context=context)
return True
def _get_register(self, cr, uid, ids, fields, args, context=None):
"""Get Confirm or uncofirm register value.
@param ids: List of Event registration type's id
@ -253,14 +259,20 @@ class event_registration(osv.osv):
def do_draft(self, cr, uid, ids, context=None):
return self.write(cr, uid, ids, {'state': 'draft'}, context=context)
def confirmation_registration(self, cr, uid, ids, context=None):
res = self.write(cr, uid, ids, {'state': 'open'}, context=context)
self.message_append(cr, uid, ids,_('State set to...'),body_text= _('Open'))
return res
def email_registration(self, cr, uid, ids, context=None):
self.mail_user(cr, uid, ids)
def registration_open(self, cr, uid, ids, context=None):
""" Open Registration
"""
res = self.write(cr, uid, ids, {'state': 'open'}, context=context)
self.mail_user(cr, uid, ids)
self.message_append(cr, uid, ids,_('State set to...'),body_text= _('Open'))
return res
self.confirmation_registration(cr, uid, ids, context=context)
self.email_registration(cr, uid, ids, context=context)
def button_reg_close(self, cr, uid, ids, context=None):
""" Close Registration

View File

@ -157,12 +157,11 @@ class event_event(osv.osv):
'moodle_id': fields.integer('Moodle ID', help='The identifier of this event in Moodle'),
}
def button_confirm(self, cr, uid, ids, context=None):
def confirmation_event(self, cr, uid, ids, context=None):
"""
create moodle courses ,users and match them when an event is confirmed
if the event_registration is not confirmed then it doesn t nothing
"""
res =super(event_event, self).button_confirm(cr, uid, ids, context)
moodle_pool = self.pool.get('event.moodle.config.wiz')
moodle_config_wiz_id = moodle_pool.find(cr, uid, context=context)
list_users=[]
@ -217,7 +216,7 @@ class event_event(osv.osv):
'courseid' :response_courses[0]['id']
})
moodle_pool.moodle_enrolled(cr, uid, moodle_config_wiz_id, enrolled, context=context)
return res
return super(event_event, self).confirmation_event(cr, uid, ids, context)
event_event()
@ -231,11 +230,10 @@ class event_registration(osv.osv):
'moodle_uid': fields.integer('Moodle User ID'),
}
def registration_open(self, cr, uid, ids, context=None):
def confirmation_registration(self, cr, uid, ids, context=None):
"""
create a user and match to a course if the event is already confirmed
"""
res = super(event_registration, self).registration_open(cr, uid, ids, context=context)
moodle_pool = self.pool.get('event.moodle.config.wiz')
moodle_config_wiz_id = moodle_pool.find(cr, uid, context=context)
for register in self.browse(cr, uid, ids, context=context):
@ -265,7 +263,7 @@ class event_registration(osv.osv):
'courseid': register.event_id.moodle_id
}]
moodle_pool.moodle_enrolled(cr, uid, moodle_config_wiz_id, enrolled, context=context)
return res
return super(event_registration, self).confirmation_registration(cr, uid, ids, context=context)
def onchange_moodle_name(self, cr, uid, ids, moodle_username, context=None):
"""