author | Tero Marttila <terom@fixme.fi> |
Mon, 15 Jul 2013 03:02:49 +0300 | |
changeset 6 | e821a59bf3a7 |
parent 4 | d56f48f6c94b |
child 7 | 8202196630d3 |
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', |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
18 |
) |
2 | 19 |
list_display = ( |
20 |
'shorturl', |
|
21 |
) |
|
4
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
22 |
fieldsets = ( |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
23 |
(None, { |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
24 |
'fields': ('shorturl', ) |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
25 |
}), |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
26 |
("QRCode", { |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
27 |
'fields': ('qrcode_url', 'qrcode_img', ), |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
28 |
}), |
d56f48f6c94b
URL: show qrcode for URL in admin (using google charts)
Tero Marttila <terom@fixme.fi>
parents:
3
diff
changeset
|
29 |
) |
3 | 30 |
inlines = (URLItemInline, ) |
2 | 31 |
|
32 |
class URLItemAdmin (admin.ModelAdmin) : |
|
33 |
list_display = ( |
|
6
e821a59bf3a7
show published state for url items
Tero Marttila <terom@fixme.fi>
parents:
4
diff
changeset
|
34 |
'shorturl', 'get_absolute_url', 'published_state', |
3 | 35 |
) |
6
e821a59bf3a7
show published state for url items
Tero Marttila <terom@fixme.fi>
parents:
4
diff
changeset
|
36 |
readonly_fields = ('published_state',) |
3 | 37 |
fieldsets = ( |
38 |
("Publishing", { |
|
39 |
'fields': ('shorturl', 'published', ), |
|
40 |
}), |
|
41 |
("Target", { |
|
42 |
'fields': ('url', ), |
|
43 |
}), |
|
2 | 44 |
) |
45 |
||
46 |
admin.site.register(URL, URLAdmin) |
|
47 |
admin.site.register(URLItem, URLItemAdmin) |