def create(self): print "In order to create a new group, we need some information." self.group = LBEGroup() self.group.name = "groups" self._setGroupName() print "---------------------------------------------------------" print "Enter the ID of the Object Template:" self._setObjectTemplate() print "---------------------------------------------------------" print "Enter the ID of script for the group:" self._setScript() print "---------------------------------------------------------" print "- \033[33mWARNING\033[0m -" print "---------------------------------------------------------" self.group.objectTemplate = self.objectTemplate self.group.script = self.script self.viewGroup() choice = raw_input("Do you want to create the new group? [Y/n]\033[0m") if choice == 'n': return False self.group.synced_at = django.utils.timezone.now() groupHelper = GroupInstanceHelper(self.group, LBEGroupInstance(self.group)) groupHelper.createTemplate() self.group.save() print "\033[32mGroup Saved!\033[0m" return True
def addGroup(request): if request.method == "POST": POST = request.POST.copy() POST['synced_at'] = django.utils.timezone.now() form = LBEGroupForm(POST) if form.is_valid(): # Create it to the Backend groupHelper = GroupInstanceHelper(form.instance, LBEGroupInstance(form.instance)) groupHelper.createTemplate() # Save it to LBE form.save() messages.add_message(request,messages.SUCCESS, "Group saved") else: messages.add_message(request,messages.ERROR, "Error to save the Group.") else: form = LBEGroupForm() return render_to_response('config/group/create.html', {'groupForm': form}, context_instance=RequestContext(request))
def addGroup(request): if request.method == "POST": POST = request.POST.copy() POST['synced_at'] = django.utils.timezone.now() form = LBEGroupForm(POST) if form.is_valid(): # Create it to the Backend groupHelper = GroupInstanceHelper(form.instance, LBEGroupInstance(form.instance)) groupHelper.createTemplate() # Save it to LBE form.save() messages.add_message(request, messages.SUCCESS, "Group saved") else: messages.add_message(request, messages.ERROR, "Error to save the Group.") else: form = LBEGroupForm() return render_to_response('config/group/create.html', {'groupForm': form}, context_instance=RequestContext(request))
def save(self): print 'Checking for Objects which do not exist into LBE Backend but in LDAP Server:' for objectTemplate in LBEObjectTemplate.objects.all(): objectHelper = LBEObjectInstanceHelper(objectTemplate) try: scope = objectHelper.callScriptClassMethod("search_scope") except BaseException: scope = 0 filter = '(&' for oc in objectHelper.callScriptClassMethod('object_classes'): filter += '(objectClass=' + oc + ')' filter += ')' print '\033[91m' + objectTemplate.name + '\033[0m: (\033[95m' + objectHelper.callScriptClassMethod("base_dn") + '\033[0m) using \033[95m' + filter + '\033[0m' objTarget = self.target.searchObjects(objectTemplate, scope) objBackend = self.backend.searchObjects(objectTemplate) number = 0 for ot in objTarget: exist = False for ob in objBackend: if ot.name == ob.name: exist = True break if not exist: number += 1 print '=> Adding \033[95m' + ot.name + '\033[0m object into LBE Backend... ' print " values: " + str(ot.attributes) try: self.backend.createObject(objectTemplate, ot, True) print "\033[92mDone.\033[0m\n" except BaseException as e: print "\033[91mFail.\033[0m" print "''''''''" print e print "''''''''" if number == 0: print '<None>' # Synced object: objectTemplate.synced_at = django.utils.timezone.now() objectTemplate.save() print '.........................' print 'Checking for Groups which do not exist into LBE Backend but in Target:' for groupTemplate in LBEGroup.objects.all(): groupInstance = GroupInstanceHelper(groupTemplate) try: scope = groupInstance.callScriptClassMethod("search_scope") except BaseException: scope = 0 grpTarget = self.target.searchObjects(groupTemplate, scope) grpBackend = self.backend.searchObjects(groupTemplate) for gt in grpTarget: exist = False for gb in grpBackend: if gt.name == gb.name: exist = True break if not exist: # import only existing group into LBE config try: LBEGroup.objects.get(displayName__iexact=gt.displayName) except BaseException: continue print '=> Adding \033[95m' + gt.name + '\033[0m group into LBE Backend... ' print " values: " + str(gt.attributes) try: if groupInstance.attributeName in gt.attributes: gt.attributes[groupInstance.attributeName] = self._getID(gt.attributes[groupInstance.attributeName]) groupHelper = GroupInstanceHelper(groupTemplate, gt) groupHelper.createTemplate(True) #print " >\033[91mThis group does not exists in LBE Configuration Group.\033[0m" #print " >\033[91mIn order to see, manage it, please create it using some extra attribute:" #print " >\033[91m'Display Name': \033[95m" + gt.name + "\033[0m" #print " >\033[91mInto the Script file:" #print " >'DN Attribute': \033[95m" + groupHelper.callScriptClassMethod("base_dn") + "\033[91m" #print " >'Attribute Name' & 'Object Classes': as you wish.\033[0m" print "\033[92mDone.\033[0m\n" except BaseException as e: print "\033[91mFail.\033[0m\n" print "''''''''" print e print "''''''''" # Synced group: groupTemplate.synced_at = django.utils.timezone.now() groupTemplate.save() print "End."
def save(self): print 'Checking for Objects which do not exist into LBE Backend but in LDAP Server:' for objectTemplate in LBEObjectTemplate.objects.all(): objectHelper = LBEObjectInstanceHelper(objectTemplate) try: scope = objectHelper.callScriptClassMethod("search_scope") except BaseException: scope = 0 filter = '(&' for oc in objectHelper.callScriptClassMethod('object_classes'): filter += '(objectClass=' + oc + ')' filter += ')' print '\033[91m' + objectTemplate.name + '\033[0m: (\033[95m' + objectHelper.callScriptClassMethod( "base_dn") + '\033[0m) using \033[95m' + filter + '\033[0m' objTarget = self.target.searchObjects(objectTemplate, scope) objBackend = self.backend.searchObjects(objectTemplate) number = 0 for ot in objTarget: exist = False for ob in objBackend: if ot.name == ob.name: exist = True break if not exist: number += 1 print '=> Adding \033[95m' + ot.name + '\033[0m object into LBE Backend... ' print " values: " + str(ot.attributes) try: self.backend.createObject(objectTemplate, ot, True) print "\033[92mDone.\033[0m\n" except BaseException as e: print "\033[91mFail.\033[0m" print "''''''''" print e print "''''''''" if number == 0: print '<None>' # Synced object: objectTemplate.synced_at = django.utils.timezone.now() objectTemplate.save() print '.........................' print 'Checking for Groups which do not exist into LBE Backend but in Target:' for groupTemplate in LBEGroup.objects.all(): groupInstance = GroupInstanceHelper(groupTemplate) try: scope = groupInstance.callScriptClassMethod("search_scope") except BaseException: scope = 0 grpTarget = self.target.searchObjects(groupTemplate, scope) grpBackend = self.backend.searchObjects(groupTemplate) for gt in grpTarget: exist = False for gb in grpBackend: if gt.name == gb.name: exist = True break if not exist: # import only existing group into LBE config try: LBEGroup.objects.get( displayName__iexact=gt.displayName) except BaseException: continue print '=> Adding \033[95m' + gt.name + '\033[0m group into LBE Backend... ' print " values: " + str(gt.attributes) try: if groupInstance.attributeName in gt.attributes: gt.attributes[ groupInstance.attributeName] = self._getID( gt.attributes[groupInstance.attributeName]) groupHelper = GroupInstanceHelper(groupTemplate, gt) groupHelper.createTemplate(True) #print " >\033[91mThis group does not exists in LBE Configuration Group.\033[0m" #print " >\033[91mIn order to see, manage it, please create it using some extra attribute:" #print " >\033[91m'Display Name': \033[95m" + gt.name + "\033[0m" #print " >\033[91mInto the Script file:" #print " >'DN Attribute': \033[95m" + groupHelper.callScriptClassMethod("base_dn") + "\033[91m" #print " >'Attribute Name' & 'Object Classes': as you wish.\033[0m" print "\033[92mDone.\033[0m\n" except BaseException as e: print "\033[91mFail.\033[0m\n" print "''''''''" print e print "''''''''" # Synced group: groupTemplate.synced_at = django.utils.timezone.now() groupTemplate.save() print "End."