Dashboard

hepdata.modules.dashboard.api

HEPData Dashboard API.

hepdata.modules.dashboard.views

HEPData Dashboard Views.

hepdata.modules.dashboard.api

HEPData Dashboard API.

hepdata.modules.dashboard.api.add_user_to_metadata(type, user_info, record_id, submissions)[source]
hepdata.modules.dashboard.api.create_record_for_dashboard(record_id, submissions, user, coordinator=None, user_role=None, status='todo')[source]
hepdata.modules.dashboard.api.get_submission_count(user)[source]
hepdata.modules.dashboard.api.prepare_submissions(user, items_per_page=25, current_page=1, record_id=None)[source]

Finds all the relevant submissions for a user, or all submissions if the logged in user is a ‘super admin’.

Parameters:
  • current_user – User obj

  • items_per_page – maximum number of items to return

  • current_page – page of current set of results (starting at 1)

Returns:

OrderedDict of submissions

hepdata.modules.dashboard.api.list_submission_titles(current_user)[source]
hepdata.modules.dashboard.api.get_pending_invitations_for_user(user)[source]

Returns pending invites for upload or review of records.

Parameters:

user – User object

Returns:

array of pending invites

hepdata.modules.dashboard.api.get_dashboard_current_user(current_user)[source]

Gets the user to display in the dashboard.

For non-admin users this will just return the current user. For admin users, if they have chosen to view the dashboard as another user, this will return that user.

Parameters:

current_user (invenio_accounts.models.User) – Currently logged-in user, e.g. flask_login.current_user

Returns:

User to display in the dashboard

Return type:

invenio_accounts.models.User

hepdata.modules.dashboard.api.set_dashboard_current_user(current_user, view_as_user_id)[source]
hepdata.modules.dashboard.api.get_submissions_summary(user, include_imported=False, flatten_participants=True)[source]

Returns the submissions for which the user is coordinator, formatted as a list of dictionaries.

Parameters:
  • user (invenio_accounts.models.User) – Currently logged-in user

  • include_imported (bool) – Whether to include imported records

  • flatten_participants (bool) – Whether to turn participant objects into strings

Returns:

List of dictionaries containing submission info

Return type:

list[dict]

hepdata.modules.dashboard.api.get_submissions_csv(user, include_imported=False)[source]

Returns the submissions for which the user is coordinator, formatted as a CSV string.

Parameters:
  • user (invenio_accounts.models.User) – Currently logged-in user

  • include_imported (bool) – Whether to include imported records

Returns:

String containing CSV-formatted submissions

Return type:

string

hepdata.modules.dashboard.views

HEPData Dashboard Views.

hepdata.modules.dashboard.views.dashboard()[source]

Depending on the user that is logged in, they will get a dashboard that reflects the current status of all submissions of which they are a participant.

An admin user can view the dashboard as if they were a different user, using the view_as parameter

hepdata.modules.dashboard.views.dashboard_submissions()[source]
hepdata.modules.dashboard.views.dashboard_submission_titles(user=None)[source]
hepdata.modules.dashboard.views.delete_submission(recid)[source]

Submissions can only be removed if they are not finalised, meaning they should never be in the index. Only delete the latest version of a submission. Delete indexed information only if version = 1.

Parameters:

recid

Returns:

hepdata.modules.dashboard.views.reindex()[source]
hepdata.modules.dashboard.views.finalise(recid, publication_record=None, force_finalise=False)[source]
hepdata.modules.dashboard.views.submissions()[source]
hepdata.modules.dashboard.views.submissions_list()[source]
hepdata.modules.dashboard.views.submissions_csv()[source]
hepdata.modules.dashboard.views.get_all_users()[source]

Gets a list of all active users in the system.

Returns: