def Parse_txt(request, format=None): Clients_all = Users.objects.all() try: txt_file = request.FILES['file_txt'] except MultiValueDictKeyError: messages.error(request, 'Votre Upload a mal tourné') return render(request, 'users/importdb.html') if (str(request.FILES['file_txt']).split('.')[-1] == "txt"): # lines = f.readlines() # with open("txt_file", "r") as fileopened: lines = txt_file.readlines() glines = (line.strip() for line in lines) for line in glines: fields = line.split(";".encode()) Users.objects.create(name=fields[1].decode(), prenom=fields[2].decode(), email=fields[3].decode(), city=fields[4].decode()) messages.success(request, 'Votre base de donnée a bien été Sauvegardé!') return render(request, 'users/importdb.html') else: messages.info(request, 'Veuillez importer un fichier de type Text') return render(request, 'users/importdb.html')
def tutor_login(request): if request.method == 'POST': username = request.POST.get('email') password = request.POST.get('password') user = authenticate(username=username, password=password) if user: new_user = User.objects.get(username=username) user_detail = UserDetails.objects.get(user=new_user) if user_detail.user_type == "Tutor": if user.is_active: login(request, user) return redirect('/tutor/dashboard/') else: messages.info( request, 'Your account has been deactivated. Contact the Tutorchamps Team to reactivate your account.' ) return redirect('tutor') else: messages.info(request, "not allowed") return redirect("tutor") else: messages.error(request, 'Invalid email or password') return redirect('tutor') return render(request, 'tutor.html')
def Parse_xl(request, format=None): try: excel_file = request.FILES['myfile'] except MultiValueDictKeyError: messages.error(request, 'Votre Upload a mal tourné') return render(request, 'users/importdb.html') if (str(excel_file).split('.')[-1] == "xls"): data = xls_get(excel_file, column_limit=5) elif (str(excel_file).split('.')[-1] == "xlsx"): data = xlsx_get(excel_file, column_limit=5) else: messages.info(request, 'Veuillez importer un fichier de type Excel') return render(request, 'users/importdb.html') Clients = data["Worksheet"] if (len(Clients) > 1): # We have company data for Worksheet in Clients: if (len(Worksheet) > 0): # The row is not blank if (Worksheet[0] != "id"): # This is not header # Fill ending columns with blank if (len(Worksheet) < 5): i = len(Worksheet) while (i < 5): Worksheet.append("") i += 1 # Check if Client exist # Assume that Client name is unique c = Users.objects.filter(name=Worksheet[1]) if (c.count() == 0): Users.objects.create(name=Worksheet[1], prenom=Worksheet[2], email=Worksheet[3], city=Worksheet[4]) messages.success(request, 'Votre base de donnée a bien été Sauvegardé!') return render(request, 'users/importdb.html')
def signup2(request): context = {} if request.method == 'POST': form = SignUpForm(request.POST) if form.is_valid(): # 형식이 통과된 데이터만 cleaned_data에 들어간다. email = form.cleaned_data['email'] # 왜 cleaned_date를 사용하나요? password1 = form.cleaned_data['password1'] password2 = form.cleaned_data['password2'] last_name = form.cleaned_data['last_name'] first_name = form.cleaned_data['first_name'] nickname = form.cleaned_data['nickname'] if password1 != password2: return HttpResponse('패스워드가 서로 다릅니다.') user = MyUser.objects.create_user( email=email, last_name=last_name, first_name=first_name, nickname=nickname, password=password1, ) login(request, user) messages.info(request, '회원가입 되었습니다') return redirect('blog:post_list') else: context['form'] = form else: form = SignUpForm() context = { 'form': form, } return render(request, 'member/signup2.html', context)
def delete_note(request, note_pk): note = get_object_or_404(Note, pk=note_pk) if note.user == request.user: note.delete() messages.info(request, 'Note Deleted Successfully') else: messages.info(request, 'Unable to delete') return HttpResponseForbidden() return redirect('my_user_profile')
def get_promotion(request, name): try: promotion = Promotion.objects.get(name=name) if promotion.available: return promotion else: messages.info(request, "This coupon does not available") return redirect("checkout") except ObjectDoesNotExist: messages.info(request, "This coupon does not exist") return redirect("checkout")
def account_settings(request): if request.method == 'POST': u_form = UserUpdateForm(request.POST, instance=request.user.profile) p_form = UserAvatar(request.POST, request.FILES, instance=request.user.profile) email_form = UserEmailChange(request.POST, instance=request.user) if u_form.is_valid() and p_form.is_valid() and email_form.is_valid(): data = request.POST.copy() country = request.POST.get('country') data['where_do_you_live'] = country new_form = UpdateCountry(data, instance=request.user.profile) if new_form.is_valid(): new_form.save() u_form.save() p_form.save() email_form.save() else: messages.info(request, 'Data is not valid') messages.success(request, 'Your account has been updated') return redirect(request.path_info) else: # u_form = UserUpdateForm(instance=request.user) p_form = UserAvatar(instance=request.user.profile) user = User.objects.get(id=request.user.id) email_form = UserEmailChange(initial={'email': user.email}) profile = Profile.objects.filter(user=user).get() country_form = UpdateCountry( instance=request.user.profile, initial={'where_do_you_live': profile.where_do_you_live}) u_form = UserUpdateForm(instance=request.user, initial={ "name": profile.name, 'birthday': profile.birthday, 'country': profile.where_do_you_live, 'email_when_someone_comment': profile.email_when_someone_comment, 'email_when_someone_answer': profile.email_when_someone_answer, 'email_when_someone_fallow': profile.email_when_someone_fallow, 'phone': profile.phone, 'website': profile.website, 'location': profile.location }) context = { 'u_form': u_form, 'p_form': p_form, 'email_form': email_form, 'country_form': country_form, } return render(request, 'profiles/settings.html', context)
def Checkout(request): if request.method == 'POST': my_form = CheckoutFrom(request.POST or None) try: order = Order.objects.get(user=request.user, ordered=False) if my_form.is_valid(): street_address = my_form.cleaned_data.get('street_address') apartment_address = my_form.cleaned_data.get('apartment_address') country = my_form.cleaned_data.get('country') zip = my_form.cleaned_data.get('zip') default = my_form.cleaned_data.get('default') payment_option = my_form.cleaned_data.get('payment_option') adddress = Address ( user = request.user, street_address = street_address, apartment_address = apartment_address, country = country, zip = zip, default = default, payment_option = payment_option ) adddress.save() order.delivery_place = adddress order.save() if payment_option == 'S': return redirect("payment", payment_option = 'stripe') elif payment_option == 'P': return redirect("payment", payment_option = 'paypal') else: messages.warning(request, "Invalid payment option selected") return redirect("checkout") except ObjectDoesNotExist: messages.warning(request, "You do not have an active order") return redirect("order-summary") else: try: order = Order.objects.get(user=request.user, ordered=False) my_form = CheckoutFrom() context = { 'my_form':my_form, 'order': order, 'promotionfrom':PromotionFrom(), 'DISPLAY_COUPON_FORM': True } return render(request, 'Index/checkout.html', context) except ObjectDoesNotExist: messages.info(request, "You do not have an active order") return redirect("checkout")
def reviews(request): if request.method == "POST": if request.user.is_authenticated: content = request.POST.get('content') rating = int(request.POST.get('rating')) r = '' for i in range(1, rating + 1): r += str(i) user = request.user Reviews(user=user, content=content, rating=r).save() else: messages.info(request, 'Please Login First') return redirect('reviews') reviews = Reviews.objects.all() return render(request, 'reviews.html', {'reviews': reviews})
def auth(request): if request.user.is_authenticated: return redirect('home') else: if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') user = authenticate(request, username=username, password=password) if user is not None: login(request, user) return redirect('home') else: messages.info(request, 'Логин или пароль не верны!') context = {} return render(request, 'registration/login.html', context=context)
def tutor_dashboard(request): tutor = request.user tutor_register = TutorRegister.objects.get(tutor=tutor) subject = tutor_register.subject tutor_balance = TutorBalance.objects.get(tutor=tutor_register) orders = Orders.objects.filter(subject=subject, assigned=False, status='Order Confirmed') if request.method == "POST": pan_number = request.POST.get('pan_card') name_on_pan = request.POST.get('pan_name') name_in_account = request.POST.get('name_in_account') account_number = request.POST.get('account_number') confirm = request.POST.get('confirm_bank_account') ifsc = request.POST.get('ifsc') if int(account_number) == int(confirm): t = TutorAccount.objects.get(tutor=tutor_register) t.pan_number = pan_number t.account_number = account_number t.name_in_account = name_in_account t.name_on_pan = name_on_pan t.ifsc = ifsc t.save() else: messages.info(request, 'pleaase check the account number') return redirect('tutor-dashboard') elif tutor_register.phone == None or tutor_register.degree == None: return redirect('/tutor_detail/') else: tutor_account = TutorAccount.objects.get(tutor=tutor_register) assignments = TutorSolvedAssignment.objects.filter( tutor=tutor_register) labs = TutorSolvedLabs.objects.filter(tutor=tutor_register) earned = TutorEarnedDetail.objects.filter(tutor=tutor_register) payment_history = TutorPaymenyDetails.objects.filter( tutor=tutor_register) return render( request, 'tutor-dashboard.html', { 'tutor_register': tutor_register, 'tutor': tutor, 'earned': earned, 'payment_history': payment_history, 'b': tutor_balance.balance, 'tutor_account': tutor_account, 'assignments': assignments, 'labs': labs, 'orders': orders })
def add_promotion(request): if request.method == "POST": myform = PromotionFrom(request.POST or None) if myform.is_valid(): try: name = myform.cleaned_data.get('name') order = Order.objects.get(user=request.user, ordered=False) order.promotion_id = get_promotion(request, name) order.save() messages.success(request, "Successfully used promotion") return redirect("checkout") except ObjectDoesNotExist: messages.info(request, "You do not have an active order") return redirect("checkout") return None
def user_login(request): if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') user = authenticate(request, username=username, password=password) if user is not None: login(request, user) # last_login = Profile(last_login=datetime.datetime.now().strftime('%Y-%m-%d, %H:%M:%S')) # user.last_login = datetime.datetime.now().strftime('%Y-%m-%d, %H:%M:%S') # user.save(update_fields=['last_login']) return redirect('/') else: messages.info(request, 'username OR password is incorrect') return redirect('login') form = UserLoginForm return render(request, 'registration/login.html', {'form': form})
def login(request): if request.method == 'POST': form = AuthenticationForm(request=request, data=request.POST) if form.is_valid(): username = form.cleaned_data.get('username') password = form.cleaned_data.get('password') user = authenticate(username=username, password=password) if user is not None: login(request, user) messages.info(request, f"You are now logged in as {username}") return redirect('/') else: messages.error(request, "Invalid username or password") else: messages.error(request, "Invalid username or password") form = AuthenticationForm() return render(request=request, template_name='login.html', context={"form": form})
def change_notes(request, note_pk): notes = get_object_or_404(Note, pk=note_pk) # Find out if this note belongs to the current user if notes.user != request.user: return HttpResponseForbidden() # If POST request if request.method == 'POST': form = NewNoteForm(request.POST, request.FILES, instance=notes) if form.is_valid(): form.save() messages.info(request, 'Note Updated!') else: messages.error(request, form.errors) return redirect('note_detail', note_pk=note_pk) # If GET request else: review_form = NewNoteForm(instance=notes) return render(request, 'lmn/notes/edit_notes.html', {'note': notes, 'review_form': review_form})
def index(request): search_string = request.GET.get('search_string') if search_string != None: search_list = search_string.split(' ') print(search_list) my_filter = Q() price_filter = 0 for item in search_list: if '.00' in item: price_filter = float(item) my_filter = my_filter | Q(street__icontains=item) | Q(city__icontains=item) | Q(state__icontains=item) | \ Q(zipcode__icontains=item) | Q(BDS__icontains=item) | Q(BA__icontains=item) | \ Q(purpose__icontains=item) | Q(price=price_filter) if not my_filter: messages.info(request, 'No result for your search') return redirect('index') prop = Property.objects.filter(my_filter) else: prop = Property.objects.all() return render(request,'index.html',{'prop':prop})
def Parse_xml(request): try: file_xml = request.FILES['xml_file'] except MultiValueDictKeyError: messages.error(request, 'Votre Upload a mal tourné') return render(request, 'users/importdb.html') if (str(request.FILES['xml_file']).split('.')[-1] == "xml"): doc = ET.parse(request.FILES['xml_file']) # records=doc.getElementsByTagName("record") myroot = doc.getroot() for recorde in myroot.findall('record'): Users.objects.create(name=recorde.find('nom').text, prenom=recorde.find('prenom').text, city=recorde.find('ville').text, email=recorde.find('email').text) messages.success(request, 'Votre base de donnée a bien été Sauvegardé!!!') return render(request, 'users/importdb.html') else: messages.info(request, 'Veuillez importer un fichier de type XML') return render(request, 'users/importdb.html')
def login(request): if request.method == "POST": username = request.POST['username'] password = request.POST['pass'] if AD_User.objects.filter(username=username, password=password).exists(): messages.info(request, 'Granted') request.session[ 'username'] = username # set 'token' in the session request.session['password'] = password return redirect("terms") else: messages.info(request, 'Invalid Credentials') return redirect('login') else: return render(request, 'login.html')
def product(request, slug): item_list = Item.objects.all() item = get_object_or_404(Item, slug=slug) form = PayForm(request.POST or None) if request.method == "POST": print("\nIt got here!!!!\n") if form.is_valid(): print("\nIt got here!!!! and here too\n") cd = form.cleaned_data price = cd['coin_amount'] print(price) if price >= item.min_price and price <= item.max_price: item.to_pay = price item.save() print(item) return redirect('core:add-to-cart', slug=slug) else: print("ERROR SOMEWHARE") messages.info(request, "Please enter a value with the range") else: print("ERROR SOMEWHARE") messages.info(request, "Please enter a value with the range") return render(request, 'core/transaction2.html', {'form': form, 'item':item, 'item_list':item_list})
def remove_from_cart(request,product_id): product = get_object_or_404(Product, id=product_id) order_qs = Order.objects.filter(user=request.user, ordered=False) if order_qs.exists(): order = order_qs[0] # check if the order item is in the order if order.products.filter(product_id__name=product.name).exists(): order_product = Order_products.objects.filter(product_id=product, user=request.user, ordered=False)[0] order.products.remove(order_product) order_product.delete() messages.info(request, "This product was removed from your cart.") return redirect("order-summary") else: messages.info(request, "This product was not in your cart") return redirect("product_detail", product_id=product_id) else: messages.info(request, "You do not have an active order") return redirect("product_detail", product_id=product_id)
def remove_single_product_from_cart(request,product_id): product = get_object_or_404(Product, id=product_id) order_qs = Order.objects.filter(user=request.user, ordered=False) if order_qs.exists(): order = order_qs[0] # check if the order item is in the order if order.products.filter(product_id__name=product.name).exists(): order_product = Order_products.objects.filter(product_id=product, user=request.user, ordered=False)[0] if order_product.quantity > 1: order_product.quantity -= 1 order_product.save() else: order.products.remove(order_product) messages.info(request, "This item quantity was updated.") return redirect("order-summary") else: messages.info(request, "This product was not in your cart") return redirect("order-summary") else: messages.info(request, "You do not have an active order") return redirect("order-summary")
def add_to_cart(request,product_id): product = get_object_or_404(Product, id=product_id) order_product, created = Order_products.objects.get_or_create(product_id=product, user=request.user, ordered=False) order_qs = Order.objects.filter(user=request.user, ordered=False) if order_qs.exists(): order = order_qs[0] # check if the order item is in the order if order.products.filter(product_id__name=product.name).exists(): order_product.quantity += 1 order_product.save() messages.info(request, "This product quantity was updated.") else: order.products.add(order_product) messages.info(request, "This product was added to your cart.") else: date = timezone.now() order = Order.objects.create(user=request.user, date=date) order.products.add(order_product) messages.info(request, "This product was added to your cart.") return redirect("order-summary")
def form_valid(self, form): messages.info(self.request, '암호 리셋을 완료했습니다.') return super().form_valid(form)