diff --git a/ietf/liaisons/forms.py b/ietf/liaisons/forms.py index 069f90bfd..8196e766e 100644 --- a/ietf/liaisons/forms.py +++ b/ietf/liaisons/forms.py @@ -64,6 +64,9 @@ class LiaisonForm(forms.ModelForm): def __unicode__(self): return self.as_div() + def get_post_only(self): + return False + def set_required_fields(self): purpose = self.data.get('purpose', None) if purpose == '5': @@ -193,6 +196,16 @@ class IncomingLiaisonForm(LiaisonForm): def set_organization_field(self): self.fields['organization'].choices = self.hm.get_all_incoming_entities() + def get_post_only(self): + if self.user.groups.filter(name='Liaison_Manager'): + return True + return False + + def clean(self): + if self.data.has_key('send') and self.get_post_only(): + self._errors['from_field'] = ErrorList([u'As an IETF Liaison Manager you can not send an incoming liaison statements, you only can post them']) + return super(IncomingLiaisonForm, self).clean() + class OutgoingLiaisonForm(LiaisonForm): diff --git a/ietf/templates/liaisons/liaisonform.html b/ietf/templates/liaisons/liaisonform.html index 5871db9e4..f4fd48b27 100644 --- a/ietf/templates/liaisons/liaisonform.html +++ b/ietf/templates/liaisons/liaisonform.html @@ -46,7 +46,9 @@ {% if form.liaison %} {% else %} + {% if not form.get_post_only %} + {% endif %} {% endif %}