コード例 #1
0
ファイル: views.py プロジェクト: sriegodedios/personalwebsite
def AddressPage(request):
    location = "Profile / Address"
    fname = request.user.first_name
    lname = request.user.last_name
    st = "%s %s" %(fname,lname)
    profile = Profile.objects.get(
        Q(user = request.user.id)
    )
    picture = "/media/%s"%(profile.picture)



    if request.method == "POST":
        form = AddressForm(request.POST)
        if form.is_valid():
            form.save(commit=True)
            messages.success(request,"Address Saved!")
            print("working")
            return redirect('../../profile')
        else:
            messages.error(request, "The form wasn't valid for some reason")
            #return redirect('../address-info')
            #print(get_object_or_404(form))
            print("Not working")

    else:
        form = AddressForm()
    return render(request, 'users/update-address.html', {
        'form': form, 'username': st, 'location': location, 'logout':'../../logout', 'picture' : picture
    })
コード例 #2
0
ファイル: views.py プロジェクト: fossabot/aeensl-annuaire
    def done(self, form_list, form_dict, **kwargs):
        """
        Gather the data from the three forms. If the user already exists,
        update the profile, if not create a new user. Then add a new membership.
        """
        login_step = self.get_cleaned_data_for_step('login')
        address_step = self.get_cleaned_data_for_step('user_info')['address']
        profile_step = self.get_cleaned_data_for_step('user_info')['profile']
        membership_step = self.get_cleaned_data_for_step('membership')

        # Renew membership for current user
        if login_step is None:
            u = self.request.user

            # Update the user profile
            profile_form = ProfileForm(profile_step, instance=u.profile)
            u.profile = profile_form.save()
            u.save()
        else:
            # Create a new user from steps 'login' & 'profile'
            u = User(email=login_step['email'])
            u.is_active = False  # Not activated yet
            p = Profile(**profile_step)
            p.save()

            u.profile = p
            u.save()

        # Create or update address info
        addresses = u.profile.address_set.all()
        if len(addresses) > 0:
            add = addresses[0]
            add = AddressForm(address_step, instance=addresses[0])
        else:
            add = Address(**address_step)
            add.profile = u.profile
        add.save()

        # Create a new Membership object
        membership = Membership(**membership_step)
        membership.profile = u.profile
        membership.start_date = membership.next_start_date()
        membership.amount = membership.compute_amount()
        membership.duration = 1  # valid for one year
        membership.save()

        # Send a confirmation email if the user has to pay
        if membership.amount > 0:
            membership.email_user(status="submitted")

        mb_url = self.request.build_absolute_uri(
            reverse('membership-detail', args=[membership.uid]))

        return redirect("membership-detail", membership.uid)
コード例 #3
0
def create(request):
    """Добавление нового адреса доставки"""

    initial = {
        'email': request.user.email,
    }
    # TODO: Возможно, заполнять только для розничных покупателей?
    if request.user.title:
        initial['receiver_title'] = request.user.title
    if request.user.phone:
        initial['phone'] = request.user.phone

    if request.POST:
        form = AddressForm(request.POST, initial=initial)
        if form.is_valid():
            address = form.save(commit=False)
            address.user = request.user
            address.save()

            return HttpResponseRedirect(reverse('users.address.index'))

    else:
        form = AddressForm(initial=initial)

    context = {
        'form': form,
    }

    return render(request, 'users/addresses/create.html', context)
コード例 #4
0
    def post(self, request, clientid, *args, **kwargs):
        try:
            client = ClientUser.objects.get(pk=clientid)
            address = Address.objects.get(user=client)
        except ObjectDoesNotExist as e:
            pass
        except MultipleObjectsReturned as e:
            pass

        clientForm = ClientUserForm(request.POST, instance=client)
        addressForm = AddressForm(request.POST,
                                  instance=Address(user=client, pk=address.id))
        if clientForm.is_valid() and addressForm.is_valid():
            clientForm.save()
            addressForm.save()
            return HttpResponseRedirect('/costomer/data/')

        return render(request, self.template_name, self.__context)
コード例 #5
0
def address(request):
    if request.method =='POST':
        form = AddressForm(request.POST)
        if form.is_valid():
            profile = form.save(commit=False) # this insures it is assigned to user
            profile.save()
            profile.users.set([request.user.pk]) # many to many user save
            return redirect('myaccount')
    else:
        form = AddressForm()

    return render(request, 'address.html', {'form': form}) 
コード例 #6
0
def update(request, address_id):
    address = get_object_or_404(Address, id=address_id, user=request.user)
    if request.POST:
        form = AddressForm(request.POST, instance=address)
        if form.is_valid():
            address = form.save(commit=False)
            address.user = request.user
            address.save()

            return HttpResponseRedirect(reverse('users.address.index'))

    else:
        form = AddressForm(instance=address)

    context = {
        'form': form,
    }

    return render(request, 'users/addresses/update.html', context)