コード例 #1
0
ファイル: models.py プロジェクト: xspeedcruiser/nlb
    def save_model(self, request, obj, form, change):
        obj.last_mod_user = request.user
        validation_failed = False
        username_email=None

        try:
            if obj.user_id:
                username_email = ldap_search.get_name_email(obj.user_id)
            elif obj.user_email:
                username_email = ldap_search.get_name_email(obj.user_email)
            if username_email:
                obj.owner = username_email['full_name']
                obj.user_email =  username_email['email']
                user_department = username_email['department']
                dept_obj = Department.objects.filter(dept_name = user_department)
                if dept_obj.count() > 1:
                    messages.add_message(request,messages.ERROR,'Multiple UDAs found for the department - %s, selecting the first UDA' % (user_department))
                if dept_obj:
                    obj.requestor_department = dept_obj[0]
                else:
                    messages.add_message(request,messages.ERROR,'Unable to identify UDA for the department - %s' % (user_department))

            if obj.ao_email:
                obj.ao_name = ldap_search.get_name_email(obj.ao_email)['full_name']

        except KeyError as e:
            logger.debug("LDAP error during lookup for ci %s" % obj.ci_name )
            messages.add_message(request,messages.ERROR,'Please verify, Some information may not be updated properly due to an error !')
            logger.debug(e)
        except LDAPError as e1:
            messages.add_message(request,messages.ERROR,'LDAP service error, some information may not be updated properly !')
            logger.debug(e1)


        try:
                if request.user.groups.get(name = 'readonly') == Group.objects.get(name = 'readonly'):
                    validation_failed = True
                    
                    messages.add_message(request,messages.ERROR,'You have Read-Only access, Not allowed to modify any object')
                    #logger.debug(dir(obj))
                    return "You have Read-Only access, Not allowed to modify any object"
        except ObjectDoesNotExist, e:
            pass
コード例 #2
0
ファイル: models.py プロジェクト: xspeedcruiser/nlb
    def update_ao(self, request, queryset):

        form = None

        if 'apply' in request.POST:
            form = UpdateAOForm(request.POST)
         
            if form.is_valid():
                #asset = form.cleaned_data['assets']
                #logger.debug(form.cleaned_data)

                ao_email =  form.cleaned_data['ao_email']

                #for page in queryset:
                #do update ao action

                try:
                    ao_name = ldap_search.get_name_email(ao_email)['full_name']
                    queryset.update(ao_email = ao_email, ao_name = ao_name, last_mod_user = request.user)
                    self.message_user(request, "AO for the selected assets updated ! ")
                except LDAPError as e1:
                    messages.add_message(request,messages.ERROR,'LDAP service error, Unable to get AO Profile !')
                    logger.debug(e1)
                return HttpResponseRedirect(request.get_full_path())
         
        if not form:
            form = UpdateAOForm(initial={'_selected_action': request.POST.getlist(helpers.ACTION_CHECKBOX_NAME)})
         
        opts = self.model._meta
        app_label = opts.app_label
         
        return render_to_response(
            'afm/afm_update_ao.html',
            {'assets': queryset, 'updateaoform': form, "opts": opts, "app_label": app_label},
            context_instance=RequestContext(request)
            )
コード例 #3
0
ファイル: afm_initial.py プロジェクト: xspeedcruiser/nlb
            monitor_model = Hardware_info.objects.get(hw_type = 2 ,hw_make = mon_manufacturer, hw_model= mon_model)
        except ObjectDoesNotExist:
            print "Monitor model  %s, %s does not exist , creating.. " % (mon_manufacturer, mon_model)
            monitor_model = Hardware_info(hw_type = 2 ,hw_make = mon_manufacturer, hw_model= mon_model)
            monitor_model.save()

    os = dept_obj  = None


    try:
        if (user_email is None or user_email == 'unknown' or user_email == ""):
            user_email = ""
            owner = user_name
            
        else:
            user_info = ldap_search.get_name_email(user_email)
            owner, user_id = (user_info['full_name'] , user_info['userid'])

            user_department = user_info['department']
            #print "User email %s , dept %s" % (user_email, user_department)
            dept_obj = Department.objects.filter(dept_name = user_department)
            if dept_obj.count() > 1:
                print "Multiple UDAs found for Department %s, taking the first one " % user_department
            dept_obj = dept_obj[0]
    except Exception, e:
        print e
        print "LDAP error for user %s %s" % (user_email, user_name)
        dept_obj = None

    
    user = User.objects.get(username = "******")