parent
e681c5e3c9
commit
8527cdaf6b
|
@ -78,7 +78,7 @@
|
|||
</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 %}
|
||||
|
|
|
@ -7,8 +7,9 @@ from django.utils.safestring import mark_safe
|
|||
|
||||
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
|
||||
|
@ -36,7 +37,7 @@ class RelatedWGForm(forms.Form):
|
|||
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)
|
||||
|
@ -49,7 +50,7 @@ class TagForm(RelatedWGForm):
|
|||
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():
|
||||
|
@ -68,6 +69,10 @@ class StateForm(RelatedWGForm):
|
|||
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
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ from ietf.wgchairs.accounts import (can_manage_delegates_in_group, get_person_fo
|
|||
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,
|
||||
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue