示例#1
0
    def addGroup(self, gid):
        '''Add a new group'''
        if super(LdapModelFactory, self).addGroup(gid):
            gl = self.getGroupList()

            if not gid in gl:
                g = Group()
                g.gid = gid
                g.gidNumber = self.getHighestGidNumber()
                mod_attrs = []

                mod_attrs.append(('objectClass', ['top', 'posixGroup']))

                mod_attrs.append(self.prepareVolatileAttribute(g, None, 'cn'))
                mod_attrs.append(
                    self.prepareVolatileAttribute(g, None, 'gidNumber'))

                while None in mod_attrs:
                    mod_attrs.remove(None)

                dn = 'cn=' + gid + ',' + Config.get('ldap', 'basedn_groups')
                dn = dn.encode('ascii', 'ignore')
                result = self.ldapcon.add_s(dn, mod_attrs)

                if result is None:
                    return False

            return True

        return False
示例#2
0
  def addGroup(self, gid):
    '''Add a new group'''
    if super(LdapModelFactory, self).addGroup(gid):
      gl = self.getGroupList()

      if not gid in gl:
        g = Group()
        g.gid = gid
        g.gidNumber = self.getHighestGidNumber()
        mod_attrs = []

        mod_attrs.append(('objectClass', ['top', 'posixGroup']))

        mod_attrs.append(self.prepareVolatileAttribute(g, None, 'cn'))
        mod_attrs.append(self.prepareVolatileAttribute(g, None, 'gidNumber'))

        while None in mod_attrs:
          mod_attrs.remove(None)

        dn = 'cn=' + gid + ',' + Config.get('ldap', 'basedn_groups')
        dn = dn.encode('ascii', 'ignore')
        result = self.ldapcon.add_s(dn, mod_attrs)

        if result is None:
          return False

      return True

    return False
示例#3
0
 def addGroup(self, gid):
   try:
     sql_group = self.db.query(Group).filter(Group.gid == gid).one()
     return True
   except LookupError:
     print 'Fatal error...'
     return False
   except NoResultFound:
     '''SQL entry does not exist, create it'''
     try:
       g = Group()
       g.gid = gid
       cherrypy.request.db.add(g)
       cherrypy.request.db.commit()
       return True
     except:
       return False