Esempio n. 1
0
 def post(self, req):
     try:
         id = int(req.POST['id'])
         phone = req.POST['number']
         city = req.POST['city']
         country = req.POST['country']
         code = req.POST['postCode']
         address = req.POST['address']
         if phone == '' or city == '' or country == '' or code == '' or address == '':
             messages.add_message(req, messages.WARNING, 'ورودی اشتباه')
             return JsonResponse({'redirect': '/UserPanel/Address/'})
         if checkLang([city, country, address]) == False:
             messages.add_message(req, messages.WARNING,
                                  'ادرس و شهر و استان را فارسی وارد کنید')
             return JsonResponse({'redirect': '/UserPanel/Address/'})
         if checkNumbersValue(phone,
                              11) == False or checkNumber(phone) == False:
             messages.add_message(req, messages.WARNING,
                                  'شماره تلفن فقط اعداد و 11 رقم باشد')
             return JsonResponse({'redirect': '/UserPanel/Address/'})
         if checkNumbersValue(code,
                              10) == False or checkNumber(code) == False:
             messages.add_message(req, messages.WARNING,
                                  'کد پستی فقط اعداد و 11 رقم باشد')
             return JsonResponse({'redirect': '/UserPanel/Address/'})
         if id == -1:
             ADDR = Address(
                 telephone=phone,
                 city=city,
                 country=country,
                 postCode=code,
                 address=address,
                 userProfile=UserProfile.objects.getUserByUsername(
                     req.user.username))
             ADDR.save()
             return JsonResponse({'stat': 'success'})
         else:
             ADDR = Address.objects.get(id=id)
             ADDR.telephone = phone
             ADDR.city = city
             ADDR.country = country
             ADDR.postCode = code
             ADDR.address = address
             ADDR.save()
             return JsonResponse({'stat': 'success'})
     except Exception as Err:
         print(Err)
         messages.add_message(req, messages.WARNING, 'ورودی اشتباه')
         return JsonResponse({'redirect': '/UserPanel/Address/'})
Esempio n. 2
0
def profile(request):
    findprofile = Profile.objects.filter(user_id=request.user.id).first()
    if findprofile == None:
        print("No profile found, making one..")
        tempprofile = Profile()
        tempprofile.user = request.user
        tempprofile.save()
    findpicture = UserImage.objects.filter(user_id=request.user.id).first()
    if findpicture == None:
        findpicture = UserImage()
        findpicture.user = request.user
        findpicture.save()
    if request.user.is_staff:
        return redirect('/user/admin-option')
    postform = User.objects.filter(id=request.user.id).first()
    address = Address.objects.filter(user_id=request.user.id).first()
    if address == None:
        address = Address()
        address.user = request.user
        address.address = None
        address.zip_code = None
        address.city = None
        address.country = None
    if request.method == 'POST':
        personalform = PersonalInfo(instance=postform, data=request.POST)
        if personalform.is_valid():
            postform.save()
            addressform = AddressInfo(instance=address, data=request.POST)
            if addressform.is_valid():
                address.save()
                messages.success(request, 'Nýjar upplýsingar vistaðar')
            else:
                messages.error(
                    request,
                    'Ekki gékk að vista heimilisfangs upplýsingar, vinsamlegast reyndu aftur.'
                )
            return redirect('/user/profile')
        messages.error(
            request,
            'Ekki gékk að vista upplýsingar, vinsamlegast reyndu aftur.')
    return render(
        request, 'user/profile.html', {
            'form': PersonalInfo(instance=postform),
            'address': AddressInfo(instance=address)
        })