from django.db import models from django.contrib.auth.models import User import uuid from users.models import ReferUser import json # Create your models here. class centralDatabase(models.Model): uuid = models.UUIDField(max_length=36, primary_key=True, default=uuid.uuid4, editable=False) user_id = models.ForeignKey(User, on_delete=models.CASCADE) firstName = models.CharField(max_length=100, blank=True) # 1 middleName = models.CharField(max_length=100, blank=True) # 1 lastName = models.CharField(max_length=100, blank=True) # 1 email = models.CharField(default="", max_length=100) # 1 gender = models.CharField(max_length=20, blank=True) # 1 city = models.CharField(max_length=100, blank=True, null=True) # 2 state = models.CharField(max_length=100, blank=True, null=True) # 2 country = models.CharField(max_length=100, blank=True, null=True) # 2 countryCode = models.IntegerField(default=0, blank=True) # 2 contact = models.CharField(max_length=20, blank=True) # 2 language = models.CharField(max_length=100, blank=True) # 3 language_of_screenplay = models.CharField(max_length=100, blank=True) interests = models.CharField(max_length=100, blank=True) # 4 skills = models.CharField(max_length=100, blank=True) # 4 linkedin = models.CharField(max_length=100, blank=True) # 5 portfolio_url = models.CharField(max_length=100, blank=True) # 5 about = models.CharField(max_length=100, blank=True) # 4 project_title = models.CharField(max_length=100, blank=True) project_type = models.CharField(max_length=100, blank=True) project_status = models.CharField(max_length=100, blank=True) genre = models.CharField(max_length=100, blank=True) subgenre = models.CharField(max_length=100, blank=True) set_in_time = models.CharField(max_length=100, blank=True) set_in_geography = models.CharField(max_length=100, blank=True) logline = models.CharField(max_length=100, blank=True) budget_currency = models.CharField(max_length=100, blank=True) awarded_by = models.CharField(max_length=100, blank=True) # 6 degree = models.CharField(max_length=100, blank=True) # 6 budget_amount = models.IntegerField(default=0, blank=True) project_duration = models.IntegerField(default=0, blank=True) profile_photo = models.FileField(upload_to='user_profile/',max_length=100,null=True,blank=True) education_certificate = models.FileField(max_length=100, blank=True,null=True) # 6 # boolean field viewersLounge = models.BooleanField(default=False) # 7 lpp = models.BooleanField(default=False) # 7 priviledgedMember = models.BooleanField(default=False) # 7 ideamall = models.BooleanField(default=False) # 7 rm = models.BooleanField(default=False) # 7 harkat = models.BooleanField(default=False) # 7 # for personal preference isWhatsappJoined = models.BooleanField(default=False) isTelegramJoined = models.BooleanField(default=False) isNewsLetterSubscribed = models.BooleanField(default = False) #for rhm and memberprofile dob = models.DateField(null=True, blank=True) motherTongue = models.CharField(max_length=245, null=True, blank=True) secondaryLanguage = models.CharField(max_length=245, null=True, blank=True) highest_qualification = models.CharField(max_length=245, null=True, blank=True) address = models.CharField(max_length=245, null=True, blank=True) location_link = models.CharField(max_length=245, null=True, blank=True) imdb_link = models.CharField(max_length=245, null=True, blank=True) linkedin_link = models.CharField(max_length=245, null=True, blank=True) twitter_link = models.CharField(max_length=245, null=True, blank=True) facebook_link = models.CharField(max_length=245, null=True, blank=True) instagram_link = models.CharField(max_length=245, null=True, blank=True) youtube_link = models.CharField(max_length=245, null=True, blank=True) website_link = models.CharField(max_length=245, null=True, blank=True) personal_blog_link = models.CharField(max_length=245, null=True, blank=True) privacy_status_profile = models.CharField(max_length=20, null=True, blank=True) privacy_status_message = models.CharField(max_length=20, null=True, blank=True) privacy_status_activity = models.CharField(max_length=20, null=True, blank=True) # privacy_status_number = models.IntegerField(max_length=20, null=True, blank=True) video_introduction = models.CharField(max_length=200, null=True, blank=True) reel = models.CharField(max_length=200, null=True, blank=True) # Location details latitude = models.FloatField(default=0) longitude = models.FloatField(default=0) base_latitude = models.FloatField(default=0) base_longitude = models.FloatField(default=0) # class Meta: # indexes = [ # models.Index(fields=['user_id']), # ] class NonAuthenticatedRefer(models.Model): id = models.CharField(primary_key=True, default=uuid.uuid4, editable=False,max_length=36) email = models.CharField(max_length=100, blank=True, null=True) phone = models.CharField(max_length=100, blank=True, null=True) name = models.CharField(max_length=100, blank=True, null=True) # reffer_emails = models.ManyToManyField(ReferUser,blank=True, null=True) class Refer(models.Model): id = models.CharField(primary_key=True, default=uuid.uuid4, editable=False,max_length=36) Refer_id = models.CharField(default=uuid.uuid4, editable=False,max_length=36, null=True) refer_user = models.ForeignKey(User, on_delete=models.CASCADE,blank=True, null=True, related_name='mnfapp_refers') non_auth_refer = models.ForeignKey(NonAuthenticatedRefer, on_delete=models.CASCADE,blank=True, null=True) refer_name1 = models.CharField(max_length=100, blank=True, null=True) refer_email1 = models.CharField(max_length=100, blank=True, null=True) SERVICE_CHOICES = [ ("Membership-Monthly", "Membership-Monthly"), ("Membership-Annual", "Membership-Annual"), ("Membership- Life", "Membership- Life"), ("Conversion", "Conversion"), ("Narration-LineBYLine", "Narration-LineBYLine"), ("Narration-Subtitling", "Narration-Subtitling"), ("Gift", "Gift"), ("auction-full-rights", "auction-full-rights"), ("auction-limited-rights", "auction-limited-rights"), ("commissioning", "commissioning"), ("subtitling", "subtitling"), ] PAYMENT_METHOD = [ ("card", "card"), ("UPI", "UPI"), ("netbanking", "netbanking"), ("wallet", "wallet"), ] PAYMENT_RESULT = [("pass", "pass"), ("fail", "fail")] GATEWAY = [("razorPay", "razorPay"), ("Stripe", "Stripe")] class PaymentData(models.Model): uuid = models.UUIDField(max_length=36, primary_key=True, default=uuid.uuid4, editable=False) stage = models.CharField(null=True, max_length=64) date = models.DateTimeField(auto_now=True) payment_id = models.CharField(max_length=64) user_id = models.ForeignKey(User, on_delete=models.CASCADE) services_used = models.CharField(null=True, blank=True, choices=SERVICE_CHOICES, max_length=30) # script_info = models.ForeignKey(MNFScriptDatabase, on_delete=models.CASCADE, null=True) # subtitle_info = models.ForeignKey(Subtitle_payment, on_delete=models.CASCADE, null=True) number_of_pages = models.IntegerField(null=True, blank=True) total_amount = models.FloatField(null=True, blank=True) discount = models.FloatField(null=True, blank=True) amount_charged = models.FloatField(null=True, blank=True) gateway_fee = models.FloatField(null=True, blank=True) currency = models.CharField(default="INR", max_length=30) pay_method = models.CharField(null=True, blank=True, choices=PAYMENT_METHOD, max_length=12) payment_status = models.CharField(null=True, blank=True, choices=PAYMENT_RESULT, max_length=5) payment_gateway = models.CharField(null=True, blank=True, choices=GATEWAY, max_length=10) def __str__(self): return str(self.payment_id) class SampleScript(models.Model): sample_id = models.UUIDField(default=uuid.uuid4, primary_key=True) user_id = models.ForeignKey( User, on_delete=models.CASCADE, blank=True, null=True) date_at = models.DateTimeField(auto_now_add=True) date_updated = models.DateTimeField(auto_now=True) script_title = models.CharField(max_length=100, blank=True) author_name = models.CharField(max_length=100, blank=True) script_file_path = models.FileField(upload_to="scripts/") script_file_path_pdf = models.CharField( default="", max_length=100, blank=True) dial_src_language = models.CharField(max_length=100, blank=True) dial_src_script = models.CharField(max_length=100, blank=True) nondial_src_script = models.CharField(max_length=100, blank=True) nondial_src_language = models.CharField(max_length=100, blank=True) languages = models.CharField(max_length=100, blank=True, default="") type_of_script = models.CharField(max_length=100, blank=True, default="") approved = models.BooleanField(default=False) accepted_on = models.DateTimeField(null=True, blank=True) audit_id = models.CharField(max_length=220, null=True, blank=True, default="") def __str__(self): return str(self.script_title) class Name(models.Model): name = models.CharField(max_length=100) class MNFScriptDatabase(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) user_id = models.ForeignKey(User, on_delete=models.CASCADE) date_at = models.DateTimeField(auto_now_add=True) script_id = models.CharField(max_length=100, blank=True) sample_id = models.ForeignKey("SampleScript", on_delete=models.CASCADE, blank=True, null=True) audit_id = models.CharField(max_length=220, null=True, blank=True, default="") language_audit_id = models.CharField(max_length=220, null=True, blank=True, default="") script_title = models.CharField(max_length=200, blank=True) author_name = models.CharField(max_length=100, blank=True) script = models.FileField(upload_to="scripts/") dial_src_language = models.CharField(max_length=100, blank=True) nondial_src_script = models.CharField(max_length=100, blank=True) dial_src_script = models.CharField(max_length=100, blank=True) numPages = models.IntegerField(default=1) is_juggernaut_used = models.BooleanField(default=False) languages_juggernaut = models.CharField(default="", max_length=300, blank=True) sample_script = models.BooleanField(default=False) selected_characters = models.CharField(max_length=200, blank=True) video_json_path = models.CharField(default="", max_length=100) video_audio_path = models.CharField(default="", max_length=100) pitchdeck_item = models.CharField(default="", max_length=100) scene_vector = models.CharField(default="", max_length=100) character_vector = models.CharField(default="", max_length=100) dialogues_vector = models.CharField(default="", max_length=100) script_vector = models.CharField(default="", max_length=100) Location_Vector = models.CharField(default="", max_length=100) Global_Vector = models.CharField(default="", max_length=100) narration_video_path = models.CharField(default="", max_length=100) character_intro_video_path = models.CharField( default="", max_length=100) # manoj line_by_line_narration_video_path = models.CharField( default="", max_length=100 ) # rohit edited on 26th December #1 #manoj linebyline = models.CharField(default="", max_length=100) character_intro = models.CharField(default="", max_length=100) # 2 screenplay_analysis = models.CharField(default="", max_length=100) # 3 elevator_pitch = models.CharField(default="", max_length=100) # 4 onepager = models.CharField(default="", max_length=100) # 5 characterwise_narration = models.CharField( default="", max_length=100) # 6 ----- nondial_src_language = models.CharField(max_length=100, blank=True) screenplay_analysis_video_path = models.CharField( default="", max_length=100) # manoj elevator_pitch_video_path = models.CharField( default="", max_length=100) # manoj onepager_pdf_path = models.CharField(default="", max_length=100) # manoj # characterwise_videopath=ArrayField(models.CharField(max_length=100),blank=True) # Commented line number 54 on 16/06/22 18:30 PM Ritwick Jha. Getting database error def set_selected_characters(self, x): self.selected_characters = json.dumps(x) def get_selected_characters(self): return str(json.loads(self.selected_characters)) characterwise_video_path = models.CharField(max_length=100, blank=True) # charwise = models.ManyToManyField(Characterwise, related_name="charwise", null=True, default="") # charwise= models.ManyToManyField def set_characterwise_video_path(self, x): self.characterwise_video_path = json.dumps(x) def get_characterwise_video_path(self): return str(json.loads(self.characterwise_video_path)) char_video_path = [] def __str__(self): return str(self.script_title) class ScriptTranslations(models.Model): user_id = models.ForeignKey(User, on_delete=models.CASCADE, default=10) translation_id = models.UUIDField( primary_key=True, default=uuid.uuid4, editable=False) script_link_id = models.ForeignKey(MNFScriptDatabase, on_delete=models.CASCADE) date_translated = models.DateTimeField(auto_now_add=True) date_latest_iteration = models.DateTimeField(auto_now=True) nondial_dest_language = models.CharField(max_length=100, blank=True) nondial_dest_script = models.CharField(max_length=100, blank=True) dial_dest_language = models.CharField(max_length=100, blank=True) dial_dest_script = models.CharField(max_length=100, blank=True) translated_script_path = models.CharField(default="", max_length=500) translated_script_pdf = models.CharField(default="", max_length=500) central_payment_id = models.CharField(default="", max_length=256) payment_order_id = models.CharField(default="", max_length=256) full_dialogue_option_choices = models.CharField(max_length=800, blank=True, null=True) sentence_dialogue_option_choices = models.CharField(max_length=800, blank=True, null=True) other_option_choices = models.CharField(max_length=800, blank=True, null=True) exp_rate = models.IntegerField(default=0) content_accuracy_rate = models.IntegerField(default=0) translation_accuracy_rate = models.IntegerField(default=0) error_faced_feedback = models.CharField(max_length=100, blank=True) attention_feedback = models.CharField(max_length=100, blank=True) improvement_feedback = models.CharField(max_length=100, blank=True) converted_audit_id = models.CharField(max_length=220, null=True, blank=True, default="") lpp = models.BooleanField(default=False) dual_dial_script = models.BooleanField(default=False) left_dual_dial_lang = models.CharField(max_length=220, null=True, blank=True) left_dual_dial_script = models.CharField(max_length=220, null=True, blank=True) free_output = models.BooleanField(default=False) status = models.CharField(max_length=220, null=True, blank=True) blockchain_txhash = models.CharField(max_length=220, null=True, blank=True) error_desc = models.CharField(max_length=2000, null=True, blank=True) class Author(models.Model): uuid = models.UUIDField(max_length=36, primary_key=True, default=uuid.uuid4, editable=False) name = models.CharField(max_length=100, blank=True) author_profile = models.FileField( upload_to="profile_pic/", blank=True, null=True) author_about = models.CharField(max_length=100, blank=True) author_email = models.CharField(default="", max_length=100) phonenumber = models.CharField(default="", max_length=100) author_link = models.CharField(default="", max_length=100) class PitchVector(models.Model): choosescript = models.FileField( upload_to="scripts/", blank=True, null=True) # character_list = ArrayField(models.CharField(max_length=100),blank=True) # character_path = ArrayField(models.CharField(max_length=100),blank=True) # charnar_checked=models.BooleanField(default=False) # pitchdeck = models.CharField(max_length=100, blank=True) scriptDetails = models.ForeignKey( MNFScriptDatabase, on_delete=models.CASCADE) script_id = models.CharField(max_length=100, blank=True) scriptname = models.CharField(max_length=100, blank=True) genre = models.CharField(max_length=100, blank=True) subGenre = models.CharField(max_length=100, blank=True) projecttype = models.CharField(max_length=100, blank=True) noepisodes = models.CharField(max_length=100, blank=True) eachepisodes = models.CharField(max_length=100, blank=True) other = models.CharField(max_length=100, blank=True) language = models.CharField(max_length=100, blank=True) dialect_language = models.CharField(max_length=100, blank=True) platformproposed = models.CharField(max_length=100, blank=True) country = models.CharField(max_length=100, blank=True) countryCode = models.IntegerField(max_length=100, blank=True) state = models.CharField(max_length=100, blank=True) city = models.CharField(max_length=100, blank=True) languagebelt = models.CharField(max_length=100, blank=True) target_audience = models.CharField(max_length=100, blank=True) target_field = models.CharField(max_length=100, blank=True) timeperiod = models.CharField(max_length=100, blank=True) other_timeperiod = models.CharField( max_length=100, blank=True) # --------neha 18/03/23 geography = models.CharField(max_length=100, blank=True) dialogue_reference = models.CharField(max_length=100, blank=True) premise = models.CharField(max_length=100, blank=True) logline = models.CharField(max_length=100, blank=True) # Character Wise narration selected_characters = models.CharField(max_length=200, blank=True) """ set using set_selected_characters(self, x): get using get_selected_characters() """ # Author details # author_details = ArrayField(ArrayField(models.CharField(max_length=20, null=True, blank=True),size=5, default=list),size=5, default=list) # auth_details = jsonfield.JSONField() author_details = models.ManyToManyField( Author, related_name="author_details", default="", null=True, blank=True, ) author = models.BooleanField(default=False) author1 = models.CharField(max_length=100, blank=True) name = models.CharField(max_length=100, blank=True) author_profile = models.FileField( upload_to="profile_pic/", blank=True, null=True) author_about = models.CharField(max_length=100, blank=True) author_email = models.CharField(default="", max_length=100) phonenumber = models.CharField(default="", max_length=100) author_link = models.CharField(default="", max_length=100) # Plot and story flow plot_story_flow = models.BooleanField(default=False) protagonist = models.CharField(max_length=100, blank=True) barrier = models.CharField(max_length=100, blank=True) midpoint = models.CharField(max_length=100, blank=True) climax = models.CharField(max_length=100, blank=True) conflictresolved = models.CharField(max_length=100, blank=True) minute_protogonist = models.CharField(max_length=100, blank=True) conflict_reaches_climax = models.CharField(max_length=100, blank=True) # About shooting shooting = models.BooleanField(default=False) # pre_production = models.CharField(max_length=100, blank=True) # post_production = models.CharField( # max_length=100, blank=True) # ---------ne special_preperation = models.CharField(max_length=100, blank=True) days_shoot_required = models.CharField(max_length=100, blank=True) percentage_location = models.CharField(max_length=100, blank=True) percentage_scene = models.CharField(max_length=100, blank=True) major_prosthetic = models.CharField(max_length=100, blank=True) during_production = models.CharField(max_length=100, blank=True) # Dream cast $ locations dream_cast_locations = models.BooleanField(default=False) leadcharacter = models.CharField(max_length=100, blank=True) proposedactor1 = models.CharField(max_length=100, blank=True) upload_image1 = models.FileField( upload_to="profile_pic/", blank=True, null=True) secondleadcharacter = models.CharField(max_length=100, blank=True) proposedactor2 = models.CharField(max_length=100, blank=True) upload_image2 = models.FileField( upload_to="profile_pic/", blank=True, null=True) mainvillan = models.CharField(max_length=100, blank=True) proposedactor3 = models.CharField(max_length=100, blank=True) upload_image3 = models.FileField( upload_to="profile_pic/", blank=True, null=True) associatecharacter = models.CharField(max_length=100, blank=True) proposedactor4 = models.CharField(max_length=100, blank=True) upload_image4 = models.FileField( upload_to="profile_pic/", blank=True, null=True) associatevillan = models.CharField(max_length=100, blank=True) proposedactor5 = models.CharField(max_length=100, blank=True) upload_image5 = models.FileField( upload_to="profile_pic/", blank=True, null=True) firstlocation = models.CharField(max_length=100, blank=True) proposedactor6 = models.CharField(max_length=100, blank=True) upload_image6 = models.FileField( upload_to="profile_pic/", blank=True, null=True) secondlocation = models.CharField(max_length=100, blank=True) proposedactor7 = models.CharField(max_length=100, blank=True) upload_image7 = models.FileField( upload_to="profile_pic/", blank=True, null=True) thirdlocation = models.CharField(max_length=100, blank=True) proposedactor8 = models.CharField(max_length=100, blank=True) upload_image8 = models.FileField( upload_to="profile_pic/", blank=True, null=True) # About Film budget film_budget = models.BooleanField(default=False) making_expenses = models.CharField(max_length=100, blank=True) making_expenses_currency = models.CharField( max_length=100, blank=True) # ------neha 18/03/23 percentage_scenes_required = models.CharField(max_length=100, blank=True) vfx_expenses = models.CharField(max_length=100, blank=True) vfx_expenses_currency = models.CharField( max_length=100, blank=True) # ------neha 18/03/23 approx_budget_required = models.CharField(max_length=100, blank=True) approx_budget_currency = models.CharField( max_length=100, blank=True) # ------neha 18/03/23 # Strengths & Expectations strengths_and_expectation = models.BooleanField(default=False) script_succed = models.CharField(max_length=100, blank=True) produced_now = models.CharField(max_length=100, blank=True) monetary_non_monetary_expectation = models.CharField( max_length=100, blank=True) #for payment use transaction_id = models.CharField(max_length=1000, blank=True, null=True) country = models.CharField(max_length=1000, blank=True, null=True) charges = models.FloatField(default=0, blank=True, null=True) discount = models.FloatField(default=0, blank=True, null=True) order_id = models.CharField(max_length=1000, blank=True, null=True) cp_id = models.CharField(max_length=1000, blank=True, null=True) isPaid = models.BooleanField(default=False) central_payment_id = models.CharField(default="", max_length=256) payment_order_id = models.CharField(default="", max_length=256) # Multiple Author Yameen | Neha Kumari names = models.ManyToManyField(Name) def set_selected_characters(self, x): self.selected_characters = json.dumps(x) def get_selected_characters(self): return str(json.loads(self.selected_characters))