Added environment options - Fixed #56

pull/57/head
Fabio Caccamo 2019-03-20 12:33:53 +01:00
parent 1c2ac2a308
commit e58bbbeacf
6 changed files with 84 additions and 68 deletions

View File

@ -19,8 +19,10 @@ class ThemeAdmin(admin.ModelAdmin):
(_('Environment'), {
'classes': ('wide', ),
'fields': (
'env',
'env_visible',
'env_name',
'env_color',
'env_visible_in_header',
'env_visible_in_favicon',
)
}),
(_('Logo'), {

View File

@ -0,0 +1,59 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import colorfield.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('admin_interface', '0010_add_localization'),
]
operations = [
migrations.RenameField(
model_name='theme',
old_name='env',
new_name='env_name',
),
migrations.AlterField(
model_name='theme',
name='env_name',
field=models.CharField(
blank=True,
max_length=50,
verbose_name='name'),
),
migrations.AddField(
model_name='theme',
name='env_color',
field=colorfield.fields.ColorField(
blank=True,
default='#E74C3C',
help_text='(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: #3498DB)',
max_length=10,
verbose_name='color'),
),
migrations.RenameField(
model_name='theme',
old_name='env_visible',
new_name='env_visible_in_header',
),
migrations.AlterField(
model_name='theme',
name='env_visible_in_header',
field=models.BooleanField(
default=True,
verbose_name='visible in header (marker and name)'),
),
migrations.AddField(
model_name='theme',
name='env_visible_in_favicon',
field=models.BooleanField(
default=True,
verbose_name='visible in favicon (marker)'),
),
]

View File

@ -67,7 +67,7 @@ class Theme(models.Model):
default='#F5DD5D',
help_text='#F5DD5D',
max_length=10,
verbose_name=_('title color'))
verbose_name=_('color'))
title_visible = models.BooleanField(
default=True,
verbose_name=_('visible'))
@ -82,7 +82,7 @@ class Theme(models.Model):
default='#FFFFFF',
help_text='#FFFFFF',
max_length=10,
verbose_name=_('logo color'))
verbose_name=_('color'))
logo_visible = models.BooleanField(
default=True,
verbose_name=_('visible'))
@ -93,35 +93,22 @@ class Theme(models.Model):
help_text=_('(.ico|.png|.gif - 16x16|32x32 px)'),
verbose_name=_('favicon'))
envs = (
'development',
'testing',
'staging',
'production',
)
env_choices = (
(envs[0], _('Development'), ),
(envs[1], _('Testing'), ),
(envs[2], _('Staging'), ),
(envs[3], _('Production'), ),
)
env = models.CharField(
env_name = models.CharField(
blank=True,
max_length=50,
choices=env_choices,
default=env_choices[0][0],
verbose_name=_('environment'))
env_visible = models.BooleanField(
verbose_name=_('name'))
env_color = ColorField(
blank=True,
default='#E74C3C',
help_text=_('(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: #3498DB)'),
max_length=10,
verbose_name=_('color'))
env_visible_in_header = models.BooleanField(
default=True,
verbose_name=_('visible'))
env_colors = {
envs[0]: '#e74c3c',
envs[1]: '#e67e22',
envs[2]: '#f1c40f',
envs[3]: '#2ecc71',
}
@property
def env_color(self):
return Theme.env_colors.get(self.env, '')
verbose_name=_('visible in header (marker and name)'))
env_visible_in_favicon = models.BooleanField(
default=True,
verbose_name=_('visible in favicon (marker)'))
css_header_background_color = ColorField(
blank=True,

View File

@ -64,5 +64,5 @@ https://github.com/fabiocaccamo/django-admin-interface
{% block welcome-msg %}
{% get_admin_interface_theme as theme %}
{% if theme.env_visible %}<span class="enviroment-label {{ theme.env }}"></span> - {% endif %}{{ block.super }}<br>
{% if theme.env_visible_in_header %}<span class="enviroment-label {{ theme.env_name }}"></span> - {% endif %}{{ block.super }}<br>
{% endblock %}

View File

@ -11,7 +11,7 @@
display: inline-block;
width: 8px;
height: 8px;
background-color: #CCCCCC;
background-color: {{ theme.env_color }};
border-radius: 100%;
margin-right: 6px;
box-sizing: border-box;
@ -19,44 +19,12 @@
-webkit-box-sizing: border-box;
}
.admin-interface .enviroment-label.development::before {
background-color: {{ theme.env_colors.development }};
}
.admin-interface .enviroment-label.testing::before {
background-color: {{ theme.env_colors.testing }};
}
.admin-interface .enviroment-label.staging::before {
background-color: {{ theme.env_colors.staging }};
}
.admin-interface .enviroment-label.production::before {
background-color: {{ theme.env_colors.production }};
}
.admin-interface .enviroment-label::after {
content: "";
}
.admin-interface .enviroment-label.development::after {
content: "development";
}
.admin-interface .enviroment-label.testing::after {
content: "testing";
}
.admin-interface .enviroment-label.staging::after {
content: "staging";
}
.admin-interface .enviroment-label.production::after {
content: "production";
content: "{{ theme.env_name }}";
}
.admin-interface #branding h1 {
color:{{ theme.title_color }};
color: {{ theme.title_color }};
}
.admin-interface #branding h1 .logo.default {

View File

@ -2,7 +2,7 @@
{% if theme.favicon %}
<link rel="icon" type="image/x-icon" href="{{ theme.favicon.url }}?v={{ version }}" />
{% if theme.env_visible %}
{% if theme.env_visible_in_favicon %}
<script type="text/javascript" src="{% static 'admin_interface/favico/favico-0.3.10-patched.min.js' %}?v={{ version }}"></script>
<script type="text/javascript">
var favicon = new Favico({