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')
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')
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')
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})
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'))
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)
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')
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)
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)
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')
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")
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')
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')
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')
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')
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'))
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 })
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)
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'))
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)
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')
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")
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')
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')
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')
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)
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')
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')
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'))
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())