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
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) )
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 = "******")