Revisión 63
Añadido por Manu Mora Gordillo hace alrededor de 14 años
controlies/Plugins/Users.py | ||
---|---|---|
def __init__(self):
|
||
pass
|
||
|
||
def __init__(self,ldap,type,name,surname,nif,user,password,password2):
|
||
def __init__(self,ldap,type,name,surname,nif,user,password,password2,departments,classrooms):
|
||
self.ldap = ldap
|
||
self.type = type
|
||
self.name = name
|
||
... | ... | |
self.user = user
|
||
self.password = password
|
||
self.password2 = password2
|
||
|
||
self.departments = departments
|
||
self.classrooms = classrooms
|
||
|
||
def validation(self,action):
|
||
|
||
if action == "add":
|
||
... | ... | |
]
|
||
|
||
self.ldap.add("uid="+self.user+",ou=People", attr)
|
||
|
||
|
||
return "OK"
|
||
|
||
|
||
... | ... | |
(ldap.MOD_REPLACE, 'userpassword', [passwd])
|
||
]
|
||
|
||
self.ldap.modify("uid="+self.user+",ou=People", attr)
|
||
|
||
#self.ldap.modify("uid="+self.user+",ou=People", attr)
|
||
|
||
#Modify groups
|
||
currentGroups = self.getUserGroups()
|
||
|
||
#sameGroups = set(currentGroups["departments"]) & set(self.departments)
|
||
deleteGroups = set(currentGroups["departments"]).difference(set(self.departments))
|
||
|
||
attr = [
|
||
(ldap.MOD_DELETE, 'member', ['uid='+self.user+',ou=People,dc=instituto,dc=extremadura,dc=es'] ),
|
||
(ldap.MOD_DELETE, 'memberUid', [self.user] )
|
||
]
|
||
|
||
for d in deleteGroups:
|
||
self.ldap.delete('cn='+ d +',ou=Group')
|
||
|
||
newGroups = set(self.departments).difference(currentGroups["departments"])
|
||
|
||
#print deleteGroups
|
||
#print newGroups
|
||
return "OK"
|
||
|
||
|
||
def delete(self):
|
||
|
||
self.ldap.delete('uid='+ self.user +',ou=People')
|
controlies/www/users/form.html | ||
---|---|---|
<p><span id="nameTag">Nombre y Apellidos</span><br><input type="text" id="name" name="name" onChange="searchUsername();"/></p>
|
||
<p><span id="surnameTag">Primer Apellido</span><br><input type="text" id="surname" name="surname"/></p>
|
||
<p><span id="nifTag">NIF</span><br><input type="text" id="nif" name="nif"/></p>
|
||
<p><span id="departmentsTag">Departamentos</span><br><select type="text" id="departments" name="departments" style="width:250px;"></select>
|
||
<p><span id="classroomsTag">Clases</span><br><select type="text" id="classrooms" name="classrooms" style="width:250px;"></select>
|
||
|
||
<p><span id="departmentsTag">Departamentos</span><br><select type="text" id="departments" name="departments[]" multiple style="width:250px;"></select>
|
||
<p><span id="classroomsTag">Cursos</span><br><select type="text" id="classrooms" name="classrooms[]" multiple style="width:250px;"></select>
|
||
|
||
<p><span id="userTag">Usuario</span><br><input type="text" id="user" name="user"/></p>
|
||
<p><span id="passwordTag">Contraseña</span><br><input type="text" id="password" name="password"/></p>
|
||
<p><span id="password2Tag">Repita Contraseña</span><br><input type="text" id="password2" name="password2"/></p>
|
||
|
||
<div id="message" style="text-align:center; font-weight:bold; color:red; padding:3px; "></div>
|
||
<div style="text-align:center;"><button id="saveButton" type="submit" style="width:100px;">Guardar</button> <button type="button" id="cancelButton" style="width:100px;">Cancelar</button></div>
|
||
<p style="padding-top:10px; text-align:center; font-size:10px;" id="messageForm"></p>
|
||
<p style="padding-top:10px; text-align:center; font-size:10px;" id="messageForm"></p>
|
||
</form>
|
controlies/www/users/index.html | ||
---|---|---|
var textType = "Profesor";
|
||
else
|
||
var textType = "Alumno";
|
||
|
||
var dep = Array(result.response['groups']['departments']);
|
||
|
||
$("#form_data #type").replaceWith(textType+"<input type='hidden' id='type' name='type' value='"+result.response['type']+"'/>");
|
||
$("#form_data #name").val(result.response['name']);
|
||
$("#form_data #nif").val(result.response['nif']);
|
||
$("#form_data #user").val(result.response['user']);
|
||
$("#form_data #surname").val(result.response['surname']);
|
||
|
||
|
||
$.each(result.response['groups']['departments'], function(i, l){
|
||
$("#form_data #departments option:contains('"+l+"')").attr("selected","selected");
|
||
$('#form_data input:checkbox[value='+l+']').attr('checked', true);
|
||
});
|
||
|
||
$.each(result.response['groups']['classrooms'], function(i, l){
|
||
$('#form_data input:checkbox[value='+l+']').attr('checked', true);
|
||
});
|
||
});
|
||
});
|
||
|
||
x = ($(window).width()-250)/2;
|
||
y = ($(window).height()-400)/2;
|
||
x = ($(window).width()-300)/2;
|
||
y = ($(window).height()-500)/2;
|
||
|
||
$("#dialog-form").dialog({
|
||
resizable: false,
|
||
modal: true,
|
||
width: 400,
|
||
width: 300,
|
||
title: "Modificar Usuario"
|
||
}).dialog('option', 'position', [x, y]);
|
||
}
|
controlies/MainLoop.py | ||
---|---|---|
if command == "users":
|
||
|
||
from Plugins.Users import Users
|
||
|
||
|
||
if request.args['action'][0] == "list":
|
||
u = Users(l,"","","","","","","")
|
||
u = Users(l,"","","","","","","","","")
|
||
response = u.list(request.args)
|
||
return json.dumps(response)
|
||
|
||
elif request.args['action'][0] == "searchUsername":
|
||
u = Users(l,"",request.args['name'][0],request.args['surname'][0],"","","","")
|
||
u = Users(l,"",request.args['name'][0],request.args['surname'][0],"","","","","","")
|
||
response = u.searchNewUsername()
|
||
return json.dumps({"response" : response})
|
||
|
||
elif request.args['action'][0] == "getUserData":
|
||
u = Users(l,"","","","",request.args['user'][0],"","")
|
||
u = Users(l,"","","","",request.args['user'][0],"","","","")
|
||
response = u.getUserData()
|
||
return json.dumps({"response" : response})
|
||
|
||
elif request.args['action'][0] == "delete":
|
||
u = Users(l,"","","","",request.args['user'][0],"","")
|
||
u = Users(l,"","","","",request.args['user'][0],"","","","")
|
||
response = u.delete()
|
||
return json.dumps({"response" : response})
|
||
|
||
else:
|
||
u = Users(l,request.args['type'][0],request.args['name'][0],request.args['surname'][0],request.args['nif'][0],request.args['user'][0],request.args['password'][0],request.args['password2'][0])
|
||
departments=[]
|
||
classrooms=[]
|
||
|
||
try:
|
||
departments = request.args['multiselect_departments']
|
||
except:
|
||
pass
|
||
|
||
try:
|
||
classrooms = request.args['multiselect_classrooms']
|
||
except:
|
||
pass
|
||
|
||
u = Users(l,request.args['type'][0],request.args['name'][0],request.args['surname'][0],request.args['nif'][0],request.args['user'][0],request.args['password'][0],request.args['password2'][0],departments,classrooms)
|
||
response = u.process(request.args['action'][0])
|
||
return json.dumps({"response" : response})
|
||
|
Exportar a: Unified diff
Grupos de usuarios