providers/proxy: add domainless URL Validator

This commit is contained in:
Jens Langhammer
2020-09-13 21:52:34 +02:00
parent 696aa7e5f6
commit 7fe9b8f0b4
5 changed files with 91 additions and 5 deletions

View File

@ -0,0 +1,27 @@
# Generated by Django 3.1.1 on 2020-09-13 19:47
from django.db import migrations, models
import passbook.lib.models
class Migration(migrations.Migration):
dependencies = [
("passbook_sources_ldap", "0004_auto_20200524_1146"),
]
operations = [
migrations.AlterField(
model_name="ldapsource",
name="server_uri",
field=models.TextField(
validators=[
passbook.lib.models.DomainlessURLValidator(
schemes=["ldap", "ldaps"]
)
],
verbose_name="Server URI",
),
),
]

View File

@ -1,20 +1,20 @@
"""passbook LDAP Models"""
from typing import Optional, Type
from django.core.validators import URLValidator
from django.db import models
from django.forms import ModelForm
from django.utils.translation import gettext_lazy as _
from ldap3 import Connection, Server
from passbook.core.models import Group, PropertyMapping, Source
from passbook.lib.models import DomainlessURLValidator
class LDAPSource(Source):
"""Federate LDAP Directory with passbook, or create new accounts in LDAP."""
server_uri = models.TextField(
validators=[URLValidator(schemes=["ldap", "ldaps"])],
validators=[DomainlessURLValidator(schemes=["ldap", "ldaps"])],
verbose_name=_("Server URI"),
)
bind_cn = models.TextField(verbose_name=_("Bind CN"))