Add OrgDynamicUpgradeDeadlineConfiguration model
This commit is contained in:
@@ -8,4 +8,5 @@ admin.site.register(models.DynamicUpgradeDeadlineConfiguration, ConfigurationMod
|
||||
admin.site.register(models.OfflineComputedGrade)
|
||||
admin.site.register(models.OfflineComputedGradeLog)
|
||||
admin.site.register(models.CourseDynamicUpgradeDeadlineConfiguration, KeyedConfigurationModelAdmin)
|
||||
admin.site.register(models.OrgDynamicUpgradeDeadlineConfiguration, KeyedConfigurationModelAdmin)
|
||||
admin.site.register(models.StudentModule)
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('courseware', '0004_auto_20171010_1639'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='OrgDynamicUpgradeDeadlineConfiguration',
|
||||
fields=[
|
||||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||
('change_date', models.DateTimeField(auto_now_add=True, verbose_name='Change date')),
|
||||
('enabled', models.BooleanField(default=False, verbose_name='Enabled')),
|
||||
('org_id', models.CharField(max_length=255, db_index=True)),
|
||||
('deadline_days', models.PositiveSmallIntegerField(default=21, help_text='Number of days a learner has to upgrade after content is made available')),
|
||||
('opt_out', models.BooleanField(default=False, help_text='Disable the dynamic upgrade deadline for this organization.')),
|
||||
('changed_by', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, editable=False, to=settings.AUTH_USER_MODEL, null=True, verbose_name='Changed by')),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -400,3 +400,26 @@ class CourseDynamicUpgradeDeadlineConfiguration(ConfigurationModel):
|
||||
default=False,
|
||||
help_text=_('Disable the dynamic upgrade deadline for this course run.')
|
||||
)
|
||||
|
||||
|
||||
class OrgDynamicUpgradeDeadlineConfiguration(ConfigurationModel):
|
||||
"""
|
||||
Per-org configuration for dynamic upgrade deadlines.
|
||||
|
||||
This model controls dynamic upgrade deadlines on a per-org level, allowing organizations to
|
||||
have different deadlines or opt out of the functionality altogether.
|
||||
"""
|
||||
class Meta(object):
|
||||
app_label = 'courseware'
|
||||
|
||||
KEY_FIELDS = ('org_id',)
|
||||
|
||||
org_id = models.CharField(max_length=255, db_index=True)
|
||||
deadline_days = models.PositiveSmallIntegerField(
|
||||
default=21,
|
||||
help_text=_('Number of days a learner has to upgrade after content is made available')
|
||||
)
|
||||
opt_out = models.BooleanField(
|
||||
default=False,
|
||||
help_text=_('Disable the dynamic upgrade deadline for this organization.')
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user