diff --git a/djnro/templates/edumanage/servers_edit.html b/djnro/templates/edumanage/servers_edit.html index 4ec7d9fd495b841dc935a6b3bb69fcea52385880..2fa2b22e974e73238ea0cccd93d7879488c4456f 100644 --- a/djnro/templates/edumanage/servers_edit.html +++ b/djnro/templates/edumanage/servers_edit.html @@ -9,12 +9,14 @@

{% if edit %}{{form.instance.get_name}} ({% trans "edit" %}){% else %}{% trans "Add Server" %}{% endif %}


- {% csrf_token %} {% if form.non_field_errors %} -

- {{ form.non_field_errors}} -

+ {% endif %} + {% csrf_token %}
{{form.instid}}
diff --git a/edumanage/models.py b/edumanage/models.py index ba93abf3a7140b4acc138bd3dc3941de911faeb7..f62e84bb896f905f585febac5b7ae30a2cbdbe55 100644 --- a/edumanage/models.py +++ b/edumanage/models.py @@ -9,6 +9,7 @@ from django.core import exceptions from django.conf import settings from django.contrib.auth.models import User from django import forms +from django.core.exceptions import ValidationError class MultiSelectFormField(forms.MultipleChoiceField): @@ -261,6 +262,19 @@ class InstServer(models.Model): return self.name return self.host + # If a server is a proxy for a realm, can not change type to SP + def clean(self): + if self.ertype == 2: + realms = InstRealm.objects.filter(proxyto=self) + if len(realms) > 0: + text = str() + for realm in realms: + text = text + ' ' + realm.realm + raise ValidationError( + 'You cannot change this server to SP (it is used by realms %s)' % + ', '.join([r.realm for r in realms]) + ) + class InstRealmMon(models.Model): '''