mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-25 22:22:26 +00:00
Corrige l'assignation des UID
This commit is contained in:
parent
87c9b21711
commit
f6a287c4b8
4 changed files with 49 additions and 6 deletions
19
machines/migrations/0022_auto_20161011_1829.py
Normal file
19
machines/migrations/0022_auto_20161011_1829.py
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('machines', '0021_auto_20161006_1943'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='interface',
|
||||||
|
name='dns',
|
||||||
|
field=models.CharField(help_text="Obligatoire et unique, doit se terminer par exemple en .rez et ne pas comporter d'autres points", unique=True, max_length=255),
|
||||||
|
),
|
||||||
|
]
|
|
@ -12,7 +12,7 @@ https://docs.djangoproject.com/en/1.8/ref/settings/
|
||||||
|
|
||||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||||
import os
|
import os
|
||||||
from .settings_local import SECRET_KEY, DATABASES, DEBUG, ALLOWED_HOSTS, ASSO_NAME, ASSO_ADDRESS_LINE1, ASSO_ADDRESS_LINE2, ASSO_SIRET, ASSO_EMAIL, ASSO_PHONE, LOGO_PATH, services_urls, REQ_EXPIRE_HRS, REQ_EXPIRE_STR, EMAIL_FROM, SITE_NAME, LDAP, MAIN_EXTENSION, UID_RANGES
|
from .settings_local import SECRET_KEY, DATABASES, DEBUG, ALLOWED_HOSTS, ASSO_NAME, ASSO_ADDRESS_LINE1, ASSO_ADDRESS_LINE2, ASSO_SIRET, ASSO_EMAIL, ASSO_PHONE, LOGO_PATH, services_urls, REQ_EXPIRE_HRS, REQ_EXPIRE_STR, EMAIL_FROM, SITE_NAME, LDAP, MAIN_EXTENSION, GID_RANGES, UID_RANGES
|
||||||
|
|
||||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
|
||||||
|
|
15
users/migrations/0039_merge.py
Normal file
15
users/migrations/0039_merge.py
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('users', '0038_user_rezo_rez_uid'),
|
||||||
|
('users', '0038_auto_20161006_1952'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
]
|
|
@ -8,7 +8,7 @@ from django.dispatch import receiver
|
||||||
import ldapdb.models
|
import ldapdb.models
|
||||||
import ldapdb.models.fields
|
import ldapdb.models.fields
|
||||||
|
|
||||||
from re2o.settings import RIGHTS_LINK, REQ_EXPIRE_HRS, LDAP, UID_RANGES
|
from re2o.settings import RIGHTS_LINK, REQ_EXPIRE_HRS, LDAP, GID_RANGES,UID_RANGES
|
||||||
import re, uuid
|
import re, uuid
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
|
@ -42,12 +42,24 @@ def linux_user_validator(login):
|
||||||
params={'label': login},
|
params={'label': login},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def get_fresh_user_uid():
|
||||||
|
uids = list(range(int(min(UID_RANGES['users'])),int(max(UID_RANGES['users']))))
|
||||||
|
used_uids = [ user.uid_number for user in User.objects.all()]
|
||||||
|
free_uids = [ id for id in uids if id not in used_uids]
|
||||||
|
return min(free_uids)
|
||||||
|
|
||||||
|
def get_fresh_gid():
|
||||||
|
gids = list(range(int(min(GID_RANGES['posix'])),int(max(GID_RANGES['posix']))))
|
||||||
|
used_gids = [ right.gid for right in ListRight.objects.all()]
|
||||||
|
free_gids = [ id for id in gids if id not in used_gids]
|
||||||
|
return min(free_gids)
|
||||||
|
|
||||||
def get_admin_right():
|
def get_admin_right():
|
||||||
try:
|
try:
|
||||||
admin_right = ListRight.objects.get(listright="admin")
|
admin_right = ListRight.objects.get(listright="admin")
|
||||||
except ListRight.DoesNotExist:
|
except ListRight.DoesNotExist:
|
||||||
admin_right = ListRight(listright="admin")
|
admin_right = ListRight(listright="admin")
|
||||||
|
admin_right.gid = get_fresh_gid()
|
||||||
admin_right.save()
|
admin_right.save()
|
||||||
return admin_right
|
return admin_right
|
||||||
|
|
||||||
|
@ -99,10 +111,7 @@ class User(AbstractBaseUser):
|
||||||
)
|
)
|
||||||
|
|
||||||
def auto_uid():
|
def auto_uid():
|
||||||
uids = list(range(int(min(UID_RANGES['users'])),int(max(UID_RANGES['users']))))
|
return get_fresh_user_uid()
|
||||||
used_uids = [ user.id for user in User.objects.all()]
|
|
||||||
free_uids = [ id for id in uids if id not in used_uids]
|
|
||||||
return min(free_uids)
|
|
||||||
|
|
||||||
name = models.CharField(max_length=255)
|
name = models.CharField(max_length=255)
|
||||||
surname = models.CharField(max_length=255)
|
surname = models.CharField(max_length=255)
|
||||||
|
|
Loading…
Reference in a new issue