git://git.onelab.eu
/
plcapi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
can now delete accounts that still have a pending verification
[plcapi.git]
/
PLC
/
Persons.py
diff --git
a/PLC/Persons.py
b/PLC/Persons.py
index
060a46f
..
8da70ef
100644
(file)
--- a/
PLC/Persons.py
+++ b/
PLC/Persons.py
@@
-155,7
+155,7
@@
class Person(Row):
1. We are the person.
2. We are an admin.
1. We are the person.
2. We are an admin.
- 3. We are a PI and the person is at one of our sites.
+ 3. We are a PI
or Tech
and the person is at one of our sites.
"""
assert isinstance(person, Person)
"""
assert isinstance(person, Person)
@@
-163,7
+163,7
@@
class Person(Row):
if self.can_update(person):
return True
if self.can_update(person):
return True
- if 'pi' in self['roles']:
+ if 'pi' in self['roles']
or 'tech' in self['roles']
:
if set(self['site_ids']).intersection(person['site_ids']):
# Can view people with equal or higher role IDs
return 'admin' not in person['roles']
if set(self['site_ids']).intersection(person['site_ids']):
# Can view people with equal or higher role IDs
return 'admin' not in person['roles']
@@
-359,6
+359,12
@@
class Person(Row):
# Mark as deleted
self['deleted'] = True
# Mark as deleted
self['deleted'] = True
+
+ # delete will fail if verification_expires exists and isn't validated
+ if 'verification_expires' in self:
+ self['verification_expires'] = \
+ self.validate_verification_expires(self['verification_expires'])
+
# don't validate, so duplicates can be consistently removed
self.sync(commit, validate=False)
# don't validate, so duplicates can be consistently removed
self.sync(commit, validate=False)