Skip to content

Commit 4469f6d

Browse files
committed
🩹 Do not send link users can't read in problem report resolution
1 parent 355b5f6 commit 4469f6d

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

froide/problem/templates/problem/email_problem_resolved.txt

+2
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
{% blocktrans with title=title %}We have resolved the problem you reported on the request “{{ title }}”.{% endblocktrans %}
66
{% endif %}
77
{% if report.resolution %}{{ report.resolution }}{% endif %}
8+
{% if can_read_request %}
89

910
{% trans "You can go to the request here:" %}
1011

1112
{{ url }}
13+
{% endif %}
1214
{% blocktrans with site_name=site_name %}
1315
Cheers,
1416
{{ site_name }}{% endblocktrans %}

froide/problem/utils.py

+12
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
from django.conf import settings
22
from django.core.mail import mail_managers
33
from django.template.loader import render_to_string
4+
from django.test import RequestFactory
45
from django.urls import reverse
56
from django.utils.translation import gettext_lazy as _
67

8+
from froide.foirequest.auth import can_read_foirequest
9+
710

811
def inform_managers(report):
912
admin_url = settings.SITE_URL + reverse(
@@ -23,6 +26,14 @@ def inform_managers(report):
2326
)
2427

2528

29+
def can_read(user, foirequest):
30+
request_factory = RequestFactory()
31+
request = request_factory.get(foirequest.get_absolute_url())
32+
request.user = user
33+
34+
can_read_foirequest(foirequest, request)
35+
36+
2637
def inform_user_problem_resolved(report):
2738
if report.auto_submitted or not report.user:
2839
return False
@@ -39,6 +50,7 @@ def inform_user_problem_resolved(report):
3950
report.message.get_absolute_short_url()
4051
),
4152
"site_name": settings.SITE_NAME,
53+
"can_read_request": can_read(report.user, foirequest),
4254
},
4355
)
4456

0 commit comments

Comments
 (0)