Example #1
0
def close_class(request):
    class_id = int(request.POST['classId'])
    result = ClassAdminService.close_class(class_id)
    if result:
        return ext_success()
    else:
        return ext_fail()
Example #2
0
def get_rank_class_num(request):
    """
    获取等级对应的班级数量
    """
    data = ClassService.get_rank_class_num()
    total = len(data)
    return ext_success({'rows': data, 'total': total})
Example #3
0
def set_coach_positive(request):
    coach_name = request.POST['coachName']
    remark = "转正"
    result = CoachService.set_coach_positive(coach_name, request.user.username,
                                             remark)
    if result:
        return ext_success()
    return ext_fail()
Example #4
0
def set_coach_trial(request):
    coach_name = request.POST['coachName']
    remark = request.POST['remark']
    result = CoachService.set_coach_trial(coach_name, request.user.username,
                                          remark)
    if result:
        return ext_success()
    return ext_fail()
Example #5
0
def set_coach_class_num(request):
    data = request.POST
    coachName = data.get('coachName')
    coachRank = data.get('coachRank')
    if not coachName or not coachRank:
        return ext_fail()
    CoachService.set_coach_class_num(coachName, int(coachRank))
    return ext_success()
Example #6
0
def delete_class_template(request):
    post_data = request.POST
    class_template_id = int(post_data['id'])
    result = ClassTemplateService.delete(class_template_id)
    if result:
        return ext_success()
    else:
        return ext_fail()
Example #7
0
def delete_period(request):
    post_data = request.POST
    period_id = int(post_data['id'])
    result = PeriodService.delete(period_id)
    if result:
        return ext_success()
    else:
        return ext_fail()
Example #8
0
def cancel_invite_coach(request):
    task_id = int(request.POST['taskId'])
    coach_name = request.POST['coachName']
    result = ClassAdminService.cancel_invite(task_id, coach_name)
    if result:
        return ext_success()
    else:
        return ext_fail(u'该邀请不存在,请您重试')
Example #9
0
def change_coach_status_list(request):
    offset = int(request.GET['start'])
    limit = int(request.GET['limit'])
    data, total = ClassService.get_change_class_coach_list(limit, offset)
    for item in data:
        item.startTime = period_int_to_time(item.startTime).strftime('%H:%M')
        item.endTime = period_int_to_time(item.endTime).strftime('%H:%M')
    return ext_success({'rows': data, 'total': total})
Example #10
0
def period_find(request):
    season_id = int(request.GET['seasonId'])
    grade_type = int(request.GET['gradeType'])
    data = PeriodService.get_by_season_and_grade_type(season_id, grade_type)
    for item in data:
        item.startTime = period_int_to_time(item.startTime).strftime('%H:%M')
        item.endTime = period_int_to_time(item.endTime).strftime('%H:%M')
    return ext_success({'rows': data, 'total': len(data)})
Example #11
0
def delete_season(request):
    post_data = request.POST
    season_id = int(post_data['id'])
    result = SeasonService.delete_season(season_id)
    if result:
        return ext_success()
    else:
        return ext_fail()
Example #12
0
def temp_replace_coach(request):
    class_id = int(request.POST['class_id'])
    new_coach_name = request.POST['new_coach_user_name'].lstrip().rstrip()
    days = json.loads(request.POST['days'])
    remark = request.POST['reason']
    state = ClassAdminService.temp_replace_coach(class_id, new_coach_name,
                                                 days, remark)
    return ext_success({'state': state})
Example #13
0
def period_list(request):
    offset = int(request.GET['start'])
    limit = int(request.GET['limit'])
    data, total = PeriodService.get_period_list(limit, offset)
    for item in data:
        item.startTime = period_int_to_time(item.startTime).strftime('%H:%M')
        item.endTime = period_int_to_time(item.endTime).strftime('%H:%M')
    return ext_success({'rows': data, 'total': total})
Example #14
0
def reservation_list(request):
    offset = int(request.GET['start'])
    limit = int(request.GET['limit'])
    parameters = {}
    data, total = ClassTemplateService.filter_reservation_list(
        limit, offset, **parameters)
    for item in data:
        item.startTime = period_int_to_time(item.startTime).strftime('%H:%M')
        item.endTime = period_int_to_time(item.endTime).strftime('%H:%M')
    return ext_success({'rows': data, 'total': total})
Example #15
0
def cancel_coach_retraining(request):
    coach_name = request.POST['coachName']
    remark = "再培结束"
    result = CoachService.cancel_coach_retraining(coach_name,
                                                  request.user.username,
                                                  remark)
    if result:
        return ext_success()
    else:
        return ext_fail()
Example #16
0
def class_template_enrollment_schedule(request):
    params = {}
    offset = int(request.GET['start'])
    limit = int(request.GET['limit'])
    data, total = ClassTemplateService.get_class_template_enrollment_schedule(
        limit, offset)
    for item in data:
        item.startTime = period_int_to_time(item.startTime).strftime('%H:%M')
        item.endTime = period_int_to_time(item.endTime).strftime('%H:%M')
    return ext_success({'rows': data, 'total': total})
Example #17
0
def class_create_task_list(request):
    offset = int(request.GET['start'])
    limit = int(request.GET['limit'])
    data, total = ClassAdminService.get_class_create_list(limit, offset)
    for item in data:
        item.startTime = period_int_to_time(item.startTime).strftime('%H:%M')
        item.endTime = period_int_to_time(item.endTime).strftime('%H:%M')
        item.isNear = item.taskStatus < 2 and __is_near(
            item.classDay, item.startTime)
    return ext_success({'rows': data, 'total': total})
Example #18
0
def class_temporary_substitute_state(request):
    params = {}
    offset = int(request.GET['start'])
    limit = int(request.GET['limit'])
    data, total = ClassService.get_temporary_substitute_list(
        limit, offset, **params)
    for item in data:
        item.startTime = period_int_to_time(item.startTime).strftime('%H:%M')
        item.endTime = period_int_to_time(item.endTime).strftime('%H:%M')
    return ext_success({'rows': data, 'total': total})
Example #19
0
def coach_hiring_import(request):
    coach_names_text = request.POST['coachNames']
    coach_names = coach_names_text.replace('\r', '').split('\n')
    check_result = CoachService.check_import_hiring_coach_names(coach_names)
    if check_result.imported or check_result.notExists \
            or check_result.notTeacher:
        return ext_fail(check_result)
    result = CoachService.import_hiring_coaches(coach_names)
    if result:
        return ext_success()
    return ext_fail()
Example #20
0
def exchange_coach(request):
    """
    更换教练
    """
    class_id = int(request.POST['class_id'])
    new_coach_name = request.POST['new_coach_user_name'].lstrip().rstrip()
    reason_type = int(request.POST['reason'])
    remark = request.POST['remark']
    state = ClassAdminService.exchange_coach(class_id, new_coach_name,
                                             reason_type, remark)
    return ext_success({'state': state})
Example #21
0
def set_coach_retraining(request):
    coach_name = request.POST['coachName']
    remark = request.POST['remark']
    class_ids = CoachService.get_coach_class_ids(coach_name)
    if class_ids:
        return ext_fail(class_ids)
    result = CoachService.set_coach_retraining(coach_name,
                                               request.user.username, remark)
    if result:
        return ext_success()
    return ext_fail()
Example #22
0
def change_coach_list_invite_coach(request):
    """
    教练更换状态邀请教练
    """
    class_id = int(request.POST['class_id'])
    new_coach_name = request.POST['new_coach_user_name'].lstrip().rstrip()
    # 公司要求
    reason_type = 1
    remark = u'教练更换状态页面邀请教师'
    state = ClassAdminService.exchange_coach(class_id, new_coach_name,
                                             reason_type, remark)
    return ext_success({'state': state})
Example #23
0
def dismiss_coach(request):
    coach_name = request.POST['coachName']
    remark = request.POST['remark']
    class_ids = CoachService.get_coach_class_ids(coach_name)
    if class_ids:
        return ext_fail(class_ids)
    result = CoachService.dismiss_coach(coach_name, request.user.username,
                                        remark)
    if result:
        return ext_success()
    else:
        return ext_fail()
Example #24
0
def student_list(request):
    offset = int(request.GET['start'])
    limit = int(request.GET['limit'])
    args = request.GET
    parameters = {}
    if args.get('userName'):
        parameters['userName'] = request.GET['userName']
    if args.get('grade'):
        parameters['grade'] = int(request.GET['grade'])
    if args.get('areaCode'):
        parameters['areaCode'] = request.GET['areaCode']
    data, total = StudentService.filter_students(limit, offset, **parameters)
    return ext_success({'rows': data, 'total': total})
Example #25
0
def edit_period(request):
    post_data = request.POST
    data = {
        'id': int(post_data['id']),
        'seasonId': int(post_data['seasonId']),
        'gradeType': int(post_data['gradeType']),
        'startTime': period_str_to_int(post_data['startTime']),
        'endTime': period_str_to_int(post_data['endTime']),
    }
    result = PeriodService.update(data)
    if result:
        return ext_success()
    else:
        return ext_fail()
Example #26
0
def invite_coach(request):
    task_id = int(request.POST['taskId'])
    coach_name = request.POST['coachName']
    result = ClassAdminService.invite_coach(task_id, coach_name)
    if result > 0:
        return ext_success()
    messages = {
        0: u'数据错误,请重试',
        -1: u'教练不存在,请检查数据后重试',
        -2: u'教练已被邀请或未设置可用时段,不能被邀请',
        -3: u'此教练会导致分班冲突'
    }
    message = messages.get(result, u'操作失败,请您重试')
    return ext_fail(message)
Example #27
0
def update_rank_class_num(request):
    fields = ('id', 'rank', 'spring_base_num', 'spring_max_num',
              'winter_base_num', 'winter_max_num')
    data = json.loads(request.body)
    print data
    for item in data:
        if item.get('id') < 0:
            return ext_fail(u"数据中缺少ID")
        flag = {k in fields for k in item.keys()}
        if False in flag:
            return ext_fail(u"非法数据")
    if ClassService.update_rank_class_num(request.body):
        return ext_success()
    return ext_fail(u"数据错误")
Example #28
0
def temp_replace_class_time(request):
    class_id = int(request.GET['class_id'])
    class_info = ClassService.get_class_by_id(class_id)
    lesson_plan = json.loads(class_info[0].lessonPlan)
    now = arrow.now('+08:00').strftime('%Y-%m-%d %X')
    output_days = []
    for item in lesson_plan:
        cur_day = "%s %s" % (item['day'], item['start_time'])
        if now < cur_day:
            output_days.append({
                'classTime': item['day'],
                'startTime': item['start_time'][:5],
                'endTime': item['end_time'][:5]
            })
    return ext_success({'rows': output_days, 'total': len(output_days)})
Example #29
0
def coach_hiring_list(request):
    offset = int(request.GET['start'])
    limit = int(request.GET['limit'])
    args = request.GET
    parameters = {}
    if args.get('userName'):
        parameters['userName'] = request.GET['userName']
    if args.get('phone'):
        parameters['phone'] = request.GET['phone']
    if args.get('subjectId'):
        parameters['subjectId'] = int(request.GET['subjectId'])
    if args.get('qq'):
        parameters['qq'] = request.GET['qq']
    data, total = CoachService.filter_hiring_coaches(limit, offset,
                                                     **parameters)
    return ext_success({'rows': data, 'total': total})
Example #30
0
def send_notification(request):
    """
    发送通知
    """
    alltarget = [u'coach', u'student_in_class', u'student_not_in_class']
    class_id = request.POST.get('classId')
    notification = request.POST.get('notification')
    target = request.POST.getlist('target')
    target = [alltarget.index(identify) for identify in target]
    if not notification or not target:
        return ext_fail()
    if ClassAdminService.send_notification(int(class_id), notification,
                                           target):
        message = u'通知发送成功'
    else:
        message = u'未查询到发送对象手机号, 未发送短信'
    return ext_success(message)