misc: fix check of nrn with zero as remainder (#24504)
This commit is contained in:
parent
d4a976fddd
commit
f6ab6ba4c5
|
@ -28,6 +28,19 @@ from authentic2 import utils
|
|||
from authentic2.a2_rbac.utils import get_default_ou
|
||||
|
||||
|
||||
def check_nrn(nrn):
|
||||
remainder = (97 - int(nrn[:9])) % 97
|
||||
if remainder == 0:
|
||||
remainder = 97
|
||||
return int(remainder) == int(nrn[-2:])
|
||||
|
||||
def check_nrn_y2k(nrn):
|
||||
remainder = (97 - int('2' + nrn[:9])) % 97
|
||||
if remainder == 0:
|
||||
remainder = 97
|
||||
return int(remainder) == int(nrn[-2:])
|
||||
|
||||
|
||||
class AuthenticAdapter(DefaultAdapter):
|
||||
def auth_login(self, request, user):
|
||||
utils.login(request, user, 'fedict')
|
||||
|
@ -128,9 +141,9 @@ class AuthenticAdapter(DefaultAdapter):
|
|||
if nrn[:6] == '0000001': # unknown date
|
||||
birthdate = ''
|
||||
else:
|
||||
if (97 - int(nrn[:9])) % 97 == int(nrn[-2:]):
|
||||
if check_nrn(nrn):
|
||||
birthdate = '%s/%s/19%s' % (nrn[4:6], nrn[2:4], nrn[:2])
|
||||
elif (97 - int('2' + nrn[:9])) % 97 == int(nrn[-2:]):
|
||||
elif check_nrn_y2k(nrn):
|
||||
birthdate = '%s/%s/20%s' % (nrn[4:6], nrn[2:4], nrn[:2])
|
||||
else:
|
||||
birthdate = ''
|
||||
|
|
Loading…
Reference in New Issue