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
+ }