author | Tero Marttila <terom@fixme.fi> |
Mon, 15 Jul 2013 03:13:09 +0300 | |
changeset 7 | 8202196630d3 |
parent 6 | e821a59bf3a7 |
child 8 | 5c8a19fa6a29 |
permissions | -rw-r--r-- |
2 | 1 |
from django.contrib import admin |
2 |
from qrurls.models import URL, URLItem |
|
4
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
3 |
import django.utils.html |
2 | 4 |
|
3 | 5 |
class URLItemInline (admin.TabularInline) : |
6 |
model = URLItem |
|
7 |
||
2 | 8 |
class URLAdmin (admin.ModelAdmin) : |
4
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
9 |
def qrcode_img (self, obj) : |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
10 |
return '<img src="{img}" />'.format( |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
11 |
img=django.utils.html.escape(obj.qrcode_img()), |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
12 |
) |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
13 |
qrcode_img.allow_tags = True |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
14 |
|
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
15 |
readonly_fields = ( |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
16 |
'qrcode_url', |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
17 |
'qrcode_img', |
7
8202196630d3
better reporting of active/upcoming items
Tero Marttila <terom@fixme.fi>
parents:
6
diff
changeset
|
18 |
'active_item', |
8202196630d3
better reporting of active/upcoming items
Tero Marttila <terom@fixme.fi>
parents:
6
diff
changeset
|
19 |
'upcoming_item', |
4
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
20 |
) |
2 | 21 |
list_display = ( |
22 |
'shorturl', |
|
23 |
) |
|
4
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
24 |
fieldsets = ( |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
25 |
(None, { |
7
8202196630d3
better reporting of active/upcoming items
Tero Marttila <terom@fixme.fi>
parents:
6
diff
changeset
|
26 |
'fields': ('shorturl', 'active_item', 'upcoming_item') |
4
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
27 |
}), |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
28 |
("QRCode", { |
7
8202196630d3
better reporting of active/upcoming items
Tero Marttila <terom@fixme.fi>
parents:
6
diff
changeset
|
29 |
'fields': ('qrcode_url', 'qrcode_img'), |
4
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
30 |
}), |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
31 |
) |
3 | 32 |
inlines = (URLItemInline, ) |
2 | 33 |
|
34 |
class URLItemAdmin (admin.ModelAdmin) : |
|
35 |
list_display = ( |
|
6
e821a59bf3a7
show published state for url items
Tero Marttila <terom@fixme.fi>
parents:
4
diff
changeset
|
36 |
'shorturl', 'get_absolute_url', 'published_state', |
3 | 37 |
) |
6
e821a59bf3a7
show published state for url items
Tero Marttila <terom@fixme.fi>
parents:
4
diff
changeset
|
38 |
readonly_fields = ('published_state',) |
3 | 39 |
fieldsets = ( |
40 |
("Publishing", { |
|
41 |
'fields': ('shorturl', 'published', ), |
|
42 |
}), |
|
43 |
("Target", { |
|
44 |
'fields': ('url', ), |
|
45 |
}), |
|
2 | 46 |
) |
47 |
||
48 |
admin.site.register(URL, URLAdmin) |
|
49 |
admin.site.register(URLItem, URLItemAdmin) |