SHA256
1
0
forked from pool/pagure
pagure/5486.patch
Dominik Wombacher 9fb3a6281f Accepting request 1178003 from home:wombelix:branches:devel:tools:scm
- Backport patches to fix issues after 5.14.1 release (https://pagure.io/pagure/pull-request/5486)
- fix(5.14.x): Use '==' instead of 'is' in template if condition because to work with old Jinja2 versions
- fix(oidc): Edge case, avoid 'KeyError' after pagure update if a cached session is used

OBS-URL: https://build.opensuse.org/request/show/1178003
OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/pagure?expand=0&rev=61
2024-05-31 23:20:00 +00:00

45 lines
2.0 KiB
Diff

From 7abc9608afe37e28221d12afb5c2078518febf9f Mon Sep 17 00:00:00 2001
From: Dominik Wombacher <dominik@wombacher.cc>
Date: May 27 2024 18:52:55 +0000
Subject: [PATCH 1/2] fix(oidc): Edge case, avoid 'KeyError' after pagure update if a cached session is used
---
diff --git a/pagure/ui/oidc_login.py b/pagure/ui/oidc_login.py
index 2495387..225646b 100644
--- a/pagure/ui/oidc_login.py
+++ b/pagure/ui/oidc_login.py
@@ -34,6 +34,8 @@ _log = logging.getLogger(__name__)
def fas_user_from_oidc():
if "oidc_cached_userdata" in flask.session:
flask.g.fas_user = munch.Munch(**flask.session["oidc_cached_userdata"])
+ # Edge case, avoid 'KeyError' after pagure update if a cached session is used
+ flask.g.fas_user.can_create = flask.g.fas_user.get("can_create", False)
elif oidc.user_loggedin and "oidc_logintime" in flask.session:
email_key, fulln_key, usern_key, ssh_key, groups_key = [
pagure_config["OIDC_PAGURE_EMAIL"],
From 6ff9732cb86b305ebcc32cdb0e7ff578171f4dd1 Mon Sep 17 00:00:00 2001
From: Dominik Wombacher <dominik@wombacher.cc>
Date: May 27 2024 18:54:54 +0000
Subject: [PATCH 2/2] fix(5.14.x): Use '==' instead of 'is' in template if condition because of old Jinja2 version on EL8
---
diff --git a/pagure/templates/master.html b/pagure/templates/master.html
index 4e2bc55..fa23194 100644
--- a/pagure/templates/master.html
+++ b/pagure/templates/master.html
@@ -40,7 +40,7 @@
{% if (config.get('ENABLE_NEW_PROJECTS', True) and config.get('ENABLE_UI_NEW_PROJECTS', True))
or config.get('ENABLE_GROUP_MNGT', False) %}
{#can_create is only defined if using OIDC so assume we cancreate #}
- {% if (g.fas_user.can_create is not defined) or (g.fas_user.can_create is true)%}
+ {% if (g.fas_user.can_create is not defined) or (g.fas_user.can_create == true)%}
<li class="nav-item dropdown ml-3">
<a class="nav-link dropdown-toggle font-weight-bold"
data-toggle="dropdown"