コード例 #1
0
ファイル: views.py プロジェクト: ohlc-ai/razorpay-django
def payment_status(request):
    if request.method == 'POST':
        response = request.POST
        invoice = request.GET.get('invoice', None)

        # VERIFYING SIGNATURE
        c_key = bytes(settings.RAZORPAY_SECRET_KEY, 'utf8')
        c_msg = bytes(
            f"{response['razorpay_order_id']}|{response['razorpay_payment_id']}",
            'utf8')

        h = hmac.new(c_key, c_msg, hashlib.sha256).hexdigest()

        if h == response['razorpay_signature']:

            data_get = Razorpay_data.objects.filter(
                rzp_order_id=response['razorpay_order_id'])

            #   CAPTURING PAYMENT

            amount = (client.payment.fetch(
                response['razorpay_payment_id']))['amount']
            capture = client.payment.capture(response['razorpay_payment_id'],
                                             amount)

            if capture['status'] == 'captured' and capture['captured'] is True:
                data_get.update(status=True,
                                rzp_payment_id=capture['id'],
                                method=capture['method'],
                                paid_on=datetime.datetime.now(),
                                payment_email=capture['email'],
                                payment_contact=capture['contact'])

                sweetify.success(
                    request,
                    title='Payment Success!',
                    icon='success',
                    text=
                    f"Your payment of Rs.{(capture['amount']) // 100} has been received.",
                    timer=5000,
                    button='Ok',
                    customClass={'confirmButton': 'btn btn-danger'},
                    buttonsStyling=False)

            else:
                messages.error(request, capture['error_description'])

        else:
            messages.error(request, "Oops...Signature verification failed!")

        return HttpResponseRedirect(f'/razorpay/?invoice={invoice}')

    else:
        return redirect('access-denied')
コード例 #2
0
def save(request):
    if request.method == "POST":
        form = VendorCategoryForm(request.POST)
        
        if form.is_valid():
            instance = form.save(commit=False)
            instance.save()
            sweetify.success(request, _('Saved Successfull'), timer=1000)
    
    
    return redirect('vendor.category.add')
コード例 #3
0
def delete(request, id):
    batch = get_object_or_404(Batch,
                              id=id,
                              course__vendor__users__email=request.user.email)
    with transaction.atomic():
        batch.delete()
    sweetify.success(request,
                     'Berhasil hapus angkatan',
                     button='OK',
                     icon='success')
    return redirect('vendors:batchs:index')
コード例 #4
0
ファイル: views.py プロジェクト: bruce619/djangohmsproject
 def post(self, request, *args, **kwargs):
     form = RegistrationForm(request.POST)
     if form.is_valid():
         user = form.save(commit=False)
         password = form.cleaned_data.get("password1")
         user.set_password(password)
         user.save()
         sweetify.success(self.request, title='Account Created', icon='success', button='Ok', timer=3000)
         return redirect('home')
     else:
         return render(request, 'register.html', {'registration_form': form})
コード例 #5
0
def remove_car(request, car_id):
    """
    Remove an individual car by setting car
    available attribute to false
    """
    car = get_object_or_404(Car, pk=car_id)
    car.available = False
    car.save()
    sweetify.success(request, title='Success!', icon='success',
                     text='Car successfully removed', timer=4000)

    return redirect(reverse('display_cars'))
コード例 #6
0
ファイル: views.py プロジェクト: nolsatuid/courses
def delete(request, id):
    section = get_object_or_404(
        Section,
        id=id,
        module__course__vendor__users__email=request.user.email)
    with transaction.atomic():
        section.delete()
    sweetify.success(request,
                     'Berhasil hapus bab',
                     button='OK',
                     icon='success')
    return redirect('vendors:sections:index', id=section.module.id)
コード例 #7
0
def unWish_All_Products(request):
    buyer = Buyer.objects.filter(user_ptr_id=request.user.id).first()
    wishlist = Wishlist.objects.all().filter(buyer_id=request.user.id)
    if buyer is not None:

        wishlist.delete()
        sweetify.success(request,
                         'All Your Wishes Have Been Removed',
                         button='ok',
                         timer=3000)
        # messages.success(request, '')
    return redirect('Shoppy:shoppy-user_account')
コード例 #8
0
def unWishProduct(request, wishlist_id, source):
    buyer = Buyer.objects.filter(user_ptr_id=request.user.id).first()
    wishlist = Wishlist.objects.filter(id=wishlist_id)
    if buyer is not None:
        wishlist.delete()
        sweetify.success(request,
                         'Your Wish Have Been Removed',
                         button='ok',
                         timer=3000)
        # messages.success(request, '')
    source = source.replace('____', '/')
    return redirect(source)
コード例 #9
0
 def post(self, request, *args, **kwargs):
     form = self.get_form()
     if form.is_valid():
         sweetify.success(self.request,
                          title='Successfully created job!',
                          text='You have successfully created a Project',
                          icon='success',
                          button="OK",
                          timer=3000)
         return self.form_valid(form)
     else:
         return self.form_invalid(form)
コード例 #10
0
ファイル: views.py プロジェクト: eugenewere/VistrsReg
def deleteconference(request, conference_id):
    conference = Conference.objects.filter(id=conference_id).first()
    if conference is not None:
        conference.delete()
        sweetify.success(request, 'Successfully Deleted', timer=3000)
    else:
        sweetify.error(request,
                       title='Error'
                       'Error Deleting',
                       button='ok',
                       timer=5000)
    return redirect('VisitorsAdmin:conference')
コード例 #11
0
def addsendmessageimage(request):
    if request.method == 'POST':
        image = request.FILES.get('image')
        workexpertForm = SendMessageImageForm(request.FILES, request.FILES)
        print(image)
        if workexpertForm.is_valid():
            SendMessageImage.objects.create(image=image, )
            sweetify.success(request,
                             'Send message Image/gif added Successfully')
        else:
            sweetify.error(request, 'Send message Image/gif not Added ')
    return redirect("backend:sendmessageimage")
コード例 #12
0
ファイル: views.py プロジェクト: eugenewere/VistrsReg
def deletevisitor(request, visitor_id):
    visitor = Visitor.objects.filter(id=visitor_id).first()
    if visitor is not None:
        visitor.delete()
        sweetify.success(request, 'Visitor Successfully Deleted', timer=3000)
    else:
        sweetify.error(request,
                       title='Error'
                       'Error Deleting Visitor',
                       button='ok',
                       timer=5000)
    return redirect('VisitorsAdmin:visitors')
コード例 #13
0
ファイル: views.py プロジェクト: eugenewere/VistrsReg
def deletemessages(request, messsage_id):
    message = Message.objects.filter(id=messsage_id).first()
    if message is not None:
        message.delete()
        sweetify.success(request, 'Successfully Deleted', timer=3000)
    else:
        sweetify.error(request,
                       title='Error'
                       'Error Deleting',
                       button='ok',
                       timer=5000)
    return redirect('VisitorsAdmin:messages')
コード例 #14
0
def change_password(request):
    if request.method == 'POST':
        form = PasswordChangeForm(request.user, request.POST)
        if form.is_valid():
            user = form.save()
            update_session_auth_hash(request, user)  # Important!
            sweetify.success(request,
                             'Your password was successfully updated!')
            return redirect('employee_profile')
        else:
            sweetify.error(request, 'Please correct the error below.')
            return redirect('employee_profile')
コード例 #15
0
def updateaccount(request, user_id):
    exp = Admin.objects.filter(id=user_id).first()
    if request.method == "POST":
        form = UpdateRegisterUserForm(request.POST,
                                      request.FILES,
                                      instance=exp)
        if form.is_valid():
            form.save()
            sweetify.success(request, 'User Updeted Successfuly')
        else:
            sweetify.error(request, 'User Not Updeted')
    return redirect('backend:account')
コード例 #16
0
def logout(request):
    """logs user out and returns to home page"""
    auth.logout(request)
    sweetify.success(
        request,
        "Successfully logged out",
        icon='success',
        timer='2000',
        toast='true',
        position='top-end',
    )
    return redirect(reverse('home'))
コード例 #17
0
def checkout(request):
    if request.method == "POST":
        order_form = OrderForm(request.POST)
        payment_form = MakePaymentForm(request.POST)

        if order_form.is_valid() and payment_form.is_valid():
            order = order_form.save(commit=False)
            order.date = timezone.now()
            order.save()

            cart = request.session.get('cart', {})
            total = 0
            for id, quantity in cart.items():
                product = get_object_or_404(Product, pk=id)
                total += quantity * product.price
                order_line_item = OrderLineItem(order=order,
                                                product=product,
                                                quantity=quantity)
                order_line_item.save()

            try:
                customer = stripe.Charge.create(
                    amount=int(total * 100),
                    currency="GBP",
                    description=request.user.email,
                    card=payment_form.cleaned_data['stripe_id'])

            except stripe.error.CardError:
                sweetify.warning(request, "Your card was declined!")

            if customer.paid:
                sweetify.success(request, "You have successfully paid")
                request.session['cart'] = {}
                return redirect(reverse('index'))
            else:
                sweetify.error(request,
                               "Unable to take payment",
                               persistent=':(')
        else:
            print(payment_form.errors)
            sweetify.error(request,
                           "We were unable to take a payment with that card!",
                           persistent=':(')
    else:
        payment_form = MakePaymentForm()
        order_form = OrderForm()

    return render(
        request, "checkout.html", {
            "order_form": order_form,
            "payment_form": payment_form,
            "publishable": settings.STRIPE_PUBLISHABLE
        })
コード例 #18
0
def enroll(request, slug):
    course = get_object_or_404(Courses, slug=slug)

    if course.product and course.product.price > 0:
        sweetify.error(
            request,
            _(f'Kamu harus melakukan pembelian kursus "{course.title}" terlebih dahulu !'
              ),
            button='OK',
            icon='error',
            timer=10000)
        return redirect('website:courses:details', course.slug)

    if course.has_enrolled(request.user):
        sweetify.success(request,
                         _(f'Kamu sudah terdaftar di kelas {course.title}'),
                         button='OK',
                         icon='success',
                         timer=10000)
        return redirect('website:courses:details', course.slug)

    if not course.get_last_batch():
        sweetify.warning(
            request,
            _(f'Kelas {course.title} belum membuka pendaftaran',
              button='OK',
              icon='warning',
              timer=10000))
        return redirect('website:courses:details', course.slug)

    if course.is_started():
        sweetify.warning(
            request,
            _(f'Gagal mendaftar, kelas {course.title} sudah dimulai'),
            button='OK',
            icon='warning',
            timer=10000)
        return redirect('website:courses:details', course.slug)

    course.enrolled.create(course=course,
                           user=request.user,
                           batch=course.batchs.last())
    sweetify.success(request,
                     _(f'Kamu berhasil mendaftar pada kelas {course.title}'),
                     button='OK',
                     icon='success',
                     timer=10000)
    utils.send_notification(
        request.user, f'Kamu berhasil mendaftar di kelas {course.title}',
        f'Saat ini kamu sudah berhasil mendaftar pada kelas {course.title}. Tunggu info selanjutnya ya.'
    )
    return redirect('website:courses:details', course.slug)
コード例 #19
0
def restriction(request, id):

    try:

        user_instance = User.objects.get(id=id)
        if '/admin/block_user' in request.path:
            user_instance.block = True
            user_instance.save()
            sweetify.success(request,
                             'School Blocked Successfully',
                             button='Great!')
            return HttpResponseRedirect(
                reverse('adminPortal:accredited_schools'))

        elif '/admin/unblock_user' in request.path:
            user_instance.block = False
            user_instance.save()
            sweetify.success(request,
                             'School Unblocked Successfully',
                             button='Great!')
            return HttpResponseRedirect(
                reverse('adminPortal:accredited_schools'))

        elif '/admin/suspend_user' in request.path:
            user_instance.suspend = True
            user_instance.save()
            sweetify.success(request,
                             'School Suspended Successfully',
                             button='Great!')
            return HttpResponseRedirect(
                reverse('adminPortal:accredited_schools'))

        elif '/admin/unsuspend_user' in request.path:
            user_instance.suspend = False
            user_instance.save()
            sweetify.success(request,
                             'School Unsuspended Successfully',
                             button='Great!')
            return HttpResponseRedirect(
                reverse('adminPortal:accredited_schools'))

        elif '/admin/delete_user' in request.path:
            user_instance.delete()
            sweetify.success(request,
                             'School Deleted Successfully',
                             button='Great!')
            return HttpResponseRedirect(
                reverse('adminPortal:accredited_schools'))

    except User.DoesNotExist:
        sweetify.error(request, 'School Blocked Successfully', button='Great!')
        return HttpResponseRedirect(reverse('adminPortal:accredited_schools'))
コード例 #20
0
def read_article_view(request, article_id):
    article = get_object_or_404(ArticleModel, id=article_id)
    answer = CommentModel.objects.filter(articleID=article_id)
    random_question = ArticleModel.objects.order_by('?')[:4]

    answer_count = answer.count()

    if request.user.is_authenticated:
        comment_form = CommentForm_(request.POST or None)
        if comment_form.is_valid():
            form = comment_form.save(commit=False)
            form.userID = request.user
            form.articleID_id = article_id
            form.save()
            sweetify.success(request,
                             'Cevap oluşturuldu şimdi yönlediriliyorsunuz')

        context = {
            'base_template':
            os.path.join(BASE_TEMPLATE,
                         'sessionComponents/sessionNavbar.html'),
            'article':
            article,
            'answer':
            answer,
            'answercount':
            answer_count,
            'commentForm':
            comment_form,
            'random_question':
            random_question,
            'loginPanel':
            os.path.join(COMPONENTS, 'widget_login_session.html')
        }

        return render(request, 'apps/article/readArticle.html', context)
    else:
        context = {
            'base_template':
            os.path.join(BASE_TEMPLATE, 'nonSessionComponents/navbar.html'),
            'article':
            article,
            'answer':
            answer,
            'answercount':
            answer_count,
            'random_question':
            random_question,
            'loginPanel':
            os.path.join(COMPONENTS, 'widget_login.html')
        }
        return render(request, 'apps/article/readArticle.html', context)
コード例 #21
0
def deleteavailforprojimage(request, availforprojimage_id):
    counter = AvailableForTheProject.objects.filter(
        id=availforprojimage_id).first()
    if counter:
        counter.image.delete()
        counter.delete()
        sweetify.success(
            request, 'Available for the project Image Deleted Succesfully')
        return redirect('backend:availforprojimage')

    else:
        sweetify.error(request, 'Error deleting Available for the project')
        return redirect('backend:availforprojimage')
コード例 #22
0
def editcounterimagesstatus(request, counter_image_id):
    counter = CounterImages.objects.filter(id=counter_image_id).first()
    if counter.status == "ACTIVE":

        CounterImages.objects.filter(id=counter.id).update(status="INACTIVE", )
        sweetify.success(request, 'Counter Image Status Updated Successfully')

    elif counter.status == "INACTIVE":
        CounterImages.objects.exclude(id=counter.id).update(
            status="INACTIVE", )
        CounterImages.objects.filter(id=counter.id).update(status="ACTIVE", )
        sweetify.error(request, 'Counter Image Status Updated Successfully')
    return redirect("backend:counterimages")
コード例 #23
0
def addservices(request):
    if request.method == 'POST':
        serviceForm = ServicesForm(request.POST)
        print(serviceForm)
        if serviceForm.is_valid():
            serviceForm.save()
            sweetify.success(request, 'Services added Successfully')

            return redirect('backend:services')
        else:
            sweetify.error(request, 'Services not Added ')
            return redirect('backend:services')
    return redirect('backend:services')
コード例 #24
0
def addhobbies(request):
    if request.method == 'POST':
        hobbiesForm = HobbiesForm(request.POST)
        print(hobbiesForm)
        if hobbiesForm.is_valid():
            hobbiesForm.save()
            sweetify.success(request, 'Hobbies added Successfully')

            return redirect('backend:hobbies')
        else:
            sweetify.error(request, 'Hobbies not Added ')
            return redirect('backend:hobbies')
    return redirect('backend:hobbies')
コード例 #25
0
def editabout_me(request, about_id):
    about = About.objects.filter(id=about_id).first()
    if request.method == 'POST':
        aboutmeForm = AboutMeForm(request.POST, request.FILES, instance=about)
        print(aboutmeForm)
        if aboutmeForm.is_valid():
            aboutmeForm.save()
            sweetify.success(request, 'Data updated Successfully')
            return redirect('backend:about_me')
        else:
            sweetify.error(request, 'Data not updated ')
            return redirect('backend:about_me')
    return redirect('backend:about_me')
コード例 #26
0
ファイル: views.py プロジェクト: hasanasari/hujan_ui
def delete(request, vlan_id):
    try:
        vlan = maas.get_vlans(vlan_id)
        fid = vlan['fabric_id']
        vid = vlan['vid']
        m = MAAS()
        resp = m.delete(f'fabrics/{fid}/vlans/{vid}/')
        if resp.status_code in m.ok:
            sweetify.success(request, _('Vlan Deleted Successful'), timer=5000)
            return redirect('maas:subnets:index')
        return redirect('maas:subnets:index')
    except (MAASError, ConnectionError, TimeoutError) as e:
        sweetify.sweetalert(request, 'Warning', icon='error', text=str(e), button='Ok', timer=5000)
コード例 #27
0
ファイル: views.py プロジェクト: eugenewere/VistrsReg
def deleteroom(request, room_id):
    room = Room.objects.filter(id=room_id).first()
    if room is not None:
        room.delete()
        sweetify.success(request, 'Successfully Deleted', timer=3000)
    else:
        sweetify.error(request,
                       title='Error'
                       'Error Deleting',
                       button='ok',
                       timer=5000)

    return redirect('VisitorsAdmin:room')
コード例 #28
0
def addcontactmeimage(request):
    if request.method == 'POST':
        image = request.FILES.get('image')
        workexpertForm = ContactMeImageForm(request.FILES, request.FILES)
        print(image)
        if workexpertForm.is_valid():
            ContactMeImage.objects.create(image=image, )
            sweetify.success(request,
                             'Contact Me Image Image added Successfully')
        else:
            sweetify.error(request, 'Contact Me Image Image not Added ')

    return redirect('backend:contactmeimage')
コード例 #29
0
def updateStatustoPaid(request):
    if request.method == "POST":
        
        form = request.POST
        sale_entry = form["sale_entry"]
        print(sale_entry)
        sch_ins = InstallmentSchedule.objects.filter(sale_entry=sale_entry).filter(paid=False).update(paid=True)
        sweetify.success(request, _('Successfull Done'), timer=2000)
        return redirect(request.META.get('HTTP_REFERER'))
        
        
    sweetify.warning(request, _('Only Post Method Allowed'), timer=2000)
    return redirect(request.META.get('HTTP_REFERER'))
コード例 #30
0
 def form_valid(self, form):
     user = User.objects.get(username=self.request.user)
     user_orders = OrderDetail.objects.filter(
         shipping__customer_id=user.id).order_by("-purchase_date")
     form = UserCredentialsUpdateForm(self.request.POST, instance=user)
     new_credentials = form.save(commit=False)
     hashed_password = make_password(form.cleaned_data["password"])
     new_credentials.password = hashed_password
     new_credentials.save()
     sweetify.success(self.request,
                      "Your credentials have been updated, please login.")
     return redirect("login")
     return HttpResponseRedirect(self.get_success_url())