14
14
from django .shortcuts import get_object_or_404 , redirect
15
15
from django .template import Template , Context
16
16
from django .template .response import TemplateResponse
17
+ from django .utils .safestring import mark_safe
17
18
18
19
from assopy import dataaccess as assopy_dataaccess
19
20
from assopy import forms as assopy_forms
@@ -168,15 +169,13 @@ def _user(self, o):
168
169
html = '<a href="%s">%s</a>' % (url , name )
169
170
if name != o .card_name :
170
171
html += ' - ' + o .card_name
171
- return html
172
+ return mark_safe ( html )
172
173
_user .short_description = 'buyer'
173
- _user .allow_tags = True
174
174
_user .admin_order_field = 'user__user__last_name'
175
175
176
176
def _email (self , o ):
177
- return '<a href="mailto:%s">%s</a>' % (o .user .user .email , o .user .user .email )
177
+ return mark_safe ( '<a href="mailto:%s">%s</a>' % (o .user .user .email , o .user .user .email ) )
178
178
_email .short_description = 'buyer email'
179
- _email .allow_tags = True
180
179
_email .admin_order_field = 'user__user__email'
181
180
182
181
def _items (self , o ):
@@ -217,8 +216,7 @@ def _invoice(self, o):
217
216
'<a href="%s">%s%s</a>' % (
218
217
url , i .code , ' *' if not i .payment_date else '' )
219
218
)
220
- return ' ' .join (output )
221
- _invoice .allow_tags = True
219
+ return mark_safe (" " .join (output ))
222
220
_invoice .admin_order_field = 'invoices'
223
221
224
222
def get_urls (self ):
@@ -517,8 +515,7 @@ def clean_coupon(self):
517
515
518
516
def _doppelganger (self , o ):
519
517
url = reverse ('admin:auser-create-doppelganger' , kwargs = {'uid' : o .id })
520
- return '<a href="%s" target="_blank">become this user</a>' % url
521
- _doppelganger .allow_tags = True
518
+ return mark_safe ('<a href="%s" target="_blank">become this user</a>' % url )
522
519
_doppelganger .short_description = 'Doppelganger'
523
520
524
521
def change_view (self , request , object_id , form_url = '' , extra_context = None ):
@@ -552,8 +549,7 @@ class InvoiceAdmin(admin.ModelAdmin):
552
549
def _order (self , o ):
553
550
order = o .order
554
551
url = reverse ('admin:assopy_order_change' , args = (order .id ,))
555
- return '<a href="%s">%s</a>' % (url , order .code )
556
- _order .allow_tags = True
552
+ return mark_safe ('<a href="%s">%s</a>' % (url , order .code ))
557
553
_order .admin_order_field = 'order'
558
554
559
555
def _user (self , o ):
@@ -564,16 +560,15 @@ def _user(self, o):
564
560
html = '<a href="%s">%s</a> (<a href="%s">D</a>)' % (admin_url , name , dopp_url )
565
561
if o .order .card_name != name :
566
562
html += ' - ' + o .order .card_name
567
- return html
563
+ return mark_safe ( html )
568
564
_user .allow_tags = True
569
565
_user .admin_order_field = 'order__user__user__first_name'
570
566
571
567
def _invoice (self , i ):
572
568
fake = not i .payment_date
573
569
view = reverse ('assopy-invoice-html' , kwargs = {'order_code' : i .order .code , 'code' : i .code })
574
570
download = reverse ('assopy-invoice-pdf' , kwargs = {'order_code' : i .order .code , 'code' : i .code })
575
- return '<a href="%s">View</a> - <a href="%s">Download</a> %s' % (view , download , '[Not payed]' if fake else '' )
576
- _invoice .allow_tags = True
571
+ return mark_safe ('<a href="%s">View</a> - <a href="%s">Download</a> %s' % (view , download , '[Not payed]' if fake else '' ))
577
572
_invoice .short_description = 'Download'
578
573
579
574
def has_delete_permission (self , request , obj = None ):
0 commit comments