Пример #1
0
    def add(self):
        if self.exists_group_name(): return "OK"       
        maxID = str(LdapUtils.getMaxID(self.ldap))

        if len(self.users)>0:
            members = []
            for m in self.users.split(','):
                members.append("uid=" + m + ",ou=People,dc=instituto,dc=extremadura,dc=es")
            memberuids=self.users.split(',')
        else:
            members=['']
            memberuids=['']

        attr = [
        ('objectclass', ['top','posixGroup','lisGroup','lisAclGroup']),
        ('grouptype', [self.type] ),		
        ('gidnumber', [maxID] ),		
        ('cn', [self.name] ),
        ('description', [self.name+' department group']),
        ('memberuid', memberuids),
        ('member', members)
        ]

        self.ldap.add("cn="+self.name+",ou=Group", attr)

        return "OK"
Пример #2
0
    def add(self):
        if self.exists_group_name(): return "OK"

        if self.name == "staff":
            maxID = "3100"
        else:
            maxID = str(LdapUtils.getMaxID(self.ldap))

        if len(self.users) > 0:
            members = []
            for m in self.users.split(','):
                members.append("uid=" + m +
                               ",ou=People,dc=instituto,dc=extremadura,dc=es")
            memberuids = self.users.split(',')
        else:
            members = ['']
            memberuids = ['']

        attr = [
            ('objectclass', ['top', 'posixGroup', 'lisGroup', 'lisAclGroup']),
            ('grouptype', [self.type]),
            ('gidnumber', [maxID]),
            ('cn', [self.name]),
            ('description', [self.name + ' group']),
            ('memberuid', memberuids),
            ('member', members),
            ('agegroup', ['']),
            ('userpassword', ['']),
        ]

        self.ldap.add("cn=" + self.name + ",ou=Group", attr)

        return "OK"
Пример #3
0
    def add(self):
        maxID = str(LdapUtils.getMaxID(self.ldap))
        passwd = '{SSHA}' + Utils.encrypt(self.password)
        name = self.name+" "+self.surname
        
        attr = [
        ('objectclass', ['top','posixAccount','shadowAccount','person','inetOrgPerson']),
        ('uid', [self.user]),
        ('cn', [name.strip()] ),
        ('employeenumber', [self.nif] ),
        ('givenName', [self.name] ),        
        ('sn', [self.surname] ),
        ('uidnumber', [maxID] ),
        ('gidnumber', [maxID] ),    
        ('loginshell', ['/bin/bash'] ),
        ('homeDirectory', [LdapUtils.whatHome(self.type) + self.user] ),
        #('jpegPhoto', ['jpegPhoto'] ),     
        ('userpassword', [passwd])
        ]
        if self.foto is not None:
            attr.append(('jpegPhoto',[self.foto]))

        self.ldap.add("uid="+self.user+",ou=People", attr)

        # Add private group
        attr = [
        ('objectclass', ['top','posixGroup','lisGroup']),
        ('grouptype', ['private']), 
        ('gidnumber', [maxID] ),    
        ('cn', [self.user] ),
        ('description', [self.name+' personal group'] )
        ]

        self.ldap.add("cn="+self.user+",ou=Group", attr)


        # Add selected groups   
        attr = [
        (ldap.MOD_ADD, 'member', ['uid='+self.user+',ou=People,dc=instituto,dc=extremadura,dc=es'] ),
        (ldap.MOD_ADD, 'memberUid', [self.user] )
        ]

        if self.departments != ['']:                   
            for n in self.departments:
                self.ldap.modify('cn='+ n +',ou=Group', attr)
    
        if self.classrooms != ['']:  
            for n in self.classrooms:
                self.ldap.modify('cn='+ n +',ou=Group', attr)
            
        if self.type=='teacher':
            self.ldap.modify('cn=teachers,ou=Group', attr)
        elif self.type=='student':
            self.ldap.modify('cn=students,ou=Group', attr)
        elif self.type=='staff':
            self.ldap.modify('cn=staff,ou=Group', attr)

        return "OK"
Пример #4
0
    def add(self):
        maxID = str(LdapUtils.getMaxID(self.ldap))
        passwd = '{SSHA}' + Utils.encrypt(self.password)
        name = self.name + " " + self.surname

        attr = [
            ('objectclass', [
                'top', 'posixAccount', 'shadowAccount', 'person',
                'inetOrgPerson'
            ]),
            ('uid', [self.user]),
            ('cn', [name.strip()]),
            ('employeenumber', [self.nif]),
            ('givenName', [self.name]),
            ('sn', [self.surname]),
            ('uidnumber', [maxID]),
            ('gidnumber', [maxID]),
            ('loginshell', ['/bin/bash']),
            ('homeDirectory', [LdapUtils.whatHome(self.type) + self.user]),
            #('jpegPhoto', ['jpegPhoto'] ),
            ('userpassword', [passwd])
        ]
        if self.foto is not None:
            attr.append(('jpegPhoto', [self.foto]))

        self.ldap.add("uid=" + self.user + ",ou=People", attr)

        # Add private group
        attr = [('objectclass', ['top', 'posixGroup', 'lisGroup']),
                ('grouptype', ['private']), ('gidnumber', [maxID]),
                ('cn', [self.user]),
                ('description', [self.name + ' personal group'])]

        self.ldap.add("cn=" + self.user + ",ou=Group", attr)

        # Add selected groups
        attr = [(ldap.MOD_ADD, 'member', [
            'uid=' + self.user + ',ou=People,dc=instituto,dc=extremadura,dc=es'
        ]), (ldap.MOD_ADD, 'memberUid', [self.user])]

        if self.departments != ['']:
            for n in self.departments:
                self.ldap.modify('cn=' + n + ',ou=Group', attr)

        if self.classrooms != ['']:
            for n in self.classrooms:
                self.ldap.modify('cn=' + n + ',ou=Group', attr)

        if self.type == 'teacher':
            self.ldap.modify('cn=teachers,ou=Group', attr)
        elif self.type == 'student':
            self.ldap.modify('cn=students,ou=Group', attr)
        elif self.type == 'staff':
            self.ldap.modify('cn=staff,ou=Group', attr)

        return "OK"
Пример #5
0
    def add(self):

        maxID = str(LdapUtils.getMaxID(self.ldap))
        passwd = "{SSHA}" + Utils.encrypt(self.password)
        name = self.name + " " + self.surname

        attr = [
            ("objectclass", ["top", "posixAccount", "shadowAccount", "person", "inetOrgPerson"]),
            ("uid", [self.user]),
            ("cn", [name.strip()]),
            ("employeenumber", [self.nif]),
            ("sn", [name.strip()]),
            ("uidnumber", [maxID]),
            ("gidnumber", [maxID]),
            ("loginshell", ["/bin/bash"]),
            ("homeDirectory", [LdapUtils.whatHome(self.type) + self.user]),
            # ('jpegPhoto', ['jpegPhoto'] ),
            ("userpassword", [passwd]),
        ]
        if self.foto is not None:
            attr.append(("jpegPhoto", [self.foto]))

        self.ldap.add("uid=" + self.user + ",ou=People", attr)

        # Add private group
        attr = [
            ("objectclass", ["top", "posixGroup", "lisGroup"]),
            ("grouptype", ["private"]),
            ("gidnumber", [maxID]),
            ("cn", [self.user]),
            ("description", [self.name + " personal group"]),
        ]

        self.ldap.add("cn=" + self.user + ",ou=Group", attr)

        # Add selected groups
        attr = [
            (ldap.MOD_ADD, "member", ["uid=" + self.user + ",ou=People,dc=instituto,dc=extremadura,dc=es"]),
            (ldap.MOD_ADD, "memberUid", [self.user]),
        ]

        if self.departments != [""]:
            for n in self.departments:
                self.ldap.modify("cn=" + n + ",ou=Group", attr)

        if self.classrooms != [""]:
            for n in self.classrooms:
                self.ldap.modify("cn=" + n + ",ou=Group", attr)

        if self.type == "teacher":
            self.ldap.modify("cn=teachers,ou=Group", attr)
        elif self.type == "student":
            self.ldap.modify("cn=students,ou=Group", attr)

        return "OK"