예제 #1
0
def update_profile(request, slug):
    profile = Profile.objects.get(slug=slug)
    if request.method == 'POST':
        u_form = UserUpdateForm(request.POST, instance=request.user)
        p_form = ProfileUpdateForm(request.POST,
                                   request.FILES,
                                   instance=profile)

        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            new_slug = request.POST.get('slug')
            messages.success(request, f'User information has been updated!')
            # return reverse("accounts:profile", kwargs={"slug": slug})
            return HttpResponseRedirect(
                reverse('accounts:profile', args=[new_slug]))
        else:
            print("user errors:", u_form.errors.as_data())
            print("profile errors:", p_form.errors.as_data())
    else:
        u_form = UserUpdateForm(instance=request.user)
        p_form = ProfileUpdateForm(instance=profile)

    context = {
        'p_form': p_form,
        'u_form': u_form,
        'categories': Category.objects.all()
    }
    return render(request, 'accounts/profile_update.html', context)
예제 #2
0
def update_user_profile(request):
    
    user = User.objects.get(email=request.user.email)
    #forms to update user profile
    if request.method == 'POST':
        user_form = UserUpdateForm(request.POST, instance=request.user)
        profile_form = ProfileUpdateForm(request.POST,
                                   request.FILES,
                                   instance=request.user.profile)
        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()
            messages.success(request,'Your account has been updated!')
            return redirect('profile')

    else:
        user_form = UserUpdateForm(instance=request.user)
        profile_form = ProfileUpdateForm(instance=request.user.profile)

    context = {
        'user_form': user_form,
        'profile_form': profile_form,
        'user': user
    }
        
    return render(request, 'update_profile.html', context)
def user_profile(request):
    orders = SingleOrderLineItem.objects.all()

    if request.method == 'POST':
        user_update_form = UserUpdateForm(request.POST, instance=request.user)

        if user_update_form.is_valid():
            user_update_form.save()
            messages.success(request, "You have updated your profile!")
            return redirect('profile')
    else:
        user_update_form = UserUpdateForm(instance=request.user)

    uploads = SingleOrderUpload.objects.all()

    user = User.objects.get(email=request.user.email)

    context = {
        'user_update_form': user_update_form,
        'orders': orders,
        'profile': user,
        'uploads': uploads
    }

    return render(request, 'profile.html', context)
예제 #4
0
파일: views.py 프로젝트: lbedford/accounts
def profile(request):
  """Show user profile, allow them to update it."""
  if not request.user.is_authenticated():
    return HttpResponseRedirect(reverse('index'))
  if request.method == 'POST':
    form = UserUpdateForm(request.POST or None, instance=request.user)
    if form.is_valid():
      form.save()
      if 'profile_image' in request.FILES:
        try:
          lbwuser = request.user.lbwuser
          lbwuser.profile_image = request.FILES['profile_image']
          lbwuser.save()
        except LbwUser.DoesNotExist:
          lbwuser = LbwUser(user=request.user,
                            profile_image=request.FILES['profile_image'])
          lbwuser.save()
      return redirect('index')
  else:
    try:
      lbwuser = request.user.lbwuser
    except LbwUser.DoesNotExist:
      lbwuser = LbwUser(user=request.user)
      lbwuser.save()
    form = UserUpdateForm(instance=request.user)
  return render(request, 'accounts/profile.html',
      {'form': form})
예제 #5
0
def update_user_profile(request, username):
    user = User.objects.all()
    for i in user:
        if i.username == username:

            if request.method == 'POST':
                u_form = UserUpdateForm(request.POST, instance=i)
                p_form = CreateUserProfile(request.POST,
                                           request.FILES,
                                           instance=i.userprofile)
                if u_form.is_valid() and p_form.is_valid():
                    u_form.save()
                    p_form.save()
                    messages.success(request,
                                     f'Your accounts has been updated!')
                    return redirect('user_list')

            else:
                u_form = UserUpdateForm(instance=i)
                p_form = CreateUserProfile(instance=i.userprofile)

            context = {
                'u_form': u_form,
                'p_form': p_form,
                'user': user,
                'i': i,
            }
            return render(request, 'accounts/update_user_profile.html',
                          context)
예제 #6
0
def profile(request):
    articles = Article.objects.filter(status=1).order_by('-date_posted')[:2]
    if request.method == 'POST':
        user_form = UserUpdateForm(request.POST, instance=request.user)
        profile_form = ProfileUpdateForm(request.POST,
                                         request.FILES,
                                         instance=request.user.profile)
        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()
            messages.success(request, f'Your account has been updated!')
            return redirect('profile')

    else:
        user_form = UserUpdateForm(instance=request.user)
        profile_form = ProfileUpdateForm(instance=request.user.profile)

    context = {
        'title': 'Profile',
        'articles': articles,
        'user_form': user_form,
        'profile_form': profile_form,
    }

    return render(request, 'accounts/profile.html', context)
예제 #7
0
def bank_view(request):
    try:
        cart = Cart.objects.get(user=request.user.id, active=True)
        items = CartItem.objects.filter(cart=cart)
    except ObjectDoesNotExist:
        cart = Cart.objects.create(user=request.user)
        items = CartItem.objects.filter(cart=cart)
    total = cart.total

    if request.method == "POST":
        u_form = UserUpdateForm(request.POST, instance=request.user)
        p_form = ProfileUpdateForm(request.POST,
                                   request.FILES,
                                   instance=request.user.profile)
        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            return redirect('zarinpal:request')

    else:
        u_form = UserUpdateForm(instance=request.user)
        p_form = ProfileUpdateForm(instance=request.user.profile)

    context = {
        'u_form': u_form,
        'p_form': p_form,
        'cart': items,
        'total': total
    }
    return render(request, 'cart/bank.html', context)
예제 #8
0
def profile(request):
    """
    Return the user's profile page. Allows editing the profile,
    as well as the login details for a user.
    """

    if request.method == 'POST':
        user_form = UserUpdateForm(request.POST, initial={'username': ''}, instance=request.user)
        profile_form = ProfileUpdateForm(request.POST,
                                         request.FILES,
                                         instance=request.user.profile)
        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()
            messages.success(request, f'Your account has been updated!')
            return redirect('profile')
    else:
        user_form = UserUpdateForm(instance=request.user)
        profile_form = ProfileUpdateForm(instance=request.user.profile)

    context = {
        'user_form': user_form,
        'profile_form': profile_form
    }
    return render(request, 'accounts/profile.html', context)
예제 #9
0
def UserProfileUpdateView(request, pk):

    userprofile = UserProfile.objects.get(pk=pk)
    user = userprofile.user
    user_form = UserUpdateForm()
    user_profile_form = UserProfileUpdateForm()

    if request.POST:

        user_form = UserUpdateForm(request.POST, instance=user)
        user_profile_form = UserProfileUpdateForm(request.POST, instance=userprofile)

        if user_form.is_valid() and user_profile_form.is_valid():
            user_form.save()
            user_profile_form.save()

        return HttpResponseRedirect(reverse('home'))

    user_form = UserUpdateForm(instance=user)
    user_profile_form = UserProfileUpdateForm(instance = userprofile)


    return render(request, 'userprofile/update.html', {
        'user_form': user_form,
        'user_profile_form': user_profile_form,
    })
예제 #10
0
파일: views.py 프로젝트: lukaszdevos/Forum
def profile_edit_view(request):
    if request.user.is_anonymous:
        return redirect("accounts:login")

    if request.method == 'POST':
        profile_form = ProfileForm(request.POST, request.FILES, instance=request.user.profile)
        update_form = UserUpdateForm(request.POST, instance=request.user)

        if profile_form.is_valid() and update_form.is_valid():
            if not request.user.profile.profile_img:
                request.user.profile.profile_img = 'default.jpg'

            profile_form.save()
            update_form.save()

            return redirect('/profile/' + request.user.username)
    else:
        profile_form = ProfileForm(instance=request.user.profile)
        update_form = UserUpdateForm(instance=request.user)


    context = {'profile_form':profile_form,
               'update_form':update_form }

    return render(request, 'accounts/profile_edit.html', context)
예제 #11
0
def UserProfileUpdateView(request, pk):

    userprofile = UserProfile.objects.get(pk=pk)
    user = userprofile.user
    user_form = UserUpdateForm()
    user_profile_form = UserProfileUpdateForm()

    if request.POST:

        user_form = UserUpdateForm(request.POST, instance=user)
        user_profile_form = UserProfileUpdateForm(request.POST,
                                                  instance=userprofile)

        if user_form.is_valid() and user_profile_form.is_valid():
            user_form.save()
            user_profile_form.save()

        return HttpResponseRedirect(reverse('home'))

    user_form = UserUpdateForm(instance=user)
    user_profile_form = UserProfileUpdateForm(instance=userprofile)

    return render(request, 'userprofile/update.html', {
        'user_form': user_form,
        'user_profile_form': user_profile_form,
    })
예제 #12
0
def update_profile(request):
    """Esta função exibe ou edita um perfil de um usuário, a depender do método da requisição"""

    # Tenta obter o objeto com a pk informado. Se não conseguir, retorna um erro 404
    profile = get_object_or_404(Profile, user=request.user)

    # Se o usuário mandar dados, ou seja, se a requisição for POST
    if request.method == "POST":
        # Instancia um formulário vinculado a um objeto Turma com os dados recebidos da requisição POST
        form = UserUpdateForm(request.POST, instance=request.user)
        profile_form = ProfileForm(request.POST, instance=profile)
        if form.is_valid() and profile_form.is_valid():
            form.save()
            profile_form.save()

            # Retorna para a página de lista de turmas
            return redirect("dashboard:view_dashboard")

    # Se o usuário apenas solicitar para acessar a página, ou seja, se a requisição for GET
    else:
        # Cria uma instância com os dados do objeto passado como parâmetro
        form = UserUpdateForm(instance=request.user)
        profile_form = ProfileForm(instance=profile)

    context = {"form": form, "profile_form": profile_form, "link": "profile"}

    # Renderiza a página de editar turma com os campos e seus respectivos dados
    return render(request, "dashboard/profile.html", context)
예제 #13
0
def user_profile(request):
    '''The user profile page'''
    if request.method == "POST":
        u_form = UserUpdateForm(request.POST, instance=request.user)
        p_form = ProfileUpdateForm(request.POST,
                                   request.FILES,
                                   instance=request.user.profile)

        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            messages.success(request, "Your account has been updated")
            return redirect('profile')
    else:
        u_form = UserUpdateForm(instance=request.user)
        p_form = ProfileUpdateForm(instance=request.user.profile)

    context = {'u_form': u_form, 'p_form': p_form}
    # Gettting user object
    user = User.objects.get(email=request.user.email)
    # Gettting profile object through foreign key
    return render(request, 'profile.html', {
        'profile': user,
        'u_form': u_form,
        'p_form': p_form
    })
예제 #14
0
def ProfileView(request):
    if request.method == 'POST':
        u_form = UserUpdateForm(request.POST, instance=request.user)
        p_form = ProfileUpdateForm(
            request.POST, request.FILES, instance=request.user.profile)
        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            messages.success(
                request, 'Your account has been updated')
            return redirect('memberships:dashboard')

    else:
        u_form = UserUpdateForm(instance=request.user)
        p_form = ProfileUpdateForm(instance=request.user.profile)

    courses = Course.objects.order_by('start_date').all()[:3]
    instructors = Instructor.objects.order_by('dofb').all()[:3]
    context = {
        'u_form': u_form,
        'p_form': p_form,
        'courses': courses,
        'instructors': instructors
    }
    return render(request, 'accounts/profile.html', context)
예제 #15
0
def profile_view(request):
    if request.method == 'POST':
        user_form = UserUpdateForm(request.POST, instance=request.user)
        profile_form = ProfileUpdateForm(request.POST,
                                         request.FILES,
                                         instance=request.user.userprofileinfo)

        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile = profile_form.save(commit=False)
            user = user_form.save()
            user.email = profile.email
            user.save()
            profile.save()
            messages.success(request, 'Your profile is successfully updated!')
            return redirect('profile')
        else:
            messages.error(request, user_form.errors)
            messages.error(request, profile_form.errors)
    else:
        user_form = UserUpdateForm(instance=request.user)
        profile_form = ProfileUpdateForm(instance=request.user.userprofileinfo)

    return render(request, 'accounts/profile.html', {
        'user_form': user_form,
        'profile_form': profile_form
    })
def profile(request):
    u = request.user
    p = u.get_profile()

    if request.method == 'POST':
        previous_email = u.email

        user_form = UserUpdateForm(request.POST, instance=u)
        profile_form = ProfileForm(request.POST, request.FILES, instance=p)

        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()

            # Check if email change was requested
            # Note: request.POST['email'] should be safe below since it's a valid email
            if u.email != request.POST['email']:
                p.new_email = request.POST['email']
                p.email_change_key = random_string(16)
                p.save()

                send_email(
                    "Action required to change your email at TempSurge",
                    "accounts/emails/email_change", settings.FROM_EMAIL,
                    p.new_email, {
                        'change_email_url':
                        "http://tempsurge.com/accounts/change-email/" +
                        str(u.id) + "/" + p.email_change_key
                    })

                return render(
                    request, "accounts/message.html", {
                        'app':
                        "accounts",
                        'connotation':
                        "warning",
                        'message':
                        "Please check your email (%s) and follow the reactivation instructions."
                        % p.new_email
                    })

            messages.success(request,
                             "Your profile has been successfully updated.",
                             extra_tags="profile_updated")

            return redirect("/accounts/profile/")
    else:
        user_form = UserUpdateForm(instance=u)
        profile_form = ProfileForm(instance=p)

    return render(
        request, 'accounts/profile.html', {
            'user': u,
            'profile': p,
            'user_form': user_form,
            'profile_form': profile_form,
            'random': random_string()
        })
예제 #17
0
 def post(self, request, *args, **kwargs):
     author_form = AuthorForm(request.POST,
                              request.FILES,
                              instance=request.user.author)
     user_form = UserUpdateForm(request.POST, instance=request.user)
     if author_form.is_valid() and user_form.is_valid():
         user_form.save()
         author_form.save()
     return redirect("accounts_update")
예제 #18
0
 def post(self, request, *args, **kwargs):
     user_form = UserUpdateForm(request.POST, instance=request.user)
     profile_form = ProfileUpdateForm(request.POST,
                                      request.FILES,
                                      instance=request.user.profile)
     if user_form.is_valid() and profile_form.is_valid():
         user_form.save() and profile_form.save()
         messages.success(request, f"Your account has been updated!")
         return redirect("bookstore")
예제 #19
0
 def post(self, request, *args, **kwargs):
     form = UserUpdateForm(request.POST, instance=request.user)
     if form.is_valid():
         form.save()
         messages.success(request, 'Successfully updated account details')
         return redirect('dashboard')
     else:
         messages.warning(request, 'Check you details')
         return redirect('account')
예제 #20
0
 def post(self, request, username):
     u_form = UserUpdateForm(request.POST, instance=request.user)
     p_form = ProfileUpdateForm(request.POST, request.FILES,
                                instance=request.user.profile)
     if u_form.is_valid() and p_form.is_valid():
         u_form.save()
         p_form.save()
         messages.success(request, _('Account successfully updated!'))
         return redirect('accounts:profile:bio', self.get_username())
     return self.get(request, username)
예제 #21
0
 def post(request):
     update_form = UserUpdateForm(request.POST, instance=request.user)
     if update_form.is_valid():
         update_form.save()
         messages.success(request, u'个人信息已更新')
         return HttpResponseRedirect(reverse('accounts:detail'))
     else:
         messages.error(request, u'信息更新失败')
         return render(request, "accounts/form_tpl.html",
                       {"form": update_form})
예제 #22
0
def user_account_update_form(request):
    if request.method == 'POST':
        form = UserUpdateForm(request.POST, instance=request.user)
        if form.is_valid():
            form.save()
            messages.success(request, 'Your account has been updated')
            return redirect('accounts:dashboard')
            # return redirect('accounts:user_profile')
    else:
        form = UserUpdateForm(instance=request.user)
    context = {'form': form}
    return render(request, 'accounts/update/edit_account_info.html', context)
예제 #23
0
def user_update(request, pk):
    if request.user.id == pk:
        users = get_object_or_404(User, id=pk)
        if request.method == "POST":
            form = UserUpdateForm(request.POST, instance=users)
            if form.is_valid():
                form.save()
                return redirect("accounts:user_info", request.user.pk)
        else:
            form = UserUpdateForm(instance=users)
        return render(request, "accounts/user_update.html", {"form":form})
    else:
        return HttpResponseForbidden()
예제 #24
0
def TeacherProfile(request):
    if request.method == 'POST':
        u_form = UserUpdateForm(request.POST,request.FILES, instance=request.user)
        if u_form.is_valid():
            u_form.save()
            messages.success(request, f'Your account has been updated')
            return redirect('TeacherProfile')
    else:
        u_form = UserUpdateForm(instance=request.user)

    context = {
        'u_form': u_form
    }
    return render(request, 'Teacher/Profile/TeacherProfile.html', context)
예제 #25
0
def user_profile(request):
    '''
    Renders profile page for user with a form to update
    their information.
    '''
    if request.method == 'POST':
        form = UserUpdateForm(request.POST, instance=request.user)
        if form.is_valid():
            form.save()
            messages.success(request, u'Your account info has been updated.')
            return redirect('profile')
    else:
        form = UserUpdateForm(instance=request.user)

    return render(request, 'profile.html', {'form':form})
예제 #26
0
def edit_profile(request):
    if request.method == "POST":
        form = UserUpdateForm(request.POST, instance=request.user)
        form2 = ProfileUpdateForm(request.POST, instance=request.user.profile)
        if form.is_valid() and form2.is_valid():
            form.save()
            form2.save()
            return redirect('view_profile')
    else:
        form = UserUpdateForm(instance=request.user)
        form2 = ProfileUpdateForm(instance=request.user.profile)

    context = {"form": form, "form2": form2}

    return render(request, "edit_profile.html", context)
예제 #27
0
def edit_profile(request):
    if request.method == "POST":
        form = UserUpdateForm(request.POST, instance=request.user)
        form_user = ProfileUpdateForm(request.POST,\
                                    request.FILES,\
                                    instance = request.user.userprofile)
        if form.is_valid() and form_user.is_valid:
            form.save()
            form_user.save()
            return redirect('/account/')
    else:
        form = UserUpdateForm(instance=request.user)
        form_user = ProfileUpdateForm(instance=request.user.userprofile)
    args = {'form': form, 'form_user': form_user}
    return render(request, 'accounts/edit_profile.html', args)
예제 #28
0
파일: views.py 프로젝트: AmirFarsad56/Vaio
def MasterUserUpdateView(request,slug):
    masteruser_user = get_object_or_404(UserModel,slug = slug)
    user_update_form = UserUpdateForm(request.POST or None, instance = masteruser_user)
    masteruser = get_object_or_404(MasterUserModel, user = masteruser_user)
    masteruser_update_form = MasterUserUpdateForm(request.POST or None, instance = masteruser)
    if masteruser_update_form.is_valid() and user_update_form.is_valid():
        user_update_form.save()
        masteruser_update_form.save()
        if 'picture' in request.FILES:
           masteruser.picture = request.FILES['picture']
           masteruser.save()
        return HttpResponseRedirect(reverse('masteruser:profile',
                                    kwargs={'slug':masteruser_user.slug}))
    return render(request,'masteruser/masteruserupdate.html',
                          {'masteruserform':masteruser_update_form,
                           'userform':user_update_form,})
예제 #29
0
def government_employee__profile(request):
    if request.method == 'POST':
        u_form = UserUpdateForm(request.POST or None,
                                request.FILES or None,
                                instance=request.user)
        if u_form.is_valid():
            u_form.save()
            messages.success(request, f'Your account has been updated')
            return redirect('government_change_profile')
    else:
        u_form = UserUpdateForm(instance=request.user)

    context = {'u_form': u_form}
    return render(
        request, 'government_employee/profile/GovernmentEmployeeProfile.html',
        context)
예제 #30
0
def profile(request):
    if request.method == 'POST':
        u_form = UserUpdateForm(request.POST, instance=request.user)
        p_form = ProfileUpdateForm(request.POST,
                                   request.FILES,
                                   instance=request.user.profile)
        if u_form.is_valid() and p_form.is_valid():
            u_form.save()
            p_form.save()
            return redirect('profile')
    else:
        u_form = UserUpdateForm(instance=request.user)
        p_form = ProfileUpdateForm(instance=request.user.profile)

    context = {'u_form': u_form, 'p_form': p_form}
    return render(request, 'accounts/profile.html', context)
예제 #31
0
def profile_page(request, *args, **kwargs):
    if request.method == 'POST':
        user_form = UserUpdateForm(request.POST, instance=request.user)
        profile_form = ProfileUpdateForm(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('profile')

    else:
        user_form = UserUpdateForm(instance=request.user)
        profile_form = ProfileUpdateForm(instance=request.user.profile)

    context = {'user_form': user_form, 'profile_form': profile_form}
    return render(request, 'profile/profile-update.html', context)
예제 #32
0
def profile(request):
    profile = get_object_or_404(Profile, user_id=request.user.id)
    if request.method == 'POST':
        u_form = UserUpdateForm(request.POST, instance=request.user)
        p_form = ProfileUpdateForm(request.POST,
                                   request.FILES,
                                   instance=request.user.profile)
        if u_form.is_valid() and p_form.is_valid:
            u_form.save()
            p_form.save()
            messages.success(request, f'Your account has been updated!')
            return redirect('profile')
    else:
        u_form = UserUpdateForm(instance=request.user)
        p_form = ProfileUpdateForm(instance=request.user.profile)

    context = {'profile': profile, 'u_form': u_form, 'p_form': p_form}
    return render(request, 'accounts/profile.html', context)
예제 #33
0
def CommonUserUpdateView(request, slug):
    commonuser_user = get_object_or_404(UserModel, slug=slug)
    if request.user == commonuser_user:
        user_update_form = UserUpdateForm(request.POST or None,
                                          instance=commonuser_user)
        commonuser = get_object_or_404(CommonUserModel, user=commonuser_user)
        if user_update_form.is_valid():
            user_update_form.save()
            if 'picture' in request.FILES:
                commonuser.picture = request.FILES['picture']
                commonuser.save()
            return HttpResponseRedirect(
                reverse('commonuser:profile',
                        kwargs={'slug': commonuser_user.slug}))
        return render(request, 'commonuser/commonuserupdate.html', {
            'userform': user_update_form,
        })
    else:
        return HttpResponseRedirect(reverse('login'))