コード例 #1
0
ファイル: account.py プロジェクト: jinwg/pybossa
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)
コード例 #2
0
ファイル: account.py プロジェクト: mariarivera30/PybossaBL
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)
コード例 #3
0
ファイル: account.py プロジェクト: PyBossa/pybossa
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)
コード例 #4
0
ファイル: test_cache_users.py プロジェクト: grms96/pybossa
    def test_public_published_projects_no_projects_cached(self):
        """Test public CACHE USERS published_projects_cached returns empty list if the user has
        not created any project"""
        user = UserFactory.create()

        projects_published = cached_users.public_published_projects_cached(user.id)

        assert projects_published == [], projects_published
コード例 #5
0
ファイル: test_cache_users.py プロジェクト: PyBossa/pybossa
    def test_public_published_projects_no_projects_cached(self):
        """Test public CACHE USERS published_projects_cached returns empty list if the user has
        not created any project"""
        user = UserFactory.create()

        projects_published = cached_users.public_published_projects_cached(user.id)

        assert projects_published == [], projects_published
コード例 #6
0
ファイル: test_cache_users.py プロジェクト: grms96/pybossa
    def test_public_published_projects_cached_returns_fields(self):
        """Test CACHE USERS published_projects_cached returns the info of the projects with
        the required fields"""
        user = UserFactory.create()
        published_project = ProjectFactory.create(owner=user, published=True)
        private_fields = ('owner_id')
        public_fields = ('name', 'short_name', 'description',
                         'overall_progress', 'n_tasks', 'n_volunteers', 'info')

        projects_published = cached_users.public_published_projects_cached(user.id)

        for field in public_fields:
            assert field in projects_published[0].keys(), field

        for field in private_fields:
            assert field not in projects_published[0].keys(), field
コード例 #7
0
ファイル: test_cache_users.py プロジェクト: PyBossa/pybossa
    def test_public_published_projects_cached_returns_fields(self):
        """Test CACHE USERS published_projects_cached returns the info of the projects with
        the required fields"""
        user = UserFactory.create()
        published_project = ProjectFactory.create(owner=user, published=True)
        private_fields = ('owner_id')
        public_fields = ('name', 'short_name', 'description',
                         'overall_progress', 'n_tasks', 'n_volunteers', 'info')

        projects_published = cached_users.public_published_projects_cached(user.id)

        for field in public_fields:
            assert field in projects_published[0].keys(), field

        for field in private_fields:
            assert field not in projects_published[0].keys(), field
コード例 #8
0
ファイル: account.py プロジェクト: fiorda/pybossa
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)
コード例 #9
0
ファイル: account.py プロジェクト: russkociuba/pybossa
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)