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()
def get_rank_class_num(request): """ 获取等级对应的班级数量 """ data = ClassService.get_rank_class_num() total = len(data) return ext_success({'rows': data, 'total': total})
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()
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()
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()
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()
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()
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'该邀请不存在,请您重试')
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})
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)})
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()
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})
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})
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})
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()
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})
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})
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})
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()
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})
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()
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})
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()
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})
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()
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)
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"数据错误")
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)})
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})
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)