def post(self, request): if self.action == "get_user_names": data = {} if self.request.user.is_authenticated and user_is_resource_reviewer(request.user): userids = json.loads(request.POST.get("userids", "[]")) data = {u.id: u.username for u in User.objects.filter(id__in=userids)} return JSONResponse(data) if self.request.user.is_authenticated and self.request.user.username != "anonymous": user_details = self.get_user_details(request.user) context = self.get_context_data( main_script="views/user-profile-manager", ) context["errors"] = [] context["nav"]["icon"] = "fa fa-user" context["nav"]["title"] = _("Profile Manager") context["nav"]["login"] = True context["nav"]["help"] = { "title": _("Profile Editing"), "template": "profile-manager-help", } context["validation_help"] = validation.password_validators_help_texts() context["user_surveys"] = JSONSerializer().serialize(user_details["user_surveys"]) context["identities"] = JSONSerializer().serialize(user_details["identities"]) context["resources"] = JSONSerializer().serialize(user_details["resources"]) user_info = request.POST.copy() user_info["id"] = request.user.id user_info["username"] = request.user.username user_info["password1"] = request.user.password user_info["password2"] = request.user.password form = ArchesUserProfileForm(user_info) if form.is_valid(): user = form.save() try: admin_info = settings.ADMINS[0][1] if settings.ADMINS else None message = ( f"Your {settings.APP_NAME} profile was just changed. If this was unexpected, please contact your " f"{settings.APP_NAME} administrator{f' at {admin_info}.' if (admin_info and not str.isspace(admin_info)) else '.'}" ) message = _(message) user.email_user(_("Your " + settings.APP_NAME + " Profile Has Changed"), message) except: logger.error("Error sending email", exc_info=True) request.user = user context["form"] = form return render(request, "views/user-profile-manager.htm", context)
def post(self, request): if self.action == 'get_user_names': data = {} if self.request.user.is_authenticated() and request.user.groups.filter(name='Resource Reviewer').exists(): userids = [str(id) for id in request.POST.get('userids[]', [])] data = {u.id:u.username for u in User.objects.filter(id__in=userids)} return JSONResponse(data) if self.request.user.is_authenticated() and self.request.user.username != 'anonymous': user_details = self.get_user_details(request.user) context = self.get_context_data( main_script='views/user-profile-manager', ) context['errors'] = [] context['nav']['icon'] = 'fa fa-user' context['nav']['title'] = _('Profile Manager') context['nav']['login'] = True context['nav']['help'] = (_('Profile Editing'),'help/base-help.htm') context['help'] = 'profile-manager-help' context['validation_help'] = validation.password_validators_help_texts() context['user_surveys'] = JSONSerializer().serialize(user_details['user_surveys']) context['identities'] = JSONSerializer().serialize(user_details['identities']) context['resources'] = JSONSerializer().serialize(user_details['resources']) user_info = request.POST.copy() user_info['id'] = request.user.id user_info['username'] = request.user.username user_info['password1'] = request.user.password user_info['password2'] = request.user.password form = ArchesUserProfileForm(user_info) if form.is_valid(): user = form.save() try: admin_info = settings.ADMINS[0][1] if settings.ADMINS else '' message = _('Your arches profile was just changed. If this was unexpected, please contact your Arches administrator at %s.' % (admin_info)) user.email_user(_('You\'re Arches Profile Has Changed'), message) except Exception as e: print e request.user = user context['form'] = form return render(request, 'views/user-profile-manager.htm', context)
def post(self, request): if self.action == "get_user_names": data = {} if self.request.user.is_authenticated and request.user.groups.filter( name="Resource Reviewer").exists(): userids = json.loads(request.POST.get("userids", "[]")) data = { u.id: u.username for u in User.objects.filter(id__in=userids) } return JSONResponse(data) if self.request.user.is_authenticated and self.request.user.username != "anonymous": user_details = self.get_user_details(request.user) context = self.get_context_data( main_script="views/user-profile-manager", ) context["errors"] = [] context["nav"]["icon"] = "fa fa-user" context["nav"]["title"] = _("Profile Manager") context["nav"]["login"] = True context["nav"]["help"] = { "title": _("Profile Editing"), "template": "profile-manager-help", } context[ "validation_help"] = validation.password_validators_help_texts( ) context["user_surveys"] = JSONSerializer().serialize( user_details["user_surveys"]) context["identities"] = JSONSerializer().serialize( user_details["identities"]) context["resources"] = JSONSerializer().serialize( user_details["resources"]) user_info = request.POST.copy() user_info["id"] = request.user.id user_info["username"] = request.user.username user_info["password1"] = request.user.password user_info["password2"] = request.user.password form = ArchesUserProfileForm(user_info) if form.is_valid(): user = form.save() try: admin_info = settings.ADMINS[0][ 1] if settings.ADMINS else "" message = _( "Your arches profile was just changed. If this was unexpected, please contact your Arches administrator at %s." % (admin_info)) user.email_user(_("You're Arches Profile Has Changed"), message) except Exception as e: print(e) request.user = user context["form"] = form return render(request, "views/user-profile-manager.htm", context)