-
Notifications
You must be signed in to change notification settings - Fork 46
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
rework of subsidy fulfillment model hierarchy
- Loading branch information
1 parent
cec4b16
commit c60b1b5
Showing
9 changed files
with
324 additions
and
110 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
# Generated by Django 3.2.16 on 2023-02-06 15:32 | ||
|
||
from django.conf import settings | ||
from django.db import migrations, models | ||
import django.db.models.deletion | ||
import django.utils.timezone | ||
import model_utils.fields | ||
import simple_history.models | ||
import uuid | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
migrations.swappable_dependency(settings.AUTH_USER_MODEL), | ||
('enterprise', '0166_auto_20221209_0819'), | ||
] | ||
|
||
operations = [ | ||
migrations.CreateModel( | ||
name='EnterpriseCourseEntitlement', | ||
fields=[ | ||
('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')), | ||
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')), | ||
('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), | ||
('course_uuid', models.CharField(help_text='The UUID of the course (not course run) in which the learner is entitled.', max_length=255)), | ||
('enterprise_customer_user', models.ForeignKey(help_text='The enterprise learner to which this entitlement is attached.', on_delete=django.db.models.deletion.CASCADE, related_name='enterprise_entitlements', to='enterprise.enterprisecustomeruser')), | ||
], | ||
options={ | ||
'ordering': ['created'], | ||
'unique_together': {('enterprise_customer_user', 'course_uuid')}, | ||
}, | ||
), | ||
migrations.CreateModel( | ||
name='HistoricalEnterpriseCourseEntitlement', | ||
fields=[ | ||
('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')), | ||
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')), | ||
('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False)), | ||
('course_uuid', models.CharField(help_text='The UUID of the course (not course run) in which the learner is entitled.', max_length=255)), | ||
('history_id', models.AutoField(primary_key=True, serialize=False)), | ||
('history_date', models.DateTimeField()), | ||
('history_change_reason', models.CharField(max_length=100, null=True)), | ||
('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), | ||
('enterprise_customer_user', models.ForeignKey(blank=True, db_constraint=False, help_text='The enterprise learner to which this entitlement is attached.', null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='enterprise.enterprisecustomeruser')), | ||
('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), | ||
], | ||
options={ | ||
'verbose_name': 'historical enterprise course entitlement', | ||
'ordering': ('-history_date', '-history_id'), | ||
'get_latest_by': 'history_date', | ||
}, | ||
bases=(simple_history.models.HistoricalChanges, models.Model), | ||
), | ||
migrations.CreateModel( | ||
name='SubsidizedEnterpriseCourseEnrollment', | ||
fields=[ | ||
('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')), | ||
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')), | ||
('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), | ||
('fulfillment_type', models.CharField(choices=[('license', 'License'), ('learner_credit', 'Learner Credit'), ('coupon_code', 'Coupon Code')], default='license', help_text="Subsidy fulfillment type, can be one of: ('license', 'learner_credit', 'coupon_code')", max_length=128)), | ||
('is_revoked', models.BooleanField(default=False, help_text="Whether the enterprise subsidy is revoked, e.g., when a user's license is revoked.")), | ||
('transaction_id', models.UUIDField(editable=False)), | ||
('enterprise_course_enrollment', models.OneToOneField(blank=True, help_text='The course enrollment the associated subsidy is for.', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='enterprise_subsidizedenterprisecourseenrollment_enrollment_related', to='enterprise.enterprisecourseenrollment')), | ||
('enterprise_course_entitlement', models.OneToOneField(blank=True, help_text='The course entitlement the associated subsidy is for.', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='enterprise_subsidizedenterprisecourseenrollment_entitlement_related', to='enterprise.enterprisecourseentitlement')), | ||
], | ||
options={ | ||
'abstract': False, | ||
}, | ||
), | ||
migrations.RemoveField( | ||
model_name='licensedenterprisecourseenrollment', | ||
name='id', | ||
), | ||
migrations.AddField( | ||
model_name='licensedenterprisecourseenrollment', | ||
name='fulfillment_type', | ||
field=models.CharField(choices=[('license', 'License'), ('learner_credit', 'Learner Credit'), ('coupon_code', 'Coupon Code')], default='license', help_text="Subsidy fulfillment type, can be one of: ('license', 'learner_credit', 'coupon_code')", max_length=128), | ||
), | ||
migrations.AddField( | ||
model_name='licensedenterprisecourseenrollment', | ||
name='uuid', | ||
field=models.UUIDField(null=True, editable=False, serialize=False), | ||
), | ||
migrations.AlterField( | ||
model_name='licensedenterprisecourseenrollment', | ||
name='enterprise_course_enrollment', | ||
field=models.OneToOneField(blank=True, help_text='The course enrollment the associated subsidy is for.', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='enterprise_licensedenterprisecourseenrollment_enrollment_related', to='enterprise.enterprisecourseenrollment'), | ||
), | ||
migrations.AlterField( | ||
model_name='licensedenterprisecourseenrollment', | ||
name='is_revoked', | ||
field=models.BooleanField(default=False, help_text="Whether the enterprise subsidy is revoked, e.g., when a user's license is revoked."), | ||
), | ||
migrations.DeleteModel( | ||
name='HistoricalLicensedEnterpriseCourseEnrollment', | ||
), | ||
migrations.AddField( | ||
model_name='licensedenterprisecourseenrollment', | ||
name='enterprise_course_entitlement', | ||
field=models.OneToOneField(blank=True, help_text='The course entitlement the associated subsidy is for.', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='enterprise_licensedenterprisecourseenrollment_entitlement_related', to='enterprise.enterprisecourseentitlement'), | ||
), | ||
] |
55 changes: 0 additions & 55 deletions
55
...67_historicalsubsidizedenterprisecourseenrollment_subsidizedenterprisecourseenrollment.py
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# Generated by Django 3.2.16 on 2023-02-06 16:55 | ||
|
||
from django.db import migrations | ||
import uuid | ||
|
||
|
||
def gen_uuid(apps, schema_editor): | ||
LicensedEnterpriseCourseEnrollment = apps.get_model('enterprise', 'LicensedEnterpriseCourseEnrollment') | ||
for row in LicensedEnterpriseCourseEnrollment.objects.all(): | ||
row.uuid = uuid.uuid4() | ||
row.save(update_fields=['uuid']) | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
('enterprise', '0167_auto_20230206_1532'), | ||
] | ||
|
||
operations = [ | ||
migrations.RunPython(gen_uuid, reverse_code=migrations.RunPython.noop), | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Generated by Django 3.2.16 on 2023-02-06 16:55 | ||
|
||
from django.db import migrations, models | ||
import uuid | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
('enterprise', '0168_auto_20230206_1655'), | ||
] | ||
|
||
operations = [ | ||
migrations.AlterField( | ||
model_name='licensedenterprisecourseenrollment', | ||
name='uuid', | ||
field=models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False), | ||
), | ||
] |
Oops, something went wrong.