Merge pull request from ietf-tools/main

ci: merge main to release
This commit is contained in:
Robert Sparks 2023-06-15 10:03:53 -05:00 committed by GitHub
commit 99ba77a9c3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 46 additions and 1047 deletions

View file

@ -67,7 +67,7 @@
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [3000, 5432, 5433, 8000],
"forwardPorts": [3000, 5432, 8000],
"portsAttributes": {
"3000": {
@ -78,10 +78,6 @@
"label": "PostgreSQL",
"onAutoForward": "silent"
},
"5433": {
"label": "pgAdmin",
"onAutoForward": "silent"
},
"8000": {
"label": "NGINX",
"onAutoForward": "notify"

View file

@ -15,11 +15,5 @@ services:
# Runs app on the same network as the database container, allows "forwardPorts" in devcontainer.json function.
network_mode: service:db
pgadmin:
network_mode: service:db
static:
network_mode: service:db
volumes:
datatracker-vscode-ext:

View file

@ -4,7 +4,6 @@ on:
pull_request:
branches:
- 'main'
- 'feat/django4'
paths:
- 'client/**'
- 'ietf/**'

View file

@ -53,9 +53,9 @@ services:
- PGADMIN_DEFAULT_EMAIL=dev@ietf.org
- PGADMIN_DEFAULT_PASSWORD=dev
- PGADMIN_CONFIG_LOGIN_BANNER="Login with dev@ietf.org / dev"
- PGADMIN_LISTEN_PORT=5433
- PGADMIN_DISABLE_POSTFIX=True
- PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED=False
- SCRIPT_NAME=/pgadmin
volumes:
- ./docker/configs/pgadmin-servers.json:/pgadmin4/servers.json

View file

@ -23,7 +23,6 @@
background-color: #222;
border-radius: 10px;
padding: 10px 50px;
display: inline-block;
}
i {
font-size: 64px;
@ -54,6 +53,9 @@
<p class="mt">Using <strong>VS Code</strong>, open the <strong>Run and Debug</strong> tab on the left and click the <i>&#x2023;</i> symbol (Run Server) to start the server.</p>
<p>Otherwise, run the command <code>ietf/manage.py runserver 0.0.0.0:8001</code> from the terminal.</p>
</div>
<div class="mt">
<p>You can manage the database at <a href="/pgadmin">/pgadmin</a>.</p>
</div>
<p class="mt">For more information, check out the <a href="https://github.com/ietf-tools/datatracker/blob/main/docker/README.md" target="_blank">Datatracker Development in Docker</a> guide.</p>
</body>
</html>

View file

@ -8,7 +8,14 @@ server {
server_name _;
location /_static/ {
proxy_pass http://localhost:80/;
proxy_pass http://static/;
}
location /pgadmin/ {
proxy_set_header X-Script-Name /pgadmin;
proxy_set_header Host $host;
proxy_pass http://pgadmin;
proxy_redirect off;
}
location / {

View file

@ -57,4 +57,4 @@ SLIDE_STAGING_PATH = 'test/staging/'
DE_GFM_BINARY = '/usr/local/bin/de-gfm'
STATIC_IETF_ORG = "/_static"
STATIC_IETF_ORG_INTERNAL = "http://localhost:80"
STATIC_IETF_ORG_INTERNAL = "http://static"

View file

@ -166,6 +166,7 @@ def fill_in_charter_info(group, include_drafts=False):
group.charter_text = get_charter_text(group)
else:
group.charter_text = "Not chartered yet."
group.charter_html = markdown.markdown(group.charter_text)
def extract_last_name(role):
return role.person.name_parts()[3]

File diff suppressed because one or more lines are too long

View file

@ -1,141 +0,0 @@
# Copyright The IETF Trust 2023, All Rights Reserved
import datetime
import json
import os
import shutil
import subprocess
import tempfile
from pathlib import Path
from django.conf import settings
from django.core.management.base import BaseCommand
from ietf.doc.models import Document, DocAlias, DocEvent
from ietf.meeting.models import (
Meeting,
Schedule,
Session,
SchedulingEvent,
SchedTimeSessAssignment,
TimeSlot,
)
def nametimes_by_year():
with Path(__file__).parent.joinpath("data_for_import_iab_minutes").open() as file:
return json.loads(file.read())
class Command(BaseCommand):
help = "Performs a one-time import of older IAB minutes, creating Meetings to attach them to"
def handle(self, *args, **options):
tmpdir = tempfile.mkdtemp()
process = subprocess.Popen(
["git", "clone", "https://github.com/kesara/iab-scraper.git", tmpdir],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
stdout, stderr = process.communicate()
if not Path(tmpdir).joinpath("iab_minutes", "2022-12-14.md").exists():
print("Git clone of the iab-scraper directory did not go as expected")
print("stdout:", stdout)
print("stderr:", stderr)
print(f"Clean up {tmpdir} manually")
exit(-1)
ntby = nametimes_by_year()
for year in ntby:
counter = 1
for month, day, ext, start_hour, start_minute, duration in ntby[year]:
start = datetime.datetime(
int(year),
month,
day,
start_hour,
start_minute,
tzinfo=datetime.timezone.utc,
)
meeting_name = f"interim-{year}-iab-{counter:02d}"
minutes_docname = f"minutes-interim-{year}-iab-{counter:02d}-{start:%Y%m%d}" # Note violating the convention of having the start time...
minutes_filename = f"{minutes_docname}-00.{ext}"
# Create Document
doc = Document.objects.create(
name=minutes_docname,
type_id="minutes",
title=f"Minutes {meeting_name} {start:%Y-%m-%d}", # Another violation of convention,
group_id=7, # The IAB group
rev="00",
uploaded_filename=minutes_filename,
)
DocAlias.objects.create(name=doc.name).docs.add(doc)
e = DocEvent.objects.create(
type="comment",
doc=doc,
rev="00",
by_id=1, # The "(System)" person
desc="Minutes moved into datatracker from iab wordpress website",
)
doc.save_with_history([e])
# Create Meeting - Add a note about noon utc fake meeting times
meeting = Meeting.objects.create(
number=meeting_name,
type_id="interim",
date=start.date(),
days=1,
time_zone=start.tzname(),
)
schedule = Schedule.objects.create(
meeting=meeting,
owner_id=1, # The "(System)" person
visible=True,
public=True,
)
meeting.schedule = schedule
if start.timetz() == datetime.time(
12, 0, 0, tzinfo=datetime.timezone.utc
):
meeting.agenda_note = "The actual time of this meeting was not recorded and was likely not at noon UTC"
meeting.save()
# Create Session
session = Session.objects.create(
meeting=meeting,
group_id=7, # The IAB group
type_id="regular",
purpose_id="regular",
)
# Schedule the Session
SchedulingEvent.objects.create(
session=session,
status_id="sched",
by_id=1, # (System)
)
timeslot = TimeSlot.objects.create(
meeting=meeting,
type_id="regular",
time=start,
duration=datetime.timedelta(seconds=duration),
)
SchedTimeSessAssignment.objects.create(
timeslot=timeslot, session=session, schedule=schedule
)
# Add Document to Session
session.sessionpresentation_set.create(document=doc, rev=doc.rev)
# Put file in place
source = Path(tmpdir).joinpath(
"iab_minutes", f"{year}-{month:02d}-{day:02d}.{ext}"
)
dest = Path(settings.AGENDA_PATH).joinpath(
meeting_name, "minutes", minutes_filename
)
if dest.exists():
print(f"WARNING: {dest} already exists - not overwriting it.")
else:
os.makedirs(dest.parent, exist_ok=True)
shutil.copy(source, dest)
counter += 1
shutil.rmtree(tmpdir)

View file

@ -1,872 +0,0 @@
# Copyright The IETF Trust 2023, All Rights Reserved
import datetime
import json
from collections import defaultdict
from pathlib import Path
from zoneinfo import ZoneInfo
from django.core.management.base import BaseCommand
class Command(BaseCommand):
help = "Regenerates the json used by import_iab_minutes"
def handle(self, *args, **options):
ntby = build_nametimes_by_year()
with Path(__file__).parent.joinpath("data_for_import_iab_minutes").open(
"w"
) as file:
file.write(json.dumps(ntby, sort_keys=True))
def make_time_tuple(date, start_hour, start_minute, end_hour, end_minute, tz):
start = datetime.datetime(
date.year, date.month, date.day, start_hour, start_minute, tzinfo=ZoneInfo(tz)
).astimezone(datetime.timezone.utc)
end = datetime.datetime(
date.year, date.month, date.day, end_hour, end_minute, tzinfo=ZoneInfo(tz)
).astimezone(datetime.timezone.utc)
return (start.hour, start.minute, (end - start).seconds)
def get_time(name):
"""
From Cindy:
2011-04-06 (and likely earlier) - 2013-02-27: 0930-1100 PST8PDT
2013-03-27 - 2015-04-08: 0700-0830 PST8PDT
2015-04-15 - 2016-03-23: 0800-0930 PST8PDT
2016-04-20 - 2016-11-02: 0700-0830 PST8PDT
2016-11-20 - 2019-03-13: 2000-2130 UTC
2019-04-10 - 2019-10-02: 1330-1430 UTC
2019-10-16 - 2020-03-18: 2130-2230 UTC
2020-04-01 - 2020-10-14: 1330-1430 UTC
2020-10-21 - 2021-03-03: 2130-2230 UTC
2021-03-24 - Present: 0700-0800 PST8PDT
"""
date_string = name.split(".")[0]
date = datetime.date(*map(int, date_string.split("-")))
times = None
if datetime.date(2011, 4, 6) <= date <= datetime.date(2013, 2, 27):
times = make_time_tuple(date, 9, 30, 11, 0, "PST8PDT")
elif datetime.date(2013, 3, 27) <= date <= datetime.date(2015, 4, 8):
times = make_time_tuple(date, 7, 0, 8, 30, "PST8PDT")
elif datetime.date(2015, 4, 15) <= date <= datetime.date(2016, 3, 23):
times = make_time_tuple(date, 8, 0, 9, 30, "PST8PDT")
elif datetime.date(2016, 11, 20) <= date <= datetime.date(2019, 3, 13):
times = make_time_tuple(date, 20, 0, 21, 30, "UTC")
elif datetime.date(2019, 4, 10) <= date <= datetime.date(2019, 10, 2):
times = make_time_tuple(date, 13, 30, 14, 30, "UTC")
elif datetime.date(2019, 10, 16) <= date <= datetime.date(2020, 3, 18):
times = make_time_tuple(date, 21, 30, 22, 30, "UTC")
elif datetime.date(2020, 4, 1) <= date <= datetime.date(2020, 10, 14):
times = make_time_tuple(date, 13, 30, 14, 30, "UTC")
elif datetime.date(2020, 10, 21) <= date <= datetime.date(2021, 3, 3):
times = make_time_tuple(date, 21, 30, 22, 30, "UTC")
elif datetime.date(2021, 3, 24) <= date:
times = make_time_tuple(date, 7, 0, 8, 0, "PST8PDT")
else:
times = make_time_tuple(date, 12, 0, 12, 5, "UTC")
return times
def build_nametimes_by_year():
scraped_basenames = [
"2022-12-14.md",
"2022-12-07.md",
"2022-11-23.md",
"2022-11-10.md",
"2022-11-08.md",
"2022-11-06.md",
"2022-10-26.md",
"2022-10-12.md",
"2022-10-05.md",
"2022-09-28.md",
"2022-09-21.md",
"2022-09-07.md",
"2022-08-24.md",
"2022-08-10.md",
"2022-07-26.md",
"2022-07-24.md",
"2022-07-06.md",
"2022-06-29.md",
"2022-06-22.md",
"2022-06-15.md",
"2022-06-01.md",
"2022-05-11.md",
"2022-05-04.md",
"2022-04-27.md",
"2022-04-20.md",
"2022-04-13.md",
"2022-04-06.md",
"2022-03-20.md",
"2022-03-09.md",
"2022-03-02.md",
"2022-02-23.md",
"2022-02-16.md",
"2022-02-02.md",
"2022-01-19.md",
"2022-01-12.md",
"2021-12-15.md",
"2021-12-08.md",
"2021-12-01.md",
"2021-11-17.md",
"2021-10-27.md",
"2021-10-20.md",
"2021-10-06.md",
"2021-09-22.md",
"2021-09-08.md",
"2021-09-01.md",
"2021-08-25.md",
"2021-08-11.md",
"2021-07-21.md",
"2021-07-14.md",
"2021-06-30.md",
"2021-06-23.md",
"2021-06-16.md",
"2021-06-02.md",
"2021-05-26.md",
"2021-05-19.md",
"2021-05-12.md",
"2021-05-05.md",
"2021-04-21.md",
"2021-04-14.md",
"2021-04-07.md",
"2021-03-31.md",
"2021-03-24.md",
"2021-03-03.md",
"2021-02-24.md",
"2021-02-17.md",
"2021-02-10.md",
"2021-02-03.md",
"2021-01-27.md",
"2021-01-20.md",
"2021-01-13.md",
"2021-01-06.md",
"2020-12-16.md",
"2020-12-02.md",
"2020-11-04.md",
"2020-10-21.md",
"2020-10-14.md",
"2020-10-07.md",
"2020-09-23.md",
"2020-09-09.md",
"2020-08-26.md",
"2020-08-12.md",
"2020-07-15.md",
"2020-07-01.md",
"2020-06-17.md",
"2020-06-10.md",
"2020-05-27.md",
"2020-05-20.md",
"2020-05-13.md",
"2020-04-29.md",
"2020-04-15.md",
"2020-04-08.md",
"2020-04-01.md",
"2020-03-18.md",
"2020-03-11.md",
"2020-03-04.md",
"2020-02-19.md",
"2020-02-12.md",
"2020-02-05.md",
"2020-01-22.md",
"2020-01-15.md",
"2020-01-08.md",
"2019-12-18.md",
"2019-12-11.md",
"2019-12-04.md",
"2019-11-21.md",
"2019-11-18.md",
"2019-11-17.md",
"2019-10-30.md",
"2019-10-16.md",
"2019-10-02.md",
"2019-09-18.md",
"2019-09-04.md",
"2019-08-28.md",
"2019-08-21.md",
"2019-08-07.md",
"2019-07-25.md",
"2019-07-21.md",
"2019-07-10.md",
"2019-06-26.md",
"2019-06-12.md",
"2019-05-29.md",
"2019-05-08.md",
"2019-05-01.md",
"2019-04-17.md",
"2019-04-10.md",
"2019-03-28.md",
"2019-03-25.md",
"2019-03-24.md",
"2019-03-13.md",
"2019-03-06.md",
"2019-02-27.md",
"2019-02-13.md",
"2019-02-06.md",
"2019-01-23.md",
"2019-01-16.md",
"2019-01-09.md",
"2018-12-19.md",
"2018-12-05.md",
"2018-11-28.md",
"2018-11-21.md",
"2018-11-08.md",
"2018-11-05.md",
"2018-11-04.md",
"2018-10-24.md",
"2018-10-10.md",
"2018-10-03.md",
"2018-09-26.md",
"2018-09-12.md",
"2018-09-05.md",
"2018-08-22.md",
"2018-08-08.md",
"2018-08-01.md",
"2018-07-19.md",
"2018-07-16.md",
"2018-07-15.md",
"2018-07-03.md",
"2018-06-27.md",
"2018-06-13.md",
"2018-06-06.md",
"2018-05-30.md",
"2018-05-16.md",
"2018-05-09.md",
"2018-04-11.md",
"2018-04-04.md",
"2018-03-22.md",
"2018-03-19.md",
"2018-03-18.md",
"2018-03-07.md",
"2018-02-28.md",
"2018-02-14.md",
"2018-02-07.md",
"2018-01-31.md",
"2018-01-17.md",
"2018-01-10.md",
"2017-12-13.md",
"2017-12-06.md",
"2017-11-29.md",
"2017-11-13.md",
"2017-11-12.md",
"2017-11-01.md",
"2017-10-25.md",
"2017-10-18.md",
"2017-10-04.md",
"2017-09-27.md",
"2017-09-13.md",
"2017-09-06.md",
"2017-08-23.md",
"2017-08-09.md",
"2017-08-02.md",
"2017-07-20.md",
"2017-07-17.md",
"2017-07-16.md",
"2017-07-05.md",
"2017-06-28.md",
"2017-06-14.md",
"2017-06-07.md",
"2017-05-24.md",
"2017-05-10.md",
"2017-05-03.md",
"2017-04-26.md",
"2017-04-12.md",
"2017-03-30.md",
"2017-03-29.md",
"2017-03-26.md",
"2017-03-15.md",
"2017-03-08.md",
"2017-03-01.md",
"2017-02-22.md",
"2017-02-08.md",
"2017-02-01.md",
"2017-01-25.md",
"2017-01-11.md",
"2017-01-04.md",
"2016-12-14.md",
"2016-12-07.md",
"2016-11-30.md",
"2016-11-17.md",
"2016-11-13.md",
"2016-11-02.md",
"2016-10-26.md",
"2016-10-12.md",
"2016-10-05.md",
"2016-09-28.md",
"2016-09-14.md",
"2016-08-31.md",
"2016-08-17.md",
"2016-08-03.md",
"2016-07-21.md",
"2016-07-17.md",
"2016-07-06.md",
"2016-06-22.md",
"2016-06-08.md",
"2016-06-01.md",
"2016-05-25.md",
"2016-05-11.md",
"2016-05-04.md",
"2016-04-27.md",
"2016-04-20.md",
"2016-04-07.md",
"2016-04-03.md",
"2016-03-23.md",
"2016-03-09.md",
"2016-03-02.md",
"2016-02-24.md",
"2016-02-10.md",
"2016-02-03.md",
"2016-01-27.md",
"2016-01-13.md",
"2016-01-06.md",
"2015-12-16.md",
"2015-12-09.md",
"2015-11-25.md",
"2015-11-18.md",
"2015-11-05.md",
"2015-11-01.md",
"2015-10-21.md",
"2015-10-14.md",
"2015-10-07.md",
"2015-09-23.md",
"2015-09-09.md",
"2015-09-02.md",
"2015-08-26.md",
"2015-08-12.md",
"2015-08-05.md",
"2015-07-24.md",
"2015-07-23.md",
"2015-07-20.md",
"2015-07-19.md",
"2015-07-08.md",
"2015-07-01.md",
"2015-06-24.md",
"2015-06-10.md",
"2015-06-03.md",
"2015-05-27.md",
"2015-05-13.md",
"2015-04-29.md",
"2015-04-15.md",
"2015-04-08.md",
"2015-03-26.md",
"2015-03-24.md",
"2015-03-22.md",
"2015-03-11.md",
"2015-03-04.md",
"2015-02-25.md",
"2015-02-11.md",
"2015-02-04.md",
"2015-01-21.md",
"2015-01-14.md",
"2015-01-07.md",
"2014-12-10.md",
"2014-12-03.md",
"2014-11-26.md",
"2014-11-13.md",
"2014-11-11.md",
"2014-11-10.md",
"2014-11-09.md",
"2014-10-29.md",
"2014-10-22.md",
"2014-10-08.md",
"2014-10-01.md",
"2014-09-24.md",
"2014-09-10.md",
"2014-09-03.md",
"2014-08-27.md",
"2014-08-13.md",
"2014-08-06.md",
"2014-07-20.md",
"2014-07-09.md",
"2014-07-02.md",
"2014-06-25.md",
"2014-06-11.md",
"2014-06-04.md",
"2014-05-28.md",
"2014-05-14.md",
"2014-05-08.md",
"2014-04-30.md",
"2014-04-16.md",
"2014-04-09.md",
"2014-04-02.md",
"2014-03-26.md",
"2014-03-19.md",
"2014-03-06.md",
"2014-03-04.md",
"2014-03-02.md",
"2014-02-19.md",
"2014-02-12.md",
"2014-02-05.md",
"2014-01-29.md",
"2014-01-22.md",
"2014-01-15.md",
"2014-01-08.md",
"2013-12-18.md",
"2013-12-11.md",
"2013-11-27.md",
"2013-11-20.md",
"2013-11-13.md",
"2013-11-08.md",
"2013-11-07.md",
"2013-11-05.md",
"2013-11-03.md",
"2013-10-23.md",
"2013-10-09.md",
"2013-10-02.md",
"2013-09-25.md",
"2013-09-18.md",
"2013-09-11.md",
"2013-09-04.md",
"2013-08-28.md",
"2013-08-14.md",
"2013-08-01.md",
"2013-07-30.md",
"2013-07-28.md",
"2013-07-17.md",
"2013-07-10.md",
"2013-07-03.md",
"2013-06-26.md",
"2013-06-19.md",
"2013-06-12.md",
"2013-06-03.md",
"2013-05-22.md",
"2013-05-09.md",
"2013-05-01.md",
"2013-04-24.md",
"2013-04-10.md",
"2013-04-03.md",
"2013-03-27.md",
"2013-03-14.md",
"2013-03-12.md",
"2013-03-10.md",
"2013-02-27.md",
"2013-02-13.md",
"2013-02-06.md",
"2013-01-30.md",
"2013-01-16.md",
"2013-01-09.md",
"2012-12-19.md",
"2012-12-12.md",
"2012-12-05.md",
"2012-11-28.md",
"2012-11-08.md",
"2012-11-06.md",
"2012-11-04.md",
"2012-10-24.md",
"2012-10-10.md",
"2012-10-03.md",
"2012-09-19.md",
"2012-09-12.md",
"2012-09-05.md",
"2012-08-29.md",
"2012-08-22.md",
"2012-08-15.md",
"2012-08-02.md",
"2012-07-31.md",
"2012-07-29.md",
"2012-07-25.md",
"2012-07-18.md",
"2012-07-11.md",
"2012-06-27.md",
"2012-06-13.md",
"2012-06-06.md",
"2012-05-30.md",
"2012-05-23.md",
"2012-05-16.md",
"2012-05-10.md",
"2012-05-02.md",
"2012-04-25.md",
"2012-04-18.md",
"2012-04-11.md",
"2012-03-29.md",
"2012-03-27.md",
"2012-03-25.md",
"2012-03-14.md",
"2012-03-07.md",
"2012-02-29.md",
"2012-02-22.md",
"2012-02-08.md",
"2012-01-25.md",
"2012-01-18.md",
"2012-01-11.md",
"2012-01-04.md",
"2011-12-21.md",
"2011-12-14.md",
"2011-12-07.md",
"2011-11-30.md",
"2011-11-17.md",
"2011-11-15.md",
"2011-11-13.md",
"2011-11-02.md",
"2011-10-26.md",
"2011-10-12.md",
"2011-10-05.md",
"2011-09-28.md",
"2011-09-21.md",
"2011-09-14.md",
"2011-09-07.md",
"2011-08-24.md",
"2011-08-10.md",
"2011-07-28.md",
"2011-07-26.md",
"2011-07-24.md",
"2011-07-13.md",
"2011-07-06.md",
"2011-06-29.md",
"2011-06-22.md",
"2011-06-15.md",
"2011-06-08.md",
"2011-06-01.md",
"2011-05-25.md",
"2011-05-12.md",
"2011-05-04.md",
"2011-04-27.md",
"2011-04-13.md",
"2011-04-06.md",
"2011-03-29.md",
"2011-03-09.md",
"2011-03-02.md",
"2011-02-23.md",
"2011-02-09.md",
"2011-02-02.md",
"2011-02-01.md",
"2011-01-26.md",
"2011-01-19.md",
"2011-01-12.md",
"2011-01-05.md",
"2010-12-22.md",
"2010-12-01.md",
"2010-11-24.md",
"2010-10-27.md",
"2010-10-13.md",
"2010-09-29.md",
"2010-09-22.md",
"2010-09-16.md",
"2010-09-08.md",
"2010-09-01.md",
"2010-08-25.md",
"2010-08-11.md",
"2010-07-14.md",
"2010-07-07.md",
"2010-06-23.md",
"2010-06-02.md",
"2010-05-12.md",
"2010-04-28.md",
"2010-04-14.md",
"2010-04-07.md",
"2010-03-10.md",
"2010-03-03.md",
"2010-02-24.md",
"2010-02-10.md",
"2010-02-03.md",
"2010-02-01.md",
"2010-01-27.md",
"2010-01-20.md",
"2010-01-13.md",
"2010-01-07.md",
"2010-01-06.md",
"2009-12-09.md",
"2009-12-02.md",
"2009-11-25.md",
"2009-11-04.md",
"2009-10-28.md",
"2009-10-21.md",
"2009-10-14.md",
"2009-10-07.md",
"2009-09-25.md",
"2009-09-23.md",
"2009-09-09.md",
"2009-09-02.md",
"2009-08-12.md",
"2009-07-01.md",
"2009-06-24.md",
"2009-06-10.md",
"2009-06-03.md",
"2009-05-27.md",
"2009-05-13.md",
"2009-04-08.md",
"2009-04-01.md",
"2009-03-18.md",
"2009-03-04.md",
"2009-02-25.md",
"2009-02-18.md",
"2009-02-05.md",
"2009-02-04.md",
"2009-01-28.md",
"2009-01-21.md",
"2009-01-14.md",
"2009-01-07.md",
"2008-12-17.md",
"2008-12-03.md",
"2008-11-05.md",
"2008-10-15.md",
"2008-10-08.md",
"2008-10-03.md",
"2008-10-01.md",
"2008-09-24.md",
"2008-09-17.md",
"2008-09-03.md",
"2008-08-27.md",
"2008-08-20.md",
"2008-08-13.md",
"2008-08-06.md",
"2008-07-23.md",
"2008-07-16.md",
"2008-07-02.md",
"2008-06-25.md",
"2008-06-18.md",
"2008-06-12.md",
"2008-06-04.md",
"2008-05-28.md",
"2008-05-21.md",
"2008-05-07.md",
"2008-04-16.md",
"2008-04-02.md",
"2008-03-26.md",
"2008-02-20.md",
"2008-02-13.md",
"2008-02-06.md",
"2008-01-30.md",
"2008-01-16.md",
"2008-01-09.md",
"2007-12-19.md",
"2007-11-21.md",
"2007-11-07.md",
"2007-10-17.md",
"2007-10-03.md",
"2007-09-19.md",
"2007-09-05.md",
"2007-08-15.md",
"2007-07-26.md",
"2007-07-24.md",
"2007-07-11.md",
"2007-06-20.md",
"2007-06-06.md",
"2007-05-16.md",
"2007-05-02.md",
"2007-04-18.md",
"2007-04-04.md",
"2007-03-18.md",
"2007-03-07.md",
"2007-02-21.md",
"2007-02-07.md",
"2007-01-24.md",
"2007-01-10.md",
"2006-12-20.md",
"2006-12-06.md",
"2006-11-22.md",
"2006-11-05.md",
"2006-11-01.md",
"2006-10-25.md",
"2006-10-04.md",
"2006-09-20.md",
"2006-09-06.md",
"2006-08-30.md",
"2006-08-02.md",
"2006-07-09.md",
"2006-07-05.md",
"2006-06-21.md",
"2006-06-07.md",
"2006-05-17.md",
"2006-05-03.md",
"2006-04-17.md",
"2006-04-05.md",
"2006-03-19.md",
"2006-03-15.md",
"2006-02-15.md",
"2006-02-01.md",
"2006-01-18.md",
"2006-01-04.md",
"2005-12-21.md",
"2005-12-07.md",
"2005-11-10.md",
"2005-11-02.md",
"2005-10-12.md",
"2005-09-14.md",
"2005-08-02.md",
"2005-07-13.md",
"2005-06-10.md",
"2005-05-11.md",
"2005-04-13.md",
"2005-03-07.md",
"2005-03-01.md",
"2005-02-08.md",
"2005-01-11.md",
"2004-12-14.md",
"2004-11-07.md",
"2004-10-12.md",
"2004-09-14.md",
"2004-08-03.md",
"2004-07-13.md",
"2004-06-08.md",
"2004-05-11.md",
"2004-04-13.md",
"2004-03-02.md",
"2004-02-10.md",
"2004-01-13.md",
"2003-12-09.md",
"2003-11-09.md",
"2003-11-04.md",
"2003-10-14.md",
"2003-09-09.md",
"2003-08-12.md",
"2003-07-17.md",
"2003-07-08.md",
"2003-06-10.md",
"2003-05-13.md",
"2003-04-08.md",
"2003-03-18.md",
"2003-03-11.md",
"2003-02-11.md",
"2003-01-14.md",
"2002-12-10.md",
"2002-11-17.md",
"2002-10-08.md",
"2002-09-10.md",
"2002-08-13.md",
"2002-07-16.md",
"2002-06-11.md",
"2002-05-14.md",
"2002-04-09.md",
"2002-03-19.md",
"2002-03-12.md",
"2002-02-15.md",
"2002-02-12.md",
"2002-01-08.md",
"2001-12-11.md",
"2001-11-20.md",
"2001-10-09.md",
"2001-09-24.md",
"2001-09-11.pdf",
"2001-09-11.md",
"2001-08-07.md",
"2001-07-10.md",
"2001-06-12.md",
"2001-05-08.md",
"2001-04-10.md",
"2001-03-20.md",
"2001-02-13.md",
"2001-01-09.md",
"2000-12-12.md",
"2000-11-13.md",
"2000-10-16.md",
"2000-09-11.md",
"2000-08-14.md",
"2000-08-01.md",
"2000-07-10.md",
"2000-06-12.md",
"2000-05-08.md",
"2000-04-10.md",
"2000-03-26.md",
"2000-02-14.md",
"2000-01-10.md",
"1999-12-14.md",
"1999-11-09.md",
"1999-10-19.md",
"1999-09-14.md",
"1999-08-10.md",
"1999-07-11.md",
"1999-06-15.md",
"1999-05-11.md",
"1999-04-13.md",
"1999-03-16.md",
"1999-02-09.md",
"1999-01-12.md",
"1998-12-08.md",
"1998-11-10.md",
"1998-10-13.md",
"1998-09-15.md",
"1998-08-23.md",
"1998-08-04.md",
"1998-07-14.md",
"1998-06-09.md",
"1998-05-12.md",
"1998-04-02.md",
"1998-03-31.pdf",
"1998-03-31.md",
"1998-03-10.md",
"1998-02-10.md",
"1998-01-20.md",
"1997-12-10.md",
"1997-12-09.md",
"1997-11-11.md",
"1997-10-14.md",
"1997-09-09.md",
"1997-08-13.md",
"1997-08-12.md",
"1997-07-15.md",
"1997-06-17.md",
"1997-04-09.md",
"1997-04-08.md",
"1997-03-11.md",
"1997-01-14.md",
"1996-12-10.md",
"1996-11-12.md",
"1996-10-08.md",
"1996-09-12.md",
"1996-08-13.md",
"1996-07-09.md",
"1996-06-26.md",
"1996-06-11.md",
"1996-05-14.md",
"1996-04-09.md",
"1996-03-06.md",
"1996-03-05.md",
"1996-02-13.md",
"1996-01-09.md",
"1995-12-03.md",
"1995-11-14.md",
"1995-10-10.md",
"1995-09-12.md",
"1995-08-08.md",
"1995-07-19.md",
"1995-06-29.md",
"1995-06-07.md",
"1995-05-10.md",
"1995-04-19.md",
"1995-04-05.md",
"1995-04-02.md",
"1995-03-22.md",
"1995-02-28.md",
"1995-02-07.md",
"1995-01-10.md",
"1994-12-09.md",
"1994-12-07.md",
"1994-11-09.md",
"1994-10-13.md",
"1994-09-23.md",
"1994-07-27.md",
"1994-07-05.md",
"1994-05-24.md",
"1994-04-29.md",
"1994-03-30.md",
"1993-07-13.md",
"1993-03-30.md",
"1992-10-29.md",
"1992-07-17.md",
"1992-06-18.md",
"1992-01-07.md",
"1991-11-19.md",
"1991-10-10.md",
"1991-06-14.md",
"1991-01-08.md",
"1990-10-11.md",
"1990-06-28.md",
"1990-04-26.md",
"1990-01-03.md",
"1988-07-12.md",
"1988-03-21.md",
]
nametimes_by_year = defaultdict(list)
for name in sorted(scraped_basenames):
date, ext = name.split(".")
year, month, day = map(int, date.split("-"))
start_hour, start_minute, duration = get_time(name)
nametimes_by_year[year].append(
(month, day, ext, start_hour, start_minute, duration)
)
return nametimes_by_year

View file

@ -1254,7 +1254,8 @@ class Session(models.Model):
return Constraint.objects.filter(target=self.group, meeting=self.meeting).order_by('name__name')
def official_timeslotassignment(self):
if not hasattr(self, "_cache_official_timeslotassignment"):
# cache only non-None values
if getattr(self, "_cache_official_timeslotassignment", None) is None:
self._cache_official_timeslotassignment = self.timeslotassignments.filter(schedule__in=[self.meeting.schedule, self.meeting.schedule.base if self.meeting.schedule else None]).first()
return self._cache_official_timeslotassignment

View file

@ -1295,6 +1295,6 @@ if SERVER_MODE != 'production':
# Cannot have this set to True if we're using http: from the dev-server:
CSRF_COOKIE_SECURE = False
CSRF_COOKIE_SAMESITE = 'Lax'
CSRF_TRUSTED_ORIGINS = ['http://localhost:8000']
CSRF_TRUSTED_ORIGINS += ['http://localhost:8000']
SESSION_COOKIE_SECURE = False
SESSION_COOKIE_SAMESITE = 'Lax'

View file

@ -273,14 +273,20 @@ $(document)
$(table)[0]
.dispatchEvent(new Event("tablesorter:done"));
// if there is a data-default-sort attribute on a column, pre-sort the table on that
const presort_col = $(header_row).children("[data-default-sort]:first");
if (presort_col) {
const order = presort_col.attr("data-default-sort");
if (order == "asc" || order == "desc") {
$.each(list_instance, (i, e) => {
e.sort(presort_col.attr("data-sort"), { order: order, sortFunction: text_sort });
});
// check if there is a sort query argument, and leave the table alone if so
const params = new Proxy(new URLSearchParams(window.location.search), {
get: (searchParams, prop) => searchParams.get(prop),
});
if (!params.sort) {
// else, if there is a data-default-sort attribute on a column, pre-sort the table on that
const presort_col = $(header_row).children("[data-default-sort]:first");
if (presort_col) {
const order = presort_col.attr("data-default-sort");
if (order === "asc" || order === "desc") {
$.each(list_instance, (i, e) => {
e.sort(presort_col.attr("data-sort"), { order: order, sortFunction: text_sort });
});
}
}
}
});

View file

@ -379,8 +379,7 @@ height: 100vh;
{% if group.state_id == "proposed" %}proposed{% endif %}
{{ group.type.desc.title }}
</h2>
{# the linebreaks filter adds <p>, no surrounding <p> necessary: #}
{{ group.charter_text|urlize_ietf_docs|linkify|linebreaks }}
{{ group.charter_html }}
{% else %}
<h2 class="mt-3">
{% if requested_close or group.state_id == "conclude" %}Final{% endif %}

View file

@ -40,15 +40,15 @@
{% block js %}
<script>
$(document).ready(function() {
$('input[name=widthconstraint]').trigger("change", function() {
$('input[name=widthconstraint]').on("change", function() {
if ($(this).is(':checked')) {
$('.rightcontent').css('max-width','700px')
} else {
$('.rightcontent').css('max-width','')
}
});
$('input[name=widthconstraint').prop('checked', true);
$('.rightcontent').css('max-width','700px')
$('input[name=widthconstraint').prop('checked', false);
$('.rightcontent').css('max-width','')
});
</script>
{% endblock %}

View file

@ -1,4 +1,6 @@
<div class="alert alert-info">
Additional information about IETF liaison relationships is available on the
<a href="https://www.ietf.org/about/liaisons/" target="_blank">IETF webpage</a>
and the
<a href="https://www.iab.org/liaisons/" target="_blank">Internet Architecture Board liaison webpage</a>.
</div>

View file

@ -1,6 +1,9 @@
{% extends "base.html" %}
{# Copyright The IETF Trust 2015, All Rights Reserved #}
{% load origin markup_tags %}
{% load origin markup_tags static %}
{% block pagehead %}
<link rel="stylesheet" href="{% static "ietf/css/list.css" %}">
{% endblock %}
{% block title %}IETF {{ meeting.number }} proceedings{% endblock %}
{% block content %}
{% origin %}
@ -12,4 +15,7 @@
</h1>
<h2>Attendee list of IETF {{ meeting.number }} meeting</h2>
{{ template|safe }}
{% endblock %}
{% block js %}
<script src="{% static "ietf/js/list.js" %}"></script>
{% endblock %}

View file

@ -76,7 +76,7 @@
<a href="{% url 'ietf.doc.views_doc.document_main' name='rfc8713' %}">RFC 8713</a>
for eligibility requirements.
For the 2021 and 2022 NomComs, see also
<a href="{% url 'ietf.doc.views_doc.document_main' name='rfc8989' %}">RFC 8989</a>.
<a href="{% url 'ietf.doc.views_doc.document_main' name='rfc9389' %}">RFC 9389</a>.
</p>
{% endif %}
</div>