Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
deb1339
refactor: clean up outgoing LS from field init
jennifer-richards May 2, 2025
9b67ed6
feat: additional LS "from" groups for IETF/IAB Chair+ADs
jennifer-richards May 2, 2025
a38e86c
refactor: reduce queries in get_internal_choices
jennifer-richards May 2, 2025
ba1319c
refactor: break down / rename get_groups_for_person
jennifer-richards May 2, 2025
0328020
refactor: inline / remove unneeded methods
jennifer-richards May 2, 2025
3f8c28d
refactor: colocate similar field config
jennifer-richards May 2, 2025
0ae8463
refactor: unify role logic for LS To fields
jennifer-richards May 2, 2025
f216b21
fix: typo
jennifer-richards May 2, 2025
a55e654
refactor: update EditLiaisonForm to match changes
jennifer-richards May 2, 2025
2232869
refactor: update IncomingLiaisonForm to match
jennifer-richards May 2, 2025
db8c46b
fix: typo / add docstring
jennifer-richards May 2, 2025
f95d000
test: framing for new tests; test_flatten_choices()
jennifer-richards May 5, 2025
e43fbb3
test: test_choices_from_group_queryset()
jennifer-richards May 5, 2025
418f8ad
test: test_all_internal_groups()
jennifer-richards May 5, 2025
7505576
fix: no person = no internal groups for LS
jennifer-richards May 5, 2025
35573ce
test: test_all_internal_groups()
jennifer-richards May 5, 2025
fe1ed3a
test: test_external_groups_for_person()
jennifer-richards May 5, 2025
a272ae0
chore: adjust iab execdir and sdo auth'd individs
jennifer-richards May 5, 2025
39af0c6
Merge branch 'main' into liaison-contact-privs
jennifer-richards May 23, 2025
3dff1ee
fix: f-string flakes
rjsparks May 23, 2025
97c9eeb
fix: remove authorized persons from sdo groups
rjsparks May 23, 2025
bdd4962
fix: remove liaison_contact and liaison_cc_contact Role objects
rjsparks May 23, 2025
fca02cf
Merge pull request #8883 from jennifer-richards/liaison-contact-privs
jennifer-richards May 26, 2025
31d02e2
Merge pull request #8919 from rjsparks/roleaway
jennifer-richards May 26, 2025
432c50e
Merge pull request #8920 from rjsparks/roleawaymore
jennifer-richards May 27, 2025
0933193
feat: liaison coordinators (#8944)
rjsparks Jun 2, 2025
c3d6058
feat: more flexible liaison stmt "From Contact" (#8958)
jennifer-richards Jun 4, 2025
d5be9ea
fix: improve managing liaison coordinators (#8960)
rjsparks Jun 4, 2025
44aa2fc
Merge branch 'main' into feat/liaisons
rjsparks Jun 18, 2025
5166b91
fix: align liaison coordinator perms with secretariat perms
rjsparks Jun 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
192 changes: 192 additions & 0 deletions ietf/group/migrations/0005_remove_sdo_authorized_individuals.py

Large diffs are not rendered by default.

270 changes: 270 additions & 0 deletions ietf/group/migrations/0006_remove_liason_contacts.py

Large diffs are not rendered by default.

49 changes: 49 additions & 0 deletions ietf/group/migrations/0007_used_roles.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright The IETF Trust 2025, All Rights Reserved

from django.db import migrations


def forward(apps, schema_editor):
Group = apps.get_model("group", "Group")
GroupFeatures = apps.get_model("group", "GroupFeatures")
iab = Group.objects.get(acronym="iab")
iab.used_roles = [
"chair",
"delegate",
"exofficio",
"liaison",
"liaison_coordinator",
"member",
]
iab.save()
GroupFeatures.objects.filter(type_id="ietf").update(
default_used_roles=[
"ad",
"member",
"comdir",
"delegate",
"execdir",
"recman",
"secr",
"chair",
]
)


def reverse(apps, schema_editor):
Group = apps.get_model("group", "Group")
iab = Group.objects.get(acronym="iab")
iab.used_roles = []
iab.save()
# Intentionally not putting trac-* back into grouptype ietf default_used_roles


class Migration(migrations.Migration):
dependencies = [
("group", "0006_remove_liason_contacts"),
("name", "0018_alter_rolenames"),
]

operations = [
migrations.RunPython(forward, reverse),
]
4 changes: 4 additions & 0 deletions ietf/ietfauth/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,10 @@ def has_role(user, role_names, *args, **kwargs):
group__type="sdo",
group__state="active",
),
"Liaison Coordinator": Q(
name="liaison_coordinator",
group__acronym="iab",
),
"Authorized Individual": Q(
name="auth",
group__type="sdo",
Expand Down
4 changes: 2 additions & 2 deletions ietf/liaisons/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class LiaisonStatementAdmin(admin.ModelAdmin):
list_display = ['id', 'title', 'submitted', 'from_groups_short_display', 'purpose', 'related_to']
list_display_links = ['id', 'title']
ordering = ('title', )
raw_id_fields = ('from_contact', 'attachments', 'from_groups', 'to_groups')
raw_id_fields = ('attachments', 'from_groups', 'to_groups')
#filter_horizontal = ('from_groups', 'to_groups')
inlines = [ RelatedLiaisonStatementInline, LiaisonStatementAttachmentInline ]

Expand All @@ -50,4 +50,4 @@ class LiaisonStatementEventAdmin(admin.ModelAdmin):
raw_id_fields = ["statement", "by"]

admin.site.register(LiaisonStatement, LiaisonStatementAdmin)
admin.site.register(LiaisonStatementEvent, LiaisonStatementEventAdmin)
admin.site.register(LiaisonStatementEvent, LiaisonStatementEventAdmin)
2 changes: 1 addition & 1 deletion ietf/liaisons/factories.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ class Meta:
skip_postgeneration_save = True

title = factory.Faker('sentence')
from_contact = factory.SubFactory('ietf.person.factories.EmailFactory')
from_contact = factory.Faker('email')
purpose_id = 'comment'
body = factory.Faker('paragraph')
state_id = 'posted'
Expand Down
Loading
Loading