Skip to content

Friday, 08 March 2019. #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions djadmin/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class Visitor(models.Model):
"""
It will store information about user when logged in using django admin
"""
name = models.ForeignKey(AUTH_USER_MODEL, verbose_name=_('User'), null=True)
name = models.ForeignKey(AUTH_USER_MODEL, verbose_name=_('User'), null=True, on_delete=models.CASCADE)
city = models.CharField(_('City'), max_length=255, null=True)
state = models.CharField(_('State'), max_length=50, null=True)
country = models.CharField(_('Country'), max_length=50, null=True)
Expand Down Expand Up @@ -136,7 +136,8 @@ class DjadminModelSetting(models.Model):
verbose_name=_('Date Hierarchy'),
help_text=_("Set date_hierarchy to the name of a DateField or DateTimeField"
" in your model, and the change list page will include a date-based"
" drilldown navigation by that field."))
" drilldown navigation by that field."),
on_delete=models.CASCADE)

actions_on_top = models.BooleanField(_('Actions on Top'),
default=True,
Expand Down Expand Up @@ -168,7 +169,7 @@ class DjadminCard(models.Model):
(LIST_PAGE, _('LIST PAGE')),
(FORM_PAGE, _('FORM PAGE')),
)
model = models.ForeignKey(DjadminModelSetting)
model = models.ForeignKey(DjadminModelSetting, on_delete=models.CASCADE)
name = models.CharField(_('Name of Card'), max_length=255)
html = models.TextField(_('HTML Code'))
location = models.SmallIntegerField(_('Select Location'),
Expand All @@ -192,7 +193,7 @@ class Sortable(models.Model):
But It will store when admin change any row, Otherwise it will not store default changelist
row's pk. It also provide reset to sortable from icon in table head tag.
"""
model = models.ForeignKey(ContentType, verbose_name=_('Model'))
model = models.ForeignKey(ContentType, verbose_name=_('Model'), on_delete=models.CASCADE)
sort_array = models.TextField(_('Model Sortable Array'))

class Meta:
Expand Down
2 changes: 1 addition & 1 deletion djadmin/sidebar.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from django.apps import apps
from django.contrib import admin
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import NoReverseMatch, reverse
from django.urls import NoReverseMatch, reverse
from django.utils.text import capfirst


Expand Down
27 changes: 17 additions & 10 deletions djadmin/templatetags/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from django.conf import settings, global_settings
from django.contrib.admin.models import LogEntry
from django.contrib.contenttypes.models import ContentType
from django.core.urlresolvers import Resolver404, resolve, reverse, NoReverseMatch
from django.urls import Resolver404, resolve, reverse, NoReverseMatch
from django.db.models import Q
from django.template import TemplateSyntaxError
from django.templatetags.i18n import GetAvailableLanguagesNode
Expand All @@ -25,7 +25,7 @@
CL_VALUE_RE = re.compile('value="([\\d-]+)"')

if django.VERSION >= (1, 9):
from django.core.urlresolvers import translate_url
from django.urls import translate_url
else:
from django.utils.six.moves.urllib.parse import urlsplit, urlunsplit

Expand Down Expand Up @@ -60,13 +60,13 @@ def cal_total(app_label, model_name):
return data.objects.all().count()


@register.assignment_tag
@register.simple_tag
def visitors():
visitor = Visitor.objects.all().order_by('-visit_datetime')[:10]
return visitor


@register.assignment_tag
@register.simple_tag
def calc_visitors():
visit = Visitor.objects.all()
pc = visit.filter(device_type="PC").count()
Expand All @@ -78,7 +78,7 @@ def calc_visitors():
return {'pc': pc, 'mobile': mobile, 'tablet': tablet, 'unknown': unknown}


@register.assignment_tag
@register.simple_tag
def next_prev(model):
next = None
prev = None
Expand All @@ -92,12 +92,12 @@ def next_prev(model):
return {'next': next, 'prev': prev}


@register.assignment_tag
@register.simple_tag
def admin_color_theme():
return get_admin_color_theme(djadmin_settings.ADMIN_COLOR_THEME)


@register.assignment_tag
@register.simple_tag
def history_of_app(app_label, user):
models = ContentType.objects.filter(app_label=app_label).select_related()
q = Q()
Expand All @@ -109,21 +109,28 @@ def history_of_app(app_label, user):
return log_list


@register.assignment_tag
@register.simple_tag
def get_site_header():
return djadmin_settings.ADMIN_HEADER_TITLE


@register.assignment_tag
@register.simple_tag
def get_file_detail(adminform, field):
field_data = adminform.form.initial[field]
field_name = type(field_data).__name__
try:
if field_name == 'ImageFieldFile':
if not bool(field_data):
return {
'type': 'image', 'width': 0, 'height': 0, 'url': '',
'size': 0, 'extension': ''
}
filename, file_extension = os.path.splitext(field_data.url)
return {'type': 'image', 'width': field_data.width, 'height': field_data.height, 'url': field_data.url,
'size': field_data.size, 'extension': file_extension}
if field_name == 'FieldFile':
if not bool(field_data):
return {'type': 'file', 'url': '', 'size': 0, 'extension': ''}
filename, file_extension = os.path.splitext(field_data.url)
return {'type': 'file', 'url': field_data.url, 'size': field_data.size, 'extension': file_extension}
return field
Expand All @@ -146,7 +153,7 @@ def get_user_define_available_languages(parser, token):
return EmptyNode()


@register.assignment_tag
@register.simple_tag
def get_pk(model, app_label):
pk = 0
try:
Expand Down
4 changes: 2 additions & 2 deletions djadmin/templatetags/djadmin.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from django.contrib.admin.templatetags.admin_list import (result_headers,
result_hidden_fields,
results)
from django.core.urlresolvers import reverse
from django.urls import reverse
from django.template import Library

from .base import AdminReadonlyField, Inline
Expand All @@ -31,7 +31,7 @@ def get_admin_site():
site = get_admin_site()


@register.assignment_tag
@register.simple_tag
def fieldset_layout(adminform, inline_admin_formsets):
layout = getattr(adminform.model_admin, 'layout', None)
if layout is not None:
Expand Down
2 changes: 1 addition & 1 deletion djadmin/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import pip
from django.contrib.admin.sites import AdminSite
from django.contrib.contenttypes.models import ContentType
from django.core.urlresolvers import reverse
from django.urls import reverse
from django.http import JsonResponse
from django.shortcuts import render, redirect
from django.utils.translation import ugettext as _
Expand Down
2 changes: 1 addition & 1 deletion tests/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.core.urlresolvers import reverse
from django.urls import reverse
from django.test import TestCase
from django.test.client import Client

Expand Down