Give User a status, also add uploader user field to MediaEntry
This commit is contained in:
parent
7eba0306d8
commit
4d75522b91
@ -21,10 +21,40 @@ from mongokit import Document, Set
|
|||||||
from mediagoblin.auth import lib as auth_lib
|
from mediagoblin.auth import lib as auth_lib
|
||||||
|
|
||||||
|
|
||||||
|
class User(Document):
|
||||||
|
__collection__ = 'users'
|
||||||
|
|
||||||
|
structure = {
|
||||||
|
'username': unicode,
|
||||||
|
'email': unicode,
|
||||||
|
'created': datetime.datetime,
|
||||||
|
'plugin_data': dict, # plugins can dump stuff here.
|
||||||
|
'pw_hash': unicode,
|
||||||
|
'email_verified': bool,
|
||||||
|
'status': unicode,
|
||||||
|
}
|
||||||
|
|
||||||
|
required_fields = ['username', 'created', 'pw_hash', 'email']
|
||||||
|
|
||||||
|
default_values = {
|
||||||
|
'created': datetime.datetime.utcnow,
|
||||||
|
'email_verified': False,
|
||||||
|
# TODO: shouldn't be active by default, must have email registration
|
||||||
|
'status': 'active'}
|
||||||
|
|
||||||
|
def check_login(self, password):
|
||||||
|
"""
|
||||||
|
See if a user can login with this password
|
||||||
|
"""
|
||||||
|
return auth_lib.bcrypt_check_password(
|
||||||
|
password, self['pw_hash'])
|
||||||
|
|
||||||
|
|
||||||
class MediaEntry(Document):
|
class MediaEntry(Document):
|
||||||
__collection__ = 'media_entries'
|
__collection__ = 'media_entries'
|
||||||
|
|
||||||
structure = {
|
structure = {
|
||||||
|
'uploader': User,
|
||||||
'title': unicode,
|
'title': unicode,
|
||||||
'created': datetime.datetime,
|
'created': datetime.datetime,
|
||||||
'description': unicode,
|
'description': unicode,
|
||||||
@ -45,31 +75,6 @@ class MediaEntry(Document):
|
|||||||
def main_mediafile(self):
|
def main_mediafile(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class User(Document):
|
|
||||||
__collection__ = 'users'
|
|
||||||
|
|
||||||
structure = {
|
|
||||||
'username': unicode,
|
|
||||||
'email': unicode,
|
|
||||||
'created': datetime.datetime,
|
|
||||||
'plugin_data': dict, # plugins can dump stuff here.
|
|
||||||
'pw_hash': unicode,
|
|
||||||
'email_verified': bool,
|
|
||||||
}
|
|
||||||
|
|
||||||
required_fields = ['username', 'created', 'pw_hash', 'email']
|
|
||||||
|
|
||||||
default_values = {
|
|
||||||
'created': datetime.datetime.utcnow,
|
|
||||||
'email_verified': False}
|
|
||||||
|
|
||||||
def check_login(self, password):
|
|
||||||
"""
|
|
||||||
See if a user can login with this password
|
|
||||||
"""
|
|
||||||
return auth_lib.bcrypt_check_password(
|
|
||||||
password, self['pw_hash'])
|
|
||||||
|
|
||||||
|
|
||||||
REGISTER_MODELS = [MediaEntry, User]
|
REGISTER_MODELS = [MediaEntry, User]
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user