[extensions-web/wip/visual-tag: 1/4] Added visual tag for login-dialog session-mode




commit 4c8219129ebcb1f231b514de4d7c0f62a08f22e9
Author: Aryan Kaushik <73686-Aryan20 users noreply gitlab gnome org>
Date:   Wed Mar 2 11:55:05 2022 +0000

    Added visual tag for login-dialog session-mode

 sweettooth/extensions/templates/extensions/detail.html |  6 ++++++
 sweettooth/extensions/views.py                         | 13 ++++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)
---
diff --git a/sweettooth/extensions/templates/extensions/detail.html 
b/sweettooth/extensions/templates/extensions/detail.html
index e9676ab..39668dd 100644
--- a/sweettooth/extensions/templates/extensions/detail.html
+++ b/sweettooth/extensions/templates/extensions/detail.html
@@ -54,6 +54,12 @@
               <dd><a href="{{ extension.url }}" id="extension_url">{{ extension.url }}</a></dd>
               {% endif %}
             </dl>
+            <dl>
+              {% if session_unlock_dialog %}
+              <dt>{% trans "Session Mode(s)" %}</dt>
+              <dd><button type="disabled" class="btn btn-info btn-sm" title="This extension will run while 
the screen is locked">{% trans "Unlock Dialog" %}</button></dd>
+              {% endif %}
+            </dl>
             <dl>
               <dt>{% trans "Download" %}</dt>
               <dd class="extension-download">
diff --git a/sweettooth/extensions/views.py b/sweettooth/extensions/views.py
index bc19f9e..ceb4f07 100644
--- a/sweettooth/extensions/views.py
+++ b/sweettooth/extensions/views.py
@@ -306,12 +306,23 @@ def extension_view(request, obj, **kwargs):
     else:
         template_name = "extensions/detail.html"
 
+    # Check if unlock-dialog session mode exists in latest version of extension
+    try:
+        session_info = json.loads(obj.latest_version.extra_json_fields)["session-modes"]
+        if "unlock-dialog" in session_info:
+            session_unlock_dialog = True
+        else:
+            session_unlock_dialog = False
+    except:
+        session_unlock_dialog = False
+
     context = dict(shell_version_map = json.dumps(extension.visible_shell_version_map),
                    extension = extension,
                    all_versions = extension.versions.order_by('-version'),
                    visible_versions=json.dumps(extension.visible_shell_version_array),
                    is_visible = extension.latest_version is not None,
-                   next=extension.get_absolute_url())
+                   next = extension.get_absolute_url(),
+                   session_unlock_dialog = session_unlock_dialog)
     return render(request, template_name, context)
 
 @require_POST


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]