Proyecto

General

Perfil

« Anterior | Siguiente » 

Revisión 79

Añadiendo número de usuarios de cada grupo

Ver diferencias:

controlies/www/js/autocomplete/TextboxList.Autocomplete.js
url: '',
param: 'search',
extraParams: {},
loadPlaceholder: 'Please wait...'
loadPlaceholder: 'Por favor espere...'
},
method: 'standard',
placeholder: 'Type to receive suggestions'
placeholder: 'Escribe para obtener resultados'
}, _options);
var init = function(){
controlies/www/groups/index.html
url:'groups?action=list',
mtype: 'POST',
datatype: "json",
colNames:['Tipo Grupo','Nombre','ID Grupo'],
colNames:['Tipo Grupo','Nombre','ID Grupo','Nº Usuarios'],
colModel:[
{name:'type',index:'type', width:60, align:"center", stype:'select', editoptions:{value:":Todo;Departamento:Departamentos;Curso:Cursos"}},
{name:'cn',index:'cn', width:80, align:"center"},
{name:'gidNumber',index:'gidNumber', width:60, align:"center"}
{name:'gidNumber',index:'gidNumber', width:60, align:"center"},
{name:'usersNumber',index:'usersNumber', width:60, align:"center"}
],
rowNum:25,
height:335,
......
$.post('groups', 'action=getGroupData&name='+uid, function(data) {
var result = $.parseJSON(data);
//$("#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 #type").val(result.response['type']);
if(result.response['type']=="school_department")
var textType = "Departamento";
else
var textType = "Curso";
$("#form_data #type").replaceWith(textType+"<input type='hidden' id='type' name='type' value='"+result.response['type']+"'/>");
$("#form_data #name").replaceWith(result.response['name']+"<input type='hidden' id='name' name='name' value='"+result.response['name']+"'/>");
$.each(result.response['memberuid'], function(i, l){
autoComplete.add(l);
controlies/www/index.html
<div id="tabs-1">
<img src="img/unlock.png" style="float:right;"/>
<form id="form_authentication" onSubmit="return authentication();">
<p><span id="hostTag">LDAP</span><br><input type="text" id="host" name="host" value="172.23.36.8"></p>
<p><span id="hostTag">LDAP</span><br><input type="text" id="host" name="host" value="localhost"></p>
<p><span id="userTag">Nombre</span><br><input type="text" id="user" name="user" value="admin"></p>
<p><span id="passwordTag">Contrase&ntilde;a</span><br><input type="password" id="password" name="password"></p><br>
<div id="message" style="text-align:center; font-weight:bold; color:red; "></div>
controlies/Utils/Utils.py
# Module: Groups.py
# Purpose: Groups class
# Language: Python 2.5
# Date: 7-Feb-2011.
# Ver: 7-Feb-2011.
# Date: 18-Feb-2011.
# Ver: 18-Feb-2011.
# Author: Manuel Mora Gordillo
# Francisco Mendez Palma
# Copyright: 2011 - Manuel Mora Gordillo <manuito @no-spam@ gmail.com>
......
inTwoLists = set(list1) & set(list2)
return { 'onlyInList1':onlyInList1, 'onlyInList2':onlyInList2, 'inTwoLists':inTwoLists }
def parseToLdap(string):
string = string.replace(" ","_")
string = string.replace("á","a").replace("é","e").replace("í","o").replace("ó","o").replace("ú","u")
string = string.replace("Á","A").replace("É","E").replace("Í","I").replace("Ó","O").replace("Ú","U")
string = string.replace("ñ","n").replace("Ñ","N")
return string
controlies/Plugins/Groups.py
def __init__(self,ldap,type,name,users):
self.ldap = ldap
self.type = type
self.name = name
self.name = Utils.parseToLdap(name)
self.users = users
def validation(self,action):
if self.type == "none":
......
def list(self,args):
filter = self.buildFilter(args)
search = self.ldap.search("ou=Group",filter,["cn","gidNumber","groupType"])
search = self.ldap.search("ou=Group",filter,["cn","gidNumber","groupType","memberUid"])
# grid parameters
limit = int(args['rows'][0])
......
typeRow="Departamento"
if searchType == typeRow or searchType=="none":
try:
usersNumber = len(i[0][1]["memberUid"])
except:
usersNumber = 0
row = {
"id":i[0][1]["cn"][0],
"cell":[typeRow, i[0][1]["cn"][0], i[0][1]["gidNumber"][0]],
"cell":[typeRow, i[0][1]["cn"][0], i[0][1]["gidNumber"][0], usersNumber],
"type": typeRow,
"cn": i[0][1]["cn"][0],
"gidNumber": i[0][1]["gidNumber"][0]
"gidNumber": i[0][1]["gidNumber"][0],
"usersNumber": usersNumber
}
rows.append(row)
......
(ldap.MOD_REPLACE, 'memberuid', self.users.split(',')),
(ldap.MOD_REPLACE, 'member', members)
]
print mod_attrs
self.ldap.modify('cn='+ self.name +',ou=Group', mod_attrs)
return "OK"
def delete(self):
self.ldap.delete('cn='+ self.name +',ou=Group')
return "OK"
def getMaxID(self): # find the maximum ID
result = self.ldap.search("ou=Group","cn=*",["gidNumber"])

Exportar a: Unified diff