Compare commits

...

5 Commits

Author SHA1 Message Date
Fabio Caccamo 9384c6db79 Updated version. 2019-04-29 17:36:47 +02:00
Fabio Caccamo 1a800d7d6a Fixed admin duplicated count query. 2019-04-29 17:36:36 +02:00
Fabio Caccamo 352701ae7d Added admin theme caching to remove duplicated queries. Fixed #19 2019-04-29 17:35:24 +02:00
Fabio Caccamo b4d0b4c985 Added django-dynamic-raw-id support - #61 2019-04-29 16:38:28 +02:00
Fabio Caccamo 26e67dab66 Updated app title italian localization. 2019-04-29 16:37:56 +02:00
8 changed files with 51 additions and 17 deletions
+2
View File
@@ -10,6 +10,8 @@ class ThemeAdmin(admin.ModelAdmin):
list_display = ('name', 'active', )
list_editable = ('active', )
list_per_page = 100
show_full_result_count = False
fieldsets = (
(None, {
+20
View File
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
from django.conf import settings
from django.core.cache import cache, caches
def app_cache():
return caches['admin_interface'] if 'admin_interface' in settings.CACHES else cache
def del_cached_active_theme():
app_cache().delete('admin_interface_theme')
def get_cached_active_theme():
return app_cache().get('admin_interface_theme', None)
def set_cached_active_theme(theme):
app_cache().set('admin_interface_theme', theme)
Binary file not shown.
@@ -69,7 +69,7 @@ msgstr "Azioni recenti"
#: admin_interface/apps.py:11
msgid "Admin Interface"
msgstr "Interfaccia di admin"
msgstr "Interfaccia di amministrazione"
#: admin_interface/models.py:56 admin_interface/models.py:100
msgid "name"
+5
View File
@@ -9,20 +9,25 @@ from django.utils.translation import ugettext_lazy as _
from colorfield.fields import ColorField
from admin_interface.cache import del_cached_active_theme
@python_2_unicode_compatible
class Theme(models.Model):
@staticmethod
def post_migrate_handler(**kwargs):
del_cached_active_theme()
Theme.get_active_theme()
@staticmethod
def post_delete_handler(**kwargs):
del_cached_active_theme()
Theme.get_active_theme()
@staticmethod
def post_save_handler(instance, **kwargs):
del_cached_active_theme()
if instance.active:
Theme.objects.exclude(pk=instance.pk).update(active=False)
Theme.get_active_theme()
@@ -118,17 +118,31 @@ if (typeof(django) !== 'undefined' && typeof(django.jQuery) !== 'undefined')
}
// listen click events on related links
function presentRelatedObjectModalOnClickOn(selector, lookup) {
var data = {
lookup:(lookup === true ? true : false)
};
var el = $(selector);
el.removeAttr('onclick');
el.unbind('click');
el.click(data, presentRelatedObjectModal);
}
// django 1.7 compatibility
$('a.add-another').removeAttr('onclick');
$('a.add-another').click({ lookup:false }, presentRelatedObjectModal);
// $('a.add-another').removeAttr('onclick').click({ lookup:false }, presentRelatedObjectModal);
presentRelatedObjectModalOnClickOn('a.add-another');
// django 1.8 and above
$('a.related-widget-wrapper-link').click({ lookup:false }, presentRelatedObjectModal);
// $('a.related-widget-wrapper-link').click({ lookup:false }, presentRelatedObjectModal);
presentRelatedObjectModalOnClickOn('a.related-widget-wrapper-link');
// raw_id_fields support
$('a.related-lookup').unbind('click');
$('a.related-lookup').click({ lookup:true }, presentRelatedObjectModal);
// $('a.related-lookup').unbind('click').click({ lookup:true }, presentRelatedObjectModal);
presentRelatedObjectModalOnClickOn('a.related-lookup', true);
// django-dynamic-raw-id support - #61
// https://github.com/lincolnloop/django-dynamic-raw-id
presentRelatedObjectModalOnClickOn('a.dynamic_raw_id-related-lookup', true);
});
})(django.jQuery);
@@ -2,6 +2,7 @@
from django import template, VERSION
from admin_interface.cache import get_cached_active_theme, set_cached_active_theme
from admin_interface.models import Theme
from admin_interface.version import __version__
@@ -15,18 +16,10 @@ else:
@simple_tag(takes_context=True)
def get_admin_interface_theme(context):
theme = None
request = context.get('request', None)
if request:
theme = getattr(request, 'admin_interface_theme', None)
theme = get_cached_active_theme()
if not theme:
theme = Theme.get_active_theme()
if request:
request.admin_interface_theme = theme
set_cached_active_theme(theme)
return theme
+1 -1
View File
@@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-
__version__ = '0.10.3'
__version__ = '0.10.4'