Merged [4811] from rjsparks@nostrum.com:
Cleaned up setting wg state, leaving events, and facilitated creating an initial charter for an existing unchartered group - Legacy-Id: 4940
This commit is contained in:
parent
d0214d3b25
commit
6a5a5c2200
ietf
|
@ -72,7 +72,7 @@ is occasionally incorrect.</span>
|
|||
{% else %}
|
||||
none
|
||||
{% if user|has_role:"Area Director,Secretariat" %}
|
||||
- <a href="{% url wgcharter.views.submit acronym=wg.acronym %}">Submit Charter</a>
|
||||
- <a href="{% url wginfo.edit.submit_initial_charter acronym=wg.acronym %}">Submit Charter</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
|
|
|
@ -73,9 +73,19 @@ def change_state(request, name, option=None):
|
|||
if "-" not in charter_rev:
|
||||
charter_rev = charter_rev + "-00"
|
||||
elif option == "abandon":
|
||||
if wg.state_id in ("proposed","bof","unknown"):
|
||||
oldstate = wg.state_id
|
||||
if oldstate in ("proposed","bof","unknown"):
|
||||
charter_state = State.objects.get(type="charter", slug="notrev")
|
||||
#TODO : set an abandoned state and leave some comments here
|
||||
wg.state=GroupStateName.objects.get(slug='abandon')
|
||||
wg.save()
|
||||
e = ChangeStateGroupEvent(group=wg, type="changed_state")
|
||||
e.time = wg.time
|
||||
e.by = login
|
||||
e.state_id = clean["state"].slug
|
||||
e.desc = "Group state changed to %s from %s" % clean["state"].name,oldstate
|
||||
e.save()
|
||||
|
||||
else:
|
||||
charter_state = State.objects.get(type="charter", slug="approved")
|
||||
charter_rev = approved_revision(charter.rev)
|
||||
|
|
|
@ -104,6 +104,37 @@ def format_urls(urls, fs="\n"):
|
|||
else:
|
||||
res.append(u.url)
|
||||
return fs.join(res)
|
||||
|
||||
def get_or_create_initial_charter(wg):
|
||||
try:
|
||||
charter = Document.objects.get(docalias__name="charter-ietf-%s" % wg.acronym)
|
||||
except Document.DoesNotExist:
|
||||
charter = Document(
|
||||
name="charter-ietf-" + wg.acronym,
|
||||
type_id="charter",
|
||||
title=wg.name,
|
||||
group=wg,
|
||||
abstract=wg.name,
|
||||
rev="00-00",
|
||||
)
|
||||
charter.save()
|
||||
charter.set_state(State.objects.get(type="charter", slug="notrev"))
|
||||
|
||||
# Create an alias as well
|
||||
DocAlias.objects.create(
|
||||
name=charter.name,
|
||||
document=charter
|
||||
)
|
||||
|
||||
return charter
|
||||
|
||||
@role_required('Area Director', 'Secretariat')
|
||||
def submit_initial_charter(request, acronym=None):
|
||||
wg = get_object_or_404(Group, acronym=acronym)
|
||||
if not wg.charter:
|
||||
wg.charter = get_or_create_initial_charter(wg)
|
||||
wg.save()
|
||||
return redirect('charter_submit', name=wg.charter.name, option="initcharter")
|
||||
|
||||
@role_required('Area Director', 'Secretariat')
|
||||
def edit(request, acronym=None, action="edit"):
|
||||
|
@ -141,34 +172,14 @@ def edit(request, acronym=None, action="edit"):
|
|||
e.time = wg.time
|
||||
e.by = login
|
||||
e.state_id = clean["state"].slug
|
||||
e.desc = clean["state"].name
|
||||
e.desc = "Group created in state %s" % clean["state"].name
|
||||
e.save()
|
||||
else:
|
||||
save_group_in_history(wg)
|
||||
|
||||
|
||||
if action=="charter" and not wg.charter: # make sure we have a charter
|
||||
try:
|
||||
charter = Document.objects.get(docalias__name="charter-ietf-%s" % wg.acronym)
|
||||
except Document.DoesNotExist:
|
||||
charter = Document(
|
||||
name="charter-ietf-" + wg.acronym,
|
||||
type_id="charter",
|
||||
title=wg.name,
|
||||
group=wg,
|
||||
abstract=wg.name,
|
||||
rev="00-00",
|
||||
)
|
||||
charter.save()
|
||||
charter.set_state(State.objects.get(type="charter", slug="notrev"))
|
||||
|
||||
# Create an alias as well
|
||||
DocAlias.objects.create(
|
||||
name=charter.name,
|
||||
document=charter
|
||||
)
|
||||
|
||||
wg.charter = charter
|
||||
wg.charter = get_or_create_initial_charter(wg)
|
||||
|
||||
changes = []
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ urlpatterns = patterns('',
|
|||
(r'^(?P<acronym>[A-Za-z0-9-]+)/charter/', include('ietf.wgcharter.urls')),
|
||||
(r'^(?P<acronym>[a-zA-Z0-9-]+)/history/', views.history),
|
||||
(r'^(?P<acronym>[a-zA-Z0-9-]+)/edit/', edit.edit, {'action': "edit"}, "wg_edit"),
|
||||
(r'^(?P<acronym>[a-zA-Z0-9-]+)/init-charter/', edit.submit_initial_charter, None, "wg_init_charter"),
|
||||
(r'^(?P<acronym>[a-zA-Z0-9-]+)/conclude/', edit.conclude, None, "wg_conclude"),
|
||||
(r'^(?P<acronym>[^/]+)/management/', include('ietf.wgchairs.urls')),
|
||||
|
||||
|
|
Loading…
Reference in a new issue