[FIX] moodle fix email,add email required and some fixes

bzr revid: mva@openerp.com-20120227155409-tqs24l3h4djokzo2
This commit is contained in:
MVA 2012-02-27 16:54:09 +01:00
parent c54a2e5184
commit a914c6cba2
2 changed files with 12 additions and 5 deletions

View File

@ -25,6 +25,7 @@ import string
import time import time
import random import random
from random import sample from random import sample
from tools.translate import _
class event_moodle(osv.osv): class event_moodle(osv.osv):
_name = 'event.moodle.config.wiz' _name = 'event.moodle.config.wiz'
@ -75,7 +76,7 @@ class event_moodle(osv.osv):
config_moodle = self.browse(cr, uid, ids[0], context=context) config_moodle = self.browse(cr, uid, ids[0], context=context)
if config_moodle.moodle_username and config_moodle.moodle_password: if config_moodle.moodle_username and config_moodle.moodle_password:
#connexion with password and username #connexion with password and username
password = self.encode_password(config_moodle.moodle_password) password = self._encode_password(config_moodle.moodle_password)
url = config_moodle.server_moodle + '/moodle/webservice/xmlrpc/simpleserver.php?wsusername=' + config_moodle.moodle_username + '&wspassword=' + password url = config_moodle.server_moodle + '/moodle/webservice/xmlrpc/simpleserver.php?wsusername=' + config_moodle.moodle_username + '&wspassword=' + password
if config_moodle.moodle_token: if config_moodle.moodle_token:
#connexion with token #connexion with token
@ -162,6 +163,7 @@ class event_event(osv.osv):
create moodle courses ,users and match them when an event is confirmed create moodle courses ,users and match them when an event is confirmed
if the event_registration is not confirmed then it doesn t nothing 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_pool = self.pool.get('event.moodle.config.wiz')
moodle_config_wiz_id = moodle_pool.find(cr, uid, context=context) moodle_config_wiz_id = moodle_pool.find(cr, uid, context=context)
list_users=[] list_users=[]
@ -200,7 +202,7 @@ class event_event(osv.osv):
'email': registration.email 'email': registration.email
} }
#create the user in moodle #create the user in moodle
response_user = moodle_pool.create_moodle_user(cr, uid, moodle_config_wiz_id, dic_users, context=context) response_user = moodle_pool.create_moodle_user(cr, uid, moodle_config_wiz_id, [dic_users], context=context)
for user in response_user: for user in response_user:
self.pool.get('event.registration').write(cr,uid,[registration.id],{'moodle_uid': user['id'], 'moodle_user_password': passwd, 'moodle_username': name_user}) self.pool.get('event.registration').write(cr,uid,[registration.id],{'moodle_uid': user['id'], 'moodle_user_password': passwd, 'moodle_username': name_user})
moodle_uids.append(user['id']) moodle_uids.append(user['id'])
@ -216,7 +218,7 @@ class event_event(osv.osv):
'courseid' :response_courses[0]['id'] 'courseid' :response_courses[0]['id']
}) })
moodle_pool.moodle_enrolled(cr, uid, moodle_config_wiz_id, enrolled, context=context) moodle_pool.moodle_enrolled(cr, uid, moodle_config_wiz_id, enrolled, context=context)
return super(event_event, self).button_confirm(cr, uid, ids, context) return res
event_event() event_event()
@ -234,6 +236,7 @@ class event_registration(osv.osv):
""" """
create a user and match to a course if the event is already confirmed 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_pool = self.pool.get('event.moodle.config.wiz')
moodle_config_wiz_id = moodle_pool.find(cr, uid, context=context) moodle_config_wiz_id = moodle_pool.find(cr, uid, context=context)
for register in self.browse(cr, uid, ids, context=context): for register in self.browse(cr, uid, ids, context=context):
@ -241,6 +244,7 @@ class event_registration(osv.osv):
if not register.moodle_uid: if not register.moodle_uid:
#create the user in moodle #create the user in moodle
name_user = moodle_pool.make_username(register.name, register.event_id.moodle_id) name_user = moodle_pool.make_username(register.name, register.event_id.moodle_id)
moodle_pool.check_email(register.email)
passwd = moodle_pool.create_password() passwd = moodle_pool.create_password()
dic_users = [{ dic_users = [{
'username': name_user, 'username': name_user,
@ -250,7 +254,7 @@ class event_registration(osv.osv):
'lastname': '', #we could make a split of the register.name on ' ' but it would be inaccurate, so it seems better to let it empty as it's not really useful 'lastname': '', #we could make a split of the register.name on ' ' but it would be inaccurate, so it seems better to let it empty as it's not really useful
'email': register.email, 'email': register.email,
}] }]
response_user = moodle_pool.create_moodle_user(cr, uid, ids, dic_users, context=context) response_user = moodle_pool.create_moodle_user(cr, uid, moodle_config_wiz_id, dic_users, context=context)
#write in database the password and the username #write in database the password and the username
moodle_user_id = response_user[0]['id'] moodle_user_id = response_user[0]['id']
self.pool.get('event.registration').write(cr, uid, ids, {'moodle_uid': moodle_user_id, 'moodle_user_password': passwd, 'moodle_username': name_user}) self.pool.get('event.registration').write(cr, uid, ids, {'moodle_uid': moodle_user_id, 'moodle_user_password': passwd, 'moodle_username': name_user})
@ -262,7 +266,7 @@ class event_registration(osv.osv):
'courseid': register.event_id.moodle_id 'courseid': register.event_id.moodle_id
}] }]
moodle_pool.moodle_enrolled(cr, uid, moodle_config_wiz_id, enrolled, context=context) moodle_pool.moodle_enrolled(cr, uid, moodle_config_wiz_id, enrolled, context=context)
return super(event_registration, self).registration_open(cr, uid, ids, context=context) return res
def onchange_moodle_name(self, cr, uid, ids, moodle_username, context=None): def onchange_moodle_name(self, cr, uid, ids, moodle_username, context=None):
""" """

View File

@ -32,6 +32,9 @@
<field name="moodle_username" colspan="2" on_change="onchange_moodle_name(moodle_user_password)"/> <field name="moodle_username" colspan="2" on_change="onchange_moodle_name(moodle_user_password)"/>
<field name="name" required="1" /> <field name="name" required="1" />
</xpath> </xpath>
<field name="email" position="replace">
<field name="email" required="1" />
</field>
</field> </field>
</record> </record>
</data> </data>