|
a/Allura/allura/model/auth.py |
|
b/Allura/allura/model/auth.py |
|
... |
|
... |
190 |
display_name=self.display_identifier,
|
190 |
display_name=self.display_identifier,
|
191 |
open_ids=[self._id]),
|
191 |
open_ids=[self._id]),
|
192 |
make_project=False)
|
192 |
make_project=False)
|
193 |
self.claimed_by_user_id = result._id
|
193 |
self.claimed_by_user_id = result._id
|
194 |
return result
|
194 |
return result
|
|
|
195 |
|
|
|
196 |
class AuthGlobals(MappedClass):
|
|
|
197 |
class __mongometa__:
|
|
|
198 |
name='auth_globals'
|
|
|
199 |
session = main_orm_session
|
|
|
200 |
|
|
|
201 |
_id = FieldProperty(int)
|
|
|
202 |
next_uid = FieldProperty(int, if_missing=10000)
|
|
|
203 |
|
|
|
204 |
@classmethod
|
|
|
205 |
def upsert(cls):
|
|
|
206 |
r = cls.query.get()
|
|
|
207 |
if r is not None: return r
|
|
|
208 |
try:
|
|
|
209 |
r = cls(_id=0)
|
|
|
210 |
session(r).flush(r)
|
|
|
211 |
return r
|
|
|
212 |
except pymongo.errors.DuplicateKeyError: # pragma no cover
|
|
|
213 |
session(r).flush(r)
|
|
|
214 |
r = cls.query.get()
|
|
|
215 |
return r
|
|
|
216 |
|
|
|
217 |
@classmethod
|
|
|
218 |
def get_next_uid(cls):
|
|
|
219 |
cls.upsert()
|
|
|
220 |
g = cls.query.find_and_modify(
|
|
|
221 |
query={}, update={'$inc':{'next_uid': 1}},
|
|
|
222 |
new=True)
|
|
|
223 |
return g.next_uid
|
|
|
224 |
|
195 |
|
225 |
|
196 |
class User(MappedClass):
|
226 |
class User(MappedClass):
|
197 |
SALT_LEN=8
|
227 |
SALT_LEN=8
|
198 |
class __mongometa__:
|
228 |
class __mongometa__:
|
199 |
name='user'
|
229 |
name='user'
|