Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d81c7fcdd8 | |||
| 4d07e9fec5 | |||
| 3b982a84c3 | |||
| 072fdcdc95 |
@@ -19,6 +19,10 @@ class ThemeAdmin(admin.ModelAdmin):
|
||||
'classes': ('wide', ),
|
||||
'fields': ('logo', 'logo_color', 'logo_visible', )
|
||||
}),
|
||||
('Favicon', {
|
||||
'classes': ('wide', ),
|
||||
'fields': ('favicon', )
|
||||
}),
|
||||
('Title', {
|
||||
'classes': ('wide', ),
|
||||
'fields': ('title', 'title_color', 'title_visible', )
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11 on 2017-08-24 10:49
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('admin_interface', '0006_bytes_to_str'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='theme',
|
||||
name='favicon',
|
||||
field=models.FileField(blank=True, help_text='(.ico|.png|.gif - 16x16|32x32 px)', upload_to='admin-interface/favicon/', verbose_name='favicon'),
|
||||
),
|
||||
]
|
||||
@@ -31,18 +31,20 @@ class Theme(models.Model):
|
||||
def get_active_theme():
|
||||
|
||||
objs_active_qs = Theme.objects.filter( active = True )
|
||||
objs_active_ls = list(objs_active_qs)
|
||||
objs_active_count = len(objs_active_ls)
|
||||
|
||||
#get or create default theme and enforce default logo if deleted
|
||||
default_obj_active = (objs_active_qs.count() == 0)
|
||||
default_obj, default_obj_created = Theme.objects.get_or_create(pk = '1', defaults = { 'active':default_obj_active })
|
||||
if objs_active_count == 0:
|
||||
default_obj, default_obj_created = Theme.objects.get_or_create(pk = '1', defaults = { 'active':True })
|
||||
if not default_obj_created:
|
||||
default_obj.set_active()
|
||||
obj = default_obj
|
||||
|
||||
if not default_obj_created and default_obj_active:
|
||||
default_obj.set_active()
|
||||
elif objs_active_count == 1:
|
||||
obj = objs_active_ls[0]
|
||||
|
||||
obj = objs_active_qs.last()
|
||||
objs_active_count = objs_active_qs.count()
|
||||
|
||||
if objs_active_count > 1:
|
||||
elif objs_active_count > 1:
|
||||
obj = objs_active_ls[-1]
|
||||
obj.set_active()
|
||||
|
||||
return obj
|
||||
@@ -58,6 +60,8 @@ class Theme(models.Model):
|
||||
logo_color = ColorField( blank = True, default = '#FFFFFF', help_text = '#FFFFFF', max_length = 10, verbose_name = 'logo color' )
|
||||
logo_visible = models.BooleanField( default = True, verbose_name = 'visible' )
|
||||
|
||||
favicon = models.FileField( upload_to = 'admin-interface/favicon/', blank = True, help_text = '(.ico|.png|.gif - 16x16|32x32 px)', verbose_name = 'favicon' )
|
||||
|
||||
css_header_background_color = ColorField( blank = True, default = '#0C4B33', help_text = '#0C4B33', max_length = 10, verbose_name = 'background color' )
|
||||
css_header_text_color = ColorField( blank = True, default = '#44B78B', help_text = '#44B78B', max_length = 10, verbose_name = 'text color' )
|
||||
css_header_link_color = ColorField( blank = True, default = '#FFFFFF', help_text = '#FFFFFF', max_length = 10, verbose_name = 'link color' )
|
||||
|
||||
@@ -38,6 +38,9 @@ https://github.com/fabiocaccamo/django-admin-interface
|
||||
{# https://github.com/elky/django-flat-responsive#important-note #}
|
||||
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin/css/responsive.css' %}?v={{ version }}" />
|
||||
{% if theme.favicon %}
|
||||
<link rel="icon" type="image/x-icon" href="{{ theme.favicon.url }}?v={{ version }}" />
|
||||
{% endif %}
|
||||
{% if theme.related_modal_active %}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_interface/magnific-popup/magnific-popup.css' %}?v={{ version }}" />
|
||||
<script type="text/javascript" src="{% static 'admin_interface/magnific-popup/jquery.magnific-popup.js' %}?v={{ version }}"></script>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
__version__ = '0.5.1'
|
||||
__version__ = '0.5.2'
|
||||
|
||||
|
||||
+8
-1
@@ -9,6 +9,7 @@ import random
|
||||
import shutil
|
||||
|
||||
from admin_interface.models import Theme
|
||||
from admin_interface.version import __version__
|
||||
|
||||
|
||||
class AdminInterfaceTestCase(TestCase):
|
||||
@@ -107,6 +108,12 @@ class AdminInterfaceTestCase(TestCase):
|
||||
rendered = self.__render_template('{% load admin_interface_tags %}{% get_admin_interface_theme as theme %}{{ theme.name }}', context)
|
||||
self.assertEqual(rendered, 'Django')
|
||||
|
||||
def test_templatetags_version(self):
|
||||
|
||||
context = Context({})
|
||||
rendered = self.__render_template('{% load admin_interface_tags %}{% get_admin_interface_version as version %}{{ version }}', context)
|
||||
self.assertEqual(rendered, __version__)
|
||||
|
||||
def test_templatetags_with_request(self):
|
||||
|
||||
Theme.objects.all().delete()
|
||||
@@ -118,5 +125,5 @@ class AdminInterfaceTestCase(TestCase):
|
||||
|
||||
def test_repr(self):
|
||||
theme = Theme.get_active_theme()
|
||||
self.assertEqual( "{0}".format(theme), 'Django' )
|
||||
self.assertEqual( '{0}'.format(theme), 'Django' )
|
||||
|
||||
|
||||
Reference in New Issue
Block a user