Cleaned whitespace
parent
710370e903
commit
816c05bebd
|
|
@ -6,10 +6,10 @@ from admin_interface.models import Theme
|
|||
|
||||
|
||||
class ThemeAdmin(admin.ModelAdmin):
|
||||
|
||||
|
||||
list_display = ('name', 'active', )
|
||||
list_editable = ('active', )
|
||||
|
||||
|
||||
fieldsets = (
|
||||
(None, {
|
||||
'classes': ('wide', ),
|
||||
|
|
@ -48,8 +48,8 @@ class ThemeAdmin(admin.ModelAdmin):
|
|||
'fields': ('list_filter_dropdown', )
|
||||
}),
|
||||
)
|
||||
|
||||
|
||||
save_on_top = True
|
||||
|
||||
|
||||
admin.site.register(Theme, ThemeAdmin)
|
||||
|
||||
|
|
|
|||
|
|
@ -4,15 +4,13 @@ from django.apps import AppConfig
|
|||
from django.db.models.signals import post_migrate
|
||||
|
||||
|
||||
|
||||
class AdminInterfaceConfig(AppConfig):
|
||||
|
||||
|
||||
name = 'admin_interface'
|
||||
verbose_name = 'Admin Interface'
|
||||
|
||||
|
||||
def ready(self):
|
||||
|
||||
|
||||
from admin_interface.models import Theme
|
||||
post_migrate.connect(Theme.post_migrate_handler, sender = self)
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -10,101 +10,101 @@ import os
|
|||
|
||||
|
||||
class Theme(models.Model):
|
||||
|
||||
|
||||
@staticmethod
|
||||
def post_migrate_handler(sender, **kwargs):
|
||||
Theme.get_or_create_default_theme()
|
||||
|
||||
|
||||
@staticmethod
|
||||
def post_delete_handler(instance, **kwargs):
|
||||
Theme.get_or_create_default_theme()
|
||||
|
||||
|
||||
@staticmethod
|
||||
def post_save_handler(instance, created, **kwargs):
|
||||
instance.set_active(instance.active)
|
||||
Theme.get_or_create_default_theme()
|
||||
|
||||
|
||||
@staticmethod
|
||||
def get_or_create_default_theme():
|
||||
|
||||
|
||||
obj_active = (True if len(list(Theme.objects.filter(active = True))) == 0 else False)
|
||||
obj, obj_created = Theme.objects.get_or_create(pk = '1', defaults = { 'active':obj_active })
|
||||
|
||||
|
||||
if not obj.logo:
|
||||
obj.set_default_logo()
|
||||
|
||||
|
||||
if not obj_created and obj_active:
|
||||
obj.set_active(True)
|
||||
|
||||
|
||||
return (obj, obj_created, )
|
||||
|
||||
|
||||
name = models.CharField( max_length = 50, default = 'Django' )
|
||||
active = models.BooleanField( default = True )
|
||||
|
||||
|
||||
title = models.CharField( max_length = 50, default = 'Django administration', blank = True )
|
||||
title_visible = models.BooleanField( default = True, verbose_name = 'visible' )
|
||||
|
||||
|
||||
logo = models.FileField( upload_to = 'admin-interface/logo/', blank = True )
|
||||
logo_visible = models.BooleanField( default = True, verbose_name = 'visible' )
|
||||
|
||||
|
||||
css_header_background_color = ColorField( blank = True, default = '#0C4B33', help_text = '#0C4B33', verbose_name = 'background color' )
|
||||
css_header_title_color = ColorField( blank = True, default = '#F5DD5D', help_text = '#F5DD5D', verbose_name = 'title color' )
|
||||
css_header_text_color = ColorField( blank = True, default = '#44B78B', help_text = '#44B78B', verbose_name = 'text color' )
|
||||
css_header_link_color = ColorField( blank = True, default = '#FFFFFF', help_text = '#FFFFFF', verbose_name = 'link color' )
|
||||
css_header_link_hover_color = ColorField( blank = True, default = '#C9F0DD', help_text = '#C9F0DD', verbose_name = 'link hover color' )
|
||||
|
||||
|
||||
css_module_background_color = ColorField( blank = True, default = '#44B78B', help_text = '#44B78B', verbose_name = 'background color' )
|
||||
css_module_text_color = ColorField( blank = True, default = '#FFFFFF', help_text = '#FFFFFF', verbose_name = 'text color' )
|
||||
css_module_link_color = ColorField( blank = True, default = '#FFFFFF', help_text = '#FFFFFF', verbose_name = 'link color' )
|
||||
css_module_link_hover_color = ColorField( blank = True, default = '#C9F0DD', help_text = '#C9F0DD', verbose_name = 'link hover color' )
|
||||
css_module_rounded_corners = models.BooleanField( default = True, verbose_name = 'rounded corners' )
|
||||
|
||||
|
||||
css_generic_link_color = ColorField( blank = True, default = '#0C3C26', help_text = '#0C3C26', verbose_name = 'link color' )
|
||||
css_generic_link_hover_color = ColorField( blank = True, default = '#156641', help_text = '#156641', verbose_name = 'link hover color' )
|
||||
|
||||
|
||||
css_save_button_background_color = ColorField( blank = True, default = '#0C4B33', help_text = '#0C4B33', verbose_name = 'background color' )
|
||||
css_save_button_background_hover_color = ColorField( blank = True, default = '#0C3C26', help_text = '#0C3C26', verbose_name = 'background hover color' )
|
||||
css_save_button_text_color = ColorField( blank = True, default = '#FFFFFF', help_text = '#FFFFFF', verbose_name = 'text color' )
|
||||
|
||||
|
||||
css_delete_button_background_color = ColorField( blank = True, default = '#BA2121', help_text = '#BA2121', verbose_name = 'background color' )
|
||||
css_delete_button_background_hover_color = ColorField( blank = True, default = '#A41515', help_text = '#A41515', verbose_name = 'background hover color' )
|
||||
css_delete_button_text_color = ColorField( blank = True, default = '#FFFFFF', help_text = '#FFFFFF', verbose_name = 'text color' )
|
||||
|
||||
|
||||
css = models.TextField( blank = True )
|
||||
|
||||
|
||||
list_filter_dropdown = models.BooleanField( default = False )
|
||||
|
||||
|
||||
|
||||
|
||||
def set_active(self, value):
|
||||
|
||||
|
||||
if value:
|
||||
Theme.objects.exclude(pk = self.pk).update(active = False)
|
||||
Theme.objects.filter(pk = self.pk).update(active = True)
|
||||
else:
|
||||
Theme.objects.filter(pk = self.pk).update(active = False)
|
||||
|
||||
|
||||
def set_default_logo(self):
|
||||
|
||||
|
||||
logo_path = os.path.normpath(os.path.dirname(__file__) + '/data/logo-django.svg')
|
||||
logo_file = open(logo_path)
|
||||
|
||||
|
||||
self.logo = File(logo_file)
|
||||
self.save()
|
||||
|
||||
|
||||
logo_file.close()
|
||||
|
||||
|
||||
class Meta:
|
||||
|
||||
|
||||
app_label = 'admin_interface'
|
||||
|
||||
|
||||
verbose_name = 'Theme'
|
||||
verbose_name_plural = 'Themes'
|
||||
|
||||
|
||||
def __unicode__(self):
|
||||
|
||||
|
||||
return unicode(u'%s' % (self.name, ))
|
||||
|
||||
|
||||
|
||||
|
||||
post_delete.connect(Theme.post_delete_handler, sender = Theme)
|
||||
post_save.connect(Theme.post_save_handler, sender = Theme)
|
||||
|
||||
|
|
|
|||
|
|
@ -10,16 +10,15 @@ register = template.Library()
|
|||
|
||||
@register.assignment_tag(takes_context = True)
|
||||
def get_admin_interface_theme(context):
|
||||
|
||||
|
||||
obj_qs = Theme.objects.filter(active = True)[:1]
|
||||
obj_ls = list(obj_qs)
|
||||
obj = None
|
||||
|
||||
|
||||
if len(obj_ls):
|
||||
obj = obj_ls[0]
|
||||
else:
|
||||
obj = Theme.get_or_create_default_theme()
|
||||
|
||||
|
||||
return obj
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue