1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 | from django import template
from django.db.models import Model
from django.db.models.query import QuerySet
from django.core.urlresolvers import reverse
from frontendadmin.views import check_permission
register = template.Library()
@register.inclusion_tag('frontendadmin/link_add.html', takes_context=True)
def frontendadmin_add(context, queryset_object, label=None):
# Check if `queryset_object` is a queryset
if not isinstance(queryset_object, QuerySet):
raise template.TemplateSyntaxError, "'%s' argument must be a queryset" % queryset_object
app_label = queryset_object.model._meta.app_label
model_name = queryset_object.model._meta.module_name
template_context = {
'add_link': reverse('frontendadmin_add', kwargs={
'app_label': app_label,
'model_name': model_name,
}),
'next_link': context['request'].META['PATH_INFO'],
'label': label,
}
# Check for permission
if check_permission(request=context['request'], mode_name='add',
app_label=app_label,
model_name=model_name):
template_context['has_permission'] = True
context.update(template_context)
return context
@register.inclusion_tag('frontendadmin/link_edit.html', takes_context=True)
def frontendadmin_change(context, model_object, label=None):
# Check if `model_object` is a model-instance
if not isinstance(model_object, Model):
raise template.TemplateSyntaxError, "'%s' argument must be a model-instance" % model_object
app_label = model_object._meta.app_label
model_name = model_object._meta.module_name
template_context = {
'edit_link': reverse('frontendadmin_change', kwargs={
'app_label': app_label,
'model_name': model_name,
'instance_id': model_object.pk,
}),
'next_link': context['request'].META['PATH_INFO'],
'label': label,
}
# Check for permission
if check_permission(request=context['request'], mode_name='change',
app_label=app_label,
model_name=model_name):
template_context['has_permission'] = True
context.update(template_context)
return context
@register.inclusion_tag('frontendadmin/link_delete.html', takes_context=True)
def frontendadmin_delete(context, model_object, label=None):
# Check if `model_object` is a model-instance
if not isinstance(model_object, Model):
raise template.TemplateSyntaxError, "'%s' argument must be a model-instance" % model_object
app_label = model_object._meta.app_label
model_name = model_object._meta.module_name
template_context = {
'delete_link': reverse('frontendadmin_delete', kwargs={
'app_label': app_label,
'model_name': model_name,
'instance_id': model_object.pk,
}),
'next_link': context['request'].META['PATH_INFO'],
'label': label,
}
# Check for permission
if check_permission(request=context['request'], mode_name='delete',
app_label=app_label,
model_name=model_name):
template_context['has_permission'] = True
context.update(template_context)
return context
@register.inclusion_tag('frontendadmin/common.css')
def frontendadmin_common_css():
return {}
@register.inclusion_tag('frontendadmin/common.js')
def frontendadmin_common_js():
return {}
|