[IMP] add the make_url method for the xmlrpc method
bzr revid: mva@openerp.com-20120203085948-d1uinxlcfib85nnd
This commit is contained in:
parent
90aab905b6
commit
16f8546fac
|
@ -35,39 +35,40 @@ class event_moodle(osv.osv):
|
||||||
'serveur_moodle': fields.char('Moodle server', 128, required=True,help="URL where you have your moodle server ")
|
'serveur_moodle': fields.char('Moodle server', 128, required=True,help="URL where you have your moodle server ")
|
||||||
}
|
}
|
||||||
|
|
||||||
url='http://127.0.0.1/moodle/webservice/xmlrpc/server.php?wstoken=3ecfb383330044a884b1ee86e0872b47'
|
url=''
|
||||||
|
|
||||||
def configure_moodle(self,cr,uid,ids,context=None):
|
def configure_moodle(self,cr,uid,ids,context=None):
|
||||||
self.write(cr,uid,ids,{'id':1})
|
self.write(cr,uid,[1],{'id':1})
|
||||||
#save information that you need to create the url
|
#save information that you need to create the url
|
||||||
|
return {'type': 'ir.actions.act_window_close'}
|
||||||
|
#use to quit the wizard
|
||||||
def make_url(self,cr,uid,ids,context=None):
|
def make_url(self,cr,uid,ids,context=None):
|
||||||
config_moodle = self.browse(cr, uid, ids, context=context)
|
config_moodle = self.browse(cr, uid, ids, context=context)
|
||||||
if config_moodle[0].moodle_username and config_moodle[0].moodle_password:
|
if config_moodle[0].moodle_username and config_moodle[0].moodle_password:
|
||||||
url='http://'+config_moodle[0].serveur_moodle+'/moodle/webservice/xmlrpc/simpleserver.php?wsusername='+config_moodle[0].moodle_username+'&wspassword='+config_moodle[0].moodle_password
|
url='http://'+config_moodle[0].serveur_moodle+'/moodle/webservice/xmlrpc/simpleserver.php?wsusername='+config_moodle[0].moodle_username+'&wspassword='+config_moodle[0].moodle_password
|
||||||
#connexion with password and username
|
#connexion with password and username
|
||||||
#to do warning on special char
|
#to do warning on special char
|
||||||
print config_moodle[0].moodle_token
|
|
||||||
if config_moodle[0].moodle_token:
|
if config_moodle[0].moodle_token:
|
||||||
url='http://'+config_moodle[0].serveur_moodle+'/moodle/webservice/xmlrpc/server.php?wstoken='+config_moodle[0].moodle_token
|
url='http://'+config_moodle[0].serveur_moodle+'/moodle/webservice/xmlrpc/server.php?wstoken='+config_moodle[0].moodle_token
|
||||||
#connexion with token
|
#connexion with token
|
||||||
self.url = url
|
self.url = url
|
||||||
return url
|
return url
|
||||||
|
|
||||||
#create a good url for xmlrpc connect
|
#create a good url for xmlrpc connect
|
||||||
def create_moodle_user(self,dic_user):
|
def create_moodle_user(self,cr,uid,ids,dic_user):
|
||||||
|
self.make_url(cr,uid,ids,context=None)
|
||||||
sock = xmlrpclib.ServerProxy(self.url)
|
sock = xmlrpclib.ServerProxy(self.url)
|
||||||
#connect to moodle
|
#connect to moodle
|
||||||
return sock.core_user_create_users(dic_user)
|
return sock.core_user_create_users(dic_user)
|
||||||
#add user un moodle and return list of id and username
|
#add user un moodle and return list of id and username
|
||||||
|
|
||||||
def create_moodle_courses(self,courses):
|
def create_moodle_courses(self,cr,uid,ids,courses):
|
||||||
|
self.make_url(cr,uid,ids,context=None)
|
||||||
sock = xmlrpclib.ServerProxy(self.url)
|
sock = xmlrpclib.ServerProxy(self.url)
|
||||||
#connect to moodle
|
#connect to moodle
|
||||||
return sock.core_course_create_courses(courses)
|
return sock.core_course_create_courses(courses)
|
||||||
#add course un moodle
|
#add course un moodle
|
||||||
|
|
||||||
def moodle_enrolled(self,enrolled):
|
def moodle_enrolled(self,cr,uid,ids,enrolled):
|
||||||
|
self.make_url(cr,uid,ids,context=None)
|
||||||
sock = xmlrpclib.ServerProxy(self.url)
|
sock = xmlrpclib.ServerProxy(self.url)
|
||||||
#connect to moodle
|
#connect to moodle
|
||||||
sock.enrol_manual_enrol_users(enrolled)
|
sock.enrol_manual_enrol_users(enrolled)
|
||||||
|
@ -83,8 +84,9 @@ class event_moodle(osv.osv):
|
||||||
return passwd
|
return passwd
|
||||||
# create a random password
|
# create a random password
|
||||||
def check_email(self,email):
|
def check_email(self,email):
|
||||||
if (email.count('@')!=1 and email.count('.')<1):
|
if email:
|
||||||
raise osv.except_osv(_('Error!'),_("Your email '%s' is wrong") % (email))
|
if (email.count('@')!=1 and email.count('.')<1):
|
||||||
|
raise osv.except_osv(_('Error!'),_("Your email '%s' is wrong") % (email))
|
||||||
|
|
||||||
def make_username(self,username,response_courses):
|
def make_username(self,username,response_courses):
|
||||||
if username:
|
if username:
|
||||||
|
@ -111,7 +113,7 @@ class event_event(osv.osv):
|
||||||
dic_courses= [{'fullname' :name_event,'shortname' :'','summary':event[0].note,'categoryid':1}]
|
dic_courses= [{'fullname' :name_event,'shortname' :'','summary':event[0].note,'categoryid':1}]
|
||||||
#create a dict course
|
#create a dict course
|
||||||
moodle_pool = self.pool.get('event.moodle')
|
moodle_pool = self.pool.get('event.moodle')
|
||||||
response_courses = moodle_pool.create_moodle_courses(dic_courses)
|
response_courses = moodle_pool.create_moodle_courses(cr,uid,[1],dic_courses)
|
||||||
self.write(cr,uid,ids,{'moodle_id':response_courses[0]['id']})
|
self.write(cr,uid,ids,{'moodle_id':response_courses[0]['id']})
|
||||||
#create a course in moodle and keep the id
|
#create a course in moodle and keep the id
|
||||||
for registration in event[0].registration_ids:
|
for registration in event[0].registration_ids:
|
||||||
|
@ -131,7 +133,7 @@ class event_event(osv.osv):
|
||||||
#add the dictionary in a list
|
#add the dictionary in a list
|
||||||
self.pool.get('event.registration').write(cr,uid,[registration.id],{'moodle_user_password':passwd,'moodle_users':name_user})
|
self.pool.get('event.registration').write(cr,uid,[registration.id],{'moodle_user_password':passwd,'moodle_users':name_user})
|
||||||
#write in database the password and the username
|
#write in database the password and the username
|
||||||
response_user = moodle_pool.create_moodle_user(list_users)
|
response_user = moodle_pool.create_moodle_user(cr,uid,[1],list_users)
|
||||||
#create users in moodle
|
#create users in moodle
|
||||||
enrolled =[]
|
enrolled =[]
|
||||||
for dic in response_user:
|
for dic in response_user:
|
||||||
|
@ -140,7 +142,7 @@ class event_event(osv.osv):
|
||||||
'userid' :dic['id'],
|
'userid' :dic['id'],
|
||||||
'courseid' :response_courses[0]['id']
|
'courseid' :response_courses[0]['id']
|
||||||
}]
|
}]
|
||||||
moodle_pool.moodle_enrolled(enrolled)
|
moodle_pool.moodle_enrolled(cr,uid,[1],enrolled)
|
||||||
#link a course with users
|
#link a course with users
|
||||||
return super(event_event, self).button_confirm(cr, uid, ids, context)
|
return super(event_event, self).button_confirm(cr, uid, ids, context)
|
||||||
|
|
||||||
|
@ -167,7 +169,7 @@ class event_registration(osv.osv):
|
||||||
'email': register[0].email
|
'email': register[0].email
|
||||||
}]
|
}]
|
||||||
#create a dictionary for an use
|
#create a dictionary for an use
|
||||||
response_user = moodle_pool.create_moodle_user(dic_users)
|
response_user = moodle_pool.create_moodle_user(cr,uid,[1],dic_users)
|
||||||
self.pool.get('event.registration').write(cr,uid,ids,{'moodle_user_password':passwd,'moodle_users':name_user})
|
self.pool.get('event.registration').write(cr,uid,ids,{'moodle_user_password':passwd,'moodle_users':name_user})
|
||||||
#write in database the password and the username
|
#write in database the password and the username
|
||||||
enrolled=[{
|
enrolled=[{
|
||||||
|
@ -175,6 +177,6 @@ class event_registration(osv.osv):
|
||||||
'userid' :response_user[0]['id'],#use the response of the create user
|
'userid' :response_user[0]['id'],#use the response of the create user
|
||||||
'courseid' :register[0].event_id.moodle_id
|
'courseid' :register[0].event_id.moodle_id
|
||||||
}]
|
}]
|
||||||
moodle_pool.moodle_enrolled(enrolled)
|
moodle_pool.moodle_enrolled(cr,uid,[1],enrolled)
|
||||||
|
|
||||||
return super(event_registration, self).check_confirm(cr, uid, ids, context)
|
return super(event_registration, self).check_confirm(cr, uid, ids, context)
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
<button type="special" special="cancel"
|
<button type="special" special="cancel"
|
||||||
string="Cancel" icon="gtk-cancel"/>
|
string="Cancel" icon="gtk-cancel"/>
|
||||||
<button type="object" name="configure_moodle"
|
<button type="object" name="configure_moodle"
|
||||||
string="Configure Moodle" icon="gtk-ok"/>
|
string="Configure Moodle" icon="gtk-ok"/>
|
||||||
</form>
|
</form>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
Loading…
Reference in New Issue