Skip to content

Commit

Permalink
Freeze global WG states. See #644
Browse files Browse the repository at this point in the history
 - Legacy-Id: 3013
  • Loading branch information
emiliosanchez committed Mar 30, 2011
1 parent e681c5e commit 8527cda
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
2 changes: 1 addition & 1 deletion ietf/templates/wgchairs/manage_workflow.html
Expand Up @@ -78,7 +78,7 @@ <h2>Edit workflow</h2>
</tr>
{% for state in default_states %}
<tr class="{% cycle "oddrow" "evenrow" %}">
<td><input type="checkbox" id="id_states_{{ state.pk }}" name="states" value="{{ state.pk }}" {% if state.used %}checked="checked" {% endif %}/></td>
<td><input type="checkbox" id="id_states_{{ state.pk }}" name="states" value="{{ state.pk }}" {% if state.used %}checked="checked" {% endif %}{% if state.freeze %} disabled="disabled"{% endif %}/></td>
<td><label for="id_states_{{ state.pk }}">{{ state.name }}</label></td>
</tr>
{% endfor %}
Expand Down
11 changes: 8 additions & 3 deletions ietf/wgchairs/forms.py
Expand Up @@ -7,8 +7,9 @@

from ietf.wgchairs.models import WGDelegate, ProtoWriteUp
from ietf.wgchairs.accounts import get_person_for_user
from ietf.ietfworkflows.constants import REQUIRED_STATES
from ietf.ietfworkflows.utils import (get_default_workflow_for_wg, get_workflow_for_wg,
update_tags, FOLLOWUP_TAG)
update_tags, FOLLOWUP_TAG, get_state_by_name)
from ietf.idtracker.models import PersonOrOrgInfo

from workflows.models import Transition
Expand Down Expand Up @@ -36,7 +37,7 @@ def set_message(self, msg_type, msg_value):
class TagForm(RelatedWGForm):

tags = forms.ModelMultipleChoiceField(get_default_workflow_for_wg().annotation_tags.all(),
widget=forms.CheckboxSelectMultiple)
widget=forms.CheckboxSelectMultiple, required=False)

def save(self):
workflow = get_workflow_for_wg(self.wg)
Expand All @@ -49,7 +50,7 @@ def save(self):
class StateForm(RelatedWGForm):

states = forms.ModelMultipleChoiceField(get_default_workflow_for_wg().states.all(),
widget=forms.CheckboxSelectMultiple)
widget=forms.CheckboxSelectMultiple, required=False)

def update_transitions(self, workflow):
for transition in workflow.transitions.all():
Expand All @@ -68,6 +69,10 @@ def save(self):
workflow.selected_states.clear()
for state in self.cleaned_data['states']:
workflow.selected_states.add(state)
for name in REQUIRED_STATES:
rstate = get_state_by_name(name)
if rstate:
workflow.selected_states.add(rstate)
self.update_transitions(workflow)
return workflow

Expand Down
3 changes: 3 additions & 0 deletions ietf/wgchairs/views.py
Expand Up @@ -15,6 +15,7 @@
can_manage_writeup_of_a_document,
can_manage_writeup_of_a_document_no_state,
)
from ietf.ietfworkflows.constants import REQUIRED_STATES
from ietf.ietfworkflows.utils import (get_workflow_for_wg,
get_default_workflow_for_wg,
get_state_by_name,
Expand Down Expand Up @@ -70,6 +71,8 @@ def manage_workflow(request, acronym):
for i in default_states:
if states.filter(name=i.name).count() == 1:
i.used = True
if i.name in REQUIRED_STATES:
i.freeze = True
for i in default_tags:
if tags.filter(name=i.name).count() == 1:
i.used = True
Expand Down

0 comments on commit 8527cda

Please sign in to comment.