def EditUser(request, ID): user = get_user_model().objects.get(id=ID) print user if request.method == 'POST': form = EditUserForm(request.POST, instance=user) if form.is_valid(): form.save() userid = User.objects.get(username=request.user) username = User.objects.get(username=user) Message.objects.create(username=userid, type=u'信息修改', action=u'修改用户信息', action_ip=UserIP(request), content='修改%s用户信息' % username) return HttpResponseRedirect(reverse('listuserurl')) else: form = EditUserForm(instance=user) kwvars = { 'ID': ID, 'form': form, 'request': request, } return render_to_response('users/user.edit.html', kwvars, RequestContext(request))
def user_profile(request): person = get_object_or_404(Person, user__id=request.user.id) success_message = None error_message = None if request.method == 'POST': form = EditPersonForm(request.POST, instance=person) email_form = EditUserForm(request.POST, instance=request.user) if form.is_valid() or email_form.is_valid( ): # or user_form.is_valid(): try: form.save(commit=True) email_form.save(commit=True) success_message = 'Данные успешно сохранены' except: error_message = 'Ошибка при сохранении данных' else: error_message = '<br>'.join([item for key, value in form.errors.items() for item in value]) + '<br>' +\ '<br>'.join([item for key, value in email_form.errors.items() for item in value])# + '<br>' +\ #'<br>'.join([value for key, value in user_form.errors.items()]) else: form = EditPersonForm(instance=person) email_form = EditUserForm(instance=request.user) user_form = CustomPasswordChangeForm(user=request.user) return render( request, 'users/profile.html', { 'form': form, 'email_form': email_form, 'pwd_form': user_form, 'success_message': success_message, 'error_message': error_message })
def edit_profile(request): activate(request.user.extended.language) if request.method == 'POST': user_form = EditUserForm(data=request.POST, request=request, instance=request.user) profile_form = UserExtendedForm(data=request.POST, instance=request.user.extended) user_tz = request.POST.get('timezone') if user_form.is_valid() and profile_form.is_valid(): user = user_form.save(commit=False) new_pass = request.POST.get('new_password') do_redirect = False if len(new_pass) > 0: user.set_password(new_pass) do_redirect = True user.save() profile = profile_form.save(commit=False) profile.user = user if user_tz: profile.timezone = user_tz profile.save() if 'sch_login' in request.POST and 'sch_password' in request.POST: if len(request.POST['sch_login']) > 0 and len( request.POST['sch_password']) > 0: from service.models import SchedulerUser try: sch_user = SchedulerUser.objects.get(user=request.user) except ObjectDoesNotExist: sch_user = SchedulerUser() sch_user.user = request.user sch_user.login = request.POST['sch_login'] sch_user.password = request.POST['sch_password'] sch_user.save() elif len(request.POST['sch_login']) == 0: try: request.user.scheduleruser.delete() except ObjectDoesNotExist: pass if do_redirect: return HttpResponseRedirect(reverse('users:login')) else: return HttpResponseRedirect(reverse('users:edit_profile')) else: user_form = EditUserForm(instance=request.user) profile_form = UserExtendedForm(instance=request.user.extended) from users.notifications import NotifyData return render( request, 'users/edit-profile.html', { 'user_form': user_form, 'tdata': NotifyData(request.user), 'profile_form': profile_form, 'profile_errors': profile_form.errors, 'user_errors': user_form.errors, 'timezones': pytz.common_timezones, 'LANGUAGES': LANGUAGES })
def edit_user(request, username): user = get_object_or_404(User, username=username) member = user.member_set.get() team = member.team coaches = True if request.user.member.coaches(member) else False c = {} c.update(csrf(request)) if request.method == 'POST': # If the form has been submitted... if request.POST.get('delete'): member.delete() messages.add_message(request, messages.SUCCESS, 'Member Deleted!') return HttpResponseRedirect( reverse('team_details', args=(team.id, ))) form = EditUserForm(request.POST) # A form bound to the POST data if form.is_valid(): # All validation rules pass user.username = form.cleaned_data['username'] user.email = form.cleaned_data['email'] user.first_name = form.cleaned_data['first_name'] user.last_name = form.cleaned_data['last_name'] member.number = form.cleaned_data['number'] member.position = form.cleaned_data['position'] member.city = form.cleaned_data['city'] member.state = form.cleaned_data['state'] member.phone = form.cleaned_data['phone'] member.country = form.cleaned_data['country'] member.year = form.cleaned_data['year'] member.kind = form.cleaned_data['user_type'] user.save() member.save() messages.add_message(request, messages.SUCCESS, 'User details updated!') return HttpResponseRedirect( reverse('user_details', args=(user.username, ))) messages.add_message( request, messages.ERROR, 'Sorry, something bad happend updatting a new user!') else: form = EditUserForm({ 'username': user.username, 'first_name': user.first_name, 'last_name': user.last_name, 'email': user.email, 'user_type': member.kind, 'position': member.position, 'number': member.number, 'city': member.city, 'phone': member.phone, 'state': member.state, 'year': member.year, 'country': member.country, }) # An unbound form return render_to_response("users/edit.html", { 'coach_editing': coaches, 'form': form, 'c': c, 'edit_user': user }, context_instance=RequestContext(request))
def edit_user(request, pk): instance = get_object_or_404( Profile.objects.filter(pk=pk, is_deleted=False)) if request.method == 'POST': form = EditUserForm(request.POST, instance=instance.user) profile = ProfileForm(request.POST, instance=instance) if form.is_valid() and profile.is_valid(): #save auth user user_data = form.save(commit=False) user_data.save() #save profile profile_data = profile.save(commit=False) profile_data.updater = request.user profile_data.date_updated = datetime.datetime.now() profile_data.save() profile.save_m2m() request.session['message'] = 'User Successfully Edited' return HttpResponseRedirect( reverse('users:view_user', kwargs={'pk': instance.pk})) else: errors = generate_form_errors(form, formset=False) errors += generate_form_errors(profile, formset=False) context = { 'message': 'Form Validation Error', 'title': 'Edit Form', 'form': form, 'profile': profile, "errors": errors, "users_active": "active", 'url': reverse('users:edit_user', kwargs={'pk': instance.pk}), } return render(request, 'users/entry_user.html', context) else: form = EditUserForm(instance=instance.user) profile = ProfileForm(instance=instance) context = { 'title': 'Edit User' + instance.user.username, 'form': form, 'profile': profile, 'instance': instance, 'url': reverse('users:edit_user', kwargs={'pk': instance.pk}), "users_active": "active" } return render(request, 'users/entry_user.html', context)
def change_password(request): person = get_object_or_404(Person, user__id=request.user.id) success_message = None error_message = None if request.method == 'POST': pwd_form = CustomPasswordChangeForm(data=request.POST, user=request.user) if pwd_form.is_valid(): try: pwd_form.save(commit=True) success_message = 'Ваш пароль успешно изменен!' update_session_auth_hash(request, pwd_form.user) except: error_message = 'Ошибка при сохранении данных' else: pwd_form = CustomPasswordChangeForm(user=request.user) form = EditPersonForm(instance=person) email_form = EditUserForm(instance=request.user) return render( request, 'users/profile.html', { 'form': form, 'email_form': email_form, 'pwd_form': pwd_form, 'success_message': success_message, 'error_message': error_message })
def edit_profile(request): if request.method == 'POST': form_user = EditUserForm(data=request.POST, instance=request.user) form_profile = EditProfileForm(data=request.POST, files=request.FILES, instance=request.user.profile) else: form_user = EditUserForm(instance=request.user) form_profile = EditProfileForm(instance=request.user.profile) context = dict( form_user=form_user, form_profile=form_profile, ) if request.method == 'POST' and form_user.is_valid() and form_profile.is_valid(): form_user.save() form_profile.save() return redirect(reverse('users.profile')) return render(request, 'users/profile_edit.html', context)
def post(self, request): user_form = EditUserForm(request.POST, instance=request.user) profile_form = EditProfileForm(request.POST, request.FILES, instance=request.user.profile) if user_form.is_valid() and profile_form.is_valid(): user_form.save() profile_form.save() return redirect('users:view_profile') return HttpResponse("Something went wrong")
def editUser(request, pk): # Query appropriate user based on pk returned in url user = User.objects.get(pk=pk) # Get the EditUserForm and add the user as instance edit_user_form = EditUserForm(instance=user) if request.method == 'POST': # Bind data to the form class, and add the user as instance edit_user_form = EditUserForm(request.POST, error_class=DivErrorList, instance=user) old_user_instance = User.objects.get(pk=pk) # Validate form inputs if edit_user_form.is_valid(): # Save edits edit_user_form.save() # Log change ChangeLog.change_message(request.user, User, old_user_instance) # Give the user successful feedback and redirect messages.success(request, successMessage('Redigering', 'bruker')) return redirect('user', pk) else: # If form inputs is invalid, give user feedback messages.error( request, 'Det skjedde en feil ved redigering av bruker. Se detaljer nedenfor.' ) context = { 'user': user, 'edit_user_form': edit_user_form, } # Render request, template and context return render(request, 'users/backend/user/user_edit.html', context)
def edit_user(request, id): form = EditUserForm() user = User.objects.get(id=id) if request.method == 'POST': form = EditUserForm(request.POST, instance=user) if form.is_valid(): user_form = form.save() custom_form = user.save(False) custom_form = user_form custom_form.save() return redirect('users') context = { 'form': form, } return render(request, 'users/edit.html', context)
def get(self, request): user_form = EditUserForm(instance=request.user) profile_form = EditProfileForm(instance=request.user.profile) args = {'user_form': user_form, 'profile_form': profile_form} return render(request, 'users/edit_profile.html', args)