Skip to content

Commit a59331d

Browse files
committed
Align the roles edit buttons on a group's about page with the roles that the group edit GroupForm will accept. Avoids edit forms without any fields and some server 500 errors.
- Legacy-Id: 13296
1 parent 38bfdb4 commit a59331d

4 files changed

Lines changed: 13 additions & 10 deletions

File tree

ietf/group/utils.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,3 +242,11 @@ def construct_group_menu_context(request, group, selected, group_type, others):
242242
d.update(others)
243243

244244
return d
245+
246+
247+
def roles_for_group_type(group_type):
248+
roles = ["chair", "secr", "techadv", "delegate", ]
249+
if group_type == "dir":
250+
roles.append("reviewer")
251+
return roles
252+

ietf/group/views.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
from ietf.name.models import GroupTypeName
6060
from ietf.group.utils import (get_charter_text, can_manage_group_type,
6161
milestone_reviewer_for_group_type, can_provide_status_update,
62-
can_manage_materials, get_group_or_404,
62+
can_manage_materials, get_group_or_404, roles_for_group_type,
6363
construct_group_menu_context, get_group_materials)
6464
from ietf.community.utils import docs_tracked_by_community_list
6565
from ietf.community.models import CommunityList, EmailSubscription
@@ -443,6 +443,7 @@ def group_about(request, acronym, group_type=None):
443443
"can_provide_status_update": can_provide_update,
444444
"status_update": status_update,
445445
"charter_submit_url": charter_submit_url,
446+
"editable_roles": roles_for_group_type(group_type),
446447
}))
447448

448449
def all_status(request):

ietf/group/views_edit.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
from ietf.doc.utils_charter import charter_name_for_group
1717
from ietf.group.models import ( Group, Role, GroupEvent, GroupHistory, GroupStateName,
1818
GroupStateTransitions, GroupTypeName, GroupURL, ChangeStateGroupEvent )
19-
from ietf.group.utils import save_group_in_history, can_manage_group, can_manage_group_type
20-
from ietf.group.utils import get_group_or_404, setup_default_community_list_for_group
19+
from ietf.group.utils import (save_group_in_history, can_manage_group, can_manage_group_type,
20+
get_group_or_404, setup_default_community_list_for_group, roles_for_group_type, )
2121
from ietf.ietfauth.utils import has_role
2222
from ietf.person.fields import SearchableEmailsField
2323
from ietf.person.models import Person, Email
@@ -28,12 +28,6 @@
2828

2929
MAX_GROUP_DELEGATES = 3
3030

31-
def roles_for_group_type(group_type):
32-
roles = ["chair", "secr", "techadv", "delegate"]
33-
if group_type == "dir":
34-
roles.append("reviewer")
35-
return roles
36-
3731
class GroupForm(forms.Form):
3832
name = forms.CharField(max_length=80, label="Name", required=True)
3933
acronym = forms.CharField(max_length=40, label="Acronym", required=True)

ietf/templates/group/group_about.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@
143143
{% endif %}
144144
<th>{{ label }}</th>
145145
<td class="edit">
146-
{% if can_edit_group and not slug == "ad" %}
146+
{% if can_edit_group and slug in editable_roles %}
147147
<a class="btn btn-default btn-xs" href="{% url 'ietf.group.views_edit.edit' acronym=group.acronym field=slug %}">Edit</a>
148148
{% endif %}
149149
</td>

0 commit comments

Comments
 (0)