mirror of https://codeberg.org/dribdat/dribdat.git
Full user profile in export
This commit is contained in:
parent
98008c1917
commit
6800d0089c
|
@ -1 +1 @@
|
|||
This page now lives at [docs.dribdat.cc](https://docs.dribdat.cc/about/)
|
||||
This page now lives at [docs.dribdat.cc](https://docs.dribdat.cc/about)
|
||||
|
|
|
@ -1 +1 @@
|
|||
This page now lives at [docs.dribdat.cc](https://docs.dribdat.cc/contribute/)
|
||||
This page now lives at [docs.dribdat.cc](https://docs.dribdat.cc/contribute)
|
||||
|
|
|
@ -1 +1 @@
|
|||
This page now lives at [docs.dribdat.cc](https://docs.dribdat.cc/deploy/)
|
||||
This page now lives at [docs.dribdat.cc](https://docs.dribdat.cc/deploy)
|
||||
|
|
|
@ -1 +1 @@
|
|||
This page now lives at [docs.dribdat.cc](https://docs.dribdat.cc/trouble/)
|
||||
This page now lives at [docs.dribdat.cc](https://docs.dribdat.cc/trouble)
|
||||
|
|
|
@ -1 +1 @@
|
|||
This page now lives at [docs.dribdat.cc](https://docs.dribdat.cc/usage/)
|
||||
This page now lives at [docs.dribdat.cc](https://docs.dribdat.cc/usage)
|
||||
|
|
|
@ -78,7 +78,7 @@ def PackageEvent(event, author=None, host_url='', full_contents=False):
|
|||
# print("Generating in-memory JSON of participants")
|
||||
package.add_resource(Resource(
|
||||
name='users',
|
||||
data=get_event_users(event),
|
||||
data=get_event_users(event, full_contents),
|
||||
))
|
||||
# print("Generating in-memory JSON of activities")
|
||||
package.add_resource(Resource(
|
||||
|
|
|
@ -46,20 +46,22 @@ def get_event_categories(event_id=None):
|
|||
return [c.data for c in query.order_by(Category.id.asc()).all()]
|
||||
|
||||
|
||||
def get_event_users(event):
|
||||
""" Returns plain user objects without personal data """
|
||||
def get_event_users(event, full_data=False):
|
||||
""" Returns plain user objects and personal data """
|
||||
eventusers = GetEventUsers(event)
|
||||
if not eventusers:
|
||||
return []
|
||||
userdata = []
|
||||
for u in eventusers:
|
||||
ud = u.data
|
||||
userdata.append({
|
||||
'id': ud['id'],
|
||||
'roles': ud['roles'],
|
||||
'username': ud['username'],
|
||||
'webpage_url': ud['webpage_url'],
|
||||
})
|
||||
if full_data:
|
||||
userdata.append(u.data)
|
||||
else:
|
||||
userdata.append({
|
||||
'id': u.data['id'],
|
||||
'roles': u.data['roles'],
|
||||
'username': u.data['username'],
|
||||
'webpage_url': u.data['webpage_url'],
|
||||
})
|
||||
return userdata
|
||||
|
||||
|
||||
|
@ -75,7 +77,7 @@ def get_project_summaries(projects, host_url, is_moar=False):
|
|||
else:
|
||||
summaries = [p.data for p in projects]
|
||||
summaries = expand_project_urls(summaries, host_url)
|
||||
summaries.sort(key=lambda x: x['score'], reverse=True)
|
||||
summaries.sort(key=lambda x: x['score'] or 0, reverse=True)
|
||||
return summaries
|
||||
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@ from micawber.parsers import standalone_url_re, full_handler
|
|||
|
||||
def format_webembed(url):
|
||||
if url.lower().startswith('<iframe '):
|
||||
# Allow IFRAMEs
|
||||
# TODO: add a setting
|
||||
return url
|
||||
if url.startswith('https://query.wikidata.org/'):
|
||||
# Fix WikiData queries
|
||||
|
|
|
@ -20,9 +20,12 @@ class Config(object):
|
|||
DRIBDAT_THEME = os_env.get('DRIBDAT_THEME', 'simplex')
|
||||
|
||||
# Application options
|
||||
DRIBDAT_USER_APPROVE = bool(strtobool(os_env.get('DRIBDAT_USER_APPROVE', 'False')))
|
||||
DRIBDAT_NOT_REGISTER = bool(strtobool(os_env.get('DRIBDAT_NOT_REGISTER', 'False')))
|
||||
DRIBDAT_ALLOW_EVENTS = bool(strtobool(os_env.get('DRIBDAT_ALLOW_EVENTS', 'False')))
|
||||
DRIBDAT_USER_APPROVE = os_env.get('DRIBDAT_USER_APPROVE', 'False')
|
||||
DRIBDAT_USER_APPROVE = bool(strtobool(DRIBDAT_USER_APPROVE))
|
||||
DRIBDAT_NOT_REGISTER = os_env.get('DRIBDAT_NOT_REGISTER', 'False')
|
||||
DRIBDAT_NOT_REGISTER = bool(strtobool(DRIBDAT_NOT_REGISTER))
|
||||
DRIBDAT_ALLOW_EVENTS = os_env.get('DRIBDAT_ALLOW_EVENTS', 'False')
|
||||
DRIBDAT_ALLOW_EVENTS = bool(strtobool(DRIBDAT_ALLOW_EVENTS))
|
||||
|
||||
# Single sign-on support
|
||||
OAUTH_ID = os_env.get('OAUTH_ID', None)
|
||||
|
@ -42,7 +45,8 @@ class Config(object):
|
|||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||
|
||||
# Server settings
|
||||
SERVER_NAME = os_env.get('SERVER_URL', os_env.get('SERVER_NAME', 'localhost.localdomain:5000'))
|
||||
SERVER_NAME = os_env.get('SERVER_URL', os_env.get(
|
||||
'SERVER_NAME', 'localhost.localdomain:5000'))
|
||||
SERVER_SSL = os_env.get('SERVER_SSL', None)
|
||||
SERVER_CORS = bool(strtobool(os_env.get('SERVER_CORS', 'True')))
|
||||
SERVER_PROXY = bool(strtobool(os_env.get('SERVER_PROXY', 'False')))
|
||||
|
|
|
@ -105,13 +105,17 @@ class User(UserMixin, PkModel):
|
|||
def data(self):
|
||||
return {
|
||||
'id': self.id,
|
||||
'username': self.username,
|
||||
'email': self.email,
|
||||
'webpage_url': self.webpage_url,
|
||||
'sso_id': self.sso_id,
|
||||
'roles': ",".join([r.name for r in self.roles]),
|
||||
'active': self.active,
|
||||
'is_admin': self.is_admin,
|
||||
'username': self.username,
|
||||
'webpage_url': self.webpage_url,
|
||||
'roles': ",".join([r.name for r in self.roles]),
|
||||
'cardtype': self.cardtype,
|
||||
'carddata': self.carddata,
|
||||
'my_story': self.my_story,
|
||||
'my_goals': self.my_goals,
|
||||
}
|
||||
|
||||
def set_from_data(self, data):
|
||||
|
|
Loading…
Reference in New Issue