Esempio n. 1
0
class Contact(models.Model):
    is_deleted = models.BooleanField(verbose_name='Deleted',
                                     sf_read_only=models.READ_ONLY)
    master_record = models.ForeignKey('self',
                                      models.DO_NOTHING,
                                      related_name='contact_masterrecord_set',
                                      sf_read_only=models.READ_ONLY,
                                      blank=True,
                                      null=True)
    account = models.ForeignKey(
        Account,
        models.DO_NOTHING,
        blank=True,
        null=True,
        related_name='contacts',
        related_query_name='contact')  # Master Detail Relationship *
    last_name = models.CharField(max_length=80)
    first_name = models.CharField(max_length=40, blank=True, null=True)
    salutation = models.CharField(max_length=40,
                                  choices=[('Mr.', 'Mr.'), ('Ms.', 'Ms.'),
                                           ('Mrs.', 'Mrs.'), ('Dr.', 'Dr.'),
                                           ('Prof.', 'Prof.')],
                                  blank=True,
                                  null=True)
    name = models.CharField(max_length=121,
                            verbose_name='Full Name',
                            sf_read_only=models.READ_ONLY)
    email = models.EmailField(blank=True, null=True)
    used_by_e_commerce = models.BooleanField(default=True,
                                             custom=True,
                                             db_column='Used_by_eCommerce__c',
                                             max_length=255,
                                             verbose_name='Used by eCommerce')
Esempio n. 2
0
class Lead(SalesforceModel):
    """
    Default Salesforce Lead model.
    """
    SOURCES = [
        'Advertisement', 'Employee Referral', 'External Referral',
        'Partner', 'Public Relations',
        'Seminar - Internal', 'Seminar - Partner', 'Trade Show', 'Web',
        'Word of mouth', 'Other',
    ]

    STATUSES = [
        'Contacted', 'Open', 'Qualified', 'Unqualified',
    ]

    RATINGS = [
        'Hot', 'Warm', 'Cold',
    ]

    LastName = models.CharField(max_length=80)
    FirstName = models.CharField(max_length=40, blank=True, null=True)
    Salutation = models.CharField(max_length=100, choices=[(x, x) for x in SALUTATIONS])
    Salutation = models.CharField(max_length=100,
                                  choices=[(x, x) for x in SALUTATIONS])
    Name = models.CharField(max_length=121, sf_read_only=models.READ_ONLY)
    Title = models.CharField(max_length=128)
    Company = models.CharField(max_length=255)
    Street = models.CharField(max_length=255)
    City = models.CharField(max_length=40)
    State = models.CharField(max_length=20)
    PostalCode = models.CharField(max_length=20)
    Country = models.CharField(max_length=40)
    Phone = models.CharField(max_length=255)
    Email = models.CharField(max_length=100)
    LeadSource = models.CharField(max_length=100,
                                  choices=[(x, x) for x in SOURCES])
    Status = models.CharField(max_length=100, choices=[(x, x) for x in STATUSES])
    Industry = models.CharField(max_length=100,
                                choices=[(x, x) for x in INDUSTRIES])
    # Added an example of special DateTime field in Salesforce that can
    # not be inserted, but can be updated
    # TODO write test for it
    EmailBouncedDate = models.DateTimeField(blank=True, null=True,
                                            sf_read_only=models.NOT_CREATEABLE)
    # Deleted object can be found only in querysets with "query_all" SF method.
    IsDeleted = models.BooleanField(default=False, sf_read_only=models.READ_ONLY)
    owner = models.ForeignKey(User, on_delete=models.DO_NOTHING,
                              default=models.DEFAULTED_ON_CREATE,
                              related_name='lead_owner_set')
    last_modified_by = models.ForeignKey(User, on_delete=models.DO_NOTHING, null=True,
                                         sf_read_only=models.READ_ONLY,
                                         related_name='lead_lastmodifiedby_set')
    is_converted = models.BooleanField(verbose_name='Converted',
                                       sf_read_only=models.NOT_UPDATEABLE,
                                       default=models.DEFAULTED_ON_CREATE)

    def __str__(self):
        return self.Name
Esempio n. 3
0
class Account(models.Model):
    is_deleted = models.BooleanField(verbose_name="Deleted",
                                     sf_read_only=models.READ_ONLY,
                                     default=False)
    master_record = models.ForeignKey(
        "self",
        models.DO_NOTHING,
        related_name="account_masterrecord_set",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    name = models.CharField(max_length=255, verbose_name="Account Name")
    type = models.CharField(
        max_length=40,
        verbose_name="Account Type",
        choices=ACCOUNT_TYPE_CHOICES,
        blank=True,
        null=True,
    )
    parent = models.ForeignKey(
        "self",
        models.DO_NOTHING,
        related_name="account_parent_set",
        blank=True,
        null=True,
    )
    billing_street = models.TextField(blank=True, null=True)
    billing_city = models.CharField(max_length=40, blank=True, null=True)
    billing_state = models.CharField(max_length=80,
                                     verbose_name="Billing State/Province",
                                     blank=True,
                                     null=True)
    billing_postal_code = models.CharField(
        max_length=20,
        verbose_name="Billing Zip/Postal Code",
        blank=True,
        null=True)
    billing_country = models.CharField(max_length=80, blank=True, null=True)
    npe01_systemis_individual = models.BooleanField(
        db_column="npe01__SYSTEMIsIndividual__c",
        custom=True,
        verbose_name="_SYSTEM: IsIndividual",
        default=models.DEFAULTED_ON_CREATE,
        help_text=
        "Indicates whether or not this Account is special for Contacts (Household, One-to-One, Individual) vs a normal Account.",
    )

    class Meta(models.Model.Meta):
        db_table = "Account"
        verbose_name = "Account"
        verbose_name_plural = "Accounts"
        # keyPrefix = '001'

    def __str__(self):
        return "%s" % self.name
Esempio n. 4
0
class Organization(models.Model):
	name = models.CharField(max_length=80, sf_read_only=models.NOT_CREATEABLE)
	division = models.CharField(max_length=80, sf_read_only=models.NOT_CREATEABLE, blank=True)
	organization_type = models.CharField(max_length=40, verbose_name='Edition',
			sf_read_only=models.READ_ONLY) # e.g 'Developer Edition', Enteprise, Unlimited...
	instance_name = models.CharField(max_length=5, sf_read_only=models.READ_ONLY, blank=True)
	is_sandbox = models.BooleanField(sf_read_only=models.READ_ONLY)
Esempio n. 5
0
class Test(SalesforceParentModel):
    """
    Simple custom model with one custom and more standard fields.

    Salesforce object for this model can be created:
    A) automatically from the branch hynekcer/tooling-api-and-metadata
       by commands:
        $ python manage.py shell
            >> from salesforce.backend import tooling
            >> tooling.install_metadata_service()
            >> tooling.create_demo_test_object()
    or
    B) manually can create the same object with `API Name`: `django_Test__c`
        `Data Type` of the Record Name: `Text`

       Create three fields:
       Type            | API Name | Label
       ----------------+----------+----------
       Text            | TestText | Test Text
       Checkbox        | TestBool | Test Bool
       Lookup(Contact) | Contact  | Contact

       Set it accessible by you. (`Set Field-Leved Security`)
    """
    # This is a custom field because it is defined in the custom model.
    # The API name is therefore 'TestField__c'
    test_text = models.CharField(max_length=40)
    test_bool = models.BooleanField(default=False)
    contact = models.ForeignKey(Contact,
                                null=True,
                                on_delete=models.DO_NOTHING)

    class Meta:
        custom = True
        db_table = 'django_Test__c'
Esempio n. 6
0
class BusinessHours(SalesforceModel):
	Name = models.CharField(max_length=80)
	# The default record is automatically created by Salesforce.
	IsDefault = models.BooleanField(default=False, verbose_name='Default Business Hours')
	# ... much more fields, but we use only this one TimeFiled for test
	MondayStartTime = models.TimeField()

	class Meta:
		verbose_name_plural = "BusinessHours"
Esempio n. 7
0
class PersonAccount(SalesforceModel):
    """Fields specific to Account after activating "Person Account"."""
    LastName = models.CharField(max_length=80)
    FirstName = models.CharField(max_length=40)
    Name = models.CharField(max_length=255, sf_read_only=models.READ_ONLY)
    IsPersonAccount = models.BooleanField(default=False,
                                          sf_read_only=models.READ_ONLY)
    PersonEmail = models.CharField(max_length=100)

    class Meta:
        abstract = True
Esempio n. 8
0
class Product(models.Model):
    #product_id = models.CharField(db_column='Id',max_length=255)
    name = models.CharField(db_column='Name', max_length=255, verbose_name='Product Name')
    product_code = models.CharField(db_column='ProductCode', max_length=255, blank=True, null=True)
    description = models.TextField(db_column='Description', verbose_name='Product Description', blank=True, null=True)
    is_active = models.BooleanField(db_column='IsActive', verbose_name='Active', default=models.DefaultedOnCreate(False))
    family = models.CharField(db_column='Family', max_length=255, verbose_name='Product Family', choices=[('None', 'None')], blank=True, null=True)
    
    class Meta:
        db_table = 'Product2'
        verbose_name = 'Product'
        verbose_name_plural = 'Products'
Esempio n. 9
0
class PricebookEntry(SalesforceModel):
	Name = models.CharField(max_length=255, db_column='Name', sf_read_only=models.READ_ONLY)
	Pricebook2 = models.ForeignKey('Pricebook', on_delete=models.DO_NOTHING)
	Product2 = models.ForeignKey('Product', on_delete=models.DO_NOTHING)
	UseStandardPrice = models.BooleanField(default=False)
	UnitPrice = models.DecimalField(decimal_places=2, max_digits=18)

	class Meta(SalesforceModel.Meta):
		db_table = 'PricebookEntry'
		verbose_name_plural = "PricebookEntries"

	def __str__(self):
		return self.Name
Esempio n. 10
0
class PersonAccount(AbstractAccount):
    # Non standard fields that require activating "Person Account"
    # (irreversible changes in Salesforce)
    LastName = models.CharField(max_length=80)
    FirstName = models.CharField(max_length=40)
    Name = models.CharField(max_length=255, sf_read_only=models.READ_ONLY)
    Salutation = models.CharField(max_length=100,
                                  choices=[(x, x) for x in SALUTATIONS])
    IsPersonAccount = models.BooleanField(sf_read_only=models.READ_ONLY)
    PersonEmail = models.CharField(max_length=100)

    class Meta(AbstractAccount.Meta):
        abstract = True
Esempio n. 11
0
class Pricebook2(models.Model):
    """Model that maps to Salesforce Pricebook2 object."""

    name = models.CharField(max_length=255, verbose_name='Price Book Name')
    is_standard = models.BooleanField(verbose_name='Is Standard Price Book')

    class Meta(models.Model.Meta):
        db_table = 'Pricebook2'
        verbose_name = 'Price Book'
        verbose_name_plural = 'Price Books'

    def __unicode__(self):
        """Return unicode representation of object."""
        return self.name
Esempio n. 12
0
class Organization(models.Model):
    name = models.CharField(max_length=80, sf_read_only=models.NOT_CREATEABLE)
    division = models.CharField(max_length=80, sf_read_only=models.NOT_CREATEABLE, blank=True)
    organization_type = models.CharField(max_length=40, verbose_name='Edition',
                                         sf_read_only=models.READ_ONLY
                                         )  # e.g 'Developer Edition', Enteprise, Unlimited...
    instance_name = models.CharField(max_length=5, sf_read_only=models.READ_ONLY, blank=True)
    is_sandbox = models.BooleanField(sf_read_only=models.READ_ONLY)
    # Fields created_by, last_modified_by, last_modified_date are dynamic

    class Meta:
        db_table = 'Organization'
        # Copy all fields that match the patters for Force.com field name
        # from the class that use the same db_table "Organization" in the
        # module models_template
        if models_template:
            dynamic_field_patterns = models_template, ['created_by', 'last.*_by']
Esempio n. 13
0
class OpportunityContactRole(models.Model):
    """Model that maps to Salesforce OpportunityContactRole object."""

    opportunity = models.ForeignKey(Opportunity,
                                    models.DO_NOTHING,
                                    sf_read_only=models.NOT_UPDATEABLE)
    contact = models.ForeignKey(Contact, models.DO_NOTHING)
    role = models.CharField(max_length=40, blank=True, null=True)
    is_primary = models.BooleanField(verbose_name='Primary',
                                     default=models.DEFAULTED_ON_CREATE)

    class Meta(models.Model.Meta):
        db_table = 'OpportunityContactRole'
        verbose_name = 'Opportunity Contact Role'
        verbose_name_plural = 'Opportunity Contact Role'

    def __unicode__(self):
        """Return unicode representation of object."""
        return '{}:{}'.format(self.opportunity, self.contact)
Esempio n. 14
0
class Individual(models.Model):
    owner = models.ForeignKey(
        "User", models.DO_NOTHING,
        related_name="individual_owner_set")  # Master Detail Relationship *
    is_deleted = models.BooleanField(verbose_name="Deleted",
                                     sf_read_only=models.READ_ONLY,
                                     default=False)
    last_name = models.CharField(max_length=80)
    first_name = models.CharField(max_length=40, blank=True, null=True)
    salutation = models.CharField(max_length=40,
                                  choices=SALUTATION_CHOICES,
                                  blank=True,
                                  null=True)
    middle_name = models.CharField(max_length=40, blank=True, null=True)
    suffix = models.CharField(max_length=40, blank=True, null=True)
    name = models.CharField(max_length=121, sf_read_only=models.READ_ONLY)

    class Meta(models.Model.Meta):
        db_table = "Individual"
        verbose_name = "Individual"
        verbose_name_plural = "Individuals"
Esempio n. 15
0
class Organization(models.Model):
    name = models.CharField(max_length=80, sf_read_only=models.NOT_CREATEABLE)
    division = models.CharField(max_length=80, sf_read_only=models.NOT_CREATEABLE, blank=True)
    street = models.TextField(sf_read_only=models.NOT_CREATEABLE, blank=True)
    city = models.CharField(max_length=40, sf_read_only=models.NOT_CREATEABLE, blank=True)
    country = models.CharField(max_length=80, sf_read_only=models.READ_ONLY, blank=True)
    address = models.TextField(sf_read_only=models.READ_ONLY, blank=True)  # This field type is a guess.
    phone = models.CharField(max_length=40, sf_read_only=models.NOT_CREATEABLE, blank=True)
    instance_name = models.CharField(max_length=5, sf_read_only=models.READ_ONLY, blank=True)
    is_sandbox = models.BooleanField(sf_read_only=models.READ_ONLY)
    created_date = models.DateTimeField(sf_read_only=models.READ_ONLY)
    created_by = models.ForeignKey(User, related_name='organization_createdby_set',
                                   sf_read_only=models.READ_ONLY, on_delete=models.DO_NOTHING)
    last_modified_date = models.DateTimeField(sf_read_only=models.READ_ONLY)
    last_modified_by = models.ForeignKey('User', related_name='organization_lastmodifiedby_set',
                                         sf_read_only=models.READ_ONLY, on_delete=models.DO_NOTHING)

    class Meta(models.Model.Meta):
        db_table = 'Organization'
        verbose_name = 'Organization'
        verbose_name_plural = 'Organizations'
Esempio n. 16
0
class CustomVectorForContact(models.Model):
    is_deleted = models.BooleanField(verbose_name='Deleted',
                                     sf_read_only=models.READ_ONLY)
    name = models.CharField(max_length=80,
                            verbose_name='Custom Vector for contacts Name',
                            sf_read_only=models.READ_ONLY)
    contact = models.ForeignKey(
        Contact,
        models.DO_NOTHING,
        related_name="vectors_for_contact",
        custom=True,
        sf_read_only=models.NOT_UPDATEABLE)  # Master Detail Relationship 0
    vector = models.ForeignKey(CustomVector,
                               models.DO_NOTHING,
                               related_name="contacts_for_vector",
                               db_column='CustomVector__c',
                               custom=True)

    class Meta(models.Model.Meta):
        db_table = 'CustomVectorforcontacts__c'
        verbose_name = 'Custom Vector for contacts'
        verbose_name_plural = 'Custom Vectors for contacts'
Esempio n. 17
0
class User(models.Model):
    username = models.CharField(max_length=80)
    last_name = models.CharField(max_length=80)
    first_name = models.CharField(max_length=40, blank=True, null=True)
    middle_name = models.CharField(max_length=40, blank=True, null=True)
    suffix = models.CharField(max_length=40, blank=True, null=True)
    name = models.CharField(max_length=121,
                            verbose_name="Full Name",
                            sf_read_only=models.READ_ONLY)
    company_name = models.CharField(max_length=80, blank=True, null=True)
    division = models.CharField(max_length=80, blank=True, null=True)
    department = models.CharField(max_length=80, blank=True, null=True)
    title = models.CharField(max_length=80, blank=True, null=True)
    street = models.TextField(blank=True, null=True)
    city = models.CharField(max_length=40, blank=True, null=True)
    state = models.CharField(max_length=80,
                             verbose_name="State/Province",
                             blank=True,
                             null=True)
    postal_code = models.CharField(max_length=20,
                                   verbose_name="Zip/Postal Code",
                                   blank=True,
                                   null=True)
    country = models.CharField(max_length=80, blank=True, null=True)
    is_active = models.BooleanField(verbose_name="Active",
                                    default=models.DEFAULTED_ON_CREATE)

    class Meta(models.Model.Meta):
        db_table = "User"
        verbose_name = "User"
        verbose_name_plural = "Users"
        # keyPrefix = '003'

    def __str__(self):
        if self.is_active:
            active = "Active"
        else:
            active = "Inactive"
        return "%s %s -- %s" % (self.first_name, self.last_name, active)
Esempio n. 18
0
class PricebookEntry(models.Model):
    """Model that maps to Salesforce PricebookEntry object."""

    pricebook2 = models.ForeignKey(Pricebook2,
                                   models.DO_NOTHING,
                                   sf_read_only=models.NOT_UPDATEABLE)
    product2 = models.ForeignKey('Product2',
                                 models.DO_NOTHING,
                                 sf_read_only=models.NOT_UPDATEABLE)
    unit_price = models.DecimalField(max_digits=18,
                                     decimal_places=2,
                                     verbose_name='List Price')
    is_active = models.BooleanField(verbose_name='Active',
                                    default=models.DEFAULTED_ON_CREATE)

    class Meta(models.Model.Meta):
        db_table = 'PricebookEntry'
        verbose_name = 'Price Book Entry'
        verbose_name_plural = 'Price Book Entries'

    def __unicode__(self):
        """Return unicode representation of object."""
        return '{}:{}'.format(self.pricebook2, self.product2)
Esempio n. 19
0
class Contact(models.Model):
    is_deleted = models.BooleanField(verbose_name='Deleted',
                                     sf_read_only=models.READ_ONLY)
    master_record = models.ForeignKey('self',
                                      related_name='contact_masterrecord_set',
                                      sf_read_only=models.READ_ONLY,
                                      on_delete=models.DO_NOTHING,
                                      blank=True,
                                      null=True)
    #account = models.ForeignKey('Account', on_delete=models.DO_NOTHING, blank=True, null=True)
    last_name = models.CharField(max_length=80, verbose_name='Last Name')
    first_name = models.CharField(max_length=40,
                                  verbose_name='First Name',
                                  blank=True)
    salutation = models.CharField(max_length=40,
                                  verbose_name='Salutation',
                                  choices=[(u'Mr.', u'Mr.'), (u'Ms.', u'Ms.'),
                                           (u'Mrs.', u'Mrs.'),
                                           (u'Dr.', u'Dr.'),
                                           (u'Prof.', u'Prof.')],
                                  blank=True)
    name = models.CharField(max_length=121,
                            verbose_name='Full Name',
                            sf_read_only=models.READ_ONLY)
    other_street = models.TextField(verbose_name='Other Street', blank=True)
    other_city = models.CharField(max_length=40,
                                  verbose_name='Other City',
                                  blank=True)
    other_state = models.CharField(max_length=80,
                                   verbose_name='Other State/Province',
                                   blank=True)
    other_postal_code = models.CharField(max_length=20,
                                         verbose_name='Other Zip/Postal Code',
                                         blank=True)
    other_country = models.CharField(max_length=80,
                                     verbose_name='Other Country',
                                     blank=True)
    other_latitude = models.DecimalField(max_digits=18,
                                         decimal_places=15,
                                         verbose_name='Other Latitude',
                                         blank=True,
                                         null=True)
    other_longitude = models.DecimalField(max_digits=18,
                                          decimal_places=15,
                                          verbose_name='Other Longitude',
                                          blank=True,
                                          null=True)
    other_address = models.TextField(verbose_name='Other Address',
                                     sf_read_only=models.READ_ONLY,
                                     blank=True)  # This field type is a guess.
    mailing_street = models.TextField(verbose_name='Mailing Street',
                                      blank=True)
    mailing_city = models.CharField(max_length=40,
                                    verbose_name='Mailing City',
                                    blank=True)
    mailing_state = models.CharField(max_length=80,
                                     verbose_name='Mailing State/Province',
                                     blank=True)
    mailing_postal_code = models.CharField(
        max_length=20, verbose_name='Mailing Zip/Postal Code', blank=True)
    mailing_country = models.CharField(max_length=80,
                                       verbose_name='Mailing Country',
                                       blank=True)
    mailing_latitude = models.DecimalField(max_digits=18,
                                           decimal_places=15,
                                           verbose_name='Mailing Latitude',
                                           blank=True,
                                           null=True)
    mailing_longitude = models.DecimalField(max_digits=18,
                                            decimal_places=15,
                                            verbose_name='Mailing Longitude',
                                            blank=True,
                                            null=True)
    mailing_address = models.TextField(
        verbose_name='Mailing Address',
        sf_read_only=models.READ_ONLY,
        blank=True)  # This field type is a guess.
    phone = models.CharField(max_length=40,
                             verbose_name='Business Phone',
                             blank=True)
    fax = models.CharField(max_length=40,
                           verbose_name='Business Fax',
                           blank=True)
    mobile_phone = models.CharField(max_length=40,
                                    verbose_name='Mobile Phone',
                                    blank=True)
    home_phone = models.CharField(max_length=40,
                                  verbose_name='Home Phone',
                                  blank=True)
    other_phone = models.CharField(max_length=40,
                                   verbose_name='Other Phone',
                                   blank=True)
    assistant_phone = models.CharField(max_length=40,
                                       verbose_name='Asst. Phone',
                                       blank=True)
    reports_to = models.ForeignKey('self',
                                   related_name='contact_reportsto_set',
                                   on_delete=models.DO_NOTHING,
                                   blank=True,
                                   null=True)
    email = models.EmailField(verbose_name='Email', blank=True, null=True)
    title = models.CharField(max_length=128, verbose_name='Title', blank=True)
    department = models.CharField(max_length=80,
                                  verbose_name='Department',
                                  blank=True)
    assistant_name = models.CharField(max_length=40,
                                      verbose_name=u"Assistant's Name",
                                      blank=True)
    lead_source = models.CharField(max_length=40,
                                   verbose_name='Lead Source',
                                   choices=[
                                       (u'Web', u'Web'),
                                       (u'Phone Inquiry', u'Phone Inquiry'),
                                       (u'Partner Referral',
                                        u'Partner Referral'),
                                       (u'Purchased List', u'Purchased List'),
                                       (u'Other', u'Other')
                                   ],
                                   blank=True)
    birthdate = models.DateField(verbose_name='Birthdate',
                                 blank=True,
                                 null=True)
    description = models.TextField(verbose_name='Contact Description',
                                   blank=True)
    #owner = models.ForeignKey('User', related_name='contact_owner_set', on_delete=models.DO_NOTHING)
    #created_date = models.DateTimeField(verbose_name='Created Date', sf_read_only=models.READ_ONLY)
    #created_by = models.ForeignKey('User', related_name='contact_createdby_set', sf_read_only=models.READ_ONLY, on_delete=models.DO_NOTHING)
    last_modified_date = models.DateTimeField(
        verbose_name='Last Modified Date', sf_read_only=models.READ_ONLY)
    #last_modified_by = models.ForeignKey('User', related_name='contact_lastmodifiedby_set', sf_read_only=models.READ_ONLY, on_delete=models.DO_NOTHING)
    system_modstamp = models.DateTimeField(verbose_name='System Modstamp',
                                           sf_read_only=models.READ_ONLY)
    last_activity_date = models.DateField(verbose_name='Last Activity',
                                          sf_read_only=models.READ_ONLY,
                                          blank=True,
                                          null=True)
    last_curequest_date = models.DateTimeField(
        db_column='LastCURequestDate',
        verbose_name='Last Stay-in-Touch Request Date',
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True)
    last_cuupdate_date = models.DateTimeField(
        db_column='LastCUUpdateDate',
        verbose_name='Last Stay-in-Touch Save Date',
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True)
    last_viewed_date = models.DateTimeField(verbose_name='Last Viewed Date',
                                            sf_read_only=models.READ_ONLY,
                                            blank=True,
                                            null=True)
    last_referenced_date = models.DateTimeField(
        verbose_name='Last Referenced Date',
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True)
    email_bounced_reason = models.CharField(
        max_length=255, verbose_name='Email Bounced Reason', blank=True)
    email_bounced_date = models.DateTimeField(
        verbose_name='Email Bounced Date', blank=True, null=True)
    is_email_bounced = models.BooleanField(verbose_name='Is Email Bounced',
                                           sf_read_only=models.READ_ONLY)

    class Meta(models.Model.Meta):
        db_table = 'Contact'
        verbose_name = 'Contact'
        verbose_name_plural = 'Contacts'
Esempio n. 20
0
class User(SalesforceModel):
    Username = models.CharField(max_length=80)
    Email = models.CharField(max_length=100)
    LastName = models.CharField(max_length=80)
    FirstName = models.CharField(max_length=40)
    IsActive = models.BooleanField(default=False)
Esempio n. 21
0
class Lead(models.Model):
    """Model that maps to Salesforce Lead object."""

    last_name = models.CharField(max_length=80)
    first_name = models.CharField(max_length=40, blank=True, null=True)
    company = models.CharField(max_length=255, verbose_name='Organization')
    email = models.EmailField()
    status = models.CharField(max_length=40,
                              default=models.DEFAULTED_ON_CREATE)
    is_converted = models.BooleanField(verbose_name='Converted',
                                       sf_read_only=models.NOT_UPDATEABLE,
                                       default=models.DEFAULTED_ON_CREATE)
    converted_account = models.ForeignKey(Account,
                                          models.DO_NOTHING,
                                          sf_read_only=models.READ_ONLY,
                                          blank=True,
                                          null=True)
    converted_contact = models.ForeignKey(Contact,
                                          models.DO_NOTHING,
                                          sf_read_only=models.READ_ONLY,
                                          blank=True,
                                          null=True)
    username = models.CharField(custom=True, max_length=100)
    year_of_birth = models.CharField(custom=True,
                                     db_column='Year_of_Birth__c',
                                     max_length=255,
                                     verbose_name='Year of Birth',
                                     blank=True,
                                     null=True)
    language = models.CharField(custom=True,
                                max_length=255,
                                blank=True,
                                null=True)
    country = models.CharField(db_column='Country__c',
                               custom=True,
                               max_length=255,
                               choices=COUNTRIES,
                               blank=True,
                               null=True)
    pi_utm_campaign = models.CharField(
        db_column='pi__utm_campaign__c',
        custom=True,
        max_length=255,
        verbose_name='Google Analytics Campaign',
        blank=True,
        null=True)
    pi_utm_content = models.CharField(db_column='pi__utm_content__c',
                                      custom=True,
                                      max_length=255,
                                      verbose_name='Google Analytics Content',
                                      blank=True,
                                      null=True)
    pi_utm_medium = models.CharField(db_column='pi__utm_medium__c',
                                     custom=True,
                                     max_length=255,
                                     verbose_name='Google Analytics Medium',
                                     blank=True,
                                     null=True)
    pi_utm_source = models.CharField(db_column='pi__utm_source__c',
                                     custom=True,
                                     max_length=255,
                                     verbose_name='Google Analytics Source',
                                     blank=True,
                                     null=True)
    pi_utm_term = models.CharField(db_column='pi__utm_term__c',
                                   custom=True,
                                   max_length=255,
                                   verbose_name='Google Analytics Term',
                                   blank=True,
                                   null=True)
    programs = models.CharField(custom=True,
                                max_length=4099,
                                default='OpenClassroom')
    registration_date = models.DateTimeField(custom=True,
                                             db_column='Registration_Date__c',
                                             verbose_name='Registration Date',
                                             blank=True,
                                             null=True)
    level_of_education = models.CharField(custom=True,
                                          db_column='Level_of_Education__c',
                                          max_length=255,
                                          verbose_name='Level of Education',
                                          blank=True,
                                          null=True)
    interest = models.TextField(custom=True, blank=True)
    gender = models.CharField(custom=True,
                              max_length=255,
                              blank=True,
                              null=True)

    class Meta(models.Model.Meta):
        db_table = 'Lead'
        verbose_name = 'Lead'
        verbose_name_plural = 'Leads'

    def __unicode__(self):
        """Return unicode representation of object."""
        return self.username
Esempio n. 22
0
class User(SalesforceModel):
    username = models.CharField(max_length=80)
    email = models.CharField(max_length=100)
    last_name = models.CharField(max_length=80)
    first_name = models.CharField(max_length=40, null=True, blank=True)
    is_active = models.BooleanField(default=False)
Esempio n. 23
0
class ClassOffering(models.Model):
    # owner = models.ForeignKey('Group', models.DO_NOTHING)  # Reference to tables [Group, User]
    is_deleted = models.BooleanField(verbose_name="Deleted",
                                     sf_read_only=models.READ_ONLY,
                                     default=False)
    name = models.CharField(
        max_length=80,
        verbose_name="Class Offering Name",
        default=models.DEFAULTED_ON_CREATE,
        blank=True,
        null=True,
    )
    created_date = models.DateTimeField(sf_read_only=models.READ_ONLY)
    created_by = models.ForeignKey(
        "User",
        models.DO_NOTHING,
        related_name="classoffering_createdby_set",
        sf_read_only=models.READ_ONLY,
    )
    last_modified_date = models.DateTimeField(sf_read_only=models.READ_ONLY)
    last_modified_by = models.ForeignKey(
        "User",
        models.DO_NOTHING,
        related_name="classoffering_lastmodifiedby_set",
        sf_read_only=models.READ_ONLY,
    )
    system_modstamp = models.DateTimeField(sf_read_only=models.READ_ONLY)
    last_viewed_date = models.DateTimeField(sf_read_only=models.READ_ONLY,
                                            blank=True,
                                            null=True)
    last_referenced_date = models.DateTimeField(sf_read_only=models.READ_ONLY,
                                                blank=True,
                                                null=True)
    start_date = models.DateField(
        custom=True,
        db_column="Start_Date__c",
        verbose_name="Start Date",
        blank=True,
        null=True,
    )
    end_date = models.DateField(
        custom=True,
        db_column="End_Date__c",
        verbose_name="End Date",
        blank=True,
        null=True,
    )
    description = models.TextField(custom=True, blank=True, null=True)
    location = models.ForeignKey(Account,
                                 models.DO_NOTHING,
                                 custom=True,
                                 blank=True,
                                 null=True)
    course = models.CharField(custom=True,
                              max_length=255,
                              choices=COURSE_CHOICES,
                              blank=True,
                              null=True)
    instructor = models.ForeignKey("Contact",
                                   models.DO_NOTHING,
                                   custom=True,
                                   blank=True,
                                   null=True)
    academic_semester = models.CharField(
        custom=True,
        db_column="Academic_semester__c",
        max_length=1300,
        verbose_name="Academic semester",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    meeting_days = models.CharField(
        custom=True,
        db_column="Meeting_Days__c",
        max_length=255,
        verbose_name="Meeting Days",
        choices=MEETING_DAYS_CHOICES,
        blank=True,
        null=True,
    )
    count_total_female_students = models.DecimalField(
        custom=True,
        db_column="Count_total_female_students__c",
        max_digits=18,
        decimal_places=0,
        verbose_name="Count - Total Female Students",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    count_total_latino_african_american = models.DecimalField(
        custom=True,
        db_column="Count_total_latino_african_american__c",
        max_digits=18,
        decimal_places=0,
        verbose_name="Count - Total African American",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    count_total_latino_students = models.DecimalField(
        custom=True,
        db_column="Count_Total_Latino_Students__c",
        max_digits=18,
        decimal_places=0,
        verbose_name="Count - Total Latino Students",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    female = models.DecimalField(
        custom=True,
        max_digits=18,
        decimal_places=1,
        verbose_name="% Female",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    latino_african_american = models.DecimalField(
        custom=True,
        db_column="Latino_African_American__c",
        max_digits=18,
        decimal_places=1,
        verbose_name="% Latino/African American",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    current_academic_semester = models.CharField(
        custom=True,
        db_column="Current_academic_semester__c",
        max_length=1300,
        verbose_name="Current academic semester",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    in_current_semester = models.BooleanField(
        custom=True,
        db_column="In_current_semester__c",
        verbose_name="In current semester?",
        sf_read_only=models.READ_ONLY,
    )

    class Meta(models.Model.Meta):
        db_table = "Class_Offering__c"
        verbose_name = "Class Offering"
        verbose_name_plural = "Class Offerings"
        # keyPrefix = 'a0h'

    def __str__(self):
        return "%s" % self.name
Esempio n. 24
0
class ClassEnrollment(models.Model):
    is_deleted = models.BooleanField(verbose_name="Deleted",
                                     sf_read_only=models.READ_ONLY,
                                     default=False)
    name = models.CharField(max_length=80,
                            verbose_name="Class Enrollment #",
                            sf_read_only=models.READ_ONLY)
    created_date = models.DateTimeField(sf_read_only=models.READ_ONLY)
    created_by = models.ForeignKey(
        "User",
        models.DO_NOTHING,
        related_name="classenrollment_createdby_set",
        sf_read_only=models.READ_ONLY,
    )
    last_modified_date = models.DateTimeField(sf_read_only=models.READ_ONLY)
    last_modified_by = models.ForeignKey(
        "User",
        models.DO_NOTHING,
        related_name="classenrollment_lastmodifiedby_set",
        sf_read_only=models.READ_ONLY,
    )
    system_modstamp = models.DateTimeField(sf_read_only=models.READ_ONLY)
    last_activity_date = models.DateField(sf_read_only=models.READ_ONLY,
                                          blank=True,
                                          null=True)
    last_viewed_date = models.DateTimeField(sf_read_only=models.READ_ONLY,
                                            blank=True,
                                            null=True)
    last_referenced_date = models.DateTimeField(sf_read_only=models.READ_ONLY,
                                                blank=True,
                                                null=True)
    contact = models.ForeignKey(
        "Contact",
        models.DO_NOTHING,
        custom=True,
        related_name="classenrollment_contact_set",
    )  # Master Detail Relationship 0
    role = models.CharField(
        custom=True,
        max_length=255,
        choices=[("Student", "Student"), ("TA", "TA"),
                 ("Volunteer", "Volunteer")],
        blank=True,
        null=True,
    )
    class_offering = models.ForeignKey(
        "ClassOffering",
        models.DO_NOTHING,
        db_column="Class_Offering__c",
        custom=True)  # Master Detail Relationship 1
    status = models.CharField(custom=True,
                              max_length=255,
                              choices=STATUS_CHOICES,
                              blank=True,
                              null=True)
    in_current_semester = models.BooleanField(
        custom=True,
        db_column="In_current_semester__c",
        verbose_name="In current semester?",
        sf_read_only=models.READ_ONLY,
    )
    attended_family_orientation = models.BooleanField(
        custom=True,
        db_column="Attended_Family_Orientation__c",
        verbose_name="Attended Family Orientation",
        default=models.DEFAULTED_ON_CREATE,
    )
    withdrew_application_detail = models.CharField(
        custom=True,
        db_column="Withdrew_Application_Detail__c",
        max_length=255,
        verbose_name="Withdrew-Application Detail",
        help_text=
        '"Dropped in first 2 weeks" means that they showed up for class but decided to drop within the first 2 weeks.',
        choices=APP_WD_CHOICES,
        blank=True,
        null=True,
    )
    contact_race = models.CharField(
        custom=True,
        db_column="Contact_Race__c",
        max_length=100,
        verbose_name="Contact - Race",
        help_text="DO NOT EDIT - AUTO-POPULATED BY SYSTEM",
        blank=True,
        null=True,
    )
    contact_gender = models.CharField(
        custom=True,
        db_column="Contact_Gender__c",
        max_length=30,
        verbose_name="Contact - Gender",
        help_text="DO NOT EDIT - AUTO-POPULATED BY SYSTEM",
        blank=True,
        null=True,
    )
    parent_contact = models.ForeignKey(
        "Contact",
        models.DO_NOTHING,
        db_column="Parent_Contact__c",
        custom=True,
        related_name="classenrollment_parentcontact_set",
        blank=True,
        null=True,
    )
    attended_interview = models.BooleanField(
        custom=True,
        db_column="Attended_Interview__c",
        verbose_name="Attended Interview",
        default=models.DEFAULTED_ON_CREATE,
        help_text=
        "Check if the student attended the default student admissions interview event. Note: Do not check this field if the student attended a makeup interview.",
    )
    attended_makeup_interview = models.BooleanField(
        custom=True,
        db_column="Attended_Makeup_Interview__c",
        verbose_name="Attended Makeup Interview",
        default=models.DEFAULTED_ON_CREATE,
        help_text=
        "Check if the student did not attend the default interview date, but attended a makeup session.",
    )
    cultural_affiliation_or_nationality = models.CharField(
        custom=True,
        db_column="Cultural_Affiliation_or_Nationality__c",
        max_length=100,
        verbose_name="Cultural Affiliation or Nationality",
        help_text="(optional)",
        blank=True,
        null=True,
    )
    sex_at_birth = models.CharField(
        custom=True,
        db_column="Sex_at_birth__c",
        max_length=255,
        verbose_name="What was your sex at birth?",
        help_text="(Check one)",
        choices=SEX_AT_BIRTH_CHOICES,
        blank=True,
        null=True,
    )
    sexual_orientation = models.CharField(
        custom=True,
        db_column="Sexual_orientation__c",
        max_length=255,
        verbose_name="Sexual orientation or sexual identity",
        help_text=
        "How do you describe your sexual orientation or sexual identity?",
        choices=SEXUAL_ORIENTATION_CHOICES,
        blank=True,
        null=True,
    )
    other_sexual_orientation = models.CharField(
        custom=True,
        db_column="Other_sexual_orientation__c",
        max_length=30,
        verbose_name="Other sexual orientation",
        blank=True,
        null=True,
    )
    household_type = models.CharField(
        custom=True,
        db_column="Household_type__c",
        max_length=255,
        verbose_name="Which best describes your family?",
        help_text=
        "Which best describes your family? (Check one)\r\nFamily includes, but is not limited to the following—regardless of actual or perceived sexual orientation, gender identity, or marital status—a single person or a group of persons residing together.",
        choices=HOUSEHOLD_TYPE_CHOICES,
        blank=True,
        null=True,
    )
    income_certification = models.CharField(
        custom=True,
        db_column="Income_Certification__c",
        max_length=4099,
        verbose_name="Income Certification",
        help_text="**current-within 2 months",
        choices=INCOME_CERT_CHOICES,
        blank=True,
        null=True,
    )
    estimated_income = models.DecimalField(
        custom=True,
        db_column="Estimated_income__c",
        max_digits=18,
        decimal_places=2,
        verbose_name="Estimated income",
        help_text=
        "Total estimated income for next 12 months for all adult members.",
        blank=True,
        null=True,
    )
    family_size = models.CharField(
        custom=True,
        db_column="Family_size__c",
        max_length=255,
        verbose_name="Family size",
        help_text=
        "Number of persons living in your family (including yourself):",
        choices=FAMILY_SIZE_CHOICES,
        blank=True,
        null=True,
    )
    current_income_information = models.CharField(
        custom=True,
        db_column="Current_Income_Information__c",
        max_length=255,
        verbose_name="Current Income Information",
        choices=INCOME_LEVEL_CHOICES,
        blank=True,
        null=True,
    )
    if_self_certified_please_explain = models.TextField(
        custom=True,
        db_column="If_self_certified_please_explain__c",
        verbose_name="If self-certified, please explain:",
        blank=True,
        null=True,
    )
    contact_ethnicity = models.CharField(
        custom=True,
        db_column="Contact_Ethnicity__c",
        max_length=100,
        verbose_name="Contact - Ethnicity",
        help_text="DO NOT EDIT - AUTO-POPULATED BY SYSTEM",
        blank=True,
        null=True,
    )
    notes = models.TextField(custom=True, blank=True, null=True)
    interview_date = models.DateTimeField(
        custom=True,
        db_column="Interview_Date__c",
        verbose_name="Interview Date",
        help_text=
        "This is the interview date and time that the student signed up for. Empty means that the student did not sign up for an interview. Having an interview date does not mean that the student showed up for the interview, only that they RSVP'ed.",
        blank=True,
        null=True,
    )
    returner = models.BooleanField(custom=True,
                                   verbose_name="Returner?",
                                   sf_read_only=models.READ_ONLY)
    temp_returner = models.BooleanField(
        custom=True,
        db_column="Temp_Returner__c",
        verbose_name="Returner? (temp)",
        default=models.DEFAULTED_ON_CREATE,
        help_text=
        "This is a temporary field that determines if a student is a returner based on their response to this question on the application. Once we complete migrating all of our past data into Salesforce, this field will be deleted.",
    )
    origin_school = models.CharField(
        custom=True,
        db_column="Origin_School__c",
        max_length=1300,
        verbose_name="School attended by this student",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    parent_phone = models.CharField(
        custom=True,
        db_column="Parent_Phone__c",
        max_length=1300,
        verbose_name="Parent Phone",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    parent_email = models.CharField(
        custom=True,
        db_column="Parent_Email__c",
        max_length=1300,
        verbose_name="Parent Email",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )

    class Meta(models.Model.Meta):
        db_table = "Class_Enrollment__c"
        verbose_name = "Class Enrollment"
        verbose_name_plural = "Class Enrollments"
Esempio n. 25
0
class Contact(models.Model):
    is_deleted = models.BooleanField(verbose_name="Deleted",
                                     sf_read_only=models.READ_ONLY,
                                     default=False)
    master_record = models.ForeignKey(
        "self",
        models.DO_NOTHING,
        related_name="contact_masterrecord_set",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    account = models.ForeignKey(
        Account,
        models.DO_NOTHING,
        related_name="contact_account_set",
        blank=True,
        null=True,
    )  # Master Detail Relationship *
    last_name = models.CharField(max_length=80)
    first_name = models.CharField(max_length=40, blank=True, null=True)
    salutation = models.CharField(max_length=40,
                                  choices=SALUTATION_CHOICES,
                                  blank=True,
                                  null=True)
    middle_name = models.CharField(max_length=40, blank=True, null=True)
    suffix = models.CharField(max_length=40, blank=True, null=True)
    name = models.CharField(max_length=121,
                            verbose_name="Full Name",
                            sf_read_only=models.READ_ONLY)
    mailing_street = models.TextField(blank=True, null=True)
    mailing_city = models.CharField(max_length=40, blank=True, null=True)
    mailing_state = models.CharField(max_length=80,
                                     verbose_name="Mailing State/Province",
                                     blank=True,
                                     null=True)
    mailing_postal_code = models.CharField(
        max_length=20,
        verbose_name="Mailing Zip/Postal Code",
        blank=True,
        null=True)
    mailing_country = models.CharField(max_length=80, blank=True, null=True)
    mailing_state_code = models.CharField(
        max_length=10,
        verbose_name="Mailing State/Province Code",
        choices=STATE_CHOICES,
        blank=True,
        null=True,
    )
    mailing_country_code = models.CharField(
        max_length=10,
        default=models.DEFAULTED_ON_CREATE,
        choices=STATE_CHOICES,
        blank=True,
        null=True,
    )
    mobile_phone = models.CharField(max_length=40, blank=True, null=True)
    home_phone = models.CharField(max_length=40, blank=True, null=True)
    other_phone = models.CharField(max_length=40, blank=True, null=True)
    email = models.EmailField(blank=True, null=True)
    title = models.CharField(max_length=128, blank=True, null=True)
    department = models.CharField(max_length=80, blank=True, null=True)
    birthdate = models.DateField(blank=True, null=True)
    owner = models.ForeignKey("User",
                              models.DO_NOTHING,
                              related_name="contact_owner_set",
                              blank=True)
    created_date = models.DateTimeField(sf_read_only=models.READ_ONLY)
    created_by = models.ForeignKey(
        "User",
        models.DO_NOTHING,
        related_name="contact_createdby_set",
        sf_read_only=models.READ_ONLY,
    )
    last_modified_date = models.DateTimeField(sf_read_only=models.READ_ONLY)
    last_modified_by = models.ForeignKey(
        "User",
        models.DO_NOTHING,
        related_name="contact_lastmodifiedby_set",
        sf_read_only=models.READ_ONLY,
    )
    system_modstamp = models.DateTimeField(sf_read_only=models.READ_ONLY)
    last_activity_date = models.DateField(
        verbose_name="Last Activity",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    last_curequest_date = models.DateTimeField(
        db_column="LastCURequestDate",
        verbose_name="Last Stay-in-Touch Request Date",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    last_cuupdate_date = models.DateTimeField(
        db_column="LastCUUpdateDate",
        verbose_name="Last Stay-in-Touch Save Date",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    last_viewed_date = models.DateTimeField(sf_read_only=models.READ_ONLY,
                                            blank=True,
                                            null=True)
    last_referenced_date = models.DateTimeField(sf_read_only=models.READ_ONLY,
                                                blank=True,
                                                null=True)
    email_bounced_reason = models.CharField(max_length=255,
                                            blank=True,
                                            null=True)
    email_bounced_date = models.DateTimeField(blank=True, null=True)
    is_email_bounced = models.BooleanField(sf_read_only=models.READ_ONLY,
                                           default=False)
    photo_url = models.URLField(verbose_name="Photo URL",
                                sf_read_only=models.READ_ONLY,
                                blank=True,
                                null=True)
    jigsaw_contact_id = models.CharField(
        max_length=20,
        verbose_name="Jigsaw Contact ID",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    individual = models.ForeignKey("Individual",
                                   models.DO_NOTHING,
                                   blank=True,
                                   null=True)
    race = models.CharField(
        custom=True,
        max_length=255,
        verbose_name="Which best describes your race?",
        choices=RACE_CHOICES,
        blank=True,
        null=True,
    )
    gender = models.CharField(custom=True,
                              max_length=255,
                              choices=GENDER_CHOICES,
                              blank=True,
                              null=True)
    which_best_describes_your_ethnicity = models.CharField(
        custom=True,
        db_column="Which_best_describes_your_ethnicity__c",
        max_length=255,
        verbose_name="Which best describes your ethnicity?",
        choices=ETHNICITY_CHOICES,
        blank=True,
        null=True,
    )
    expected_graduation_year = models.CharField(
        custom=True,
        db_column="Expected_graduation_year__c",
        max_length=4,
        verbose_name="Expected graduation year",
        help_text=
        "Enter the year this contact is expected to graduate.  For example, 2020",
        blank=True,
        null=True,
    )
    current_grade_level = models.CharField(
        custom=True,
        db_column="Current_grade_level__c",
        max_length=1300,
        verbose_name="Current grade level",
        sf_read_only=models.READ_ONLY,
        blank=True,
        null=True,
    )
    volunteer_area_s_of_interest = models.CharField(
        custom=True,
        db_column="Volunteer_area_s_of_interest__c",
        max_length=4099,
        verbose_name="Volunteer area(s) of interest",
        choices=[("Classroom", "Classroom"), ("Event", "Event"),
                 ("Other", "Other")],
        blank=True,
        null=True,
    )
    enrollments_this_semester_applied = models.DecimalField(
        custom=True,
        db_column="enrollments_this_semester_Applied__c",
        max_digits=2,
        decimal_places=0,
        verbose_name="# enrollments this semester - Applied",
        help_text="DO NOT EDIT - AUTO-POPULATED BY SYSTEM",
        blank=True,
        null=True,
    )
    enrollments_this_semester_waitlisted = models.DecimalField(
        custom=True,
        db_column="enrollments_this_semester_Waitlisted__c",
        max_digits=2,
        decimal_places=0,
        verbose_name="# enrollments this semester - Waitlisted",
        help_text="DO NOT EDIT - AUTO-POPULATED BY SYSTEM",
        blank=True,
        null=True,
    )
    enrollments_this_semester_rejected = models.DecimalField(
        custom=True,
        db_column="enrollments_this_semester_Rejected__c",
        max_digits=2,
        decimal_places=0,
        verbose_name="# enrollments this semester - Rejected",
        help_text="DO NOT EDIT - AUTO-POPULATED BY SYSTEM",
        blank=True,
        null=True,
    )
    enrollments_this_semester_drop_out = models.DecimalField(
        custom=True,
        db_column="enrollments_this_semester_Drop_out__c",
        max_digits=2,
        decimal_places=0,
        verbose_name="# enrollments this semester - Drop out",
        help_text="DO NOT EDIT - AUTO-POPULATED BY SYSTEM",
        blank=True,
        null=True,
    )
    race_other = models.CharField(
        custom=True,
        db_column="Race_Other__c",
        max_length=100,
        verbose_name="Which best describes your race? (Other)",
        blank=True,
        null=True,
    )
    gender_other = models.CharField(
        custom=True,
        db_column="Gender_Other__c",
        max_length=50,
        verbose_name="Gender (Other)",
        blank=True,
        null=True,
    )
    parent_guardian_first_name = models.CharField(
        custom=True,
        db_column="Parent_Guardian_first_name__c",
        max_length=100,
        verbose_name="Parent/Guardian first name",
        blank=True,
        null=True,
    )
    parent_guardian_last_name = models.CharField(
        custom=True,
        db_column="Parent_Guardian_last_name__c",
        max_length=100,
        verbose_name="Parent/Guardian last name",
        blank=True,
        null=True,
    )
    parent_guardian_phone = models.CharField(
        custom=True,
        db_column="Parent_Guardian_phone__c",
        max_length=40,
        verbose_name="Parent/Guardian phone",
        blank=True,
        null=True,
    )
    parent_guardian_email = models.EmailField(
        custom=True,
        db_column="Parent_Guardian_email__c",
        verbose_name="Parent/Guardian email",
        blank=True,
        null=True,
    )
    dm_current_grade = models.CharField(
        custom=True,
        db_column="DM_Current_grade__c",
        max_length=255,
        verbose_name="DM - Current grade",
        help_text=
        "Need this for data migration to calculate Expected Graduation Year?  If not, delete this field.",
        choices=CURRENT_GRADE_CHOICES,
        blank=True,
        null=True,
    )
    client_id = models.CharField(
        custom=True,
        db_column="Client_ID__c",
        max_length=14,
        verbose_name="Client ID",
        help_text=
        '3 first letters of first name, 3 first letters of last name, and birthdate "AAABBB00000000" (Only used for students and parents). This field is auto-populated by FormAssembly.',
        blank=True,
        null=True,
    )
    npsp_primary_affiliation = models.ForeignKey(
        Account,
        models.DO_NOTHING,
        db_column="npsp__Primary_Affiliation__c",
        custom=True,
        related_name="contact_npspprimaryaffiliation_set",
        blank=True,
        null=True,
    )

    class Meta(models.Model.Meta):
        db_table = "Contact"
        verbose_name = "Contact"
        verbose_name_plural = "Contacts"
        # keyPrefix = '003'

    def __str__(self):
        return "%s %s" % (self.first_name, self.last_name)
Esempio n. 26
0
class Contact(models.Model):
    is_deleted = models.BooleanField(db_column='IsDeleted',
                                     verbose_name='Eliminado',
                                     sf_read_only=models.READ_ONLY,
                                     default=False)
    master_record = models.ForeignKey('self',
                                      models.DO_NOTHING,
                                      db_column='MasterRecordId',
                                      related_name='contact_masterrecord_set',
                                      verbose_name='Id. de registro principal',
                                      sf_read_only=models.READ_ONLY,
                                      blank=True,
                                      null=True)
    account = models.ForeignKey('Account',
                                models.DO_NOTHING,
                                db_column='AccountId',
                                related_name='contact_account_set',
                                verbose_name='Id. de la cuenta',
                                blank=True,
                                null=True)  # Master Detail Relationship *
    last_name = models.CharField(db_column='LastName',
                                 max_length=80,
                                 verbose_name='Apellidos')
    first_name = models.CharField(db_column='FirstName',
                                  max_length=40,
                                  verbose_name='Nombre',
                                  blank=True,
                                  null=True)
    name = models.CharField(db_column='Name',
                            max_length=121,
                            verbose_name='Nombre completo',
                            sf_read_only=models.READ_ONLY)
    record_type = models.ForeignKey('RecordType',
                                    models.DO_NOTHING,
                                    db_column='RecordTypeId',
                                    verbose_name='Id. de tipo de registro',
                                    blank=True,
                                    null=True)
    other_street = models.TextField(db_column='OtherStreet',
                                    verbose_name='Otra calle',
                                    blank=True,
                                    null=True)
    other_city = models.CharField(db_column='OtherCity',
                                  max_length=40,
                                  verbose_name='Otra ciudad',
                                  blank=True,
                                  null=True)
    other_state = models.CharField(db_column='OtherState',
                                   max_length=80,
                                   verbose_name='Otro estado o provincia',
                                   blank=True,
                                   null=True)
    other_postal_code = models.CharField(db_column='OtherPostalCode',
                                         max_length=20,
                                         verbose_name='Otro código postal',
                                         blank=True,
                                         null=True)
    mailing_street = models.TextField(db_column='MailingStreet',
                                      verbose_name='Calle de correo',
                                      blank=True,
                                      null=True)
    mailing_city = models.CharField(db_column='MailingCity',
                                    max_length=40,
                                    verbose_name='Ciudad de correo',
                                    blank=True,
                                    null=True)
    mailing_state = models.CharField(
        db_column='MailingState',
        max_length=80,
        verbose_name='Estado o provincia de correo',
        blank=True,
        null=True)
    mailing_postal_code = models.CharField(
        db_column='MailingPostalCode',
        max_length=20,
        verbose_name='Código postal de correo',
        blank=True,
        null=True)
    home_phone = models.CharField(db_column='HomePhone',
                                  max_length=40,
                                  verbose_name='Teléfono particular',
                                  blank=True,
                                  null=True)
    email = models.EmailField(db_column='Email',
                              verbose_name='Correo electrónico',
                              blank=True,
                              null=True)
    birthdate = models.DateField(db_column='Birthdate',
                                 verbose_name='Fecha de nacimiento',
                                 blank=True,
                                 null=True)
    gender = models.CharField(db_column='Gender__c',
                              max_length=255,
                              choices=[('Male', 'Male'), ('Female', 'Female'),
                                       ('Other', 'Other')],
                              blank=True,
                              null=True)
    n_mero_de_documento = models.CharField(
        db_column='N_mero_de_Documento__c',
        max_length=18,
        verbose_name='Número de Documento',
        help_text=
        'Debe introducir un DNI valido con 8 dígitos. En caso de que el DNI tenga 7 digitos debe introducirlo con un 0 delante',
        blank=True,
        null=True)
    sexo = models.CharField(db_column='Sexo__c',
                            max_length=255,
                            choices=[('Hombre', 'Hombre'), ('Mujer', 'Mujer'),
                                     ('Otro', 'Otro')],
                            blank=True,
                            null=True)
    cuit_cuil = models.DecimalField(
        db_column='Cuit_Cuil__c',
        unique=True,
        max_digits=11,
        decimal_places=0,
        verbose_name='Cuit/Cuil',
        help_text='Se debe introducir el número sin guiones ni puntos',
        blank=True,
        null=True)
    necesita_recibo = models.CharField(db_column='Necesita_recibo__c',
                                       max_length=255,
                                       verbose_name='¿Necesita recibo?',
                                       choices=[('Sí', 'Sí'), ('No', 'No')],
                                       blank=True,
                                       null=True)
    tipo_de_documento = models.CharField(db_column='Tipo_de_documento__c',
                                         max_length=255,
                                         verbose_name='Tipo de documento',
                                         choices=[('DNI', 'DNI'),
                                                  ('Pasaporte', 'Pasaporte')],
                                         blank=True,
                                         null=True)

    class Meta(models.Model.Meta):
        db_table = 'Contact'
        verbose_name = 'Contacto'
        verbose_name_plural = 'Contactos'
Esempio n. 27
0
class Account(models.Model):
    is_deleted = models.BooleanField(verbose_name='Deleted',
                                     sf_read_only=models.READ_ONLY)
    name = models.CharField(max_length=255, verbose_name='Account Name')
    type = models.CharField(max_length=40,
                            verbose_name='Account Type',
                            choices=[('Analyst', 'Analyst'),
                                     ('Competitor', 'Competitor'),
                                     ('Customer', 'Customer'),
                                     ('Integrator', 'Integrator'),
                                     ('Investor', 'Investor'),
                                     ('Partner', 'Partner'),
                                     ('Press', 'Press'),
                                     ('Prospect', 'Prospect'),
                                     ('Reseller', 'Reseller'),
                                     ('Other', 'Other')],
                            blank=True,
                            null=True)
    allowed_features = models.CharField(custom=True,
                                        db_column='Allowed_Features__c',
                                        max_length=4099,
                                        verbose_name='Allowed Features',
                                        blank=True,
                                        null=True)
    use_customer_account = models.BooleanField(
        custom=True,
        db_column='Use_Customer_Account__c',
        verbose_name="Use Customer's Account",
        default=models.DEFAULTED_ON_CREATE)
    vat_registration_status = models.CharField(
        custom=True,
        db_column='VAT_Registration_Status__c',
        max_length=255,
        verbose_name='VAT Registration Status',
        choices=[('Registered', 'Registered'),
                 ('Not VAT-Registered', 'Not VAT-Registered')],
        blank=True,
        null=True)
    vat = models.CharField(custom=True,
                           db_column='VAT__c',
                           max_length=255,
                           verbose_name='VAT #',
                           blank=True,
                           null=True)
    tax_vat_document_url = models.URLField(custom=True,
                                           db_column='TAX_VAT_Document_URL__c',
                                           max_length=255,
                                           verbose_name='TAX/VAT Document URL',
                                           blank=True,
                                           null=True)
    tax_exempt_certificate = models.CharField(
        custom=True,
        db_column='Tax_Exempt_Certificate__c',
        max_length=255,
        verbose_name='Tax Exempt Certificate #',
        blank=True,
        null=True)
    taxable = models.CharField(custom=True,
                               max_length=255,
                               default=models.DEFAULTED_ON_CREATE,
                               choices=[('Taxable', 'Taxable'),
                                        ('Non-Taxable', 'Non-Taxable')],
                               blank=True,
                               null=True)
    preferred_carrier = models.CharField(custom=True,
                                         db_column='Preferred_Carrier__c',
                                         max_length=255,
                                         verbose_name='Preferred Carrier',
                                         default=models.DEFAULTED_ON_CREATE,
                                         choices=[('FEDEX', 'FedEx'),
                                                  ('UPS', 'UPS'),
                                                  ('BIOCARE', 'BioCare'),
                                                  ('OTHER', 'Other'),
                                                  ('MANUAL', 'Manual')],
                                         blank=True,
                                         null=True)
    customer_account_number = models.CharField(
        custom=True,
        db_column='Customer_Account_Number__c',
        max_length=255,
        verbose_name="Customer's Account Number",
        blank=True,
        null=True)
    ein_number = models.CharField(custom=True,
                                  db_column='EIN_Number__c',
                                  max_length=50,
                                  verbose_name='EIN Number',
                                  blank=True,
                                  null=True)

    class Meta(models.Model.Meta):
        db_table = 'Account'
        verbose_name = 'Account'
        verbose_name_plural = 'Accounts'