Use unversioned links in ics agendas. Partially fixes #2542. Commit ready for merge.
- Legacy-Id: 15446
This commit is contained in:
parent
fd8af4b6f7
commit
d9b53a5d6c
|
@ -177,7 +177,16 @@ class DocumentInfo(models.Model):
|
|||
revisions.sort()
|
||||
return revisions
|
||||
|
||||
|
||||
def href(self, meeting=None):
|
||||
return self._get_ref(meeting=meeting,meeting_doc_refs=settings.MEETING_DOC_HREFS)
|
||||
|
||||
|
||||
def gref(self, meeting=None):
|
||||
return self._get_ref(meeting=meeting,meeting_doc_refs=settings.MEETING_DOC_GREFS)
|
||||
|
||||
|
||||
def _get_ref(self, meeting=None, meeting_doc_refs=settings.MEETING_DOC_HREFS):
|
||||
"""
|
||||
Returns an url to the document text. This differs from .get_absolute_url(),
|
||||
which returns an url to the datatracker page for the document.
|
||||
|
@ -198,10 +207,10 @@ class DocumentInfo(models.Model):
|
|||
pass
|
||||
|
||||
|
||||
if self.type_id in settings.DOC_HREFS and self.type_id in settings.MEETING_DOC_HREFS:
|
||||
if self.type_id in settings.DOC_HREFS and self.type_id in meeting_doc_refs:
|
||||
if self.meeting_related():
|
||||
self.is_meeting_related = True
|
||||
format = settings.MEETING_DOC_HREFS[self.type_id]
|
||||
format = meeting_doc_refs[self.type_id]
|
||||
else:
|
||||
self.is_meeting_related = False
|
||||
format = settings.DOC_HREFS[self.type_id]
|
||||
|
@ -211,7 +220,7 @@ class DocumentInfo(models.Model):
|
|||
format = settings.DOC_HREFS['rfc']
|
||||
else:
|
||||
format = settings.DOC_HREFS[self.type_id]
|
||||
elif self.type_id in settings.MEETING_DOC_HREFS:
|
||||
elif self.type_id in meeting_doc_refs:
|
||||
self.is_meeting_related = True
|
||||
else:
|
||||
if len(self.external_url):
|
||||
|
@ -231,7 +240,7 @@ class DocumentInfo(models.Model):
|
|||
# After IETF 96, meeting materials acquired revision
|
||||
# handling, and the document naming changed.
|
||||
if meeting.number.isdigit() and int(meeting.number) > 96:
|
||||
format = settings.MEETING_DOC_HREFS[self.type_id]
|
||||
format = meeting_doc_refs[self.type_id]
|
||||
else:
|
||||
format = settings.MEETING_DOC_OLD_HREFS[self.type_id]
|
||||
info = dict(doc=self, meeting=meeting)
|
||||
|
|
|
@ -621,6 +621,15 @@ MEETING_DOC_OLD_HREFS = {
|
|||
"bluesheets": "https://www.ietf.org/proceedings/{meeting.number}/bluesheets/{doc.external_url}",
|
||||
}
|
||||
|
||||
# For http references to documents without a version number (that is, to the current version at the time of reference)
|
||||
MEETING_DOC_GREFS = {
|
||||
"agenda": "/meeting/{meeting.number}/materials/{doc.name}",
|
||||
"minutes": "/meeting/{meeting.number}/materials/{doc.name}",
|
||||
"slides": "/meeting/{meeting.number}/materials/{doc.name}",
|
||||
"recording": "{doc.external_url}",
|
||||
"bluesheets": "https://www.ietf.org/proceedings/{meeting.number}/bluesheets/{doc.external_url}",
|
||||
}
|
||||
|
||||
# Override this in settings_local.py if needed
|
||||
CACHE_MIDDLEWARE_SECONDS = 300
|
||||
CACHE_MIDDLEWARE_KEY_PREFIX = ''
|
||||
|
|
|
@ -11,11 +11,11 @@ CLASS:PUBLIC
|
|||
DTSTART{% if schedule.meeting.time_zone %};TZID="{{schedule.meeting.time_zone}}"{%endif%}:{{ item.timeslot.time|date:"Ymd" }}T{{item.timeslot.time|date:"Hi"}}00
|
||||
DTEND{% if schedule.meeting.time_zone %};TZID="{{schedule.meeting.time_zone}}"{%endif%}:{{ item.timeslot.end_time|date:"Ymd" }}T{{item.timeslot.end_time|date:"Hi"}}00
|
||||
DTSTAMP:{{ item.timeslot.modified|date:"Ymd" }}T{{ item.timeslot.modified|date:"His" }}Z
|
||||
{% if item.session.agenda %}URL:{{item.session.agenda.href}}
|
||||
{% if item.session.agenda %}URL:{{item.session.agenda.gref}}
|
||||
DESCRIPTION:{{item.timeslot.name|ics_esc}}\n{% if item.session.agenda_note %}
|
||||
Note: {{item.session.agenda_note|ics_esc}}\n{% endif %}{% for material in item.session.materials.all %}
|
||||
\n{{material.type}}{% if material.type.name != "Agenda" %}
|
||||
({{material.title|ics_esc}}){% endif %}:
|
||||
{{material.href}}\n{% endfor %}
|
||||
{{material.gref}}\n{% endfor %}
|
||||
{% endif %}END:VEVENT
|
||||
{% endif %}{% endfor %}END:VCALENDAR{% endautoescape %}
|
||||
|
|
Loading…
Reference in a new issue