Esempio n. 1
0
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')
Esempio n. 2
0
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')
Esempio n. 3
0
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)
Esempio n. 5
0
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')
Esempio n. 6
0
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")
Esempio n. 7
0
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)
Esempio n. 8
0
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")
Esempio n. 9
0
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})
Esempio n. 10
0
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)
Esempio n. 11
0
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
            })
Esempio n. 12
0
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
Esempio n. 13
0
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})
Esempio n. 14
0
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})
Esempio n. 15
0
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})
Esempio n. 16
0
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})
Esempio n. 17
0
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')
Esempio n. 18
0
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')
Esempio n. 19
0
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})    
Esempio n. 20
0
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)
Esempio n. 21
0
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")
Esempio n. 22
0
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")
Esempio n. 23
0
 def form_valid(self, form):
     messages.info(self.request, '암호 리셋을 완료했습니다.')
     return super().form_valid(form)