Example #1
0
class EditProfileView(LoginRequiredMixin, UpdateView):
    template_name = 'edit.html'
    user_form = UserEditForm
    profile_form = UserProfileEditForm

    def get(self, request, *args, **kwargs):
        self.user_form = UserEditForm(instance=request.user)
        self.profile_form = UserProfileEditForm(
            instance=request.user.userprofile)
        return render(request,
                      self.template_name,
                      context={
                          'user_form': self.user_form,
                          'profile_form': self.profile_form
                      })

    def post(self, request, *args, **kwargs):
        self.user_form = UserEditForm(instance=request.user, data=request.POST)
        self.profile_form = UserProfileEditForm(
            instance=request.user.userprofile,
            data=request.POST,
            files=request.FILES)
        if self.user_form.is_valid() and self.profile_form.is_valid():
            self.user_form.save()
            self.profile_form.save()
            messages.success(request, 'Profile updated successfully')
        else:
            messages.error(request, 'Error')
        return render(request, self.template_name, {
            'user_form': self.user_form,
            'profile_form': self.profile_form
        })
Example #2
0
 def get(self, request, *args, **kwargs):
     self.user_form = UserEditForm(instance=request.user)
     self.profile_form = UserProfileEditForm(
         instance=request.user.userprofile)
     return render(request,
                   self.template_name,
                   context={
                       'user_form': self.user_form,
                       'profile_form': self.profile_form
                   })
Example #3
0
 def post(self, request, *args, **kwargs):
     self.user_form = UserEditForm(instance=request.user, data=request.POST)
     self.profile_form = UserProfileEditForm(
         instance=request.user.userprofile,
         data=request.POST,
         files=request.FILES)
     if self.user_form.is_valid() and self.profile_form.is_valid():
         self.user_form.save()
         self.profile_form.save()
         messages.success(request, 'Profile updated successfully')
     else:
         messages.error(request, 'Error')
     return render(request, self.template_name, {
         'user_form': self.user_form,
         'profile_form': self.profile_form
     })
Example #4
0
def user_profile_edit(request, pk):
    user = User.objects.get(pk=pk)
    if request.user != user.userprofile.user:
        return render(request, 'no_permission.html')

    if request.method == 'GET':
        context = {
            'form_user_profile': UserProfileEditForm(instance=user),
            'form_profile': ProfileForm(instance=user.userprofile),
        }
        return render(request, 'accounts/profile_edit.html', context)
    else:
        form_user = UserProfileEditForm(request.POST, instance=user)
        form_profile = ProfileForm(request.POST,
                                   request.FILES,
                                   instance=user.userprofile)
        if form_user.is_valid() and form_profile.is_valid():
            form_user.save()
            form_profile.save()
            return redirect('user profile', user.pk)

        context = {
            'form_user_profile': UserProfileEditForm(instance=user),
            'form_profile': ProfileForm(instance=user.userprofile),
        }
        return render(request, 'accounts/profile_edit.html', context)
Example #5
0
def edit_profile(request, username):
    if request.method == "POST":
        form = ProfileEditForm(request.POST, instance=request.user)
        profile_form = UserProfileEditForm(request.POST,
                                           request.FILES,
                                           instance=request.user.profile)
        if form.is_valid() and profile_form.is_valid():
            form.save()
            profile_form.save()
            return redirect('account_profile', username=username)
    else:
        form = ProfileEditForm(instance=request.user)
        profile_form = UserProfileEditForm(instance=request.user.profile)
    return render(request, 'profile/edit_profile.html', {
        'form': form,
        'profile': profile_form
    })
Example #6
0
def edit(request):
    if request.method == 'POST':
        """
        ???
        """
        user_form = UserEditForm(instance=request.user, data=request.POST)
        profile_form = UserProfileEditForm(instance=request.user.userprofile,
                                           data=request.POST,
                                           files=request.FILES)
        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()
    else:
        user_form = UserEditForm(instance=request.user)
        profile_form = UserProfileEditForm(instance=request.user.userprofile)
    return render(request, 'accounts/edit.html', {
        'user_form': user_form,
        'profile_form': profile_form
    })
Example #7
0
def edit_profile(request):
    """ Creates a view that allows the user to edit its profile fields """
    if request.method == 'POST':
        user_form = UserEditForm(instance = request.user, data=request.POST)
        profile_form = UserProfileEditForm(instance = request.user.userprofile, data=request.POST, files=request.FILES)
        
        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()
            messages.success(request, "Profile updated successfully")
            return view_profile(request)
        else:
            messages.error(request, "Error updating your profile")
    else:
        user_form = UserEditForm(instance=request.user)
        profile_form = UserProfileEditForm(instance=request.user.userprofile)
    
    return render(request, 'edit_profile.html', {'user_form': user_form, 'profile_form': profile_form})