You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

61 lines
2.0 KiB

from django.shortcuts import render, render_to_response, redirect
from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.http import require_POST
from django.contrib import auth
from decimal import Decimal
from .forms import UserProfileForm, PickUpPointsForm
from django.contrib.auth.decorators import login_required
from .models import PickUpRequest
@login_required
@csrf_exempt
def user_profile(request):
user = auth.get_user(request)
profile = user.profile
# discount = user.discount
args = {}
args['profile'] = profile
# args['discount'] = discount
args['user_id'] = user.id
args['username'] = user.username
args['user'] = user
return render(request, 'userprofile/profile.html', args)
@login_required
@csrf_exempt
def update_profile(request):
user = auth.get_user(request)
profile = user.profile
if request.method == 'POST':
form = UserProfileForm(request.POST, instance=profile)
if form.is_valid():
form.save()
return redirect('profile:user_profile')
else:
form = UserProfileForm(instance=profile)
args = {}
args['form'] = form
args['user_id'] = user.id
args['username'] = user.username
return render_to_response('userprofile/update_profile.html', args)
@login_required
@csrf_exempt
def pick_up_points(request):
user = auth.get_user(request)
profile = user.profile
if request.method == 'POST':
form = PickUpPointsForm(request.POST)
if form.is_valid():
requisites = form.cleaned_data['requisites']
PickUpRequest.objects.create(user=user, points=user.profile.user_points, requisites=requisites)
profile.user_points = Decimal('0')
profile.save()
return redirect('profile:user_profile')
else:
form = PickUpPointsForm()
return render_to_response('userprofile/pick_up_points.html', {'user': user, 'form': form})