From d7075cf064eeb6bad88f78ad6603fae08b556558 Mon Sep 17 00:00:00 2001
From: Jonas Leder <jonas@jonasled.de>
Date: Sun, 10 Nov 2019 14:56:07 +0100
Subject: [PATCH] added QR code

---
 main.py                    |  7 ++++++-
 templates/editEntries.html | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/main.py b/main.py
index be7b181..3e590f2 100644
--- a/main.py
+++ b/main.py
@@ -250,7 +250,7 @@ def ownLinks():
         try:
             entriesList = res.fetchall()
             for entries in entriesList: #for every entrie in the database add a line to the table
-                response = response + "<tr>\n<td>" + entries[0] + "</td>\n<td>" + entries[1] + '</td>\n<td><a id="red" href="/user/delete?link=' + escape(entries[1]) + '">delete</a></tr>\n'
+                response = response + "<tr>\n<td>" + entries[0] + "</td>\n<td>" + entries[1] + '</td>\n<td><a id="red" href="/user/delete?link=' + escape(entries[1]) + '">delete</a> <a href="#" id="dialog-link" onclick="buttonListener(\'' + entries[1] + '\', this)">QR</a></tr>\n'
             response = response + "</table>" #Close the table
             if(len(entriesList) == 0): response = 'you have no shorten links. <a href="/">back</a>' #If user has no shorten links make this message with a back button
         except:
@@ -275,6 +275,11 @@ def delete():
         except:
             abort(500)
 
+@app.route('/user/makeqr')
+def makeQrCode():
+    link = request.args.get('link')
+    return "data:image/jpeg;base64," + makeQR("http://" + link)
+
     
 if __name__ == '__main__':
     table_check()# This code checks whether database table is created or not
diff --git a/templates/editEntries.html b/templates/editEntries.html
index c460bdf..642426a 100644
--- a/templates/editEntries.html
+++ b/templates/editEntries.html
@@ -1,6 +1,7 @@
 <!DOCTYPE html>
 <html lang="en">
    <head>
+         <link href="/static/jquery-ui.css" rel="stylesheet">
          <link href="{{ url_for('static', filename='style.css') }}" rel="stylesheet">
          <title>URL shorter</title>
       </head>
@@ -12,5 +13,36 @@
             {{content | safe}}
          </div>
       </div>
+      <!-- ui-dialog -->
+      <div id="dialog" title="QRCODE">
+         <img id="dialogContent" src="">
+      </div>
+      
+      <script src="/static/external/jquery/jquery.js"></script>
+      <script src="/static/jquery-ui.js"></script>
+      <script>
+         $( "#dialog" ).dialog({
+            autoOpen: false
+         });
+
+         // Link to open the dialog
+         /*$( "#dialog-link" ).click(function( event ) {
+            document.getElementById("dialogContent").innerText = "xxx"
+            $( "#dialog" ).dialog( "open" );
+            event.preventDefault();
+         });*/
+
+         function buttonListener(value){
+            value = "/user/makeqr?link=" + value
+            $.get(value, function(data, status){
+               document.getElementById("dialogContent").src = data;
+               $( "#dialog" ).dialog( "open" );
+               setTimeout(function(){
+                  $('#dialog').dialog({width: document.getElementById("dialogContent").width + 35});
+               }, 1);
+
+            });          
+         }
+      </script>
    </body>
 </html>
\ No newline at end of file
-- 
GitLab