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, }
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, })
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}')