Proyecto

General

Perfil

« Anterior | Siguiente » 

Revisión 63

Grupos de usuarios

Ver diferencias:

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>&nbsp;&nbsp;<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