Пример #1
0
 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
Пример #2
0
 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']
Пример #3
0
 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']
Пример #4
0
 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
Пример #5
0
 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