Ejemplo n.º 1
0
def show_operators():
    query = OperatorQuery(get_db_session())
    operators = query.get_operators()
    skills = query.get_not_certified_skills()
    return render_template('operators.html',
                           operators=[x if x.ojt else x for x in operators],
                           skills=skills)
Ejemplo n.º 2
0
def show_monthly_setting():
    team_id = request.args.get('team')
    session = get_db_session()
    team = UserQuery(session).get_team(team_id)
    operators = OperatorQuery(session).get_active_operators_of_team_id(team_id)
    return render_template('scheduler-monthly-setting.html',
                           team=team,
                           operators=operators)
Ejemplo n.º 3
0
def get_monthly_setting():
    team_id = request.args.get('team-id')
    schedule_of = to_date(request.args.get('schedule-of'), '%Y-%m')
    scheduler = SchedulerQuery(
        get_db_session()).get_scheduler_of_team_id(team_id)
    monthly_setting = scheduler.monthly_setting(schedule_of.month,
                                                schedule_of.year)
    return jsonize.json_response(jsonize.dumps(monthly_setting))
Ejemplo n.º 4
0
def login():
    user = UserFacadeAdapter(get_db_session()).login(
        jsonize.to_dict(request.form))
    if not user:
        flash('Invalid username or password, or inactivated user', 'error')
        return index()
    login_user(user)
    flash('You were logged in')
    return redirect(url_for('menu.show_menu'))
Ejemplo n.º 5
0
def terminate_scheduler():
    session = get_db_session()
    try:
        SchedulerCommandAdapter(session).terminate(jsonize.loads(request.data))
        response = jsonize.json_response()
    except Exception as e:
        print(e)
        response = jsonize.json_response(status_code=400)
    return response
Ejemplo n.º 6
0
def get_schedules():
    team_id = request.args.get('team-id')
    schedule_of = to_date(request.args.get('schedule-of'), '%Y-%m')
    day_settings, schedules = ScheduleFacade(get_db_session()).get_schedule(
        team_id, schedule_of.month, schedule_of.year)
    return jsonize.json_response(
        jsonize.dumps({
            'day_settings': day_settings,
            'schedules': schedules
        }))
Ejemplo n.º 7
0
def show_basic_setting():
    team_id = request.args.get('team')
    session = get_db_session()
    team = UserQuery(session).get_team(team_id)
    skills = OperatorQuery(session).get_skills()
    operators = OperatorQuery(session).get_operators()
    return render_template('scheduler.html',
                           team=team,
                           skills=skills,
                           operators=operators)
Ejemplo n.º 8
0
def remove_request(request_id):
    session = get_db_session()
    try:
        SchedulerCommandAdapter(session).remove_request(request_id)
        session.commit()
        response = jsonize.json_response()
    except Exception as e:
        session.rollback()
        print(e)
        response = jsonize.json_response(status_code=400)
    return response
Ejemplo n.º 9
0
def remove_skill(skill_id: str):
    session = get_db_session()
    try:
        OperatorCommandAdapter(session).delete_skill(skill_id)
        session.commit()
        response = jsonize.json_response()
    except Exception as e:
        session.rollback()
        print(e)
        response = jsonize.json_response(status_code=400)
    return response
Ejemplo n.º 10
0
def update_skill(skill_id: str):
    session = get_db_session()
    try:
        OperatorCommandAdapter(session).save_skill(jsonize.loads(request.data))
        session.commit()
        response = jsonize.json_response()
    except Exception as e:
        session.rollback()
        print(e)
        response = jsonize.json_response(status_code=400)
    return response
Ejemplo n.º 11
0
def withdraw_schedules():
    session = get_db_session()
    try:
        ScheduleCommandAdapter(session).withdraw_schedule(
            jsonize.loads(request.data))
        session.commit()
        response = jsonize.json_response()
    except Exception as e:
        session.rollback()
        print(e)
        response = jsonize.json_response(status_code=400)
    return response
Ejemplo n.º 12
0
def public_monthly_setting():
    session = get_db_session()
    try:
        SchedulerCommandAdapter(session).public_monthly_setting(
            jsonize.loads(request.data))
        session.commit()
        response = jsonize.json_response()
    except Exception as e:
        session.rollback()
        print(e)
        response = jsonize.json_response(status_code=400)
    return response
Ejemplo n.º 13
0
def append_vacation():
    session = get_db_session()
    try:
        req = SchedulerCommandAdapter(session).append_vacation(
            jsonize.loads(request.data))
        session.commit()
        session.refresh(req)
        response = jsonize.json_response(jsonize.dumps(req))
    except Exception as e:
        session.rollback()
        print(e)
        response = jsonize.json_response(status_code=400)
    return response
Ejemplo n.º 14
0
def get_vacations():
    team_id = request.args.get('team-id')
    scheduler = SchedulerQuery(
        get_db_session()).get_scheduler_of_team_id(team_id)
    schedule_of = to_date(request.args.get('schedule-of'), '%Y-%m')

    def is_in_period(on_from, on_to):
        return (on_from.year == schedule_of.year and on_from.month <= schedule_of.month
                or on_from.year < schedule_of.year)\
                and (on_to.year == schedule_of.year and on_to.month >= schedule_of.month
                     or schedule_of.year < on_to.year)

    vacations = list(
        filter(lambda x: is_in_period(x.on_from, x.on_to),
               scheduler.vacations))
    return jsonize.json_response(jsonize.dumps(vacations))
Ejemplo n.º 15
0
def launch_scheduler():
    session = get_db_session()
    try:
        print("#### start time: {}".format(
            strftime("%a, %d %b %Y %H:%M:%S", localtime())))
        SchedulerCommandAdapter(session).launch(jsonize.loads(request.data))
        print("#### fin time: {}".format(
            strftime("%a, %d %b %Y %H:%M:%S", localtime())))
        session.commit()
        response = jsonize.json_response()
    except AlreadyLaunchError as e:
        print(e)
        response = jsonize.json_response(
            'already launched this team scheduler. please wait util its completion.',
            status_code=400)
    except Exception as e:
        print(e)
        response = jsonize.json_response(status_code=400)
    return response
Ejemplo n.º 16
0
def get_operators():
    operators = OperatorQuery(get_db_session()).get_operators()
    return jsonize.json_response(jsonize.dumps(operators))
Ejemplo n.º 17
0
def show_users():
    session = get_db_session()
    users = UserQuery(session).get_users()
    teams = UserQuery(session).get_teams()
    roles = [UserRole.DEVELOPER, UserRole.ADMINISTRATOR, UserRole.OPERATOR]
    return render_template('users.html', users=users, teams=teams, roles=roles)
Ejemplo n.º 18
0
def show_teams():
    team_repository = UserQuery(get_db_session())
    teams = team_repository.get_teams()
    return render_template('teams.html', teams=teams)
Ejemplo n.º 19
0
def get_work_categories():
    team_id = request.args.get('team-id')
    scheduler = SchedulerQuery(
        get_db_session()).get_scheduler_of_team_id(team_id)
    work_categories = scheduler.work_categories
    return jsonize.json_response(jsonize.dumps(work_categories))
Ejemplo n.º 20
0
def get_scheduler():
    team_id = request.args.get('team-id')
    scheduler = SchedulerQuery(
        get_db_session()).get_scheduler_of_team_id(team_id)
    return jsonize.json_response(jsonize.dumps(scheduler))
Ejemplo n.º 21
0
def show_menu():
    session = get_db_session()
    teams = UserQuery(session).get_teams_without_default()
    return render_template('scheduler-menu.html', teams=teams)
Ejemplo n.º 22
0
def show_vacations():
    team_id = request.args.get('team')
    session = get_db_session()
    team = UserQuery(session).get_team(team_id)
    return render_template('vacations.html', team=team)
Ejemplo n.º 23
0
def get_launch_histories():
    histories = SchedulerQuery(get_db_session()).get_launch_histories()
    return jsonize.json_response(jsonize.dumps(histories))
Ejemplo n.º 24
0
def show_my_request():
    operator = OperatorQuery(get_db_session()).get_operator_of_user_id(
        current_user.id)
    return render_template('request.html', current_operator=operator)
Ejemplo n.º 25
0
def show_myself(operator_id):
    query = OperatorQuery(get_db_session())
    operator = query.get_operator(operator_id)
    skills = query.get_certified_skills()
    return render_template('operator.html', operator=operator, skills=skills)
Ejemplo n.º 26
0
def get_current_runners():
    current_runners = SchedulerQuery(get_db_session()).get_current_runners()
    return jsonize.json_response(jsonize.dumps(current_runners))
Ejemplo n.º 27
0
def show_skills():
    query = OperatorQuery(get_db_session())
    return render_template('skills.html', skills=query.get_skills())
Ejemplo n.º 28
0
def load_user(user_id):
    return UserQuery(get_db_session()).get_user(user_id)