Ejemplo n.º 1
0
Archivo: group.py Proyecto: OpenCSI/lbe
 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
Ejemplo n.º 2
0
Archivo: group.py Proyecto: OpenCSI/lbe
 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
Ejemplo n.º 3
0
Archivo: views.py Proyecto: OpenCSI/lbe
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))
Ejemplo n.º 4
0
Archivo: views.py Proyecto: OpenCSI/lbe
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))
Ejemplo n.º 5
0
 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."
Ejemplo n.º 6
0
 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."