from django.db import models

# Create your models here.
class Program_Types(models.Model):
    program_type = models.CharField(max_length=255, blank=True, null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)


class Projects(models.Model):
    program_type = models.ForeignKey(Program_Types, default="", on_delete=models.CASCADE, related_name='program')
    project = models.CharField(max_length=255, blank=True, null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)


class Programs(models.Model):
    program_type = models.ForeignKey(Program_Types, default="", on_delete=models.SET_NULL, null=True, related_name='program_program_type')
    project = models.ForeignKey(Projects, default="", on_delete=models.SET_NULL, null=True, related_name='program_project')
    state = models.ForeignKey('country.States', default="", on_delete=models.SET_NULL, null=True, related_name='program_state')
    district = models.ForeignKey('country.Districts', default="", on_delete=models.SET_NULL, null=True, related_name='program_district')
    csr_partner = models.ForeignKey('users.Csr_Partners', default="", on_delete=models.SET_NULL, null=True, related_name='program_csr_partner')
    partner = models.ForeignKey('users.Partner_Organizations', default="", on_delete=models.SET_NULL, null=True, blank=True, related_name='program_partner')
    from_date = models.DateField(blank=False, null=False)
    team = models.ForeignKey('hr_department.Team', default="", on_delete=models.SET_NULL, null=True, related_name='program_team')
    beneficiary_name = models.CharField(max_length=255, blank=False, null=False)
    age = models.CharField(blank=False, null=False, max_length=255)
    gender = models.CharField(blank=False, null=False, max_length=255)
    caste = models.CharField(blank=False, null=False, max_length=255)
    mobile = models.CharField(max_length=255, blank=False, null=False)
    religion = models.CharField(blank=False, null=False, max_length=255)
    occupation = models.CharField(blank=False, null=False, max_length=255)
    family_income = models.CharField(blank=False, null=False, max_length=255)
    differently_abled = models.CharField(default="", blank=True, null=True, max_length=255)
    document_apply = models.CharField(default="", blank=True, null=True, max_length=255)
    scheme_apply = models.CharField(default="", blank=True, null=True, max_length=255)
    support = models.CharField(default="", blank=True, null=True, max_length=255)
    describe_support = models.CharField(default="", blank=True, null=True, max_length=255)
    area = models.CharField(default="", blank=True, null=True, max_length=255)
    session_type = models.CharField(default="", blank=True, null=True, max_length=255)
    ngo = models.CharField(default="", blank=True, null=True, max_length=255)
    organisation_representative_name = models.CharField(default="", blank=True, null=True, max_length=255)
    organisation_type = models.CharField(default="", blank=True, null=True, max_length=255)
    working_period = models.CharField(default="", blank=True, null=True, max_length=255)
    no_of_members = models.CharField(default="", blank=True, null=True, max_length=255)
    working_area = models.CharField(default="", blank=True, null=True, max_length=255)
    organisation_support = models.CharField(default="", blank=True, null=True, max_length=255)
    category = models.CharField(default="", null=True, blank=True, max_length=255)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)


class Deliverables(models.Model):
    project = models.ForeignKey(Projects, default="", on_delete=models.CASCADE, null=False, related_name='project_deliverables')
    key_indicator = models.CharField(max_length=255, blank=True, null=True)
    target = models.CharField(max_length=255, blank=True, null=True)
    achieved = models.CharField(max_length=255, blank=True, null=True)
    remarks = models.TextField(max_length=255, blank=True, null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)


class Progress(models.Model):
    date = models.CharField(max_length=255, blank=True, null=True)
    location = models.CharField(max_length=255, blank=True, null=True)
    activity = models.CharField(max_length=255, blank=True, null=True)
    shg_covered = models.CharField(max_length=255, blank=True, null=True)
    members_enrolled = models.CharField(max_length=255, blank=True, null=True)
    schemes_facilitated = models.CharField(max_length=255, blank=True, null=True)
    legal_docs_processed = models.CharField(max_length=255, blank=True, null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)