Exemplo n.º 1
0
 def create_or_update_project(self, project):
     conn = LDAPClient()
     try:
         conn.get_group('cn=%s' % project.pid)
     except:
         conn.add_group(cn=str(project.pid))
     users = [str(person.user.username) for person in project.users.all()]
     if users:
         conn.update_group('cn=%s' % project.pid, memberUid=users)
     else:
         conn.update_group('cn=%s' % project.pid, memberUid='')
     del(conn)
Exemplo n.º 2
0
    def create_institute(self, institute):
        conn = LDAPClient()
        if institute.gid:
            try:
                lgroup = conn.get_group("gidNumber=%s" % institute.gid)
                gid = int(lgroup.gidNumber)
            except DoesNotExistException:
                gid = conn.add_group(cn=str(institute.name.lower().replace(" ", "")), gidNumber=str(institute.gid))
        else:

            try:
                lgroup = conn.get_group("cn=%s" % str(institute.name.lower().replace(" ", "")))
                gid = int(lgroup.gidNumber)
            except DoesNotExistException:
                gid = conn.add_group(cn=str(institute.name.lower().replace(" ", "")))
        del (conn)
        return gid
Exemplo n.º 3
0
    def test_add_existing_gid(self):
        
        lcon = LDAPClient()
        gid = lcon.add_group(cn='testinstituteother', gidNumber=['700'])

        institute = Institute.objects.create(name='Test Institute 26', gid=700)

        lgroup = lcon.get_group('gidNumber=%s' % institute.gid)
        self.assertEqual(gid, institute.gid) 
        self.assertEqual(gid, 700) 
Exemplo n.º 4
0
    def test_add_existing_name(self):
        
        lcon = LDAPClient()
        gid = lcon.add_group(cn='testinstitute27')

        institute = Institute.objects.create(name='Test Institute 27')

        lgroup = lcon.get_group('gidNumber=%s' % institute.gid)
        self.assertEqual(gid, institute.gid) 
        self.assertEqual(institute.name.lower().replace(' ' , ''), lgroup.cn) 
Exemplo n.º 5
0
    def create_software(self, software):
        conn = LDAPClient()
        if software.gid:
            try:
                lgroup = conn.get_group("gidNumber=%s" % software.gid)
                gid = int(lgroup.gidNumber)
            except DoesNotExistException:
                gid = conn.add_group(cn=str(software.name.lower().replace(' ', '')), gidNumber=str(software.gid))
        else:
            if not software.restricted and software.softwarelicense_set.count() == 0:
                return None
            try:
                lgroup = conn.get_group("cn=%s" % str(software.name.lower().replace(' ', '')))
                gid = int(lgroup.gidNumber)
            except DoesNotExistException:
                gid = conn.add_group(cn=str(software.name.lower().replace(' ', '')))

        del(conn)
        return gid