from django.db import models from django.contrib.auth.models import User import uuid import os import time import datetime from django.db.models.fields import CharField from lpp.models import MNFLPPDDatabase from pytz import timezone # Create your models here. class privilegedUser(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) amount = models.IntegerField(default=0) payment_status = models.CharField(max_length=100, blank=True) is_active = models.CharField(max_length=100, blank=True) dateSubscribed = models.DateTimeField(auto_now=True) paymentId = models.CharField(max_length=100, blank=True) orderId = models.CharField(max_length=100, blank=True) razorpaySign = models.CharField(max_length=100, blank=True) memberType = models.CharField(max_length=100, blank=True) subId = models.CharField(max_length=100, blank=True) months = models.IntegerField(default=0) plan_id = models.CharField(max_length=100, blank=True) paid_count = models.CharField(max_length=100, blank=True) current_start = models.CharField(max_length=100, blank=True) auth_attempts = models.CharField(max_length=100, blank=True) totalCount = models.CharField(max_length=100, blank=True) remainingCount = models.CharField(max_length=100, blank=True) shortURL = models.CharField(max_length=100, blank=True) class LifeMember(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) is_active = models.CharField(max_length=100, blank=True) dateSubscribed = models.DateTimeField(auto_now=True) months = models.IntegerField(default=120) paymentId = models.CharField(max_length=100, blank=True) orderId = models.CharField(max_length=100, blank=True) razorpaySign = models.CharField(max_length=100, blank=True) class refer(models.Model): refer_id = models.UUIDField( primary_key=True, default=uuid.uuid4, editable=False) refer_user = models.ForeignKey(User, on_delete=models.CASCADE) refer_name1 = models.CharField(max_length=100, blank=True, null=True) refer_email1 = models.CharField(max_length=100, blank=True, null=True) class gift(models.Model): gift_id = models.CharField(max_length=100, blank=True) PhoneNumber = models.CharField(max_length=100, blank=True, null=True) user = models.ForeignKey(User, on_delete=models.CASCADE) name = models.CharField(max_length=100, blank=True) email = models.CharField(max_length=100, blank=True) plan = models.CharField(max_length=100, blank=True) token = models.CharField(max_length=100, blank=True) payment_id = models.CharField(max_length=100, default="", blank=True) order_id = models.CharField(max_length=100, default="", blank=True) is_paid = models.CharField(max_length=100, default='no', blank=True) transactionID = models.CharField(max_length=100, default="", blank=True) chargeID = models.CharField(max_length=100, default="", blank=True) receipt = models.CharField(max_length=1000, default="", blank=True) class privilegedUser1(models.Model): # id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) id = models.IntegerField(primary_key=True) user = models.ForeignKey(User, on_delete=models.CASCADE,related_name="payment_user") rmuser = models.IntegerField(blank=True, null=True) is_active = models.CharField( max_length=100, blank=True, default="") # yes/no dateSubscribed = models.DateTimeField(auto_now=True) transactionId = models.CharField(max_length=100, blank=True, default="") chargeId = models.CharField(max_length=100, blank=True, default="") razorpaySign = models.CharField(max_length=100, blank=True, default="") # normal, yearly, Life Member memberType = models.CharField(max_length=100, blank=True, default="") months = models.IntegerField(default=0) amount_captured = models.CharField(max_length=100, blank=True, default="") amount_refunded = models.CharField(max_length=100, blank=True, default="") application = models.CharField(max_length=100, blank=True, default="") application_fee_amount = models.CharField( max_length=100, blank=True, default="") city = models.CharField(max_length=100, blank=True, default="") country = models.CharField(max_length=100, blank=True, default="") line1 = models.CharField(max_length=100, blank=True, default="") line2 = models.CharField(max_length=100, blank=True, default="") postal_code = models.CharField(max_length=100, blank=True, default="") state = models.CharField(max_length=100, blank=True, default="") email = models.CharField(max_length=100, blank=True, default="") name = models.CharField(max_length=100, blank=True, default="") phone = models.CharField(max_length=100, blank=True, default="") currency = models.CharField(max_length=100, blank=True, default="") created = models.CharField(max_length=100, blank=True, default="") customer = models.CharField(max_length=100, blank=True, default="") invoice = models.CharField(max_length=100, blank=True, default="") paid = models.CharField(max_length=100, blank=True, default="") card_brand = models.CharField(max_length=100, blank=True, default="") card_country = models.CharField(max_length=100, blank=True, default="") card_exp = models.CharField(max_length=100, blank=True, default="") card_funding = models.CharField(max_length=100, blank=True, default="") receipt_email = models.CharField(max_length=100, blank=True, default="") receipt_url = models.CharField(max_length=100, blank=True, default="") status = models.CharField(max_length=100, blank=True, default="") class conversionPayment(models.Model): pid = models.ManyToManyField(privilegedUser1) script_title = models.CharField(max_length=100, blank=True, default="") script_id = models.CharField(max_length=100, blank=True, default="") dial_src_language = models.CharField( max_length=100, blank=True, default="") nondial_src_language = models.CharField( max_length=100, blank=True, default="") dial_dest_language = models.CharField( max_length=100, blank=True, default="") nondial_dest_language = models.CharField( max_length=100, blank=True, default="") dual_dial_script = models.CharField(max_length=100, blank=True, default="") to_be_vetted_by_lpp = models.CharField( max_length=100, blank=True, default="") # assigned_to = models.OneToOneField(MNFLPPDDatabase, on_delete=models.CASCADE) date_of_original_script = models.CharField( max_length=100, blank=True, default="") date_of_translated_script = models.CharField( max_length=100, blank=True, default="") deadline = models.CharField(max_length=100, blank=True, default="") payment_intent_id = models.CharField( max_length=100, blank=True, default="") genre = models.CharField(max_length=100, blank=True, default="") quality = models.CharField(max_length=100, blank=True, default="") amount_for_system = models.CharField( max_length=100, blank=True, default="") amount_for_lpp = models.CharField(max_length=100, blank=True, default="") discount = models.CharField(max_length=100, blank=True, default="") total_amount = models.CharField(max_length=100, blank=True, default="") has_paid = models.CharField(max_length=100, blank=True, default="") script_file_path = models.CharField(max_length=100, blank=True, default="") translated_file_path = models.CharField( max_length=100, blank=True, default="") vetted_by_lpp_path = models.CharField( max_length=100, blank=True, default="") MEMBERSHIP_CHOICES = ( ("Monthly plan", "Monthly plan"), ("yearly", "yearly"), ("Monthly special", "Monthly special"), ("yearly special", "yearly special"), ("Life", "Life"), ) class PromoCode(models.Model): PromoCode = models.CharField(max_length=100, unique=True, blank=True) Discount = models.IntegerField(default=20) MembershipType = models.CharField( max_length=100, choices=MEMBERSHIP_CHOICES, blank=True) ValidFrom = models.DateTimeField(auto_now=True) ValidTill = models.DateTimeField() status = models.CharField( max_length=100, blank=True, default="Deactivated") CountsAllowed = models.IntegerField(default=1) CountsUsed = models.IntegerField(default=0) class Refund(models.Model): status = (("Accept", "Accept"), ("Reject", "Reject"), ("Pending", "Pending"), ("Failed", "Failed")) methods = (("Stripe", "Stripe"), ("Razorpay", "Razorpay")) r_id = models.UUIDField( primary_key=True, default=uuid.uuid4, editable=False) payment_method = models.CharField(max_length=100, choices=methods) payment_id = models.CharField( max_length=1000, unique=True, blank=True, null=True) service_name = models.CharField( max_length=1000, unique=True, blank=True, null=True) service_id = models.CharField( max_length=1000, unique=True, blank=True, null=True) claimed_user = models.ForeignKey(User, on_delete=models.CASCADE) amount = models.DecimalField(max_digits=10, decimal_places=2) reason = models.TextField() status = models.CharField(max_length=100, choices=status) created = models.DateTimeField(auto_now_add=True, blank=True, null=True) updated = models.DateTimeField(auto_now=True, blank=True, null=True) def __str__(self) -> str: return str(self.payment_id) class Qr_Payment(models.Model): qr_id = models.UUIDField( primary_key=True, default=uuid.uuid4, editable=False) date_at = models.DateField(auto_now_add=True) # id = models.IntegerField(primary_key=True) user_id = models.ForeignKey(User, on_delete=models.CASCADE) amount = models.DecimalField(max_digits=10, decimal_places=2) name = models.CharField( max_length=200, unique=True, blank=True, null=True) phone = models.CharField( max_length=200, unique=True, blank=True, null=True) email = models.CharField( max_length=200, unique=True, blank=True, null=True) giftId = models.CharField( max_length=1000, unique=True, blank=True, null=True) status = models.BooleanField(default=False)