|
|
|
|
@ -14,28 +14,29 @@ class Theme(models.Model):
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
def post_migrate_handler(sender, **kwargs):
|
|
|
|
|
Theme.get_active_theme()
|
|
|
|
|
theme = Theme.get_active_theme()
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
def post_delete_handler(instance, **kwargs):
|
|
|
|
|
Theme.get_active_theme()
|
|
|
|
|
theme = Theme.get_active_theme()
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
def post_save_handler(instance, created, **kwargs):
|
|
|
|
|
theme = instance
|
|
|
|
|
if theme.active:
|
|
|
|
|
Theme.objects.exclude( pk = theme.pk ).update( active = False )
|
|
|
|
|
Theme.get_active_theme()
|
|
|
|
|
Theme.objects.exclude(pk=theme.pk).update(active=False)
|
|
|
|
|
theme = Theme.get_active_theme()
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
def get_active_theme():
|
|
|
|
|
|
|
|
|
|
objs_active_qs = Theme.objects.filter( active = True )
|
|
|
|
|
objs_active_qs = Theme.objects.filter(active=True)
|
|
|
|
|
objs_active_ls = list(objs_active_qs)
|
|
|
|
|
objs_active_count = len(objs_active_ls)
|
|
|
|
|
|
|
|
|
|
if objs_active_count == 0:
|
|
|
|
|
default_obj, default_obj_created = Theme.objects.get_or_create(pk = '1', defaults = { 'active':True })
|
|
|
|
|
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
|
|
|
|
|
@ -49,45 +50,92 @@ class Theme(models.Model):
|
|
|
|
|
|
|
|
|
|
return obj
|
|
|
|
|
|
|
|
|
|
name = models.CharField( max_length = 50, default = 'Django' )
|
|
|
|
|
active = models.BooleanField( default = True )
|
|
|
|
|
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_color = ColorField( blank = True, default = '#F5DD5D', help_text = '#F5DD5D', max_length = 10, verbose_name = 'title color' )
|
|
|
|
|
title_visible = models.BooleanField( default = True, verbose_name = 'visible' )
|
|
|
|
|
title = models.CharField(
|
|
|
|
|
max_length=50, default='Django administration', blank=True)
|
|
|
|
|
title_color = ColorField(
|
|
|
|
|
blank=True, default='#F5DD5D', help_text='#F5DD5D',
|
|
|
|
|
max_length=10, verbose_name='title color')
|
|
|
|
|
title_visible = models.BooleanField(
|
|
|
|
|
default=True, verbose_name='visible')
|
|
|
|
|
|
|
|
|
|
logo = models.FileField( upload_to = 'admin-interface/logo/', blank = True, help_text = '(leave blank to use the default Django logo)' )
|
|
|
|
|
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' )
|
|
|
|
|
logo = models.FileField(
|
|
|
|
|
upload_to='admin-interface/logo/', blank=True,
|
|
|
|
|
help_text='(leave blank to use the default Django logo)')
|
|
|
|
|
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' )
|
|
|
|
|
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' )
|
|
|
|
|
css_header_link_hover_color = ColorField( blank = True, default = '#C9F0DD', help_text = '#C9F0DD', max_length = 10, verbose_name = 'link hover color' )
|
|
|
|
|
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')
|
|
|
|
|
css_header_link_hover_color = ColorField(
|
|
|
|
|
blank=True, default='#C9F0DD', help_text='#C9F0DD',
|
|
|
|
|
max_length=10, verbose_name='link hover color')
|
|
|
|
|
|
|
|
|
|
css_module_background_color = ColorField( blank = True, default = '#44B78B', help_text = '#44B78B', max_length = 10, verbose_name = 'background color' )
|
|
|
|
|
css_module_text_color = ColorField( blank = True, default = '#FFFFFF', help_text = '#FFFFFF', max_length = 10, verbose_name = 'text color' )
|
|
|
|
|
css_module_link_color = ColorField( blank = True, default = '#FFFFFF', help_text = '#FFFFFF', max_length = 10, verbose_name = 'link color' )
|
|
|
|
|
css_module_link_hover_color = ColorField( blank = True, default = '#C9F0DD', help_text = '#C9F0DD', max_length = 10, verbose_name = 'link hover color' )
|
|
|
|
|
css_module_rounded_corners = models.BooleanField( default = True, verbose_name = 'rounded corners' )
|
|
|
|
|
css_module_background_color = ColorField(
|
|
|
|
|
blank=True, default='#44B78B', help_text='#44B78B',
|
|
|
|
|
max_length=10, verbose_name='background color')
|
|
|
|
|
css_module_text_color = ColorField(
|
|
|
|
|
blank=True, default='#FFFFFF', help_text='#FFFFFF',
|
|
|
|
|
max_length=10, verbose_name='text color')
|
|
|
|
|
css_module_link_color = ColorField(
|
|
|
|
|
blank=True, default='#FFFFFF', help_text='#FFFFFF',
|
|
|
|
|
max_length=10, verbose_name='link color')
|
|
|
|
|
css_module_link_hover_color = ColorField(
|
|
|
|
|
blank=True, default='#C9F0DD', help_text='#C9F0DD',
|
|
|
|
|
max_length=10, 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', max_length = 10, verbose_name = 'link color' )
|
|
|
|
|
css_generic_link_hover_color = ColorField( blank = True, default = '#156641', help_text = '#156641', max_length = 10, verbose_name = 'link hover color' )
|
|
|
|
|
css_generic_link_color = ColorField(
|
|
|
|
|
blank=True, default='#0C3C26', help_text='#0C3C26',
|
|
|
|
|
max_length=10, verbose_name='link color')
|
|
|
|
|
css_generic_link_hover_color = ColorField(
|
|
|
|
|
blank=True, default='#156641', help_text='#156641',
|
|
|
|
|
max_length=10, verbose_name='link hover color')
|
|
|
|
|
|
|
|
|
|
css_save_button_background_color = ColorField( blank = True, default = '#0C4B33', help_text = '#0C4B33', max_length = 10, verbose_name = 'background color' )
|
|
|
|
|
css_save_button_background_hover_color = ColorField( blank = True, default = '#0C3C26', help_text = '#0C3C26', max_length = 10, verbose_name = 'background hover color' )
|
|
|
|
|
css_save_button_text_color = ColorField( blank = True, default = '#FFFFFF', help_text = '#FFFFFF', max_length = 10, verbose_name = 'text color' )
|
|
|
|
|
css_save_button_background_color = ColorField(
|
|
|
|
|
blank=True, default='#0C4B33', help_text='#0C4B33',
|
|
|
|
|
max_length=10, verbose_name='background color')
|
|
|
|
|
css_save_button_background_hover_color = ColorField(
|
|
|
|
|
blank=True, default='#0C3C26', help_text='#0C3C26',
|
|
|
|
|
max_length=10, verbose_name='background hover color')
|
|
|
|
|
css_save_button_text_color = ColorField(
|
|
|
|
|
blank=True, default='#FFFFFF', help_text='#FFFFFF',
|
|
|
|
|
max_length=10, verbose_name='text color')
|
|
|
|
|
|
|
|
|
|
css_delete_button_background_color = ColorField( blank = True, default = '#BA2121', help_text = '#BA2121', max_length = 10, verbose_name = 'background color' )
|
|
|
|
|
css_delete_button_background_hover_color = ColorField( blank = True, default = '#A41515', help_text = '#A41515', max_length = 10, verbose_name = 'background hover color' )
|
|
|
|
|
css_delete_button_text_color = ColorField( blank = True, default = '#FFFFFF', help_text = '#FFFFFF', max_length = 10, verbose_name = 'text color' )
|
|
|
|
|
css_delete_button_background_color = ColorField(
|
|
|
|
|
blank=True, default='#BA2121', help_text='#BA2121',
|
|
|
|
|
max_length=10, verbose_name='background color')
|
|
|
|
|
css_delete_button_background_hover_color = ColorField(
|
|
|
|
|
blank=True, default='#A41515', help_text='#A41515',
|
|
|
|
|
max_length=10, verbose_name='background hover color')
|
|
|
|
|
css_delete_button_text_color = ColorField(
|
|
|
|
|
blank=True, default='#FFFFFF', help_text='#FFFFFF',
|
|
|
|
|
max_length=10, verbose_name='text color')
|
|
|
|
|
|
|
|
|
|
css = models.TextField( blank = True )
|
|
|
|
|
css = models.TextField(blank=True)
|
|
|
|
|
|
|
|
|
|
related_modal_active = models.BooleanField( default = True, verbose_name = 'active' )
|
|
|
|
|
related_modal_background_color = ColorField( blank = True, default = '#000000', help_text = '#000000', max_length = 10, verbose_name = 'background color' )
|
|
|
|
|
related_modal_active = models.BooleanField(
|
|
|
|
|
default=True, verbose_name='active')
|
|
|
|
|
related_modal_background_color = ColorField(
|
|
|
|
|
blank=True, default='#000000', help_text='#000000',
|
|
|
|
|
max_length=10, verbose_name='background color')
|
|
|
|
|
related_modal_background_opacity_choices = (
|
|
|
|
|
(0.1, '10%', ),
|
|
|
|
|
(0.2, '20%', ),
|
|
|
|
|
@ -99,11 +147,16 @@ class Theme(models.Model):
|
|
|
|
|
(0.8, '80%', ),
|
|
|
|
|
(0.9, '90%', ),
|
|
|
|
|
)
|
|
|
|
|
related_modal_background_opacity = models.FloatField( choices = related_modal_background_opacity_choices, default = 0.2, help_text = '20%', verbose_name = 'background opacity' )
|
|
|
|
|
related_modal_rounded_corners = models.BooleanField( default = True, verbose_name = 'rounded corners' )
|
|
|
|
|
related_modal_background_opacity = models.FloatField(
|
|
|
|
|
choices=related_modal_background_opacity_choices,
|
|
|
|
|
default=0.2, help_text='20%', verbose_name='background opacity')
|
|
|
|
|
related_modal_rounded_corners = models.BooleanField(
|
|
|
|
|
default=True, verbose_name='rounded corners')
|
|
|
|
|
|
|
|
|
|
list_filter_dropdown = models.BooleanField( default = False, verbose_name = 'use dropdown' )
|
|
|
|
|
recent_actions_visible = models.BooleanField( default = True, verbose_name = 'visible' )
|
|
|
|
|
list_filter_dropdown = models.BooleanField(
|
|
|
|
|
default=False, verbose_name='use dropdown')
|
|
|
|
|
recent_actions_visible = models.BooleanField(
|
|
|
|
|
default=True, verbose_name='visible')
|
|
|
|
|
|
|
|
|
|
def set_active(self):
|
|
|
|
|
|
|
|
|
|
@ -121,6 +174,5 @@ class Theme(models.Model):
|
|
|
|
|
return force_text(self.name)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
post_delete.connect(Theme.post_delete_handler, sender = Theme)
|
|
|
|
|
post_save.connect(Theme.post_save_handler, sender = Theme)
|
|
|
|
|
|
|
|
|
|
post_delete.connect(Theme.post_delete_handler, sender=Theme)
|
|
|
|
|
post_save.connect(Theme.post_save_handler, sender=Theme)
|
|
|
|
|
|