Remove WG milestone management from secretariat groups app. Commit ready for merge.

- Legacy-Id: 15423
This commit is contained in:
Ryan Cross 2018-08-10 05:13:43 +00:00
parent 43133fec1e
commit f8b107ef5a
6 changed files with 3 additions and 193 deletions

View file

@ -3,7 +3,7 @@ import re
from django import forms
from django.db.models import Count
from ietf.group.models import Group, GroupMilestone, Role
from ietf.group.models import Group, Role
from ietf.name.models import GroupStateName, GroupTypeName, RoleName
from ietf.person.models import Person, Email
from ietf.liaisons.models import LiaisonStatementGroupContacts
@ -47,29 +47,6 @@ def get_parent_group_choices():
class DescriptionForm (forms.Form):
description = forms.CharField(widget=forms.Textarea(attrs={'rows':'20'}),required=True, strip=False)
class GroupMilestoneForm(forms.ModelForm):
class Meta:
model = GroupMilestone
exclude = ('done',)
# use this method to set attrs which keeps other meta info from model.
def __init__(self, *args, **kwargs):
super(GroupMilestoneForm, self).__init__(*args, **kwargs)
self.fields['desc'].widget=forms.TextInput(attrs={'size':'60'})
self.fields['expected_due_date'].widget.attrs['size'] = 10
self.fields['done_date'].widget.attrs['size'] = 10
# override save. set done=True if done_date set
def save(self, force_insert=False, force_update=False, commit=True):
m = super(GroupMilestoneForm, self).save(commit=False)
if 'done_date' in self.changed_data:
if self.cleaned_data.get('done_date',''):
m.done = True
else:
m.done = False
if commit:
m.save()
return m
class GroupModelForm(forms.ModelForm):
type = forms.ModelChoiceField(queryset=GroupTypeName.objects.all(),empty_label=None)

View file

@ -13,7 +13,5 @@ urlpatterns = [
url(r'^%(acronym)s/delete/(?P<id>\d{1,6})/$' % settings.URL_REGEXPS, views.delete_role),
url(r'^%(acronym)s/charter/$' % settings.URL_REGEXPS, views.charter),
url(r'^%(acronym)s/edit/$' % settings.URL_REGEXPS, views.edit),
url(r'^%(acronym)s/gm/$' % settings.URL_REGEXPS, views.view_gm),
url(r'^%(acronym)s/gm/edit/$' % settings.URL_REGEXPS, views.edit_gm),
url(r'^%(acronym)s/people/$' % settings.URL_REGEXPS, views.people),
]

View file

@ -3,11 +3,11 @@ from django.conf import settings
from django.forms.models import inlineformset_factory
from django.shortcuts import render, get_object_or_404, redirect
from ietf.group.models import Group, GroupMilestone, ChangeStateGroupEvent, GroupEvent, GroupURL, Role
from ietf.group.models import Group, ChangeStateGroupEvent, GroupEvent, GroupURL, Role
from ietf.group.utils import save_group_in_history, get_charter_text, setup_default_community_list_for_group
from ietf.ietfauth.utils import role_required
from ietf.person.models import Person
from ietf.secr.groups.forms import GroupModelForm, GroupMilestoneForm, RoleForm, SearchForm
from ietf.secr.groups.forms import GroupModelForm, RoleForm, SearchForm
from ietf.secr.areas.forms import AWPForm
from ietf.secr.utils.meeting import get_current_meeting
@ -278,41 +278,6 @@ def edit(request, acronym):
'form': form},
)
@role_required('Secretariat')
def edit_gm(request, acronym):
"""
Edit IETF Group Goal and Milestone details
**Templates:**
* ``groups/edit_gm.html``
**Template Variables:**
* group, formset
"""
group = get_object_or_404(Group, acronym=acronym)
GMFormset = inlineformset_factory(Group, GroupMilestone, form=GroupMilestoneForm, can_delete=True, extra=5)
if request.method == 'POST':
button_text = request.POST.get('submit', '')
if button_text == 'Cancel':
return redirect('ietf.secr.groups.views.view', acronym=acronym)
formset = GMFormset(request.POST, instance=group, prefix='goalmilestone')
if formset.is_valid():
formset.save()
messages.success(request, 'The Goals Milestones were changed successfully')
return redirect('ietf.secr.groups.views.view', acronym=acronym)
else:
formset = GMFormset(instance=group, prefix='goalmilestone')
return render(request, 'groups/edit_gm.html', {
'group': group,
'formset': formset},
)
@role_required('Secretariat')
def people(request, acronym):
@ -460,21 +425,3 @@ def view(request, acronym):
return render(request, 'groups/view.html', { 'group': group } )
@role_required('Secretariat')
def view_gm(request, acronym):
"""
View IETF Group Goals and Milestones details
**Templates:**
* ``groups/view_gm.html``
**Template Variables:**
* group
"""
group = get_object_or_404(Group, acronym=acronym)
return render(request, 'groups/view_gm.html', { 'group': group } )

View file

@ -1,64 +0,0 @@
{% extends "base_site.html" %}
{% load staticfiles %}
{% block title %}Groups - Edit{% endblock %}
{% block extrahead %}{{ block.super }}
<script type="text/javascript" src="{% static 'secr/js/utils.js' %}"></script>
<script type="text/javascript" src="{% static 'secr/js/dynamic_inlines.js' %}"></script>
{% endblock %}
{% block breadcrumbs %}{{ block.super }}
&raquo; <a href="../../../">Groups</a>
&raquo; <a href="../../">{{ group.acronym }}</a>
&raquo; <a href="../">Goals and Milestones</a>
&raquo; Edit
{% endblock %}
{% block content %}
<div class="module group-container">
<form id="edit-gm" enctype="multipart/form-data" action="" method="post">{% csrf_token %}
<div class="inline-group">
<div class="tabular inline-related">
<h2>Goals and Milestones</h2>
{{ formset.management_form }}
{{ formset.non_form_errors }}
<table class="full-width">
<thead><tr>
{% for field in formset.forms.0.visible_fields %}
<th>{{ field.label|capfirst }}</th>
{% endfor %}
</tr></thead>
<tbody>
{% for form in formset.forms %}
{% if form.non_field_errors %}
<tr><td colspan="3">{{ form.non_field_errors }}</td></tr>
{% endif %}
<tr class="{% cycle 'row1' 'row2' %}">
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
{% for field in form.visible_fields %}
<td>
{{ field.errors }}
{{ field }}
</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
</div> <!-- tabular inline-related -->
</div> <!-- inline-group -->
{% include "includes/buttons_save_cancel.html" %}
</form>
</div> <!-- module -->
{% endblock %}

View file

@ -106,7 +106,6 @@
<ul>
<li><button onclick="window.location='edit/'">Edit</button></li>
<li><button onclick="window.location='people/'">People</button></li>
<li><button onclick="window.location='gm/'">G + M</button></li>
{% comment %}
<li><button onclick="window.location='{% url "sec.ids.views.search" id=group.group_acronym.acronym_id %}'">Drafts</button></li>
<li><button onclick="window.location='{% url "sec.rfcs.views.search" id=group.group_acronym.acronym_id %}'">RFCs</button></li>

View file

@ -1,47 +0,0 @@
{% extends "base_site.html" %}
{% load staticfiles %}
{% block title %}Groups - View G+M{% endblock %}
{% block extrahead %}{{ block.super }}
<script type="text/javascript" src="{% static 'secr/js/utils.js' %}"></script>
{% endblock %}
{% block breadcrumbs %}{{ block.super }}
&raquo; <a href="../../">Groups</a>
&raquo; <a href="../">{{ group.acronym }}</a>
&raquo; Goals and Milestones
{% endblock %}
{% block content %}
<div class="module group-container">
<h2>Groups - View Goals and Milestones</h2>
<table class="full-width">
<thead>
<tr>
<th>Description</th>
<th>Expected Due Date</th>
<th>Done Date</th>
</tr>
</thead>
<tbody>
{% for gm in group.groupmilestone_set.all %}
<tr class="{% cycle 'row1' 'row2' %}">
<td>{{ gm.desc }}</td>
<td>{{ gm.expected_due_date|date:"Y-m-d" }}</td>
<td>{{ gm.done_date|date:"Y-m-d" }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<div class="button-group">
<ul>
<!-- <li><button onclick="window.location='../../'">Back</button></li> -->
<li><button onclick="window.location='edit/'">Edit</button></li>
</ul>
</div> <!-- button-group -->
</div> <!-- module -->
{% endblock %}