From 7e8d51e40533863e4d9fd17a7d0d498b99c15659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20A=2E=20S=C3=A1nchez=20L=C3=B3pez?= Date: Thu, 3 Mar 2011 11:35:10 +0000 Subject: [PATCH] Included MAX_WG_DELEGATES into settings.py Some minor textual changes in templates. Fixes #605 - Legacy-Id: 2874 --- ietf/settings.py | 3 +++ ietf/templates/wgchairs/manage_delegates.html | 11 +++++++++-- ietf/templates/wgchairs/wg_shepherd_documents.html | 6 +++--- ietf/templates/wgchairs/wgchairs_admin_options.html | 4 ++-- ietf/wgchairs/accounts.py | 5 ++--- ietf/wgchairs/forms.py | 6 ++---- ietf/wgchairs/models.py | 4 ++-- ietf/wgchairs/views.py | 11 +++++++---- 8 files changed, 30 insertions(+), 20 deletions(-) diff --git a/ietf/settings.py b/ietf/settings.py index 717c8328f..0a84060e8 100644 --- a/ietf/settings.py +++ b/ietf/settings.py @@ -155,6 +155,9 @@ SERVER_MODE = 'development' # The name of the method to use to invoke the test suite TEST_RUNNER = 'ietf.utils.test_runner.run_tests' +# WG Chair configuration +MAX_WG_DELEGATES = 5 + # Override this in settings_local.py if needed # *_PATH variables ends with a slash/ . INTERNET_DRAFT_PATH = '/a/www/ietf-ftp/internet-drafts/' diff --git a/ietf/templates/wgchairs/manage_delegates.html b/ietf/templates/wgchairs/manage_delegates.html index fb58fc0fe..f1f2eaf58 100644 --- a/ietf/templates/wgchairs/manage_delegates.html +++ b/ietf/templates/wgchairs/manage_delegates.html @@ -7,7 +7,14 @@

Manage delegates

-

Please, rembember that you only can assign a maximum of three delegates.

+

+Sometimes, a WG has one (or more) WG Secretaries, in addition to the WG Chairs. +This page lets the WG Chairs delegate the authority to do updates to the WG state of WG documents in the datatracker. +

+ +

+You may at most delegate the datatracker update rights to {{ max_delegates }} persons at any given time. +

@@ -43,7 +50,7 @@ No delegates

{% else %} -You can only assign three delegates. Please remove delegates to add a new one. +You can only assign {{ max_delegates }} delegates. Please remove delegates to add a new one. {% endif %}
diff --git a/ietf/templates/wgchairs/wg_shepherd_documents.html b/ietf/templates/wgchairs/wg_shepherd_documents.html index 9cb5fff36..0bbbc1074 100644 --- a/ietf/templates/wgchairs/wg_shepherd_documents.html +++ b/ietf/templates/wgchairs/wg_shepherd_documents.html @@ -43,12 +43,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. {% block wg_content %} -

Documets by its shepherd

+

Documents by its shepherd

diff --git a/ietf/templates/wgchairs/wgchairs_admin_options.html b/ietf/templates/wgchairs/wgchairs_admin_options.html index 7df492513..b8c45a00f 100644 --- a/ietf/templates/wgchairs/wgchairs_admin_options.html +++ b/ietf/templates/wgchairs/wgchairs_admin_options.html @@ -8,9 +8,9 @@ {% if can_manage_delegates %} {% ifequal selected "manage_delegates" %} - Manage delegates + Manage delegations {% else %} - Manage delegates + Manage delegations {% endifequal %} | {% endif %} diff --git a/ietf/wgchairs/accounts.py b/ietf/wgchairs/accounts.py index dd8ec110b..f70060fc6 100644 --- a/ietf/wgchairs/accounts.py +++ b/ietf/wgchairs/accounts.py @@ -71,7 +71,7 @@ def can_manage_writeup_of_a_document_no_state(user, document): return False group = document.group.ietfwg return (is_group_chair(person, group) or - is_areadirector_for_group(person, group) or + is_area_director_for_group(person, group) or is_group_delegate(person, group)) @@ -79,6 +79,5 @@ def can_manage_writeup_of_a_document(user, document): person = get_person_for_user(user) if not person or not document.group: return False - group = document.group.ietfwg return (can_manage_writeup_of_a_document_no_state(user, document) or - is_document_shepherd(person, doc)) + is_document_shepherd(person, document)) diff --git a/ietf/wgchairs/forms.py b/ietf/wgchairs/forms.py index 9132a9c63..89ec4b081 100644 --- a/ietf/wgchairs/forms.py +++ b/ietf/wgchairs/forms.py @@ -1,5 +1,4 @@ from django import forms -from django.db.models import Q from django.conf import settings from django.core.mail import EmailMessage from django.forms.models import BaseModelFormSet @@ -337,14 +336,13 @@ class WriteUpEditForm(RelatedWGForm): followup = forms.BooleanField(required=False) comment = forms.CharField(widget=forms.Textarea, required=False) - def __init__(self, *args, **kwargs): self.doc = kwargs.pop('doc', None) self.doc_writeup = self.doc.protowriteup_set.all() if self.doc_writeup.count(): - self.doc_writeup=self.doc_writeup[0] + self.doc_writeup = self.doc_writeup[0] else: - self.doc_writeup=None + self.doc_writeup = None super(WriteUpEditForm, self).__init__(*args, **kwargs) self.person = get_person_for_user(self.user) diff --git a/ietf/wgchairs/models.py b/ietf/wgchairs/models.py index b40748908..3b57827e3 100644 --- a/ietf/wgchairs/models.py +++ b/ietf/wgchairs/models.py @@ -40,6 +40,6 @@ class ProtoWriteUp(models.Model): ) writeup = models.TextField( - blank = False, - null = False, + blank=False, + null=False, ) diff --git a/ietf/wgchairs/views.py b/ietf/wgchairs/views.py index b03c91b29..ac1990b6a 100644 --- a/ietf/wgchairs/views.py +++ b/ietf/wgchairs/views.py @@ -1,4 +1,5 @@ -from ietf.idtracker.models import IETFWG, InternetDraft, IESGLogin +from django.conf import settings +from ietf.idtracker.models import IETFWG, InternetDraft from django.shortcuts import get_object_or_404, render_to_response from django.template import RequestContext from django.http import HttpResponseForbidden, Http404 @@ -37,11 +38,13 @@ def manage_delegates(request, acronym): elif add_form.is_valid(): add_form.save() add_form = add_form.get_next_form() + max_delegates = getattr(settings, 'MAX_WG_DELEGATES', 3) return render_to_response('wgchairs/manage_delegates.html', {'wg': wg, 'delegates': delegates, 'selected': 'manage_delegates', - 'can_add': delegates.count() < 3, + 'can_add': delegates.count() < max_delegates, + 'max_delegates': max_delegates, 'add_form': add_form, }, RequestContext(request)) @@ -145,16 +148,16 @@ def wg_shepherd_documents(request, acronym): } return render_to_response('wgchairs/wg_shepherd_documents.html', context, RequestContext(request)) + def managing_writeup(request, acronym, name): wg = get_object_or_404(IETFWG, group_acronym__acronym=acronym, group_type=1) user = request.user - person = get_person_for_user(user) doc = get_object_or_404(InternetDraft, filename=name) if not can_manage_writeup_of_a_document(user, doc): raise Http404 current_state = get_state_for_draft(doc) can_edit = True - if current_state != get_state_by_name(WAITING_WRITEUP) and not can_manage_writeup_of_a_document_no_state(user,doc): + if current_state != get_state_by_name(WAITING_WRITEUP) and not can_manage_writeup_of_a_document_no_state(user, doc): can_edit = False writeup = doc.protowriteup_set.all() if writeup.count():