コード例 #1
0
    def _department_data(d):
        scheduler_response = AuthorizedUser.get_users(
            deleted=False,
            dept_code=d['code'],
            role='scheduler',
        )
        scheduler_data = [
            _distill_scheduler_data(s)
            for s in authorized_users_api_feed(scheduler_response[0],
                                               sort_by='lastName')
        ]

        return {
            'code': d['code'],
            'name': d['name'],
            'schedulers': scheduler_data,
        }
コード例 #2
0
def all_users():
    params = request.get_json()
    users, total_user_count = AuthorizedUser.get_users(
        blocked=to_bool_or_none(util.get(params, 'blocked')),
        deleted=to_bool_or_none(util.get(params, 'deleted')),
        dept_code=util.get(params, 'deptCode', None),
        role=util.get(params, 'role', None) or None,
    )
    return tolerant_jsonify({
        'users':
        authorized_users_api_feed(
            users,
            sort_by=util.get(params, 'sortBy', 'lastName'),
            sort_descending=to_bool_or_none(
                util.get(params, 'sortDescending', False)),
        ),
        'totalUserCount':
        total_user_count,
    })
コード例 #3
0
def get_users_report(dept_code):
    dept_code = dept_code.upper()
    dept_name = BERKELEY_DEPT_CODE_TO_NAME.get(dept_code)
    if dept_name:
        if current_user.is_admin or _current_user_is_director_of(dept_code):
            users, total_user_count = AuthorizedUser.get_users(
                deleted=False, dept_code=dept_code)
            users = authorized_users_api_feed(users, sort_by='lastName')
            note_count_per_user = get_note_count_per_user(dept_code)
            for user in users:
                user['notesCreated'] = note_count_per_user.get(user['uid'], 0)
            return tolerant_jsonify({
                'users': users,
                'totalUserCount': total_user_count,
            })
        else:
            raise ForbiddenRequestError(
                f'You are unauthorized to view {dept_name} reports')
    else:
        raise ResourceNotFoundError(
            f'Unrecognized department code {dept_code}')