def post(self, request): form = UserSettingsForm(request.POST, request.FILES, instance=request.user) if form.is_valid(): form.save() return redirect('profile:settings') context = {'form': form} return render(request, self.template_name, context)
def settings(request): success = False if request.method == 'POST': form = UserSettingsForm(request.POST, request.FILES, instance=request.user) old_pw_hash = request.user.password if form.is_valid(): u = form.save(commit=False) if u.password: u.password = hash_password(u.password) else: u.password = old_pw_hash if form.cleaned_data['profile_pic']: u.upload_profile_pic(form.cleaned_data['profile_pic']) if form.cleaned_data['location_data']: u.location = Location.get_or_create(form.cleaned_data['location_data']) u.save() success = True else: if request.user.location: location_input = str(request.user.location) location_data = request.user.location.to_json() else: location_input = location_data = '' form = UserSettingsForm(instance=request.user, initial={'location_input':location_input, 'location_data':location_data,}) return render(request, 'user/settings.html', { 'success': success, #to drop a little notice like "CONGRATS #WINNING" 'entity':request.user, 'form': form, })
def settings(request): success = False if request.method == 'POST': form = UserSettingsForm(request.POST, request.FILES, instance=request.user) old_pw_hash = request.user.password if form.is_valid(): u = form.save(commit=False) if u.password: u.password = hash_password(u.password) else: u.password = old_pw_hash if form.cleaned_data['profile_pic']: u.upload_profile_pic(form.cleaned_data['profile_pic']) if form.cleaned_data['location_data']: u.location = Location.get_or_create( form.cleaned_data['location_data']) u.save() success = True else: if request.user.location: location_input = str(request.user.location) location_data = request.user.location.to_json() else: location_input = location_data = '' form = UserSettingsForm(instance=request.user, initial={ 'location_input': location_input, 'location_data': location_data, }) return render( request, 'user/settings.html', { 'success': success, #to drop a little notice like "CONGRATS #WINNING" 'entity': request.user, 'form': form, })