def validate(self, data): user = self.context['request'].user name_fi = self._get_value(data, 'name_fi') if not name_fi: raise serializers.ValidationError(_("Finnish name is required.")) if 'production' in data and data[ 'production'] and not user.is_superuser: missing = get_missing_sp_data(self.instance) if missing: warning = _( 'Following parameters are missing for production use: ') self.fields[ 'production'].help_text += '<div class="text-danger">' + str( warning) + '<br>' + str( '<br>'.join(missing)) + '</div>' return data
def __init__(self, *args, **kwargs): self.request = kwargs.pop('request', None) super(LdapTechnicalInformationForm, self).__init__(*args, **kwargs) # Show missing fields missing = get_missing_sp_data(self.instance) if missing: warning = _( 'Following parameters are missing for production use: ') self.fields[ 'production'].help_text += '<div class="text-danger">' + str( warning) + '<br>' + str('<br>'.join(missing)) + '</div>' if not self.request.user.is_superuser: # Disable production if missing fields if missing and not self.instance.production: self.fields['production'].widget.attrs['disabled'] = True del self.fields['admin_require_manual_configuration']
def __init__(self, *args, **kwargs): self.request = kwargs.pop('request', None) super(SamlTechnicalInformationForm, self).__init__(*args, **kwargs) # Show missing fields missing = get_missing_sp_data(self.instance) if missing: warning = _( 'Following parameters are missing for production use: ') self.fields[ 'production'].help_text += '<div class="text-danger">' + str( warning) + '<br>' + str('<br>'.join(missing)) + '</div>' if not self.request.user.is_superuser: # Disable production if missing fields if missing and not self.instance.production: self.fields['production'].widget.attrs['disabled'] = True # Limit choices to public and current values self.fields['nameidformat'].queryset = NameIDFormat.objects.filter( Q(public=True) | Q(pk__in=self.instance.nameidformat.all())) del self.fields['admin_require_manual_configuration']
def validate(self, data): user = self.context['request'].user name_en = self._get_value(data, 'name_en') name_fi = self._get_value(data, 'name_fi') if not name_en and not name_fi: raise serializers.ValidationError( _("Name in English or in Finnish is required.")) if 'entity_id' in data and not user.is_superuser and ":" not in data[ 'entity_id']: raise serializers.ValidationError( _("Entity Id should be URI, please contact IdP admins if " "this is not possible.")) if 'production' in data and data[ 'production'] and not user.is_superuser: missing = get_missing_sp_data(self.instance) if missing: warning = _( 'Following parameters are missing for production use: ') self.fields[ 'production'].help_text += '<div class="text-danger">' + str( warning) + '<br>' + str( '<br>'.join(missing)) + '</div>' return data
def get_context_data(self, **kwargs): context = super(BasicInformationView, self).get_context_data(**kwargs) sp = context['object'] history = ServiceProvider.objects.filter(history=sp.pk).exclude( validated=None).last() if not context['object'].validated and history: context['attributes'] = SPAttribute.objects.filter( Q(sp=sp, end_at__gte=history.created_at) | Q(sp=sp, end_at=None)) context['certificates'] = Certificate.objects.filter( Q(sp=sp, end_at__gte=history.created_at) | Q(sp=sp, end_at=None)) context['contacts'] = Contact.objects.filter( Q(sp=sp, end_at__gte=history.created_at) | Q(sp=sp, end_at=None)) context['endpoints'] = Endpoint.objects.filter( Q(sp=sp, end_at__gte=history.created_at) | Q(sp=sp, end_at=None)) context['usergroups'] = UserGroup.objects.filter( Q(sp=sp, end_at__gte=history.created_at) | Q(sp=sp, end_at=None)) context['redirecturis'] = RedirectUri.objects.filter( Q(sp=sp, end_at__gte=history.created_at) | Q(sp=sp, end_at=None)) elif context['object'].validated: history = None context['attributes'] = SPAttribute.objects.filter( Q(sp=sp, end_at__gte=sp.validated) | Q(sp=sp, end_at=None)) context['certificates'] = Certificate.objects.filter( Q(sp=sp, end_at__gte=sp.validated) | Q(sp=sp, end_at=None)) context['contacts'] = Contact.objects.filter( Q(sp=sp, end_at__gte=sp.validated) | Q(sp=sp, end_at=None)) context['endpoints'] = Endpoint.objects.filter( Q(sp=sp, end_at__gte=sp.validated) | Q(sp=sp, end_at=None)) context['usergroups'] = UserGroup.objects.filter( Q(sp=sp, end_at__gte=sp.validated) | Q(sp=sp, end_at=None)) context['redirecturis'] = RedirectUri.objects.filter( Q(sp=sp, end_at__gte=sp.validated) | Q(sp=sp, end_at=None)) else: history = None context['attributes'] = SPAttribute.objects.filter( Q(sp=sp, end_at__gte=sp.created_at) | Q(sp=sp, end_at=None)) context['certificates'] = Certificate.objects.filter( Q(sp=sp, end_at__gte=sp.created_at) | Q(sp=sp, end_at=None)) context['contacts'] = Contact.objects.filter( Q(sp=sp, end_at__gte=sp.created_at) | Q(sp=sp, end_at=None)) context['endpoints'] = Endpoint.objects.filter( Q(sp=sp, end_at__gte=sp.created_at) | Q(sp=sp, end_at=None)) context['usergroups'] = UserGroup.objects.filter( Q(sp=sp, end_at__gte=sp.created_at) | Q(sp=sp, end_at=None)) context['redirecturis'] = RedirectUri.objects.filter( Q(sp=sp, end_at__gte=sp.created_at) | Q(sp=sp, end_at=None)) if history: context['history_object'] = history if sp.production: context['missing'] = get_missing_sp_data(sp) if self.request.user.is_superuser and sp.modified: context['form'] = ServiceProviderValidationForm( modified_date=sp.updated_at.strftime("%Y%m%d%H%M%S%f")) else: context['form'] = None return context