Skip to content

Commit 2663c49

Browse files
committed
Fix toolbar and pageviews to get user and session using new helpers
1 parent 44fd695 commit 2663c49

File tree

2 files changed

+27
-5
lines changed

2 files changed

+27
-5
lines changed

plain-pageviews/plain/pageviews/models.py

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,16 @@
88

99
from .params import extract_tracking_params
1010

11+
try:
12+
from plain.auth import get_request_user
13+
except ImportError:
14+
get_request_user = None
15+
16+
try:
17+
from plain.sessions import get_request_session
18+
except ImportError:
19+
get_request_session = None
20+
1121

1222
@models.register_model
1323
class Pageview(models.Model):
@@ -101,12 +111,18 @@ def create_from_request(
101111
if campaign is None:
102112
campaign = extracted_campaign
103113

104-
if user := getattr(request, "user", None):
105-
user_id = user.id
114+
user = get_request_user(request) if get_request_user else None
115+
user_id = user.id if user else ""
116+
117+
if get_request_session:
118+
try:
119+
session = get_request_session(request)
120+
except KeyError:
121+
session = None
106122
else:
107-
user_id = ""
123+
session = None
108124

109-
if session := getattr(request, "session", None):
125+
if session:
110126
session_instance = session.model_instance
111127
session_id = str(session_instance.id) if session_instance else ""
112128

plain-toolbar/plain/toolbar/toolbar.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@
88

99
from .registry import register_toolbar_item, registry
1010

11+
try:
12+
from plain.auth import get_request_user
13+
except ImportError:
14+
get_request_user = None
15+
1116

1217
class Toolbar:
1318
def __init__(self, context):
@@ -22,7 +27,8 @@ def should_render(self):
2227
if impersonator := getattr(self.request, "impersonator", None):
2328
return getattr(impersonator, "is_admin", False)
2429

25-
if user := getattr(self.request, "user", None):
30+
user = get_request_user(self.request) if get_request_user else None
31+
if user:
2632
return getattr(user, "is_admin", False)
2733

2834
return False

0 commit comments

Comments
 (0)