Revisión 80
Añadido por Manu Mora Gordillo hace alrededor de 14 años
Groups.py | ||
---|---|---|
import logging
|
||
from math import ceil
|
||
from operator import itemgetter
|
||
from Utils import Utils
|
||
from Utils import Utils, LdapUtils
|
||
|
||
class Groups(object):
|
||
|
||
... | ... | |
result = sorted(rows, key=itemgetter(sortBy), reverse=reverseSort)
|
||
|
||
return { "page":page, "total":totalPages, "records":len(search), "rows":result[start:finish] }
|
||
|
||
def getAllGroups(self):
|
||
result = self.ldap.search("ou=Group","(|(groupType=school_department)(groupType=school_class))",["cn","groupType"])
|
||
|
||
departments = []
|
||
classrooms = []
|
||
for g in result:
|
||
if g[0][1]["groupType"][0] == "school_department":
|
||
departments.append(g[0][1]["cn"][0])
|
||
elif g[0][1]["groupType"][0] == "school_class":
|
||
classrooms.append(g[0][1]["cn"][0])
|
||
|
||
departments.sort()
|
||
classrooms.sort()
|
||
return { "departments":departments, "classrooms":classrooms }
|
||
|
||
def buildFilter(self, args):
|
||
filter = "(&(cn=*)(|(groupType=school_class)(groupType=school_department))"
|
||
... | ... | |
|
||
|
||
def add(self):
|
||
maxID = str(self.getMaxID())
|
||
maxID = str(LdapUtils.getMaxID(self.ldap))
|
||
|
||
members = []
|
||
for m in self.users.split(','):
|
||
... | ... | |
return "OK"
|
||
|
||
|
||
def getMaxID(self): # find the maximum ID
|
||
result = self.ldap.search("ou=Group","cn=*",["gidNumber"])
|
||
numbers = []
|
||
for i in result:
|
||
numbers.append(int(i[0][1]['gidNumber'][0]))
|
||
|
||
result = self.ldap.search("ou=People","uid=*",["gidNumber","uidNumber"])
|
||
for i in result:
|
||
numbers.append(int(i[0][1]['gidNumber'][0]))
|
||
numbers.append(int(i[0][1]['uidNumber'][0]))
|
||
|
||
numbers.sort()
|
||
|
||
maxID = 1
|
||
if len(numbers) > 0:
|
||
maxID = numbers[len(numbers)-1] + 1
|
||
|
||
return maxID
|
||
|
||
def getGroupData(self):
|
||
|
||
result = self.ldap.search("ou=Group","cn="+self.name,["cn","grouptype","memberuid"])
|
Exportar a: Unified diff
Añadiendo LdapUtils