Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.db import models
- # Create your models here.
- # This is an auto-generated Django model module.
- # You'll have to do the following manually to clean this up:
- # * Rearrange models' order
- # * Make sure each model has one field with primary_key=True
- # * Make sure each ForeignKey has `on_delete` set to the desired behavior.
- # * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
- # Feel free to rename the models, but don't rename db_table values or field names.
- from django.db import models
- from django.contrib.postgres.fields import ArrayField
- from django.contrib.auth.models import User as AuthUser
- from rest_framework.authtoken.models import Token
- from django.db.models.signals import post_save
- from django.dispatch import receiver
- from django.conf import settings
- class UserAuthUser(models.Model):
- user = models.ForeignKey('User', models.DO_NOTHING, blank=True, null=True)
- auth_user = models.ForeignKey(AuthUser, models.DO_NOTHING, blank=True, null=True)
- class Meta:
- managed = False
- db_table = 'user_authuser'
- class UserAdditionalData(models.Model):
- user = models.ForeignKey(AuthUser, models.CASCADE, blank=False, null=False)
- default_branch = models.ForeignKey('Branches', models.DO_NOTHING, blank=True, null=True)
- is_admin = models.BooleanField(blank=False,null=False,default=False)
- phone = models.CharField(blank=True, null=True, max_length=12)
- class Meta:
- managed = True
- db_table = 'user_additionaldata'
- verbose_name_plural = "user additional data"
- def __str__(self):
- return self.user.first_name + ' ' + self.user.last_name + ' (' + self.user.username + ')'
- class CompanyUser(models.Model):
- user = models.ForeignKey(AuthUser, models.CASCADE, blank=False, null=True)
- company = models.ForeignKey('Companies', models.DO_NOTHING, blank=False, null=True)
- class Meta:
- managed = True
- db_table = 'user_companyuser'
- def __str__(self):
- return self.user.username
- class Branches(models.Model):
- name = models.CharField(max_length=50)
- description = models.CharField(max_length=255)
- created_at = models.DateTimeField()
- filter_date_min = models.DateField()
- filter_date_max = models.DateField()
- class Meta:
- managed = True
- db_table = 'branches'
- verbose_name_plural = "branches"
- def __str__(self):
- return self.name
- class Companies(models.Model):
- name = models.CharField(max_length=50)
- created_at = models.DateTimeField()
- tax_number = models.CharField(max_length=50, blank=True, null=True)
- region = models.ForeignKey('RegionsRegion', models.DO_NOTHING, blank=True, null=True)
- braintree_id = models.CharField(max_length=12, null=True, blank=True)
- class Meta:
- managed = True
- db_table = 'companies'
- verbose_name_plural = "companies"
- class PaymentMethod(models.Model):
- braintree_cc_id = models.CharField(max_length=20, null=True, blank=True)
- masked_number = models.CharField(max_length=20, null=True, blank=True)
- expiration_year = models.CharField(max_length=20, null=True, blank=True)
- expiration_month = models.CharField(max_length=20, null=True, blank=True)
- validation_code = models.CharField(max_length=4, null=True, blank=True)
- active = models.BooleanField()
- company = models.ForeignKey('Companies', models.DO_NOTHING, blank=True, null=True)
- class Import(models.Model):
- user = models.ForeignKey(AuthUser, models.DO_NOTHING, blank=True, null=True)
- status = models.CharField(max_length=255, blank=True, null=True)
- error = models.CharField(max_length=255, blank=True, null=True)
- started_at = models.DateTimeField()
- finished_at = models.DateTimeField(blank=True, null=True)
- company = models.ForeignKey('Companies', models.DO_NOTHING, blank=True, null=True)
- uploaded_file = models.FileField(blank=True, null=True, upload_to='import_files/')
- class Meta:
- managed = True
- db_table = 'import'
- def __int__(self):
- return self.id
- class ImportFiles(models.Model):
- name = models.CharField(max_length=50)
- created_at = models.DateTimeField()
- path = models.CharField(max_length=255, blank=True, null=True)
- fk_import = models.ForeignKey('Import', models.DO_NOTHING, blank=True, null=True)
- values = ArrayField(ArrayField(models.TextField()), blank=True, null=True)
- class Meta:
- managed = True
- db_table = 'import_files'
- verbose_name_plural = "import files"
- def __str__(self):
- return self.name
- class Integrations(models.Model):
- company = models.ForeignKey(Companies, models.DO_NOTHING, blank=True, null=True)
- kpi = models.ForeignKey('Kpi', models.DO_NOTHING, blank=True, null=True)
- created_at = models.DateTimeField()
- status = models.CharField(max_length=50)
- subdomain = models.CharField(max_length=50, blank=True, null=True)
- token = models.CharField(max_length=50, blank=True, null=True)
- login = models.CharField(max_length=50, blank=True, null=True)
- password = models.CharField(max_length=50, blank=True, null=True)
- class Meta:
- managed = True
- db_table = 'integrations'
- verbose_name_plural = "integrations"
- def __str__(self):
- return self.pk
- class Kpi(models.Model):
- branch = models.ForeignKey(Branches, models.DO_NOTHING, blank=True, null=True)
- name = models.CharField(max_length=50)
- benchmark_value = models.IntegerField()
- kpi_order = models.IntegerField()
- dashboard_order = models.IntegerField()
- unit = models.CharField(max_length=255)
- is_asc_positive = models.IntegerField()
- created_at = models.DateTimeField(blank=True, null=True)
- colour = models.CharField(max_length=255)
- class Meta:
- managed = True
- db_table = 'kpi'
- def __str__(self):
- return self.name
- class KpiIntegrations(models.Model):
- kpi = models.ForeignKey(Kpi, models.DO_NOTHING, blank=True, null=True)
- active = models.IntegerField()
- created_at = models.DateTimeField(blank=True, null=True)
- name = models.CharField(max_length=255)
- class Meta:
- managed = True
- db_table = 'kpi_integrations'
- verbose_name_plural = "kpi integrations"
- def __str__(self):
- return self.name
- class KpiValues(models.Model):
- kpi = models.ForeignKey(Kpi, models.DO_NOTHING, blank=True, null=True)
- branch = models.ForeignKey(Branches, models.DO_NOTHING, blank=True, null=True)
- company = models.ForeignKey(Companies, models.DO_NOTHING, blank=True, null=True)
- kpi_value = models.FloatField(blank=False, null=False)
- datetime = models.DateTimeField(blank=False, null=False)
- created_at = models.DateTimeField(blank=False, null=False)
- from_import = models.ForeignKey('Import', models.DO_NOTHING, blank=True, null=True)
- class Meta:
- managed = True
- db_table = 'kpi_values'
- verbose_name_plural = "kpi values"
- def __int__(self):
- return self.pk
- class LoginDates(models.Model):
- user = models.ForeignKey('User', models.DO_NOTHING, blank=True, null=True)
- logged_in_at = models.DateTimeField()
- class Meta:
- managed = True
- db_table = 'login_dates'
- verbose_name_plural = "login dates"
- class MigrationVersions(models.Model):
- version = models.CharField(primary_key=True, max_length=255)
- class Meta:
- managed = True
- db_table = 'migration_versions'
- class PasswordToken(models.Model):
- user = models.ForeignKey(AuthUser, models.DO_NOTHING)
- token = models.CharField(unique=True, max_length=255)
- expires_at = models.DateTimeField()
- active = models.BooleanField(default=False, blank=False, null=False)
- class Meta:
- managed = True
- db_table = 'password_token'
- def __str__(self):
- return self.user.username
- class RegionsRegion(models.Model):
- created_at = models.DateTimeField()
- street = models.CharField(max_length=255)
- number = models.CharField(max_length=50)
- zip_code = models.CharField(max_length=50)
- city = models.CharField(max_length=255)
- class Meta:
- managed = True
- db_table = 'regions_region'
- def __int__(self):
- return self.id
- class User(models.Model):
- def_branch = models.ForeignKey(Branches, models.DO_NOTHING, blank=True, null=True)
- company = models.ForeignKey(Companies, models.DO_NOTHING, blank=True, null=True)
- email = models.CharField(unique=True, max_length=255)
- username = models.CharField(max_length=40, blank=True, null=True)
- firstname = models.CharField(max_length=40)
- lastname = models.CharField(max_length=40)
- role = models.CharField(max_length=50)
- phone_number = models.CharField(max_length=50, blank=True, null=True)
- is_admin = models.IntegerField()
- chartmarine_user = models.IntegerField()
- password = models.CharField(max_length=64)
- active = models.IntegerField()
- verification_hash = models.CharField(max_length=255)
- verified_at = models.DateTimeField(blank=True, null=True)
- class Meta:
- managed = True
- db_table = 'user'
- def __str__(self):
- return self.username
- class UserOnboarding(models.Model):
- user = models.ForeignKey(User, models.DO_NOTHING, blank=True, null=True)
- last_onboarding_step = models.IntegerField()
- onboarded = models.IntegerField()
- terminated_onboarding = models.IntegerField()
- class Meta:
- managed = True
- db_table = 'user_onboarding'
- class VerificationHash(models.Model):
- user = models.ForeignKey(AuthUser, models.CASCADE, blank=False, null=False)
- verification_hash = models.CharField(blank=False, null=False, max_length=255)
- active = models.BooleanField(null=False, blank=False)
- created_at = models.DateTimeField(blank=False, null=False)
- def __str__(self):
- return self.user.username
- class CustomDataModel(models.Model):
- datetime = models.DateTimeField(blank=False, null=False)
- created_at = models.DateTimeField(blank=False, null=False)
- value = models.DecimalField(blank=True, null=True, max_digits=10, decimal_places=2)
- datapoint_name = models.CharField(blank=True, null=True, max_length=255)
- company = models.ForeignKey(Companies, models.DO_NOTHING, blank=True, null=True)
- category = models.CharField(blank=True, null=True, max_length=255)
- custom_str_1 = models.CharField(blank=True, null=True, max_length=255)
- custom_str_2 = models.CharField(blank=True, null=True, max_length=255)
- additional_value = models.DecimalField(blank=True, null=True, max_digits=10, decimal_places=2)
- custom_category_1 = models.CharField(blank=True, null=True, max_length=255)
- custom_category_2 = models.CharField(blank=True, null=True, max_length=255)
- kpi = models.ForeignKey(Kpi, models.DO_NOTHING, blank=True, null=True)
- branch = models.ForeignKey(Branches, models.DO_NOTHING, blank=True, null=True)
- from_import = models.ForeignKey('Import', models.DO_NOTHING, blank=True, null=True)
- def __str__(self):
- return self.datapoint_name
- def datetime_day(self):
- return self.datetime.strftime('%d')
- class KpiValuesCalculated(models.Model):
- created_at = models.DateTimeField(blank=False, null=False)
- branch = models.ForeignKey(Branches, models.DO_NOTHING, blank=True, null=True)
- nominator = models.ForeignKey(Kpi, models.DO_NOTHING, blank=True, null=True, related_name='nominator')
- denominator = models.ForeignKey(Kpi, models.DO_NOTHING, blank=True, null=True, related_name='denominator')
- kpi = models.ForeignKey(Kpi, models.DO_NOTHING, blank=True, null=True)
- class CustomDashboardModel(models.Model):
- created_at = models.DateTimeField(blank=False, null=False)
- company = models.ForeignKey('Companies', models.DO_NOTHING, blank=False, null=False)
- external_id = models.CharField(blank=False, null=False, max_length=255)
- name = models.CharField(blank=True, null=True, max_length=255)
- is_active = models.BooleanField(blank=False, null=False, default=True)
- def __str__(self):
- return self.external_id
- class CustomGraphModel(models.Model):
- parent_id = models.CharField(blank=False, null=False, max_length=20)
- graph_id = models.CharField(blank=False, null=False, max_length=20)
- dashboard = models.ForeignKey('CustomDashboardModel', models.DO_NOTHING, blank=False, null=False)
- graph_width = models.DecimalField(blank=False, null=False, max_digits=4, decimal_places=2)
- graph_height = models.DecimalField(blank=False, null=False, max_digits=4, decimal_places=2)
- graph_position_x = models.DecimalField(blank=False, null=False, max_digits=4, decimal_places=2)
- graph_position_y = models.DecimalField(blank=False, null=False, max_digits=4, decimal_places=2)
- graph_type = models.CharField(blank=False, null=False, max_length=15)
- aggregation = models.CharField(blank=False, null=False, max_length=15)
- value = models.CharField(blank=False, null=False, max_length=15)
- filter_by = models.CharField(blank=True, null=True, max_length=15)
- filter_min = models.CharField(blank=True, null=True, max_length=15)
- filter_max = models.CharField(blank=True, null=True, max_length=15)
- agr_data_selected = models.CharField(blank=True, null=True, max_length=15)
- is_active = models.BooleanField(blank=False, null=False, default=True)
- def __str__(self):
- return self.graph_id
- class CustomCohortReport(models.Model):
- company = models.ForeignKey('Companies', models.DO_NOTHING, blank=False, null=False)
- external_id = models.CharField(blank=False, null=False, max_length=255)
- name = models.CharField(blank=True, null=True, max_length=255)
- created_at = models.DateTimeField(blank=False, null=False)
- updated_at = models.DateTimeField(blank=False, null=False)
- datapoint_name = models.CharField(blank=False, null=False, max_length=15)
- value = models.CharField(blank=False, null=False, max_length=15)
- sort = models.CharField(blank=False, null=False, max_length=15)
- is_active = models.BooleanField(blank=False, null=False, default=True)
- def __str__(self):
- return self.company.name + ' ' + self.name
- class LandingPageSections(models.Model):
- section_header = models.CharField(blank=False, null=False, max_length=122)
- section_body = models.TextField(blank=False, null=False, max_length=1500)
- section_image = models.CharField(blank=True, null=True, max_length=122)
- def __str__(self):
- return self.section_header
- class Meta:
- verbose_name_plural = "landing page sections"
- class FeatureDescriptions(models.Model):
- feature_name = models.CharField(blank=False, null=False, max_length=122)
- feature_description = models.TextField(blank=False, null=False, max_length=1500)
- feature_image_path = models.CharField(blank=False, null=False, max_length=122)
- def __str__(self):
- return self.feature_name
- class Meta:
- verbose_name_plural = "landing page features"
- class UserInvitationHash(models.Model):
- company = models.ForeignKey('Companies', models.CASCADE, blank=False, null=False)
- hash = models.CharField(max_length=255)
- active = models.BooleanField(default=False, null=False, blank=False)
- created_at = models.DateTimeField(null=False, blank=False)
- email = models.CharField(max_length=50, blank=False, null=False)
- def_branch = models.ForeignKey(Branches, models.DO_NOTHING, blank=True, null=True)
- parent_id = models.IntegerField(blank=True, null=True)
- class OverviewNotification(models.Model):
- company = models.ForeignKey(Companies, models.CASCADE, blank=False, null=False)
- type = models.CharField(max_length=100)
- active = models.BooleanField(default=True, null=False, blank=False)
- headline = models.TextField(blank=True, null=True, max_length=255)
- main_content = models.TextField(blank=False, null=False, max_length=1500)
- created_at = models.DateTimeField(null=False, blank=False)
- seen_at = models.DateTimeField(null=True, blank=True)
- kpi = models.ForeignKey('Kpi', models.DO_NOTHING, blank=True, null=True)
- @receiver(post_save, sender=settings.AUTH_USER_MODEL)
- def create_auth_token(sender, instance=None, created=False, **kwargs):
- if created:
- Token.objects.create(user=instance)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement