Skip to content

Commit 40308d4

Browse files
committed
Summary: Make sure liaison edit page is using full URL to attachments
to not confuse the crawler, and make all liaison pages use the setting from settings instead of hardcoding it - Legacy-Id: 10125
1 parent 873af38 commit 40308d4

8 files changed

Lines changed: 47 additions & 35 deletions

File tree

ietf/liaisons/feeds.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from django.template.loader import render_to_string
88
from django.db.models import Q
99
from django.core.urlresolvers import reverse as urlreverse, reverse_lazy
10+
from django.conf import settings
1011

1112
from ietf.group.models import Group
1213
from ietf.liaisons.models import LiaisonStatement
@@ -17,7 +18,6 @@
1718
class LiaisonStatementsFeed(Feed):
1819
feed_type = Atom1Feed
1920
link = reverse_lazy("liaison_list")
20-
description_template = "liaisons/feed_item_description.html"
2121

2222
def get_object(self, request, kind, search=None):
2323
obj = {}
@@ -75,7 +75,10 @@ def items(self, obj):
7575
if obj.has_key('filter'):
7676
qs = qs.filter(**obj['filter'])
7777
if obj.has_key('limit'):
78-
qs = qs[:obj['limit']]
78+
qs = qs[:obj['limit']]
79+
80+
qs = qs.prefetch_related("attachments")
81+
7982
return qs
8083

8184
def title(self, obj):
@@ -87,6 +90,13 @@ def description(self, obj):
8790
def item_title(self, item):
8891
return render_to_string("liaisons/liaison_title.html", { 'liaison': item }).strip()
8992

93+
def item_description(self, item):
94+
return render_to_string("liaisons/feed_item_description.html", {
95+
'liaison': item,
96+
"liaison_attach_url": settings.LIAISON_ATTACH_URL,
97+
"attachments": item.attachments.all(),
98+
})
99+
90100
def item_link(self, item):
91101
return urlreverse("liaison_detail", kwargs={ "object_id": item.pk })
92102

ietf/liaisons/mails.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ def send_liaison_by_email(request, liaison):
2222
liaison=liaison,
2323
url=settings.IDTRACKER_BASE_URL + urlreverse("liaison_detail", kwargs=dict(object_id=liaison.pk)),
2424
referenced_url=settings.IDTRACKER_BASE_URL + urlreverse("liaison_detail", kwargs=dict(object_id=liaison.related_to.pk)) if liaison.related_to else None,
25+
liaison_attach_url=settings.LIAISON_ATTACH_URL,
2526
))
2627

2728
send_mail_text(request, to_email, from_email, subject, body, cc=", ".join(cc), bcc=", ".join(bcc))
@@ -46,6 +47,7 @@ def notify_pending_by_email(request, liaison):
4647
liaison=liaison,
4748
url=settings.IDTRACKER_BASE_URL + urlreverse("liaison_approval_detail", kwargs=dict(object_id=liaison.pk)),
4849
referenced_url=settings.IDTRACKER_BASE_URL + urlreverse("liaison_detail", kwargs=dict(object_id=liaison.related_to.pk)) if liaison.related_to else None,
50+
liaison_attach_url=settings.LIAISON_ATTACH_URL,
4951
))
5052
# send_mail_text(request, to_email, from_email, subject, body)
5153
send_mail_text(request, ['statements@ietf.org'], from_email, subject, body)
@@ -107,6 +109,7 @@ def possibly_send_deadline_reminder(liaison):
107109
days_msg=days_msg,
108110
url=settings.IDTRACKER_BASE_URL + urlreverse("liaison_approval_detail", kwargs=dict(object_id=liaison.pk)),
109111
referenced_url=settings.IDTRACKER_BASE_URL + urlreverse("liaison_detail", kwargs=dict(object_id=liaison.related_to.pk)) if liaison.related_to else None,
112+
liaison_attach_url=settings.LIAISON_ATTACH_URL,
110113
))
111114

112115
send_mail_text(None, to_email, from_email, subject, body, cc=cc, bcc=bcc)

ietf/liaisons/views.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
from django.core.validators import validate_email, ValidationError
77
from django.http import HttpResponse, HttpResponseForbidden
8-
from django.shortcuts import render_to_response, get_object_or_404, redirect
9-
from django.template import RequestContext
8+
from django.shortcuts import get_object_or_404, redirect, render
9+
from django.conf import settings
1010

1111
from ietf.liaisons.models import LiaisonStatement
1212
from ietf.liaisons.accounts import (get_person_for_user, can_add_outgoing_liaison,
@@ -39,12 +39,10 @@ def add_liaison(request, liaison=None):
3939
else:
4040
form = liaison_form_factory(request, liaison=liaison)
4141

42-
return render_to_response(
43-
'liaisons/edit.html',
44-
{'form': form,
45-
'liaison': liaison},
46-
context_instance=RequestContext(request),
47-
)
42+
return render(request, 'liaisons/edit.html', {
43+
'form': form,
44+
'liaison': liaison
45+
})
4846

4947

5048
@can_submit_liaison_required
@@ -105,14 +103,15 @@ def liaison_list(request):
105103

106104
approvable = approvable_liaison_statements(request.user).count()
107105

108-
return render_to_response('liaisons/overview.html', {
106+
return render(request, 'liaisons/overview.html', {
109107
"liaisons": liaisons,
110108
"can_manage": approvable or can_send_incoming or can_send_outgoing,
111109
"approvable": approvable,
112110
"can_send_incoming": can_send_incoming,
113111
"can_send_outgoing": can_send_outgoing,
114112
"sort": sort,
115-
}, context_instance=RequestContext(request))
113+
"liaison_attach_url": settings.LIAISON_ATTACH_URL,
114+
})
116115

117116
def ajax_select2_search_liaison_statements(request):
118117
q = [w.strip() for w in request.GET.get('q', '').split() if w.strip()]
@@ -133,9 +132,9 @@ def ajax_select2_search_liaison_statements(request):
133132
def liaison_approval_list(request):
134133
liaisons = approvable_liaison_statements(request.user).order_by("-submitted")
135134

136-
return render_to_response('liaisons/approval_list.html', {
135+
return render(request, 'liaisons/approval_list.html', {
137136
"liaisons": liaisons,
138-
}, context_instance=RequestContext(request))
137+
})
139138

140139

141140
@can_submit_liaison_required
@@ -149,10 +148,10 @@ def liaison_approval_detail(request, object_id):
149148
send_liaison_by_email(request, liaison)
150149
return redirect('liaison_list')
151150

152-
return render_to_response('liaisons/approval_detail.html', {
151+
return render(request, 'liaisons/approval_detail.html', {
153152
"liaison": liaison,
154153
"is_approving": True,
155-
}, context_instance=RequestContext(request))
154+
})
156155

157156

158157
def _can_take_care(liaison, user):
@@ -205,12 +204,13 @@ def liaison_detail(request, object_id):
205204

206205
relations = liaison.liaisonstatement_set.exclude(approved=None)
207206

208-
return render_to_response("liaisons/detail.html", {
207+
return render(request, "liaisons/detail.html", {
209208
"liaison": liaison,
210209
"can_edit": can_edit,
211210
"can_take_care": can_take_care,
212211
"relations": relations,
213-
}, context_instance=RequestContext(request))
212+
"liaison_attach_url": settings.LIAISON_ATTACH_URL,
213+
})
214214

215215
def liaison_edit(request, object_id):
216216
liaison = get_object_or_404(LiaisonStatement, pk=object_id)

ietf/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ def skip_unreadable_post(record):
449449
# Liaison Statement Tool settings
450450
LIAISON_UNIVERSAL_FROM = 'Liaison Statement Management Tool <lsmt@' + IETF_DOMAIN + '>'
451451
LIAISON_ATTACH_PATH = '/a/www/ietf-datatracker/documents/LIAISON/'
452-
LIAISON_ATTACH_URL = '/documents/LIAISON/'
452+
LIAISON_ATTACH_URL = 'https://datatracker.ietf.org/documents/LIAISON/'
453453

454454
# NomCom Tool settings
455455
ROLODEX_URL = ""

ietf/templates/liaisons/detail.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ <h1>
123123
<th class="text-nowrap">Attachments</th>
124124
<td>
125125
{% for doc in liaison.attachments.all %}
126-
<a href="https://datatracker.ietf.org/documents/LIAISON/{{ doc.external_url }}">{{ doc.title }}</a>
126+
<a href="{{ liaison_attach_url }}{{ doc.external_url }}">{{ doc.title }}</a>
127127
{% if not forloop.last %}<br>{% endif %}
128128
{% empty %}
129129
(None)
Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
{# Copyright The IETF Trust 2015, All Rights Reserved #}{% load origin %}{% origin %}
2-
{{ obj.body|truncatewords:"30"|wordwrap:"71"|linebreaksbr }}
3-
{% with obj.attachments.all as attachments %}
4-
<h3>Attached Document{{ attachments|pluralize }}</h3>
5-
{% if attachments %}
6-
<ul>
7-
{% for doc in attachments %}
8-
<li><a href="https://datatracker.ietf.org/documents/LIAISON/{{ doc.external_url }}">{{ doc.title }}</a><br>
9-
{% endfor %}
10-
</ul>
11-
{% else %}
12-
<p>NONE</p>
13-
{% endif %}
14-
{% endwith %}
2+
{{ liaison.body|truncatewords:"30"|wordwrap:"71"|linebreaksbr }}
3+
4+
<h3>Attached Document{{ attachments|pluralize }}</h3>
5+
{% if attachments %}
6+
<ul>
7+
{% for doc in attachments %}
8+
<li><a href="{{ liaison_attach_url }}{{ doc.external_url }}">{{ doc.title }}</a><br>
9+
{% endfor %}
10+
</ul>
11+
{% else %}
12+
<p>NONE</p>
13+
{% endif %}

ietf/templates/liaisons/liaison_mail.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Body: {{ liaison.body }}
1313
Attachments:
1414
{% for doc in liaison.attachments.all %}
1515
{{ doc.title }}
16-
https://datatracker.ietf.org/documents/LIAISON/{{ doc.external_url }}
16+
{{ liaison_attach_url }}{{ doc.external_url }}
1717
{% empty %}
1818
No document has been attached
1919
{% endfor %}{% endautoescape %}

ietf/templates/liaisons/overview.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ <h1>Liaison statements</h1>
6666
<td>
6767
{% if not liaison.from_contact_id %}
6868
{% for doc in liaison.attachments.all %}
69-
<a href="https://datatracker.ietf.org/documents/LIAISON/{{ doc.external_url }}">{{ doc.title }}</a>
69+
<a href="{{ liaison_attach_url }}{{ doc.external_url }}">{{ doc.title }}</a>
7070
<br>
7171
{% endfor %}
7272
{% else %}

0 commit comments

Comments
 (0)