class Beneficary(TimestampMixin): gender_status = models.IntegerField( choices=BeneficiariesGenderStatus.choices(), null=False) anonym_status = models.IntegerField( choices=BeneficiariesAnonymStatus.choices(), null=False) social_status = models.IntegerField( choices=BeneficiariesSocialStatus.choices(), null=False) # donation_state = models.IntegerField(choices=BeneficiariesDonationState.choices(), null=False) city = models.ForeignKey(City, null=True, blank=True, default=None, on_delete=models.DO_NOTHING) first_name = models.CharField(max_length=255, null=False) last_name = models.CharField(max_length=255, null=False) birthday = models.DateField(null=False) age = models.IntegerField(null=False, default=0) last_payment_day = models.DateTimeField(null=True, blank=True, default=None) payment_count = models.IntegerField(null=False, default=0) parents = models.TextField(null=True, blank=True, default=None) address = models.CharField(max_length=255, null=False) phone = models.CharField(max_length=255, null=False) characteristics = models.TextField(null=True, default=None) program = models.ForeignKey(Program, null=False, default=None, on_delete=models.DO_NOTHING) class Meta: verbose_name = 'Beneficary' verbose_name_plural = 'Beneficaries'
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')), ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('username', models.CharField(error_messages={'unique': 'this nick was taken.'}, help_text='required. 42 characters or fewer. letters, digits and ./+/-/_ only.', max_length=42, unique=True, validators=[app.users.models.UsernameValidator()], verbose_name='username')), ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', 'abstract': False, }, managers=[ ('objects', app.users.models.CustomUserManager()), ], ), ]
class Payment(TimestampMixin): order_id = models.CharField(max_length=100, blank=True, unique=True, default=uuid.uuid4, editable=False, primary_key=True) amount = models.FloatField(default=0, null=False) donation = models.OneToOneField(Donation, on_delete=models.DO_NOTHING, null=True) title = models.CharField(max_length=255, null=True, default="Пожертвование") payment_description = models.CharField(default='Пожертвование', max_length=255) payment_url = models.TextField(null=True, default=' ') payment_result_url = models.TextField(null=True, default=' ') payment_id_paybox = models.CharField(default='0', max_length=255) payment_status = models.IntegerField( choices=PaymentStatus.choices(), null=False, default=PaymentStatus.CREATED_PAYMENT.value) payment_paybox_result = models.CharField(max_length=255, default="none", null=True) payment_date = models.CharField(max_length=255, default="", null=True) payment_signature = models.CharField(max_length=255, default="", null=True) class Meta: verbose_name = 'Payment' verbose_name_plural = 'Payments'
class PartnerProgram(TimestampMixin): partner = models.ForeignKey(Partner, null=False, on_delete=models.DO_NOTHING, default=1) city = models.ForeignKey(City, null=False, on_delete=models.DO_NOTHING) title = models.CharField(max_length=255, null=False) description = models.TextField(null=False) class Meta: verbose_name = 'Partner program' verbose_name_plural = 'Partner programs'
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('email', models.EmailField(blank=True, max_length=254, unique=True, verbose_name='Email')), ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'User', 'verbose_name_plural': 'Users', 'db_table': 'users', 'ordering': ['email'], }, managers=[ ('objects', app.users.models.UserManager()), ], ), ]
class DonorRecurringProfile(TimestampMixin): donor = models.ForeignKey(MyUser, on_delete=models.DO_NOTHING) recurring_period = models.IntegerField( choices=DonorRecurringPeriod.choices(), null=False) recurring_profile_id = models.IntegerField(null=False) amount = models.IntegerField(null=False) recurring_period_expire_date = models.CharField(max_length=255, default=None) active_status = models.IntegerField(null=False) in_processing = models.IntegerField(default=None) last_transaction = models.TimeField(null=True, default=None) next_transaction = models.TimeField(null=True, default=None) class Meta: verbose_name = 'Donor recurring profile' verbose_name_plural = 'Donor recurring profiles'
class Program(TimestampMixin): title = models.CharField(max_length=255, null=False) text = models.TextField(null=False) icon = models.ImageField(upload_to='program_images', default=None, null=True, blank=True) icon2 = models.ImageField(upload_to='program_images', default=None, null=True, blank=True) poster = models.ImageField(upload_to='program_images', default=None, null=True, blank=True) class Meta: verbose_name = 'Program' verbose_name_plural = 'Programs'
class Certificate(TimestampMixin): beneficiary = models.ForeignKey(Beneficary, on_delete=models.DO_NOTHING) program = models.CharField(max_length=255, null=True) amount = models.FloatField(null=True) partner_program = models.ForeignKey(PartnerProgram, on_delete=models.DO_NOTHING, null=True) donation = models.ForeignKey(Donation, on_delete=models.DO_NOTHING) issued_state = models.IntegerField(choices=IssueState.choices(), default=IssueState.CREATED.value) # issued_by = models.ForeignKey(MyUser, on_delete=models.DO_NOTHING) # donor_anonymous_status = models.IntegerField(choices=DonorAnonymStatus.choices(), # default=DonorAnonymStatus.PUBLIC.value) comment = models.TextField(null=True) # issue_date = models.DateField(auto_now_add=True) class Meta: verbose_name = 'Certificate' verbose_name_plural = 'Certificates'
class Migration(migrations.Migration): initial = True dependencies = [ ('utility', '0001_initial'), ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='MyUser', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Время создания')), ('updated_at', models.DateTimeField( auto_now=True, verbose_name='Время последнего изменения')), ('username', models.CharField(max_length=255, unique=True)), ('first_name', models.CharField(max_length=255, null=True)), ('second_name', models.CharField(max_length=255, null=True)), ('email', models.EmailField(max_length=254, unique=True)), ('role', models.IntegerField(choices=[(1, 'ADMIN'), (2, 'MANAGER'), (3, 'USER'), (4, 'MANAGER_REGION'), (5, 'PARTNER')], default=3)), ('is_active', models.BooleanField(default=True)), ('is_superuser', models.BooleanField(default=False)), ('is_staff', models.BooleanField(default=False)), ('join_date', models.DateTimeField(auto_now=True)), ('pay_zakyat', models.BooleanField(default=False)), ('city', models.ForeignKey( null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='utility.City')), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', }, managers=[ ('objects', app.users.models.MyUserManager()), ], ), migrations.CreateModel( name='PasswordResets', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Время создания')), ('updated_at', models.DateTimeField( auto_now=True, verbose_name='Время последнего изменения')), ('email', models.CharField(max_length=255)), ('code', models.CharField(max_length=255)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Password reset', 'verbose_name_plural': 'Password resets', }, ), migrations.CreateModel( name='Partner', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Время создания')), ('updated_at', models.DateTimeField( auto_now=True, verbose_name='Время последнего изменения')), ('title', models.CharField(max_length=255)), ('description', models.CharField(max_length=255)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Partner', 'verbose_name_plural': 'Partners', }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=255)), ('email', models.EmailField(max_length=254, unique=True)), ('is_active', models.BooleanField(default=True)), ('date_joined', models.DateTimeField(default=django.utils.timezone.now)), ('phone_number', models.CharField(blank=True, max_length=17)), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'abstract': False, }, managers=[ ('objects', app.users.models.CustomUserManager()), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0008_alter_user_username_max_length'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('email', models.EmailField(error_messages={ 'unique': 'A user with that email address already exists.' }, max_length=254, unique=True, verbose_name='email address')), ('username', models.CharField( error_messages={ 'unique': 'A user with that username already exists.' }, help_text= 'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[ django.contrib.auth.validators. UnicodeUsernameValidator() ], verbose_name='username')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField( default=True, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('has_confirmed_email', models.BooleanField( default=False, help_text= 'Designates whether this user has confirmed their email address.', verbose_name='has confirmed email')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'abstract': False, }, managers=[ ('objects', app.users.models.MyUserManager()), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0012_alter_user_first_name_max_length'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField( default=True, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')), ('code', models.UUIDField(default=uuid.uuid4)), ('role', models.CharField(choices=[('teacher', '老師'), ('student', '學生'), ('unknow', '不知名'), ('system', '系統管理者')], default='unknow', max_length=15)), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', 'abstract': False, }, managers=[ ('objects', app.users.models.UserManager()), ], ), migrations.CreateModel( name='CommonParticipant', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=255, verbose_name='會議名稱')), ('creator', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='common_participant_creators', to=settings.AUTH_USER_MODEL)), ('participant', models.ManyToManyField( related_name='common_participant_participants', to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('users', '0001_initial'), ] operations = [ migrations.AlterModelOptions( name='user', options={ 'ordering': ['first_name', 'email'], 'verbose_name': 'User', 'verbose_name_plural': 'Users' }, ), migrations.AlterModelManagers( name='user', managers=[ ('objects', app.users.models.UserManager()), ], ), migrations.RemoveField( model_name='user', name='name', ), migrations.RemoveField( model_name='user', name='username', ), migrations.AddField( model_name='user', name='gender', field=models.CharField(choices=[('M', 'Male'), ('F', 'Female')], max_length=2, null=True, verbose_name='Gender'), ), migrations.AlterField( model_name='user', name='email', field=models.EmailField(blank=True, max_length=254, unique=True, verbose_name='Email'), ), migrations.AlterModelTable( name='user', table='users', ), migrations.CreateModel( name='BillingAddress', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('street_address', models.CharField(max_length=100)), ('apartment_address', models.CharField(max_length=100)), ('country', django_countries.fields.CountryField(max_length=2)), ('zip', models.CharField(max_length=100)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('country_code', models.CharField(blank=True, max_length=2, null=True)), ('first_name', models.CharField(blank=True, max_length=100, null=True)), ('last_name', models.CharField(blank=True, max_length=100, null=True)), ('photo', models.CharField(blank=True, max_length=255, null=True)), ('about', models.CharField(blank=True, max_length=255, null=True)), ('phone', models.CharField(blank=True, max_length=60, null=True)), ('phone_hidden', models.PositiveIntegerField(blank=True, null=True)), ('username', models.CharField(blank=True, max_length=100, null=True)), ('email', models.EmailField(blank=True, max_length=100, null=True, unique=True)), ('email_verified_at', models.DateTimeField(blank=True, null=True)), ('password', models.CharField(blank=True, max_length=60, null=True)), ('remember_token', models.CharField(blank=True, max_length=300, null=True)), ('is_admin', models.BooleanField(default=False)), ('is_staff', models.BooleanField(default=True)), ('can_be_impersonated', models.PositiveIntegerField(blank=True, null=True)), ('disable_comments', models.PositiveIntegerField(blank=True, null=True)), ('receive_advice', models.PositiveIntegerField(blank=True, null=True)), ('ip_addr', models.CharField(blank=True, max_length=50, null=True)), ('provider', models.CharField(blank=True, max_length=50, null=True)), ('provider_id', models.CharField(blank=True, max_length=50, null=True)), ('email_token', models.CharField(blank=True, max_length=32, null=True)), ('phone_token', models.CharField(blank=True, max_length=32, null=True)), ('verified_phone', models.PositiveIntegerField(blank=True, null=True)), ('blocked', models.PositiveIntegerField(blank=True, null=True)), ('closed', models.PositiveIntegerField(blank=True, null=True)), ('last_login_at', models.DateTimeField(blank=True, null=True)), ('created_at', models.DateTimeField(blank=True, null=True)), ('updated_at', models.DateTimeField(blank=True, null=True)), ('deleted_at', models.DateTimeField(blank=True, null=True)), ('payment_account', models.CharField(blank=True, max_length=191, null=True)), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'Пользователь', 'verbose_name_plural': 'Пользователи', 'db_table': 'user', }, managers=[ ('objects', app.users.models.UserManager()), ], ), ]