keep shorturl case sensitive, but warn if not uppercase
authorTero Marttila <terom@paivola.fi>
Thu, 25 Jul 2013 00:23:59 +0200
changeset 22 28a72692b749
parent 21 c6095ed39538
child 23 f9eadb627bb4
keep shorturl case sensitive, but warn if not uppercase
qrurls/admin.py
qrurls/models.py
--- a/qrurls/admin.py	Wed Jul 24 23:56:09 2013 +0200
+++ b/qrurls/admin.py	Thu Jul 25 00:23:59 2013 +0200
@@ -6,6 +6,18 @@
     model = URLItem
 
 class URLAdmin (admin.ModelAdmin) :
+    def qrcode_url (self, obj) :
+        warn = None
+
+        if obj.shorturl.upper() != obj.shorturl :
+            warn = "Shorturl should be UPPERCASE for most compact QR code"
+
+        return '<a href="{url}">{url}</a>{warn}'.format(
+                url     = django.utils.html.escape(obj.qrcode_url()),
+                warn    = '<p class="errornote">{warn}</p>'.format(warn=warn) if warn else '',
+        )
+    qrcode_url.allow_tags = True
+
     def qrcode_img (self, obj) :
         return '<img src="{img}" />'.format(
                 img=django.utils.html.escape(obj.qrcode_img()),
--- a/qrurls/models.py	Wed Jul 24 23:56:09 2013 +0200
+++ b/qrurls/models.py	Thu Jul 25 00:23:59 2013 +0200
@@ -20,10 +20,10 @@
         )
 
     def qrcode_url (self) :
-        return 'http://{domain}{url}'.format(
-                domain = get_current_site(None).domain,
+        return 'HTTP://{domain}{url}'.format(
+                domain = get_current_site(None).domain.upper(),
                 url = self.get_maxi_url(),
-        ).upper()
+        )
 
     def get_absolute_url (self) :
         return reverse('shorturl', args=[self.shorturl])