def edit(request): """Edit the currently logged in users profile.""" profile = request.user.get_profile() form_class = ProfileForm mode = 'edit' if not profile.has_chosen_identifier: mode = 'create' form_class = ProfileCreateForm if request.method == 'POST': form = form_class(data=request.POST, files=request.FILES, instance=profile) if form.is_valid(): profile = form.save(commit=False) profile.user = request.user profile.save() # adding in a link non-JS links_form = ProfileLinksForm(data={ 'url': request.POST['link_url'], 'name': request.POST['link_name'] }) if links_form.is_valid(): link = links_form.save(commit=False) link.profile = profile link.save() return redirect(profile) else: form = form_class(instance=profile) links = profile.link_set.all() return jingo.render(request, 'users/edit.html', { 'form': form, 'links': links, 'profile': profile, 'page_mode': mode, })
def add_link(request): profile = request.user.get_profile() if request.method == 'POST': form = ProfileLinksForm(data=request.POST) if form.is_valid(): link = form.save(commit=False) link.profile = profile link.save() return HttpResponseRedirect(reverse('users_edit')) else: if request.is_ajax(): return HttpResponse(json.dumps(form.errors), status=400) return jingo.render(request, 'users/profile_link_add.html', {'form': form}) form = ProfileLinksForm() return jingo.render(request, 'users/profile_link_add.html', {'form': form})
def add_link(request): profile = request.user.get_profile() if request.method == 'POST': form = ProfileLinksForm(data=request.POST) if form.is_valid(): link = form.save(commit=False) link.profile = profile link.save() return HttpResponseRedirect(reverse('users_edit')) else: if request.is_ajax(): return HttpResponse(json.dumps(form.errors), status=400) return jingo.render(request, 'users/profile_link_add.html', { 'form': form }) form = ProfileLinksForm() return jingo.render(request, 'users/profile_link_add.html', { 'form': form })
def edit(request): """Edit the currently logged in users profile.""" profile = request.user.get_profile() if request.method == 'POST': form = ProfileForm(data=request.POST, files=request.FILES, instance=profile) if form.is_valid(): success_message = ugettext(u"Thank you \u2013 your profile has " u"been updated.") profile = form.save(commit=False) profile.user = request.user profile.save() # if the link form is present we have a few more checks to do if 'link_url' in request.POST: # adding in a link non-JS links_form = ProfileLinksForm( data={ 'url': request.POST['link_url'], 'name': request.POST['link_name'] }) if links_form.is_valid(): link = links_form.save(commit=False) link.profile = profile link.save() messages.success(request, success_message) # links only valid on betafarm so feels safe to do this... return HttpResponseRedirect( reverse('users_profile', kwargs={'username': request.user.username})) else: messages.success(request, success_message) return HttpResponseRedirect('/') form = ProfileForm(instance=profile) links = profile.link_set.all() return jingo.render(request, 'users/edit.html', { 'form': form, 'links': links })
def edit(request): """Edit the currently logged in users profile.""" profile = request.user.get_profile() if request.method == 'POST': form = ProfileForm(data=request.POST, files=request.FILES, instance=profile) if form.is_valid(): success_message = ugettext(u"Thank you \u2013 your profile has " u"been updated.") profile = form.save(commit=False) profile.user = request.user profile.save() # if the link form is present we have a few more checks to do if 'link_url' in request.POST: # adding in a link non-JS links_form = ProfileLinksForm(data={ 'url': request.POST['link_url'], 'name': request.POST['link_name'] }) if links_form.is_valid(): link = links_form.save(commit=False) link.profile = profile link.save() messages.success(request, success_message) # links only valid on betafarm so feels safe to do this... return HttpResponseRedirect(reverse('users_profile', kwargs={ 'username': request.user.username })) else: messages.success(request, success_message) return HttpResponseRedirect('/') form = ProfileForm(instance=profile) links = profile.link_set.all() return jingo.render(request, 'users/edit.html', { 'form': form, 'links': links })