def _show_own_profile(user, form, can_update): user_dict = cached_users.get_user_summary(user.name) rank_and_score = cached_users.rank_and_score(user.id) user.rank = rank_and_score['rank'] user.score = rank_and_score['score'] user.total = cached_users.get_total_users() projects_contributed = cached_users.public_projects_contributed_cached( user.id) projects_published, projects_draft = _get_user_projects(user.id) cached_users.get_user_summary(user.name) response = dict(template='account/profile.html', title=gettext("Profile"), projects_contrib=projects_contributed, projects_published=projects_published, projects_draft=projects_draft, user=user_dict, form=form, can_update=can_update, private_instance=bool(data_access_levels), upref_mdata_enabled=bool(app_settings.upref_mdata)) response = make_response(handle_content_type(response)) response.headers['Cache-Control'] = 'no-store' response.headers['Pragma'] = 'no-cache' return response
def _show_public_profile(user, form): user_dict = cached_users.public_get_user_summary(user.name) projects_contributed = cached_users.public_projects_contributed_cached( user.id) projects_created = cached_users.public_published_projects_cached(user.id) can_update = False if (user.restrict is False and current_user.is_authenticated() and current_user.admin): draft_projects = cached_users.draft_projects(user.id) projects_created.extend(draft_projects) can_update = True if user.restrict is False: title = "%s · User Profile" % user_dict['fullname'] else: title = "User data is restricted" projects_contributed = [] projects_created = [] form = None response = dict(template='/account/public_profile.html', title=title, user=user_dict, projects=projects_contributed, projects_created=projects_created, form=form, can_update=can_update, input_form=False) return handle_content_type(response)
def _show_public_profile(user, form, can_update): if current_user.id == user.id: user_dict = cached_users.get_user_summary(user.name) else: user_dict = cached_users.public_get_user_summary(user.name) if current_user.admin: user_dict['email_addr'] = user.email_addr projects_contributed = cached_users.public_projects_contributed_cached( user.id) projects_created = cached_users.public_published_projects_cached(user.id) total_projects_contributed = '{} / {}'.format( cached_users.n_projects_contributed(user.id), n_published()) percentage_tasks_completed = user_dict['n_answers'] * 100 / ( n_total_tasks() or 1) if current_user.is_authenticated() and current_user.admin: draft_projects = cached_users.draft_projects(user.id) projects_created.extend(draft_projects) title = "%s · User Profile" % user_dict['fullname'] response = dict(template='/account/public_profile.html', title=title, user=user_dict, projects=projects_contributed, projects_created=projects_created, total_projects_contributed=total_projects_contributed, percentage_tasks_completed=percentage_tasks_completed, form=form, can_update=can_update, private_instance=bool(data_access_levels), upref_mdata_enabled=bool(app_settings.upref_mdata)) return handle_content_type(response)
def _show_public_profile(user, form): user_dict = cached_users.public_get_user_summary(user.name) projects_contributed = cached_users.public_projects_contributed_cached(user.id) projects_created = cached_users.public_published_projects_cached(user.id) can_update = False if (user.restrict is False and current_user.is_authenticated() and current_user.admin): draft_projects = cached_users.draft_projects(user.id) projects_created.extend(draft_projects) can_update = True if user.restrict is False: title = "%s · User Profile" % user_dict['fullname'] else: title = "User data is restricted" projects_contributed = [] projects_created = [] form = None response = dict(template='/account/public_profile.html', title=title, user=user_dict, projects=projects_contributed, projects_created=projects_created, form=form, can_update=can_update, input_form=False) return handle_content_type(response)
def test_public_projects_contributed_no_contributions_cached(self): """Test public CACHE USERS projects_contributed_cached returns empty list if the user has not contributed to any project""" user = UserFactory.create() projects_contributed = cached_users.public_projects_contributed_cached(user.id) assert projects_contributed == [], projects_contributed
def test_public_projects_contributed_no_contributions_cached(self): """Test public CACHE USERS projects_contributed_cached returns empty list if the user has not contributed to any project""" user = UserFactory.create() projects_contributed = cached_users.public_projects_contributed_cached(user.id) assert projects_contributed == [], projects_contributed
def _show_own_profile(user): user_dict = cached_users.get_user_summary(user.name) rank_and_score = cached_users.rank_and_score(user.id) user.rank = rank_and_score['rank'] user.score = rank_and_score['score'] user.total = cached_users.get_total_users() projects_contributed = cached_users.public_projects_contributed_cached(user.id) projects_published, projects_draft = _get_user_projects(user.id) cached_users.get_user_summary(user.name) response = dict(template='account/profile.html', title=gettext("Profile"), projects_contrib=projects_contributed, projects_published=projects_published, projects_draft=projects_draft, user=user_dict) return handle_content_type(response)
def _show_public_profile(user): user_dict = cached_users.public_get_user_summary(user.name) projects_contributed = cached_users.public_projects_contributed_cached(user.id) projects_created = cached_users.public_published_projects_cached(user.id) if current_user.is_authenticated() and current_user.admin: draft_projects = cached_users.draft_projects(user.id) projects_created.extend(draft_projects) title = "%s · User Profile" % user_dict['fullname'] response = dict(template='/account/public_profile.html', title=title, user=user_dict, projects=projects_contributed, projects_created=projects_created) return handle_content_type(response)
def _show_own_profile(user): user_dict = cached_users.get_user_summary(user.name) rank_and_score = cached_users.rank_and_score(user.id) user.rank = rank_and_score['rank'] user.score = rank_and_score['score'] user.total = cached_users.get_total_users() projects_contributed = cached_users.public_projects_contributed_cached(user.id) projects_published, projects_draft = _get_user_projects(user.id) cached_users.get_user_summary(user.name) response = dict(template='account/profile.html', title=gettext("Profile"), projects_contrib=projects_contributed, projects_published=projects_published, projects_draft=projects_draft, user=user_dict) return handle_content_type(response)
def _show_public_profile(user): user_dict = cached_users.public_get_user_summary(user.name) projects_contributed = cached_users.public_projects_contributed_cached(user.id) projects_created = cached_users.public_published_projects_cached(user.id) if current_user.is_authenticated() and current_user.admin: draft_projects = cached_users.draft_projects(user.id) projects_created.extend(draft_projects) title = "%s · User Profile" % user_dict['fullname'] response = dict(template='/account/public_profile.html', title=title, user=user_dict, projects=projects_contributed, projects_created=projects_created) return handle_content_type(response)
def test_public_projects_contributed_contributions_cached(self): """Test CACHE USERS public cached projects_contributed returns a list of projects that has contributed to""" user = UserFactory.create() project_contributed = ProjectFactory.create() task = TaskFactory.create(project=project_contributed) TaskRunFactory.create(task=task, user=user) another_project = ProjectFactory.create() projects_contributed = cached_users.public_projects_contributed_cached(user.id) assert len(projects_contributed) == 1 assert projects_contributed[0]['short_name'] == project_contributed.short_name, projects_contributed # check privacy err_msg = 'private information is in public record' assert 'secret_key' not in projects_contributed[0], err_msg assert 'onesignal' not in projects_contributed[0]['info'] assert 'passwd_hash' not in projects_contributed[0]['info']
def test_public_projects_contributed_contributions_cached(self): """Test CACHE USERS public cached projects_contributed returns a list of projects that has contributed to""" user = UserFactory.create() project_contributed = ProjectFactory.create() task = TaskFactory.create(project=project_contributed) TaskRunFactory.create(task=task, user=user) another_project = ProjectFactory.create() projects_contributed = cached_users.public_projects_contributed_cached(user.id) assert len(projects_contributed) == 1 assert projects_contributed[0]['short_name'] == project_contributed.short_name, projects_contributed # check privacy err_msg = 'private information is in public record' assert 'secret_key' not in projects_contributed[0], err_msg assert 'onesignal' not in projects_contributed[0]['info'] assert 'passwd_hash' not in projects_contributed[0]['info']