diff --git a/innovedus_cms/base/migrations/0005_headersettring.py b/innovedus_cms/base/migrations/0005_headersettring.py new file mode 100644 index 0000000..8d138e0 --- /dev/null +++ b/innovedus_cms/base/migrations/0005_headersettring.py @@ -0,0 +1,28 @@ +# Generated by Django 5.2.7 on 2025-10-16 04:59 + +import django.db.models.deletion +import wagtail.fields +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0004_alter_navigationsettings_options_and_more'), + ('wagtailimages', '0027_image_description'), + ] + + operations = [ + migrations.CreateModel( + name='HeaderSettring', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('site_name', models.CharField(blank=True, max_length=255)), + ('extra_links', wagtail.fields.StreamField([('link', 2)], blank=True, block_lookup={0: ('wagtail.blocks.CharBlock', (), {}), 1: ('wagtail.blocks.URLBlock', (), {}), 2: ('wagtail.blocks.StructBlock', [[('label', 0), ('url', 1)]], {})}, null=True)), + ('logo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.image')), + ], + options={ + 'verbose_name': 'Header Settings', + }, + ), + ] diff --git a/innovedus_cms/base/migrations/0006_rename_headersettring_headersettrings.py b/innovedus_cms/base/migrations/0006_rename_headersettring_headersettrings.py new file mode 100644 index 0000000..f5fc5b2 --- /dev/null +++ b/innovedus_cms/base/migrations/0006_rename_headersettring_headersettrings.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2.7 on 2025-10-16 05:11 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0005_headersettring'), + ('wagtailimages', '0027_image_description'), + ] + + operations = [ + migrations.RenameModel( + old_name='HeaderSettring', + new_name='HeaderSettrings', + ), + ] diff --git a/innovedus_cms/base/migrations/0007_rename_headersettrings_headersettings.py b/innovedus_cms/base/migrations/0007_rename_headersettrings_headersettings.py new file mode 100644 index 0000000..1a1f312 --- /dev/null +++ b/innovedus_cms/base/migrations/0007_rename_headersettrings_headersettings.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2.7 on 2025-10-16 05:12 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0006_rename_headersettring_headersettrings'), + ('wagtailimages', '0027_image_description'), + ] + + operations = [ + migrations.RenameModel( + old_name='HeaderSettrings', + new_name='HeaderSettings', + ), + ] diff --git a/innovedus_cms/base/models.py b/innovedus_cms/base/models.py index 47e1f04..99355ee 100644 --- a/innovedus_cms/base/models.py +++ b/innovedus_cms/base/models.py @@ -27,6 +27,37 @@ from wagtail.snippets.models import register_snippet from wagtail.fields import StreamField from wagtail import blocks +@register_setting +class HeaderSettings(BaseGenericSetting): + logo = models.ForeignKey( + "wagtailimages.Image", + null=True, + blank=True, + on_delete=models.SET_NULL, + related_name="+", + ) + site_name = models.CharField(max_length=255, blank=True) + extra_links = StreamField([ + ("link", blocks.StructBlock([ + ("label", blocks.CharBlock()), + ("url", blocks.URLBlock()) + ])) + ], use_json_field=True, blank=True, null=True) + + panels = [ + MultiFieldPanel( + [ + FieldPanel("logo"), + FieldPanel("site_name"), + FieldPanel("extra_links"), + ], + heading="Header Settings", + ), + ] + + class Meta: + verbose_name = "Header Settings" + @register_setting class NavigationSettings(BaseGenericSetting): footer_links = StreamField([ diff --git a/innovedus_cms/manage.py b/innovedus_cms/manage.py index 64f57ad..336e757 100644 --- a/innovedus_cms/manage.py +++ b/innovedus_cms/manage.py @@ -3,10 +3,10 @@ import os import sys -# from dotenv import load_dotenv +from dotenv import load_dotenv -# env_file = os.environ.get("ENV_FILE", "../.env") -# load_dotenv(env_file) +env_file = os.environ.get("ENV_FILE", "../.env") +load_dotenv(env_file) def main(): """Run administrative tasks.""" diff --git a/innovedus_cms/media/images/DeButAI.2e16d0ba.fill-200x60.jpg b/innovedus_cms/media/images/DeButAI.2e16d0ba.fill-200x60.jpg new file mode 100644 index 0000000..5d8d7a5 Binary files /dev/null and b/innovedus_cms/media/images/DeButAI.2e16d0ba.fill-200x60.jpg differ diff --git a/innovedus_cms/media/images/DeButAI.2e16d0ba.fill-60x60.jpg b/innovedus_cms/media/images/DeButAI.2e16d0ba.fill-60x60.jpg new file mode 100644 index 0000000..cfc35fd Binary files /dev/null and b/innovedus_cms/media/images/DeButAI.2e16d0ba.fill-60x60.jpg differ diff --git a/innovedus_cms/media/images/DeButAI.max-165x165.jpg b/innovedus_cms/media/images/DeButAI.max-165x165.jpg new file mode 100644 index 0000000..fb04d97 Binary files /dev/null and b/innovedus_cms/media/images/DeButAI.max-165x165.jpg differ diff --git a/innovedus_cms/media/original_images/DeButAI.jpg b/innovedus_cms/media/original_images/DeButAI.jpg new file mode 100644 index 0000000..8d27988 Binary files /dev/null and b/innovedus_cms/media/original_images/DeButAI.jpg differ diff --git a/innovedus_cms/mysite/templates/base.html b/innovedus_cms/mysite/templates/base.html index 530596f..5378b0d 100644 --- a/innovedus_cms/mysite/templates/base.html +++ b/innovedus_cms/mysite/templates/base.html @@ -34,6 +34,8 @@
{% wagtailuserbar %} + {% include "includes/header.html" %} + {% block content %}{% endblock %} {% include "includes/footer.html" %} diff --git a/innovedus_cms/mysite/templates/includes/header.html b/innovedus_cms/mysite/templates/includes/header.html new file mode 100644 index 0000000..560fcc7 --- /dev/null +++ b/innovedus_cms/mysite/templates/includes/header.html @@ -0,0 +1,30 @@ +{% load wagtailsettings_tags wagtailimages_tags %} +{% get_settings use_default_site=True as settings %} + +