New migrations
This commit is contained in:
parent
894c7ace25
commit
0a3d2a5b3a
15 changed files with 799 additions and 532 deletions
|
@ -1,4 +1,4 @@
|
||||||
# Generated by Django 4.2.7 on 2023-12-02 12:45
|
# Generated by Django 4.2.7 on 2023-12-06 11:31
|
||||||
|
|
||||||
import cms.models.fields
|
import cms.models.fields
|
||||||
import datacenterlight.cms_models
|
import datacenterlight.cms_models
|
||||||
|
@ -14,9 +14,9 @@ class Migration(migrations.Migration):
|
||||||
initial = True
|
initial = True
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
migrations.swappable_dependency(settings.FILER_IMAGE_MODEL),
|
|
||||||
('cms', '0022_auto_20180620_1551'),
|
|
||||||
('sites', '0002_alter_domain_unique'),
|
('sites', '0002_alter_domain_unique'),
|
||||||
|
('cms', '0022_auto_20180620_1551'),
|
||||||
|
migrations.swappable_dependency(settings.FILER_IMAGE_MODEL),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
@ -58,204 +58,204 @@ class Migration(migrations.Migration):
|
||||||
},
|
},
|
||||||
bases=('cms.cmsplugin',),
|
bases=('cms.cmsplugin',),
|
||||||
),
|
),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='DCLFooterPluginModel',
|
# name='DCLFooterPluginModel',
|
||||||
fields=[
|
# fields=[
|
||||||
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
('copyright_label', models.CharField(blank=True, default='ungleich glarus ag', help_text='Name of the company alongside the copyright year', max_length=100)),
|
# ('copyright_label', models.CharField(blank=True, default='ungleich glarus ag', help_text='Name of the company alongside the copyright year', max_length=100)),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'abstract': False,
|
# 'abstract': False,
|
||||||
},
|
# },
|
||||||
bases=('cms.cmsplugin',),
|
# bases=('cms.cmsplugin',),
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='DCLLinkPluginModel',
|
# name='DCLLinkPluginModel',
|
||||||
fields=[
|
# fields=[
|
||||||
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
('target', models.CharField(help_text='Url or #id to navigate to', max_length=100)),
|
# ('target', models.CharField(help_text='Url or #id to navigate to', max_length=100)),
|
||||||
('text', models.CharField(help_text='Text for the menu item', max_length=50)),
|
# ('text', models.CharField(help_text='Text for the menu item', max_length=50)),
|
||||||
('title', models.CharField(blank=True, help_text='Optional title text, that will be shown when a user hovers over the link', max_length=100, null=True)),
|
# ('title', models.CharField(blank=True, help_text='Optional title text, that will be shown when a user hovers over the link', max_length=100, null=True)),
|
||||||
('separator', models.BooleanField(default=False, help_text='Select to include a separator after the previous link')),
|
# ('separator', models.BooleanField(default=False, help_text='Select to include a separator after the previous link')),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'abstract': False,
|
# 'abstract': False,
|
||||||
},
|
# },
|
||||||
bases=('cms.cmsplugin',),
|
# bases=('cms.cmsplugin',),
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='DCLNavbarDropdownPluginModel',
|
# name='DCLNavbarDropdownPluginModel',
|
||||||
fields=[
|
# fields=[
|
||||||
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
('target', models.CharField(blank=True, help_text='Optional Url or #id to navigate on click', max_length=100, null=True)),
|
# ('target', models.CharField(blank=True, help_text='Optional Url or #id to navigate on click', max_length=100, null=True)),
|
||||||
('text', models.CharField(help_text='Text for the dropdown toggle', max_length=50)),
|
# ('text', models.CharField(help_text='Text for the dropdown toggle', max_length=50)),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'abstract': False,
|
# 'abstract': False,
|
||||||
},
|
# },
|
||||||
bases=('cms.cmsplugin',),
|
# bases=('cms.cmsplugin',),
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='DCLSectionIconPluginModel',
|
# name='DCLSectionIconPluginModel',
|
||||||
fields=[
|
# fields=[
|
||||||
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
('fontawesome_icon_name', models.CharField(help_text='Name of the fontawesome icon to use. <a href="https://fontawesome.com/v4.7.0/icons/" target="_blank">Refer docs.</a>', max_length=30)),
|
# ('fontawesome_icon_name', models.CharField(help_text='Name of the fontawesome icon to use. <a href="https://fontawesome.com/v4.7.0/icons/" target="_blank">Refer docs.</a>', max_length=30)),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'abstract': False,
|
# 'abstract': False,
|
||||||
},
|
# },
|
||||||
bases=('cms.cmsplugin',),
|
# bases=('cms.cmsplugin',),
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='DCLSectionPluginModel',
|
# name='DCLSectionPluginModel',
|
||||||
fields=[
|
# fields=[
|
||||||
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
('heading', models.CharField(blank=True, help_text='An optional heading for the Section', max_length=100, null=True)),
|
# ('heading', models.CharField(blank=True, help_text='An optional heading for the Section', max_length=100, null=True)),
|
||||||
('content', djangocms_text_ckeditor.fields.HTMLField()),
|
# ('content', djangocms_text_ckeditor.fields.HTMLField()),
|
||||||
('text_direction', models.CharField(choices=[('left', 'Left'), ('right', 'Right')], default=True, help_text='The alignment of text in the section', max_length=10)),
|
# ('text_direction', models.CharField(choices=[('left', 'Left'), ('right', 'Right')], default=True, help_text='The alignment of text in the section', max_length=10)),
|
||||||
('html_id', models.SlugField(blank=True, help_text='An optional html id for the Section. Required to set as target of a link on page', null=True)),
|
# ('html_id', models.SlugField(blank=True, help_text='An optional html id for the Section. Required to set as target of a link on page', null=True)),
|
||||||
('plain_heading', models.BooleanField(default=False, help_text='Select to keep the heading style simpler.')),
|
# ('plain_heading', models.BooleanField(default=False, help_text='Select to keep the heading style simpler.')),
|
||||||
('center_on_mobile', models.BooleanField(default=False, help_text='Select to center align content on small screens.')),
|
# ('center_on_mobile', models.BooleanField(default=False, help_text='Select to center align content on small screens.')),
|
||||||
('background_gradient', models.BooleanField(default=False, help_text='Select to add a gradient background to the section.')),
|
# ('background_gradient', models.BooleanField(default=False, help_text='Select to add a gradient background to the section.')),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'abstract': False,
|
# 'abstract': False,
|
||||||
},
|
# },
|
||||||
bases=('cms.cmsplugin',),
|
# bases=('cms.cmsplugin',),
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='StripePlan',
|
# name='StripePlan',
|
||||||
fields=[
|
# fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
('stripe_plan_id', models.CharField(max_length=256, null=True)),
|
# ('stripe_plan_id', models.CharField(max_length=256, null=True)),
|
||||||
('stripe_plan_name', models.CharField(default='', max_length=512, null=True)),
|
# ('stripe_plan_name', models.CharField(default='', max_length=512, null=True)),
|
||||||
('amount', models.PositiveIntegerField(default=0)),
|
# ('amount', models.PositiveIntegerField(default=0)),
|
||||||
('interval', models.CharField(default='', max_length=128, null=True)),
|
# ('interval', models.CharField(default='', max_length=128, null=True)),
|
||||||
],
|
# ],
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='VMPricing',
|
# name='VMPricing',
|
||||||
fields=[
|
# fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
('name', models.CharField(max_length=255, unique=True)),
|
# ('name', models.CharField(max_length=255, unique=True)),
|
||||||
('vat_inclusive', models.BooleanField(default=True)),
|
# ('vat_inclusive', models.BooleanField(default=True)),
|
||||||
('vat_percentage', models.DecimalField(blank=True, decimal_places=5, default=0, max_digits=7)),
|
# ('vat_percentage', models.DecimalField(blank=True, decimal_places=5, default=0, max_digits=7)),
|
||||||
('cores_unit_price', models.DecimalField(decimal_places=5, default=0, max_digits=7)),
|
# ('cores_unit_price', models.DecimalField(decimal_places=5, default=0, max_digits=7)),
|
||||||
('ram_unit_price', models.DecimalField(decimal_places=5, default=0, max_digits=7)),
|
# ('ram_unit_price', models.DecimalField(decimal_places=5, default=0, max_digits=7)),
|
||||||
('ssd_unit_price', models.DecimalField(decimal_places=5, default=0, max_digits=7)),
|
# ('ssd_unit_price', models.DecimalField(decimal_places=5, default=0, max_digits=7)),
|
||||||
('hdd_unit_price', models.DecimalField(decimal_places=6, default=0, max_digits=7)),
|
# ('hdd_unit_price', models.DecimalField(decimal_places=6, default=0, max_digits=7)),
|
||||||
('discount_name', models.CharField(blank=True, max_length=255, null=True)),
|
# ('discount_name', models.CharField(blank=True, max_length=255, null=True)),
|
||||||
('discount_amount', models.DecimalField(decimal_places=2, default=0, max_digits=6)),
|
# ('discount_amount', models.DecimalField(decimal_places=2, default=0, max_digits=6)),
|
||||||
('stripe_coupon_id', models.CharField(blank=True, max_length=255, null=True)),
|
# ('stripe_coupon_id', models.CharField(blank=True, max_length=255, null=True)),
|
||||||
],
|
# ],
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='VMTemplate',
|
# name='VMTemplate',
|
||||||
fields=[
|
# fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
('name', models.CharField(max_length=50)),
|
# ('name', models.CharField(max_length=50)),
|
||||||
('opennebula_vm_template_id', models.IntegerField()),
|
# ('opennebula_vm_template_id', models.IntegerField()),
|
||||||
('vm_type', models.CharField(choices=[('public', 'Public'), ('ipv6only', 'Ipv6Only')], default='public', max_length=50)),
|
# ('vm_type', models.CharField(choices=[('public', 'Public'), ('ipv6only', 'Ipv6Only')], default='public', max_length=50)),
|
||||||
],
|
# ],
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='DCLSectionPromoPluginModel',
|
# name='DCLSectionPromoPluginModel',
|
||||||
fields=[
|
# fields=[
|
||||||
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
('heading', models.CharField(blank=True, help_text='An optional heading for the Promo Section', max_length=100, null=True)),
|
# ('heading', models.CharField(blank=True, help_text='An optional heading for the Promo Section', max_length=100, null=True)),
|
||||||
('subheading', models.CharField(blank=True, help_text='An optional subheading for the Promo Section', max_length=200, null=True)),
|
# ('subheading', models.CharField(blank=True, help_text='An optional subheading for the Promo Section', max_length=200, null=True)),
|
||||||
('content', djangocms_text_ckeditor.fields.HTMLField()),
|
# ('content', djangocms_text_ckeditor.fields.HTMLField()),
|
||||||
('html_id', models.SlugField(blank=True, help_text='An optional html id for the Section. Required to set as target of a link on page', null=True)),
|
# ('html_id', models.SlugField(blank=True, help_text='An optional html id for the Section. Required to set as target of a link on page', null=True)),
|
||||||
('plain_heading', models.BooleanField(default=False, help_text='Select to keep the heading style simpler.')),
|
# ('plain_heading', models.BooleanField(default=False, help_text='Select to keep the heading style simpler.')),
|
||||||
('text_center', models.BooleanField(default=False, help_text='Select to center align content on small screens.')),
|
# ('text_center', models.BooleanField(default=False, help_text='Select to center align content on small screens.')),
|
||||||
('background_image', filer.fields.image.FilerImageField(blank=True, help_text='Optional background image for the Promo Section', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_section_promo_promo', to=settings.FILER_IMAGE_MODEL)),
|
# ('background_image', filer.fields.image.FilerImageField(blank=True, help_text='Optional background image for the Promo Section', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_section_promo_promo', to=settings.FILER_IMAGE_MODEL)),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'abstract': False,
|
# 'abstract': False,
|
||||||
},
|
# },
|
||||||
bases=('cms.cmsplugin',),
|
# bases=('cms.cmsplugin',),
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='DCLSectionImagePluginModel',
|
# name='DCLSectionImagePluginModel',
|
||||||
fields=[
|
# fields=[
|
||||||
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
('caption', models.CharField(blank=True, help_text='Optional caption for the image.', max_length=100, null=True)),
|
# ('caption', models.CharField(blank=True, help_text='Optional caption for the image.', max_length=100, null=True)),
|
||||||
('image', filer.fields.image.FilerImageField(help_text='Image file to be used in section. Add multiple plugins to add more than one image', on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL)),
|
# ('image', filer.fields.image.FilerImageField(help_text='Image file to be used in section. Add multiple plugins to add more than one image', on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL)),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'abstract': False,
|
# 'abstract': False,
|
||||||
},
|
# },
|
||||||
bases=('cms.cmsplugin',),
|
# bases=('cms.cmsplugin',),
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='DCLNavbarPluginModel',
|
# name='DCLNavbarPluginModel',
|
||||||
fields=[
|
# fields=[
|
||||||
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
('logo_url', models.URLField(blank=True, max_length=300, null=True)),
|
# ('logo_url', models.URLField(blank=True, max_length=300, null=True)),
|
||||||
('language_dropdown', models.BooleanField(default=True, help_text='Select to include the language selection dropdown.')),
|
# ('language_dropdown', models.BooleanField(default=True, help_text='Select to include the language selection dropdown.')),
|
||||||
('show_login_option', models.BooleanField(default=True, help_text='Uncheck this if you do not want to show login/dashboard.')),
|
# ('show_login_option', models.BooleanField(default=True, help_text='Uncheck this if you do not want to show login/dashboard.')),
|
||||||
('show_non_transparent_navbar_always', models.BooleanField(default=False, help_text='Check this if you want to show non transparent navbar only.(Useful when we want to setup a simple page)')),
|
# ('show_non_transparent_navbar_always', models.BooleanField(default=False, help_text='Check this if you want to show non transparent navbar only.(Useful when we want to setup a simple page)')),
|
||||||
('logo_dark', filer.fields.image.FilerImageField(blank=True, help_text='Logo to be used on white navbar', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_navbar_logo_dark', to=settings.FILER_IMAGE_MODEL)),
|
# ('logo_dark', filer.fields.image.FilerImageField(blank=True, help_text='Logo to be used on white navbar', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_navbar_logo_dark', to=settings.FILER_IMAGE_MODEL)),
|
||||||
('logo_light', filer.fields.image.FilerImageField(blank=True, help_text='Logo to be used on transparent navbar', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_navbar_logo_light', to=settings.FILER_IMAGE_MODEL)),
|
# ('logo_light', filer.fields.image.FilerImageField(blank=True, help_text='Logo to be used on transparent navbar', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_navbar_logo_light', to=settings.FILER_IMAGE_MODEL)),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'abstract': False,
|
# 'abstract': False,
|
||||||
},
|
# },
|
||||||
bases=('cms.cmsplugin',),
|
# bases=('cms.cmsplugin',),
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='DCLCalculatorPluginModel',
|
# name='DCLCalculatorPluginModel',
|
||||||
fields=[
|
# fields=[
|
||||||
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
('vm_type', models.CharField(choices=[('public', 'Public'), ('ipv6only', 'Ipv6Only')], default='public', max_length=50)),
|
# ('vm_type', models.CharField(choices=[('public', 'Public'), ('ipv6only', 'Ipv6Only')], default='public', max_length=50)),
|
||||||
('vm_templates_to_show', datacenterlight.cms_models.MultipleChoiceArrayField(base_field=models.CharField(blank=True, max_length=256), blank=True, default=list, help_text='Recommended: If you wish to show all templates of the corresponding VM Type (public/ipv6only), please do not select any of the items in the above field. This will allow any new template(s) added in the backend to be automatically listed in this calculator instance.', size=None)),
|
# ('vm_templates_to_show', datacenterlight.cms_models.MultipleChoiceArrayField(base_field=models.CharField(blank=True, max_length=256), blank=True, default=list, help_text='Recommended: If you wish to show all templates of the corresponding VM Type (public/ipv6only), please do not select any of the items in the above field. This will allow any new template(s) added in the backend to be automatically listed in this calculator instance.', size=None)),
|
||||||
('default_selected_template', models.CharField(default='Devuan Ascii', help_text='Write the name of the template that you need selected as default when the calculator loads', max_length=128, null=True)),
|
# ('default_selected_template', models.CharField(default='Devuan Ascii', help_text='Write the name of the template that you need selected as default when the calculator loads', max_length=128, null=True)),
|
||||||
('enable_512mb_ram', models.BooleanField(default=False)),
|
# ('enable_512mb_ram', models.BooleanField(default=False)),
|
||||||
('pricing', models.ForeignKey(help_text='Choose a pricing that will be associated with this Calculator', on_delete=django.db.models.deletion.CASCADE, related_name='dcl_custom_pricing_vm_pricing', to='datacenterlight.vmpricing')),
|
# ('pricing', models.ForeignKey(help_text='Choose a pricing that will be associated with this Calculator', on_delete=django.db.models.deletion.CASCADE, related_name='dcl_custom_pricing_vm_pricing', to='datacenterlight.vmpricing')),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'abstract': False,
|
# 'abstract': False,
|
||||||
},
|
# },
|
||||||
bases=('cms.cmsplugin',),
|
# bases=('cms.cmsplugin',),
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='DCLBannerItemPluginModel',
|
# name='DCLBannerItemPluginModel',
|
||||||
fields=[
|
# fields=[
|
||||||
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
('content', djangocms_text_ckeditor.fields.HTMLField()),
|
# ('content', djangocms_text_ckeditor.fields.HTMLField()),
|
||||||
('banner_text', djangocms_text_ckeditor.fields.HTMLField(blank=True, help_text='Optional text to be shown as banner in other half.', max_length=100, null=True)),
|
# ('banner_text', djangocms_text_ckeditor.fields.HTMLField(blank=True, help_text='Optional text to be shown as banner in other half.', max_length=100, null=True)),
|
||||||
('text_direction', models.CharField(choices=[('left', 'Left'), ('right', 'Right')], default=True, help_text='The alignment of text in the section', max_length=10)),
|
# ('text_direction', models.CharField(choices=[('left', 'Left'), ('right', 'Right')], default=True, help_text='The alignment of text in the section', max_length=10)),
|
||||||
('banner_image', filer.fields.image.FilerImageField(blank=True, help_text='Optional image to be used in the banner in other half.', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL)),
|
# ('banner_image', filer.fields.image.FilerImageField(blank=True, help_text='Optional image to be used in the banner in other half.', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL)),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'abstract': False,
|
# 'abstract': False,
|
||||||
},
|
# },
|
||||||
bases=('cms.cmsplugin',),
|
# bases=('cms.cmsplugin',),
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='CMSFaviconExtension',
|
# name='CMSFaviconExtension',
|
||||||
fields=[
|
# fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
('favicon', models.CharField(blank=True, max_length=100, null=True)),
|
# ('favicon', models.CharField(blank=True, max_length=100, null=True)),
|
||||||
('extended_object', models.OneToOneField(editable=False, on_delete=django.db.models.deletion.CASCADE, to='cms.page')),
|
# ('extended_object', models.OneToOneField(editable=False, on_delete=django.db.models.deletion.CASCADE, to='cms.page')),
|
||||||
('public_extension', models.OneToOneField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='draft_extension', to='datacenterlight.cmsfaviconextension')),
|
# ('public_extension', models.OneToOneField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='draft_extension', to='datacenterlight.cmsfaviconextension')),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'abstract': False,
|
# 'abstract': False,
|
||||||
},
|
# },
|
||||||
),
|
#),
|
||||||
migrations.CreateModel(
|
#migrations.CreateModel(
|
||||||
name='CMSIntegration',
|
# name='CMSIntegration',
|
||||||
fields=[
|
# fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
('name', models.CharField(default='default', help_text='A unique name for the Integration. This name will be used to fetch the Integration into pages', max_length=100)),
|
# ('name', models.CharField(default='default', help_text='A unique name for the Integration. This name will be used to fetch the Integration into pages', max_length=100)),
|
||||||
('calculator_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-calculator-placeholder+', slotname='datacenterlight_calculator', to='cms.placeholder')),
|
# ('calculator_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-calculator-placeholder+', slotname='datacenterlight_calculator', to='cms.placeholder')),
|
||||||
('domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
|
# ('domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
|
||||||
('footer_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-footer-placeholder+', slotname='datacenterlight_footer', to='cms.placeholder')),
|
# ('footer_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-footer-placeholder+', slotname='datacenterlight_footer', to='cms.placeholder')),
|
||||||
('navbar_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-navbar-placeholder+', slotname='datacenterlight_navbar', to='cms.placeholder')),
|
# ('navbar_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-navbar-placeholder+', slotname='datacenterlight_navbar', to='cms.placeholder')),
|
||||||
],
|
# ],
|
||||||
options={
|
# options={
|
||||||
'unique_together': {('name', 'domain')},
|
# 'unique_together': {('name', 'domain')},
|
||||||
},
|
# },
|
||||||
),
|
#),
|
||||||
]
|
]
|
||||||
|
|
|
@ -0,0 +1,222 @@
|
||||||
|
# Generated by Django 4.2.7 on 2023-12-06 11:40
|
||||||
|
|
||||||
|
import cms.models.fields
|
||||||
|
import datacenterlight.cms_models
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import djangocms_text_ckeditor.fields
|
||||||
|
import filer.fields.image
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('sites', '0002_alter_domain_unique'),
|
||||||
|
('cms', '0022_auto_20180620_1551'),
|
||||||
|
migrations.swappable_dependency(settings.FILER_IMAGE_MODEL),
|
||||||
|
('datacenterlight', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DCLFooterPluginModel',
|
||||||
|
fields=[
|
||||||
|
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
('copyright_label', models.CharField(blank=True, default='ungleich glarus ag', help_text='Name of the company alongside the copyright year', max_length=100)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=('cms.cmsplugin',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DCLLinkPluginModel',
|
||||||
|
fields=[
|
||||||
|
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
('target', models.CharField(help_text='Url or #id to navigate to', max_length=100)),
|
||||||
|
('text', models.CharField(help_text='Text for the menu item', max_length=50)),
|
||||||
|
('title', models.CharField(blank=True, help_text='Optional title text, that will be shown when a user hovers over the link', max_length=100, null=True)),
|
||||||
|
('separator', models.BooleanField(default=False, help_text='Select to include a separator after the previous link')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=('cms.cmsplugin',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DCLNavbarDropdownPluginModel',
|
||||||
|
fields=[
|
||||||
|
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
('target', models.CharField(blank=True, help_text='Optional Url or #id to navigate on click', max_length=100, null=True)),
|
||||||
|
('text', models.CharField(help_text='Text for the dropdown toggle', max_length=50)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=('cms.cmsplugin',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DCLSectionIconPluginModel',
|
||||||
|
fields=[
|
||||||
|
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
('fontawesome_icon_name', models.CharField(help_text='Name of the fontawesome icon to use. <a href="https://fontawesome.com/v4.7.0/icons/" target="_blank">Refer docs.</a>', max_length=30)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=('cms.cmsplugin',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DCLSectionPluginModel',
|
||||||
|
fields=[
|
||||||
|
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
('heading', models.CharField(blank=True, help_text='An optional heading for the Section', max_length=100, null=True)),
|
||||||
|
('content', djangocms_text_ckeditor.fields.HTMLField()),
|
||||||
|
('text_direction', models.CharField(choices=[('left', 'Left'), ('right', 'Right')], default=True, help_text='The alignment of text in the section', max_length=10)),
|
||||||
|
('html_id', models.SlugField(blank=True, help_text='An optional html id for the Section. Required to set as target of a link on page', null=True)),
|
||||||
|
('plain_heading', models.BooleanField(default=False, help_text='Select to keep the heading style simpler.')),
|
||||||
|
('center_on_mobile', models.BooleanField(default=False, help_text='Select to center align content on small screens.')),
|
||||||
|
('background_gradient', models.BooleanField(default=False, help_text='Select to add a gradient background to the section.')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=('cms.cmsplugin',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='StripePlan',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('stripe_plan_id', models.CharField(max_length=256, null=True)),
|
||||||
|
('stripe_plan_name', models.CharField(default='', max_length=512, null=True)),
|
||||||
|
('amount', models.PositiveIntegerField(default=0)),
|
||||||
|
('interval', models.CharField(default='', max_length=128, null=True)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='VMPricing',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('name', models.CharField(max_length=255, unique=True)),
|
||||||
|
('vat_inclusive', models.BooleanField(default=True)),
|
||||||
|
('vat_percentage', models.DecimalField(blank=True, decimal_places=5, default=0, max_digits=7)),
|
||||||
|
('cores_unit_price', models.DecimalField(decimal_places=5, default=0, max_digits=7)),
|
||||||
|
('ram_unit_price', models.DecimalField(decimal_places=5, default=0, max_digits=7)),
|
||||||
|
('ssd_unit_price', models.DecimalField(decimal_places=5, default=0, max_digits=7)),
|
||||||
|
('hdd_unit_price', models.DecimalField(decimal_places=6, default=0, max_digits=7)),
|
||||||
|
('discount_name', models.CharField(blank=True, max_length=255, null=True)),
|
||||||
|
('discount_amount', models.DecimalField(decimal_places=2, default=0, max_digits=6)),
|
||||||
|
('stripe_coupon_id', models.CharField(blank=True, max_length=255, null=True)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='VMTemplate',
|
||||||
|
# fields=[
|
||||||
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
# ('name', models.CharField(max_length=50)),
|
||||||
|
# ('opennebula_vm_template_id', models.IntegerField()),
|
||||||
|
# ('vm_type', models.CharField(choices=[('public', 'Public'), ('ipv6only', 'Ipv6Only')], default='public', max_length=50)),
|
||||||
|
# ],
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='DCLSectionPromoPluginModel',
|
||||||
|
# fields=[
|
||||||
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
# ('heading', models.CharField(blank=True, help_text='An optional heading for the Promo Section', max_length=100, null=True)),
|
||||||
|
# ('subheading', models.CharField(blank=True, help_text='An optional subheading for the Promo Section', max_length=200, null=True)),
|
||||||
|
# ('content', djangocms_text_ckeditor.fields.HTMLField()),
|
||||||
|
# ('html_id', models.SlugField(blank=True, help_text='An optional html id for the Section. Required to set as target of a link on page', null=True)),
|
||||||
|
# ('plain_heading', models.BooleanField(default=False, help_text='Select to keep the heading style simpler.')),
|
||||||
|
# ('text_center', models.BooleanField(default=False, help_text='Select to center align content on small screens.')),
|
||||||
|
# ('background_image', filer.fields.image.FilerImageField(blank=True, help_text='Optional background image for the Promo Section', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_section_promo_promo', to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
# bases=('cms.cmsplugin',),
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='DCLSectionImagePluginModel',
|
||||||
|
# fields=[
|
||||||
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
# ('caption', models.CharField(blank=True, help_text='Optional caption for the image.', max_length=100, null=True)),
|
||||||
|
# ('image', filer.fields.image.FilerImageField(help_text='Image file to be used in section. Add multiple plugins to add more than one image', on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
# bases=('cms.cmsplugin',),
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='DCLNavbarPluginModel',
|
||||||
|
# fields=[
|
||||||
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
# ('logo_url', models.URLField(blank=True, max_length=300, null=True)),
|
||||||
|
# ('language_dropdown', models.BooleanField(default=True, help_text='Select to include the language selection dropdown.')),
|
||||||
|
# ('show_login_option', models.BooleanField(default=True, help_text='Uncheck this if you do not want to show login/dashboard.')),
|
||||||
|
# ('show_non_transparent_navbar_always', models.BooleanField(default=False, help_text='Check this if you want to show non transparent navbar only.(Useful when we want to setup a simple page)')),
|
||||||
|
# ('logo_dark', filer.fields.image.FilerImageField(blank=True, help_text='Logo to be used on white navbar', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_navbar_logo_dark', to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
# ('logo_light', filer.fields.image.FilerImageField(blank=True, help_text='Logo to be used on transparent navbar', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_navbar_logo_light', to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
# bases=('cms.cmsplugin',),
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='DCLCalculatorPluginModel',
|
||||||
|
# fields=[
|
||||||
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
# ('vm_type', models.CharField(choices=[('public', 'Public'), ('ipv6only', 'Ipv6Only')], default='public', max_length=50)),
|
||||||
|
# ('vm_templates_to_show', datacenterlight.cms_models.MultipleChoiceArrayField(base_field=models.CharField(blank=True, max_length=256), blank=True, default=list, help_text='Recommended: If you wish to show all templates of the corresponding VM Type (public/ipv6only), please do not select any of the items in the above field. This will allow any new template(s) added in the backend to be automatically listed in this calculator instance.', size=None)),
|
||||||
|
# ('default_selected_template', models.CharField(default='Devuan Ascii', help_text='Write the name of the template that you need selected as default when the calculator loads', max_length=128, null=True)),
|
||||||
|
# ('enable_512mb_ram', models.BooleanField(default=False)),
|
||||||
|
# ('pricing', models.ForeignKey(help_text='Choose a pricing that will be associated with this Calculator', on_delete=django.db.models.deletion.CASCADE, related_name='dcl_custom_pricing_vm_pricing', to='datacenterlight.vmpricing')),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
# bases=('cms.cmsplugin',),
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='DCLBannerItemPluginModel',
|
||||||
|
# fields=[
|
||||||
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
# ('content', djangocms_text_ckeditor.fields.HTMLField()),
|
||||||
|
# ('banner_text', djangocms_text_ckeditor.fields.HTMLField(blank=True, help_text='Optional text to be shown as banner in other half.', max_length=100, null=True)),
|
||||||
|
# ('text_direction', models.CharField(choices=[('left', 'Left'), ('right', 'Right')], default=True, help_text='The alignment of text in the section', max_length=10)),
|
||||||
|
# ('banner_image', filer.fields.image.FilerImageField(blank=True, help_text='Optional image to be used in the banner in other half.', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
# bases=('cms.cmsplugin',),
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='CMSFaviconExtension',
|
||||||
|
# fields=[
|
||||||
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
# ('favicon', models.CharField(blank=True, max_length=100, null=True)),
|
||||||
|
# ('extended_object', models.OneToOneField(editable=False, on_delete=django.db.models.deletion.CASCADE, to='cms.page')),
|
||||||
|
# ('public_extension', models.OneToOneField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='draft_extension', to='datacenterlight.cmsfaviconextension')),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='CMSIntegration',
|
||||||
|
# fields=[
|
||||||
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
# ('name', models.CharField(default='default', help_text='A unique name for the Integration. This name will be used to fetch the Integration into pages', max_length=100)),
|
||||||
|
# ('calculator_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-calculator-placeholder+', slotname='datacenterlight_calculator', to='cms.placeholder')),
|
||||||
|
# ('domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
|
||||||
|
# ('footer_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-footer-placeholder+', slotname='datacenterlight_footer', to='cms.placeholder')),
|
||||||
|
# ('navbar_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-navbar-placeholder+', slotname='datacenterlight_navbar', to='cms.placeholder')),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'unique_together': {('name', 'domain')},
|
||||||
|
# },
|
||||||
|
#),
|
||||||
|
]
|
|
@ -0,0 +1,131 @@
|
||||||
|
# Generated by Django 4.2.7 on 2023-12-06 11:41
|
||||||
|
|
||||||
|
import cms.models.fields
|
||||||
|
import datacenterlight.cms_models
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import djangocms_text_ckeditor.fields
|
||||||
|
import filer.fields.image
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('sites', '0002_alter_domain_unique'),
|
||||||
|
('cms', '0022_auto_20180620_1551'),
|
||||||
|
migrations.swappable_dependency(settings.FILER_IMAGE_MODEL),
|
||||||
|
('datacenterlight', '0002_dclfooterpluginmodel_dcllinkpluginmodel_and_more'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='VMTemplate',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('name', models.CharField(max_length=50)),
|
||||||
|
('opennebula_vm_template_id', models.IntegerField()),
|
||||||
|
('vm_type', models.CharField(choices=[('public', 'Public'), ('ipv6only', 'Ipv6Only')], default='public', max_length=50)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DCLSectionPromoPluginModel',
|
||||||
|
fields=[
|
||||||
|
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
('heading', models.CharField(blank=True, help_text='An optional heading for the Promo Section', max_length=100, null=True)),
|
||||||
|
('subheading', models.CharField(blank=True, help_text='An optional subheading for the Promo Section', max_length=200, null=True)),
|
||||||
|
('content', djangocms_text_ckeditor.fields.HTMLField()),
|
||||||
|
('html_id', models.SlugField(blank=True, help_text='An optional html id for the Section. Required to set as target of a link on page', null=True)),
|
||||||
|
('plain_heading', models.BooleanField(default=False, help_text='Select to keep the heading style simpler.')),
|
||||||
|
('text_center', models.BooleanField(default=False, help_text='Select to center align content on small screens.')),
|
||||||
|
('background_image', filer.fields.image.FilerImageField(blank=True, help_text='Optional background image for the Promo Section', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_section_promo_promo', to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=('cms.cmsplugin',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DCLSectionImagePluginModel',
|
||||||
|
fields=[
|
||||||
|
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
('caption', models.CharField(blank=True, help_text='Optional caption for the image.', max_length=100, null=True)),
|
||||||
|
('image', filer.fields.image.FilerImageField(help_text='Image file to be used in section. Add multiple plugins to add more than one image', on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=('cms.cmsplugin',),
|
||||||
|
),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='DCLNavbarPluginModel',
|
||||||
|
# fields=[
|
||||||
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
# ('logo_url', models.URLField(blank=True, max_length=300, null=True)),
|
||||||
|
# ('language_dropdown', models.BooleanField(default=True, help_text='Select to include the language selection dropdown.')),
|
||||||
|
# ('show_login_option', models.BooleanField(default=True, help_text='Uncheck this if you do not want to show login/dashboard.')),
|
||||||
|
# ('show_non_transparent_navbar_always', models.BooleanField(default=False, help_text='Check this if you want to show non transparent navbar only.(Useful when we want to setup a simple page)')),
|
||||||
|
# ('logo_dark', filer.fields.image.FilerImageField(blank=True, help_text='Logo to be used on white navbar', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_navbar_logo_dark', to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
# ('logo_light', filer.fields.image.FilerImageField(blank=True, help_text='Logo to be used on transparent navbar', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_navbar_logo_light', to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
# bases=('cms.cmsplugin',),
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='DCLCalculatorPluginModel',
|
||||||
|
# fields=[
|
||||||
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
# ('vm_type', models.CharField(choices=[('public', 'Public'), ('ipv6only', 'Ipv6Only')], default='public', max_length=50)),
|
||||||
|
# ('vm_templates_to_show', datacenterlight.cms_models.MultipleChoiceArrayField(base_field=models.CharField(blank=True, max_length=256), blank=True, default=list, help_text='Recommended: If you wish to show all templates of the corresponding VM Type (public/ipv6only), please do not select any of the items in the above field. This will allow any new template(s) added in the backend to be automatically listed in this calculator instance.', size=None)),
|
||||||
|
# ('default_selected_template', models.CharField(default='Devuan Ascii', help_text='Write the name of the template that you need selected as default when the calculator loads', max_length=128, null=True)),
|
||||||
|
# ('enable_512mb_ram', models.BooleanField(default=False)),
|
||||||
|
# ('pricing', models.ForeignKey(help_text='Choose a pricing that will be associated with this Calculator', on_delete=django.db.models.deletion.CASCADE, related_name='dcl_custom_pricing_vm_pricing', to='datacenterlight.vmpricing')),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
# bases=('cms.cmsplugin',),
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='DCLBannerItemPluginModel',
|
||||||
|
# fields=[
|
||||||
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
# ('content', djangocms_text_ckeditor.fields.HTMLField()),
|
||||||
|
# ('banner_text', djangocms_text_ckeditor.fields.HTMLField(blank=True, help_text='Optional text to be shown as banner in other half.', max_length=100, null=True)),
|
||||||
|
# ('text_direction', models.CharField(choices=[('left', 'Left'), ('right', 'Right')], default=True, help_text='The alignment of text in the section', max_length=10)),
|
||||||
|
# ('banner_image', filer.fields.image.FilerImageField(blank=True, help_text='Optional image to be used in the banner in other half.', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
# bases=('cms.cmsplugin',),
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='CMSFaviconExtension',
|
||||||
|
# fields=[
|
||||||
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
# ('favicon', models.CharField(blank=True, max_length=100, null=True)),
|
||||||
|
# ('extended_object', models.OneToOneField(editable=False, on_delete=django.db.models.deletion.CASCADE, to='cms.page')),
|
||||||
|
# ('public_extension', models.OneToOneField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='draft_extension', to='datacenterlight.cmsfaviconextension')),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='CMSIntegration',
|
||||||
|
# fields=[
|
||||||
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
# ('name', models.CharField(default='default', help_text='A unique name for the Integration. This name will be used to fetch the Integration into pages', max_length=100)),
|
||||||
|
# ('calculator_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-calculator-placeholder+', slotname='datacenterlight_calculator', to='cms.placeholder')),
|
||||||
|
# ('domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
|
||||||
|
# ('footer_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-footer-placeholder+', slotname='datacenterlight_footer', to='cms.placeholder')),
|
||||||
|
# ('navbar_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-navbar-placeholder+', slotname='datacenterlight_navbar', to='cms.placeholder')),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'unique_together': {('name', 'domain')},
|
||||||
|
# },
|
||||||
|
#),
|
||||||
|
]
|
|
@ -0,0 +1,93 @@
|
||||||
|
# Generated by Django 4.2.7 on 2023-12-06 11:43
|
||||||
|
|
||||||
|
import cms.models.fields
|
||||||
|
import datacenterlight.cms_models
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import djangocms_text_ckeditor.fields
|
||||||
|
import filer.fields.image
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.FILER_IMAGE_MODEL),
|
||||||
|
('cms', '0022_auto_20180620_1551'),
|
||||||
|
('sites', '0002_alter_domain_unique'),
|
||||||
|
('datacenterlight', '0003_vmtemplate_dclsectionpromopluginmodel_and_more'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DCLNavbarPluginModel',
|
||||||
|
fields=[
|
||||||
|
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
('logo_url', models.URLField(blank=True, max_length=300, null=True)),
|
||||||
|
('language_dropdown', models.BooleanField(default=True, help_text='Select to include the language selection dropdown.')),
|
||||||
|
('show_login_option', models.BooleanField(default=True, help_text='Uncheck this if you do not want to show login/dashboard.')),
|
||||||
|
('show_non_transparent_navbar_always', models.BooleanField(default=False, help_text='Check this if you want to show non transparent navbar only.(Useful when we want to setup a simple page)')),
|
||||||
|
('logo_dark', filer.fields.image.FilerImageField(blank=True, help_text='Logo to be used on white navbar', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_navbar_logo_dark', to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
('logo_light', filer.fields.image.FilerImageField(blank=True, help_text='Logo to be used on transparent navbar', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl_navbar_logo_light', to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=('cms.cmsplugin',),
|
||||||
|
),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='DCLCalculatorPluginModel',
|
||||||
|
# fields=[
|
||||||
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
# ('vm_type', models.CharField(choices=[('public', 'Public'), ('ipv6only', 'Ipv6Only')], default='public', max_length=50)),
|
||||||
|
# ('vm_templates_to_show', datacenterlight.cms_models.MultipleChoiceArrayField(base_field=models.CharField(blank=True, max_length=256), blank=True, default=list, help_text='Recommended: If you wish to show all templates of the corresponding VM Type (public/ipv6only), please do not select any of the items in the above field. This will allow any new template(s) added in the backend to be automatically listed in this calculator instance.', size=None)),
|
||||||
|
# ('default_selected_template', models.CharField(default='Devuan Ascii', help_text='Write the name of the template that you need selected as default when the calculator loads', max_length=128, null=True)),
|
||||||
|
# ('enable_512mb_ram', models.BooleanField(default=False)),
|
||||||
|
# ('pricing', models.ForeignKey(help_text='Choose a pricing that will be associated with this Calculator', on_delete=django.db.models.deletion.CASCADE, related_name='dcl_custom_pricing_vm_pricing', to='datacenterlight.vmpricing')),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
# bases=('cms.cmsplugin',),
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='DCLBannerItemPluginModel',
|
||||||
|
# fields=[
|
||||||
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
# ('content', djangocms_text_ckeditor.fields.HTMLField()),
|
||||||
|
# ('banner_text', djangocms_text_ckeditor.fields.HTMLField(blank=True, help_text='Optional text to be shown as banner in other half.', max_length=100, null=True)),
|
||||||
|
# ('text_direction', models.CharField(choices=[('left', 'Left'), ('right', 'Right')], default=True, help_text='The alignment of text in the section', max_length=10)),
|
||||||
|
# ('banner_image', filer.fields.image.FilerImageField(blank=True, help_text='Optional image to be used in the banner in other half.', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
# bases=('cms.cmsplugin',),
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='CMSFaviconExtension',
|
||||||
|
# fields=[
|
||||||
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
# ('favicon', models.CharField(blank=True, max_length=100, null=True)),
|
||||||
|
# ('extended_object', models.OneToOneField(editable=False, on_delete=django.db.models.deletion.CASCADE, to='cms.page')),
|
||||||
|
# ('public_extension', models.OneToOneField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='draft_extension', to='datacenterlight.cmsfaviconextension')),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
#),
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='CMSIntegration',
|
||||||
|
# fields=[
|
||||||
|
# ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
# ('name', models.CharField(default='default', help_text='A unique name for the Integration. This name will be used to fetch the Integration into pages', max_length=100)),
|
||||||
|
# ('calculator_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-calculator-placeholder+', slotname='datacenterlight_calculator', to='cms.placeholder')),
|
||||||
|
# ('domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
|
||||||
|
# ('footer_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-footer-placeholder+', slotname='datacenterlight_footer', to='cms.placeholder')),
|
||||||
|
# ('navbar_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-navbar-placeholder+', slotname='datacenterlight_navbar', to='cms.placeholder')),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'unique_together': {('name', 'domain')},
|
||||||
|
# },
|
||||||
|
#),
|
||||||
|
]
|
|
@ -0,0 +1,77 @@
|
||||||
|
# Generated by Django 4.2.7 on 2023-12-06 11:44
|
||||||
|
|
||||||
|
import cms.models.fields
|
||||||
|
import datacenterlight.cms_models
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import djangocms_text_ckeditor.fields
|
||||||
|
import filer.fields.image
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('sites', '0002_alter_domain_unique'),
|
||||||
|
('cms', '0022_auto_20180620_1551'),
|
||||||
|
migrations.swappable_dependency(settings.FILER_IMAGE_MODEL),
|
||||||
|
('datacenterlight', '0004_dclnavbarpluginmodel_dclcalculatorpluginmodel_and_more'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
#migrations.CreateModel(
|
||||||
|
# name='DCLCalculatorPluginModel',
|
||||||
|
# fields=[
|
||||||
|
# ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
# ('vm_type', models.CharField(choices=[('public', 'Public'), ('ipv6only', 'Ipv6Only')], default='public', max_length=50)),
|
||||||
|
# ('vm_templates_to_show', datacenterlight.cms_models.MultipleChoiceArrayField(base_field=models.CharField(blank=True, max_length=256), blank=True, default=list, help_text='Recommended: If you wish to show all templates of the corresponding VM Type (public/ipv6only), please do not select any of the items in the above field. This will allow any new template(s) added in the backend to be automatically listed in this calculator instance.', size=None)),
|
||||||
|
# ('default_selected_template', models.CharField(default='Devuan Ascii', help_text='Write the name of the template that you need selected as default when the calculator loads', max_length=128, null=True)),
|
||||||
|
# ('enable_512mb_ram', models.BooleanField(default=False)),
|
||||||
|
# ('pricing', models.ForeignKey(help_text='Choose a pricing that will be associated with this Calculator', on_delete=django.db.models.deletion.CASCADE, related_name='dcl_custom_pricing_vm_pricing', to='datacenterlight.vmpricing')),
|
||||||
|
# ],
|
||||||
|
# options={
|
||||||
|
# 'abstract': False,
|
||||||
|
# },
|
||||||
|
# bases=('cms.cmsplugin',),
|
||||||
|
#),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DCLBannerItemPluginModel',
|
||||||
|
fields=[
|
||||||
|
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
('content', djangocms_text_ckeditor.fields.HTMLField()),
|
||||||
|
('banner_text', djangocms_text_ckeditor.fields.HTMLField(blank=True, help_text='Optional text to be shown as banner in other half.', max_length=100, null=True)),
|
||||||
|
('text_direction', models.CharField(choices=[('left', 'Left'), ('right', 'Right')], default=True, help_text='The alignment of text in the section', max_length=10)),
|
||||||
|
('banner_image', filer.fields.image.FilerImageField(blank=True, help_text='Optional image to be used in the banner in other half.', null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.FILER_IMAGE_MODEL)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=('cms.cmsplugin',),
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='CMSFaviconExtension',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('favicon', models.CharField(blank=True, max_length=100, null=True)),
|
||||||
|
('extended_object', models.OneToOneField(editable=False, on_delete=django.db.models.deletion.CASCADE, to='cms.page')),
|
||||||
|
('public_extension', models.OneToOneField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='draft_extension', to='datacenterlight.cmsfaviconextension')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='CMSIntegration',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('name', models.CharField(default='default', help_text='A unique name for the Integration. This name will be used to fetch the Integration into pages', max_length=100)),
|
||||||
|
('calculator_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-calculator-placeholder+', slotname='datacenterlight_calculator', to='cms.placeholder')),
|
||||||
|
('domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
|
||||||
|
('footer_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-footer-placeholder+', slotname='datacenterlight_footer', to='cms.placeholder')),
|
||||||
|
('navbar_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dcl-navbar-placeholder+', slotname='datacenterlight_navbar', to='cms.placeholder')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'unique_together': {('name', 'domain')},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
29
datacenterlight/migrations/0006_dclcalculatorpluginmodel.py
Normal file
29
datacenterlight/migrations/0006_dclcalculatorpluginmodel.py
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# Generated by Django 4.2.7 on 2023-12-06 11:46
|
||||||
|
|
||||||
|
import datacenterlight.cms_models
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('cms', '0022_auto_20180620_1551'),
|
||||||
|
('datacenterlight', '0005_dclcalculatorpluginmodel_dclbanneritempluginmodel_and_more'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='DCLCalculatorPluginModel',
|
||||||
|
fields=[
|
||||||
|
('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='%(app_label)s_%(class)s', serialize=False, to='cms.cmsplugin')),
|
||||||
|
('default_selected_template', models.CharField(default='Devuan Ascii', help_text='Write the name of the template that you need selected as default when the calculator loads', max_length=128, null=True)),
|
||||||
|
('enable_512mb_ram', models.BooleanField(default=False)),
|
||||||
|
('pricing', models.ForeignKey(help_text='Choose a pricing that will be associated with this Calculator', on_delete=django.db.models.deletion.CASCADE, related_name='dcl_custom_pricing_vm_pricing', to='datacenterlight.vmpricing')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=('cms.cmsplugin',),
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,24 @@
|
||||||
|
# Generated by Django 4.2.7 on 2023-12-06 11:51
|
||||||
|
|
||||||
|
import datacenterlight.cms_models
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('datacenterlight', '0006_dclcalculatorpluginmodel'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
#migrations.AddField(
|
||||||
|
# model_name='dclcalculatorpluginmodel',
|
||||||
|
# name='vm_templates_to_show',
|
||||||
|
# field=datacenterlight.cms_models.MultipleChoiceArrayField(base_field=models.CharField(blank=True, max_length=256), blank=True, default=list, help_text='Recommended: If you wish to show all templates of the corresponding VM Type (public/ipv6only), please do not select any of the items in the above field. This will allow any new template(s) added in the backend to be automatically listed in this calculator instance.', size=None),
|
||||||
|
#),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='dclcalculatorpluginmodel',
|
||||||
|
name='vm_type',
|
||||||
|
field=models.CharField(choices=[('public', 'Public'), ('ipv6only', 'Ipv6Only')], default='public', max_length=50),
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Generated by Django 4.2.7 on 2023-12-06 13:41
|
||||||
|
|
||||||
|
import datacenterlight.cms_models
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('datacenterlight', '0007_dclcalculatorpluginmodel_vm_templates_to_show_and_more'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='dclcalculatorpluginmodel',
|
||||||
|
name='vm_templates_to_show',
|
||||||
|
field=datacenterlight.cms_models.MultipleChoiceArrayField(base_field=models.CharField(blank=True, max_length=256), blank=True, default=list, help_text='Recommended: If you wish to show all templates of the corresponding VM Type (public/ipv6only), please do not select any of the items in the above field. This will allow any new template(s) added in the backend to be automatically listed in this calculator instance.', size=None),
|
||||||
|
),
|
||||||
|
]
|
|
@ -1,261 +0,0 @@
|
||||||
# Generated by Django 4.2.7 on 2023-12-02 12:45
|
|
||||||
|
|
||||||
from django.conf import settings
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
import utils.mixins
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
initial = True
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('membership', '__first__'),
|
|
||||||
('utils', '__first__'),
|
|
||||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
||||||
('datacenterlight', '0001_initial'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='GenericProduct',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('product_name', models.CharField(default='', max_length=128)),
|
|
||||||
('product_slug', models.SlugField(help_text='An mandatory unique slug for the product', unique=True)),
|
|
||||||
('product_description', models.CharField(default='', max_length=500)),
|
|
||||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
||||||
('product_price', models.DecimalField(decimal_places=2, max_digits=6)),
|
|
||||||
('product_vat', models.DecimalField(decimal_places=4, default=0, max_digits=6)),
|
|
||||||
('product_is_subscription', models.BooleanField(default=True)),
|
|
||||||
('product_subscription_interval', models.CharField(default='month', help_text='Choose between `year` and `month`', max_length=10)),
|
|
||||||
('exclude_vat_calculations', models.BooleanField(default=False, help_text='When checked VAT calculations are excluded for this product')),
|
|
||||||
],
|
|
||||||
bases=(utils.mixins.AssignPermissionsMixin, models.Model),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='HostingOrder',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('vm_id', models.IntegerField(default=0)),
|
|
||||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
||||||
('approved', models.BooleanField(default=False)),
|
|
||||||
('last4', models.CharField(max_length=4)),
|
|
||||||
('cc_brand', models.CharField(max_length=128)),
|
|
||||||
('stripe_charge_id', models.CharField(max_length=100, null=True)),
|
|
||||||
('price', models.FloatField()),
|
|
||||||
('subscription_id', models.CharField(max_length=100, null=True)),
|
|
||||||
('generic_payment_description', models.CharField(max_length=500, null=True)),
|
|
||||||
('billing_address', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='utils.billingaddress')),
|
|
||||||
('customer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='membership.stripecustomer')),
|
|
||||||
('generic_product', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='hosting.genericproduct')),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'permissions': (('pr_view_hostingorder', 'View Hosting Order'),),
|
|
||||||
},
|
|
||||||
bases=(utils.mixins.AssignPermissionsMixin, models.Model),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='HostingPlan',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('disk_size', models.FloatField(default=0.0)),
|
|
||||||
('cpu_cores', models.FloatField(default=0.0)),
|
|
||||||
('memory', models.FloatField(default=0.0)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='IncompletePaymentIntents',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('completed_at', models.DateTimeField(null=True)),
|
|
||||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
||||||
('payment_intent_id', models.CharField(max_length=100)),
|
|
||||||
('request', models.TextField()),
|
|
||||||
('stripe_api_cus_id', models.CharField(max_length=30)),
|
|
||||||
('card_details_response', models.TextField()),
|
|
||||||
('stripe_subscription_id', models.CharField(max_length=100, null=True)),
|
|
||||||
('stripe_charge_id', models.CharField(max_length=100, null=True)),
|
|
||||||
('gp_details', models.TextField()),
|
|
||||||
('billing_address_data', models.TextField()),
|
|
||||||
],
|
|
||||||
bases=(utils.mixins.AssignPermissionsMixin, models.Model),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='IncompleteSubscriptions',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
||||||
('completed_at', models.DateTimeField(null=True)),
|
|
||||||
('subscription_id', models.CharField(max_length=100)),
|
|
||||||
('subscription_status', models.CharField(max_length=30)),
|
|
||||||
('name', models.CharField(max_length=50)),
|
|
||||||
('email', models.EmailField(max_length=254)),
|
|
||||||
('request', models.TextField()),
|
|
||||||
('stripe_api_cus_id', models.CharField(max_length=30)),
|
|
||||||
('card_details_response', models.TextField()),
|
|
||||||
('stripe_subscription_obj', models.TextField()),
|
|
||||||
('stripe_onetime_charge', models.TextField()),
|
|
||||||
('gp_details', models.TextField()),
|
|
||||||
('specs', models.TextField()),
|
|
||||||
('vm_template_id', models.PositiveIntegerField(default=0)),
|
|
||||||
('template', models.TextField()),
|
|
||||||
('billing_address_data', models.TextField()),
|
|
||||||
],
|
|
||||||
bases=(utils.mixins.AssignPermissionsMixin, models.Model),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='StripeTaxRate',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('tax_rate_id', models.CharField(max_length=100, unique=True)),
|
|
||||||
('jurisdiction', models.CharField(max_length=10)),
|
|
||||||
('inclusive', models.BooleanField(default=False)),
|
|
||||||
('display_name', models.CharField(max_length=100)),
|
|
||||||
('percentage', models.FloatField(default=0)),
|
|
||||||
('description', models.CharField(max_length=100)),
|
|
||||||
],
|
|
||||||
bases=(utils.mixins.AssignPermissionsMixin, models.Model),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='VATRates',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('start_date', models.DateField(blank=True, null=True)),
|
|
||||||
('stop_date', models.DateField(blank=True, null=True)),
|
|
||||||
('territory_codes', models.TextField(blank=True, default='')),
|
|
||||||
('currency_code', models.CharField(max_length=10)),
|
|
||||||
('rate', models.FloatField()),
|
|
||||||
('rate_type', models.TextField(blank=True, default='')),
|
|
||||||
('description', models.TextField(blank=True, default='')),
|
|
||||||
],
|
|
||||||
bases=(utils.mixins.AssignPermissionsMixin, models.Model),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='VMDetail',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('vm_id', models.IntegerField(default=0)),
|
|
||||||
('disk_size', models.FloatField(default=0.0)),
|
|
||||||
('cores', models.FloatField(default=0.0)),
|
|
||||||
('memory', models.FloatField(default=0.0)),
|
|
||||||
('configuration', models.CharField(default='', max_length=128)),
|
|
||||||
('ipv4', models.TextField(default='')),
|
|
||||||
('ipv6', models.TextField(default='')),
|
|
||||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
||||||
('terminated_at', models.DateTimeField(null=True)),
|
|
||||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='UserHostingKey',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('public_key', models.TextField()),
|
|
||||||
('private_key', models.FileField(blank=True, upload_to='private_keys')),
|
|
||||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
||||||
('name', models.CharField(max_length=100)),
|
|
||||||
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='UserCardDetail',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('last4', models.CharField(max_length=4)),
|
|
||||||
('brand', models.CharField(max_length=128)),
|
|
||||||
('card_id', models.CharField(blank=True, default='', max_length=100)),
|
|
||||||
('fingerprint', models.CharField(max_length=100)),
|
|
||||||
('exp_month', models.IntegerField()),
|
|
||||||
('exp_year', models.IntegerField()),
|
|
||||||
('preferred', models.BooleanField(default=False)),
|
|
||||||
('stripe_customer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='membership.stripecustomer')),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'permissions': (('pr_view_usercarddetail', 'View User Card'),),
|
|
||||||
},
|
|
||||||
bases=(utils.mixins.AssignPermissionsMixin, models.Model),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='OrderDetail',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('cores', models.IntegerField(default=0)),
|
|
||||||
('memory', models.IntegerField(default=0)),
|
|
||||||
('hdd_size', models.IntegerField(default=0)),
|
|
||||||
('ssd_size', models.IntegerField(default=0)),
|
|
||||||
('vm_template', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='datacenterlight.vmtemplate')),
|
|
||||||
],
|
|
||||||
bases=(utils.mixins.AssignPermissionsMixin, models.Model),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='MonthlyHostingBill',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('created', models.DateTimeField(help_text='When the invoice was created')),
|
|
||||||
('receipt_number', models.CharField(help_text='The receipt number that is generated on Stripe', max_length=100)),
|
|
||||||
('invoice_number', models.CharField(help_text='The invoice number that is generated on Stripe', max_length=100)),
|
|
||||||
('paid_at', models.DateTimeField(help_text='Date on which the bill was paid')),
|
|
||||||
('period_start', models.DateTimeField()),
|
|
||||||
('period_end', models.DateTimeField()),
|
|
||||||
('billing_reason', models.CharField(max_length=25)),
|
|
||||||
('discount', models.PositiveIntegerField()),
|
|
||||||
('total', models.IntegerField()),
|
|
||||||
('lines_data_count', models.IntegerField()),
|
|
||||||
('invoice_id', models.CharField(max_length=100, unique=True)),
|
|
||||||
('lines_meta_data_csv', models.TextField(default='')),
|
|
||||||
('subscription_ids_csv', models.TextField(default='')),
|
|
||||||
('customer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='membership.stripecustomer')),
|
|
||||||
('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='hosting.hostingorder')),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'permissions': (('pr_view_monthlyhostingbill', 'View Monthly Hosting'),),
|
|
||||||
},
|
|
||||||
bases=(utils.mixins.AssignPermissionsMixin, models.Model),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='hostingorder',
|
|
||||||
name='order_detail',
|
|
||||||
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='hosting.orderdetail'),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='hostingorder',
|
|
||||||
name='vm_pricing',
|
|
||||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='datacenterlight.vmpricing'),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='HostingBillLineItem',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('amount', models.IntegerField()),
|
|
||||||
('description', models.CharField(max_length=255)),
|
|
||||||
('discountable', models.BooleanField()),
|
|
||||||
('metadata', models.CharField(max_length=128)),
|
|
||||||
('period_start', models.DateTimeField()),
|
|
||||||
('period_end', models.DateTimeField()),
|
|
||||||
('proration', models.BooleanField()),
|
|
||||||
('quantity', models.PositiveIntegerField()),
|
|
||||||
('unit_amount', models.PositiveIntegerField()),
|
|
||||||
('monthly_hosting_bill', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='hosting.monthlyhostingbill')),
|
|
||||||
('stripe_plan', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='datacenterlight.stripeplan')),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'permissions': (('pr_view_hostingbilllineitem', 'View Monthly Hosting Bill Line Item'),),
|
|
||||||
},
|
|
||||||
bases=(utils.mixins.AssignPermissionsMixin, models.Model),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='HostingBill',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('total_price', models.FloatField(default=0.0)),
|
|
||||||
('billing_address', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='utils.billingaddress')),
|
|
||||||
('customer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='membership.stripecustomer')),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'permissions': (('pr_view_hostingbill', 'View Hosting Bill'),),
|
|
||||||
},
|
|
||||||
bases=(utils.mixins.AssignPermissionsMixin, models.Model),
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Generated by Django 4.2.7 on 2023-12-02 12:46
|
# Generated by Django 4.2.7 on 2023-12-06 11:35
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
import django.core.validators
|
import django.core.validators
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue