This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git


The following commit(s) were added to refs/heads/master by this push:
     new b9e4c4a  AIRAVATA-2856 Global Gateway Icon and Title CMS snippets
b9e4c4a is described below

commit b9e4c4ada011df477a5a820d2ed7fdaabf00910f
Author: Marcus Christie <[email protected]>
AuthorDate: Thu Jul 19 11:56:59 2018 -0400

    AIRAVATA-2856 Global Gateway Icon and Title CMS snippets
---
 django_airavata/static/common/scss/main.scss       | 11 ++++-
 django_airavata/templates/base.html                | 16 ++-----
 .../includes/gateway_icon.html                     | 14 ++++++
 .../includes/gateway_title.html                    |  5 ++
 .../migrations/0017_gatewayicon_gatewaytitle.py    | 38 +++++++++++++++
 django_airavata/wagtailapps/base/models.py         | 54 ++++++++++++++++++++++
 .../base/templatetags/navigation_tags.py           | 20 ++++++++
 7 files changed, 143 insertions(+), 15 deletions(-)

diff --git a/django_airavata/static/common/scss/main.scss 
b/django_airavata/static/common/scss/main.scss
index 683dc7f..5ca0024 100644
--- a/django_airavata/static/common/scss/main.scss
+++ b/django_airavata/static/common/scss/main.scss
@@ -17,11 +17,18 @@ body {
     &__logo {
         margin-right: 1rem;
         width: 70px;
-        background-color: #990000;
-        
+        height: 70px;
+        background-color: #EEEEEE;
+        display: flex;
+        flex-direction: column;
+        justify-content: center;
+
         svg {
             display: block;
         }
+        img {
+            max-width: 100%;
+        }
     }
     
     &__title {
diff --git a/django_airavata/templates/base.html 
b/django_airavata/templates/base.html
index 157e6b4..28a46a4 100644
--- a/django_airavata/templates/base.html
+++ b/django_airavata/templates/base.html
@@ -1,4 +1,4 @@
-{% load static %}
+{% load navigation_tags static %}
 <!DOCTYPE html>
 <head>
     <link rel=stylesheet type=text/css href="{% static 
'bootstrap-4.0.0-beta/css/bootstrap.min.css' %}">
@@ -138,19 +138,9 @@
 <body>
 <header class=c-header>
     {% block header %}
-        <div class=c-header__logo>
-            <a href="{% url 'home' %}">
-                <svg aria-labelledby=iu-logo xmlns=http://www.w3.org/2000/svg 
width=70 height=70 viewBox="0 0 70 70">
-                    <title
-                            id=iu-logo>IU logo</title>
-                    <polygon
-                            points="40.96 18.44 40.96 21.84 43.52 21.84 43.52 
40.51 38.41 40.51 38.41 15.9 40.96 15.9 40.96 12.5 29.04 12.5 29.04 15.9 31.58 
15.9 31.58 40.51 26.48 40.51 26.48 21.84 29.04 21.84 29.04 18.44 17.09 18.44 
17.09 21.84 19.65 21.84 19.65 43.79 23.72 48.15 31.58 48.15 31.58 53.26 29.04 
53.26 29.04 57.5 40.96 57.5 40.96 53.26 38.41 53.26 38.41 48.15 45.93 48.15 
50.33 43.79 50.33 21.84 52.91 21.84 52.91 18.44 40.96 18.44"
-                            fill="#fff"/>
-                </svg>
-            </a>
-        </div>
+        {% gateway_icon %}
     {% endblock %}
-    <div class=c-header__title><a href="{% url 'home' %}">{% block title 
%}Django Airavata Gateway{% endblock %}</a>
+    <div class=c-header__title><a href="{% url 'home' %}">{% block title %}{% 
gateway_title %}{% endblock %}</a>
     </div>
     {% if user.is_authenticated %}
         <div class=c-header__controls>
diff --git 
a/django_airavata/templates/django_airavata_wagtail_base/includes/gateway_icon.html
 
b/django_airavata/templates/django_airavata_wagtail_base/includes/gateway_icon.html
new file mode 100644
index 0000000..33ec81e
--- /dev/null
+++ 
b/django_airavata/templates/django_airavata_wagtail_base/includes/gateway_icon.html
@@ -0,0 +1,14 @@
+{% load wagtailimages_tags static %}
+{% if not gateway_icon %}
+<div class=c-header__logo>
+    <a href="{% url 'home' %}">
+        <img src="{% static 'images/airavata-logo.png' %}" />
+    </a>
+</div>
+{% else %}
+<div class=c-header__logo style="background-color: 
{{gateway_icon.background_color}}">
+    <a href="{% url 'home' %}">
+        {% image gateway_icon.icon max-70x70 %}
+    </a>
+</div>
+{% endif %}
diff --git 
a/django_airavata/templates/django_airavata_wagtail_base/includes/gateway_title.html
 
b/django_airavata/templates/django_airavata_wagtail_base/includes/gateway_title.html
new file mode 100644
index 0000000..3905188
--- /dev/null
+++ 
b/django_airavata/templates/django_airavata_wagtail_base/includes/gateway_title.html
@@ -0,0 +1,5 @@
+{% if not gateway_title %}
+    Django Airavata Gateway
+{% else %}
+    {{ gateway_title.title_text }}
+{% endif %}
diff --git 
a/django_airavata/wagtailapps/base/migrations/0017_gatewayicon_gatewaytitle.py 
b/django_airavata/wagtailapps/base/migrations/0017_gatewayicon_gatewaytitle.py
new file mode 100644
index 0000000..221c032
--- /dev/null
+++ 
b/django_airavata/wagtailapps/base/migrations/0017_gatewayicon_gatewaytitle.py
@@ -0,0 +1,38 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.3 on 2018-07-19 15:46
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('wagtailimages', '0019_delete_filter'),
+        ('django_airavata_wagtail_base', '0016_auto_20180427_1755'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='GatewayIcon',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, 
serialize=False, verbose_name='ID')),
+                ('background_color', models.CharField(default='#EEEEEE', 
help_text='Background color for icon (e.g. #FFFFFF)', max_length=10)),
+                ('icon', models.ForeignKey(blank=True, help_text='Choose 
Gateway Icon with dimensions 70x70', null=True, 
on_delete=django.db.models.deletion.SET_NULL, related_name='+', 
to='wagtailimages.Image')),
+            ],
+            options={
+                'verbose_name_plural': 'Gateway Icon',
+            },
+        ),
+        migrations.CreateModel(
+            name='GatewayTitle',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, 
serialize=False, verbose_name='ID')),
+                ('title_text', models.CharField(help_text='Title to display to 
logged in users.', max_length=100)),
+            ],
+            options={
+                'verbose_name_plural': 'Gateway Title',
+            },
+        ),
+    ]
diff --git a/django_airavata/wagtailapps/base/models.py 
b/django_airavata/wagtailapps/base/models.py
index e1b9742..18c4d87 100644
--- a/django_airavata/wagtailapps/base/models.py
+++ b/django_airavata/wagtailapps/base/models.py
@@ -352,6 +352,60 @@ class CustomHeaderLinks(models.Model):
     class Meta:
         verbose_name_plural = 'Header Custom Links'
 
+
+@register_snippet
+class GatewayIcon(models.Model):
+    """
+    Image icon displayed in the header for logged in users.
+    """
+
+    icon = models.ForeignKey(
+        'wagtailimages.Image',
+        null=True,
+        blank=True,
+        on_delete=models.SET_NULL,
+        related_name='+',
+        help_text='Choose Gateway Icon with dimensions 70x70'
+    )
+    background_color = models.CharField(
+        max_length=10,
+        default="#EEEEEE",
+        help_text='Background color for icon (e.g. #FFFFFF)',
+    )
+
+    panels = [
+        ImageChooserPanel('icon'),
+        FieldPanel('background_color'),
+    ]
+
+    def __str__(self):
+        return "Gateway Icon"
+
+    class Meta:
+        verbose_name_plural = 'Gateway Icon'
+
+
+@register_snippet
+class GatewayTitle(models.Model):
+    """
+    Title displayed in the header for logged in users.
+    """
+
+    title_text = models.CharField(
+        max_length=100,
+        help_text='Title to display to logged in users.',
+    )
+
+    panels = [
+        FieldPanel('title_text'),
+    ]
+
+    def __str__(self):
+        return "Gateway Title: {}".format(self.title_text)
+
+    class Meta:
+        verbose_name_plural = 'Gateway Title'
+
 class HomePage(Page):
     """
     The Home Page. This looks slightly more complicated than it is. You can
diff --git a/django_airavata/wagtailapps/base/templatetags/navigation_tags.py 
b/django_airavata/wagtailapps/base/templatetags/navigation_tags.py
index a996c64..ba0dbac 100644
--- a/django_airavata/wagtailapps/base/templatetags/navigation_tags.py
+++ b/django_airavata/wagtailapps/base/templatetags/navigation_tags.py
@@ -14,6 +14,10 @@ from django_airavata.wagtailapps.base.models import CustomCss
 
 from django_airavata.wagtailapps.base.models import NavExtra
 
+from django_airavata.wagtailapps.base.models import GatewayIcon
+
+from django_airavata.wagtailapps.base.models import GatewayTitle
+
 
 register = template.Library()
 # https://docs.djangoproject.com/en/1.9/howto/custom-template-tags/
@@ -161,3 +165,19 @@ def get_nav_extra(context):
     return {
         'navextra': nav_extra,
     }
+
[email protected]_tag('django_airavata_wagtail_base/includes/gateway_icon.html',
 takes_context=True)
+def gateway_icon(context):
+    gateway_icon = GatewayIcon.objects.first()
+
+    return {
+        'gateway_icon': gateway_icon
+    }
+
[email protected]_tag('django_airavata_wagtail_base/includes/gateway_title.html',
 takes_context=True)
+def gateway_title(context):
+    gateway_title = GatewayTitle.objects.first()
+
+    return {
+        'gateway_title': gateway_title
+    }

Reply via email to