def reset_status(request): if request.method == 'POST': id = request.POST.get('id', '') VideoCommand.reset_status(id) OperationLogCommand.operationlog_record(request, t_module, '更改状态') data = {"status": True} return JsonResponse(data, safe=False)
def reset_teacher_status(request): if request.method == 'POST': id = request.POST.get('id', '') InstitutionCommand.reset_status(id, reset_type=1) OperationLogCommand.operationlog_record(request, '机构', '重置教师状态') data = {"status": True} return JsonResponse(data, safe=False)
def reset_role_status(request): if request.method == 'POST': id = request.POST.get('id', '') BackendGroupCommand.reset_status(id) OperationLogCommand.operationlog_record(request, '角色', '重置状态') data = {"status": True} return JsonResponse(data, safe=False)
def set_status(request): if request.method == 'POST': seq = request.POST.get('seq', '') SectionCommand.reset_seq(seq) OperationLogCommand.operationlog_record(request, t_module, '更改顺序') data = {"status": True} return JsonResponse(data, safe=False)
def password_edit(request): if request.method == 'POST': form = PasswordForm(request.POST) if form.is_valid(): data = form.cleaned_data try: result = UserCommand.update_password(request.user, data['old_password'], data['new_password']) if result: messages.add_message(request, messages.INFO, '保存成功') OperationLogCommand.operationlog_record( request, '用户', '修改密码') next_url = request.GET.get('next', '/') resp = redirect(next_url) return resp else: form.add_error(None, u'验证出错') except: form.add_error(None, u'保存出错') else: form = PasswordForm() http_content = { 'title': u'修改密码', 'form': form, } return render(request, t_dir + 'alert_password.html', http_content)
def delete_section(request): if request.method == 'POST': id = request.POST.get('id', '') SectionCommand.delete_section(id) OperationLogCommand.operationlog_record(request, t_module, '删除环节') data = {"status": True} return JsonResponse(data, safe=False)
def unit_copy(request): if request.method == 'POST': id = request.POST.get('id', '') UnitCommand.copy(id) OperationLogCommand.operationlog_record(request, t_module, '复制单元') data = {"status": True} return JsonResponse(data, safe=False)
def score_enjoy_manage_modify(request, course_system_id=None): """ add ,modify """ if course_system_id is not None: score_enjoys = CourseSystemCommand().course_system_get( course_system_id) else: score_enjoys = None if request.method == 'POST': scores = get_scores(request, course_system_id) msg = CourseSystemCommand(scores).course_system_edit(course_system_id) if msg: messages.add_message(request, messages.INFO, u'添加曲子成功') else: messages.add_message(request, messages.INFO, u'顺序重复') OperationLogCommand.operationlog_record(request, t_module, '添加曲子') return redirect('score_enjoy:score_enjoy_manage_modify', course_system_id) else: pass http_content = { 'title': u'欣赏曲库详情页', 'action': 'modify', 'scores': score_enjoys, } return render(request, t_dir + 'score_enjoy_manage_form.html', http_content)
def reset_password(request): if request.method == 'POST': id = request.POST.get('id', '') password = request.POST.get('pwd', '') reset_student_password(id, password) OperationLogCommand.operationlog_record(request, '机构', '重置体验账号密码') data = {"status": True} return JsonResponse(data, safe=False)
def remove_student(request): if request.method == 'POST': student_id = request.POST.get('student_id', '') class_id = request.POST.get('class_id', '') if ClassCommand.remove_student(class_id, student_id): OperationLogCommand.operationlog_record(request, t_module, '移除学生') data = {"status": True} else: data = {"status": False} return JsonResponse(data, safe=False)
def video_delete(request): if request.method == 'POST': video_id = request.POST.get('id', '') result_status = VideoCommand.delete_video(video_id) if result_status > 0: OperationLogCommand.operationlog_record(request, t_module, '删除视频') data = {"status": True} else: message = u'该视频有相关连的模块,不能删除' data = {"status": False, "message": message} return JsonResponse(data, safe=False)
def score_copy(request): if request.method == 'POST': score_id = request.POST.get('id', '') result_status = ScoreCommand.copy_score(score_id) if result_status > 0: OperationLogCommand.operationlog_record(request, t_module, '复制曲子') data = {"status": True} else: message = u'该曲子有相关连的模块,不能删除' data = {"status": False, "message": message} return JsonResponse(data, safe=False)
def add_student(request): if request.method == 'POST': mobile = request.POST.get('mobile', '') class_id = request.POST.get('id', '') result_status = ClassCommand.add_student(class_id, mobile, request.user.accountuser.institution.id) if result_status > 0: OperationLogCommand.operationlog_record(request, t_module, '添加学生') data = {"status": True} else: message = ADD_STUDENT_STATUS.getDesc(result_status) data = {"status": False, "message": message} return JsonResponse(data, safe=False)
def course_system_edit(request, coursesystem_id=None): """ add ,modify """ if coursesystem_id is not None: course_system = CourseSystemCommand().course_system_get( coursesystem_id) else: course_system = None action = 'create' if course_system is None else 'modify' if request.method == 'POST': form = CourseSystemForm(request.POST, initial=course_system) if form.is_valid(): data = form.cleaned_data try: coordinates = get_coordinates(request, coursesystem_id) if coordinates == -1: form.add_error(None, u'顺序重复') raise FloatingPointError data['coordinates'] = coordinates # save data---- coursesystem_id = CourseSystemCommand( data=data).course_system_edit(coursesystem_id) if coursesystem_id == -2: form.add_error(None, u'名称重复') raise FloatingPointError messages.add_message(request, messages.INFO, u'保存课程体系成功') if action == 'create': OperationLogCommand.operationlog_record( request, t_module, '添加') else: OperationLogCommand.operationlog_record( request, t_module, '修改') if request.POST.get('_new', None): return redirect('course_system:course_system_create') return redirect('course_system:course_system_modify', coursesystem_id) except Exception as e: traceback.print_exc() form.add_error(None, u'保存出错') else: form.add_error(None, u'请上传') else: form = CourseSystemForm(course_system) http_content = { 'title': u'新增课程体系' if coursesystem_id is None else u'课程体系详情页', 'action': action, 'form': form, 'coordinates': course_system['coordinates'] if course_system else [], } return render(request, t_dir + 'course_system_form.html', http_content)
def qnyd_score_edit(request, score_id=None): """ add ,modify """ if score_id is not None: score = QnydScoreCommand().score_get(score_id) else: score = None action = 'create' if score is None else 'modify' if request.method == 'POST': image_path = request.POST.getlist('score_image_path', []) image_name = request.POST.getlist('score_image_name', []) print 'image_name %s %s' % (image_name, image_path) seq = request.POST.getlist('seq', []) print str(request.POST) form = QnydScoreForm(request.POST, initial=score) if form.is_valid(): data = form.cleaned_data data['music_type'] = 1 data['admin_id'] = request.user.accountuser.id data['score_images'] = get_score_images(image_path, image_name, seq) try: # save data---- if not data['score_images']: form.add_error(None, u'图片不能为空') raise score_id = QnydScoreCommand(data=data).score_edit(score_id) messages.add_message(request, messages.INFO, u'保存合奏曲库成功') if action == 'create': OperationLogCommand.operationlog_record( request, t_module, '新建合奏曲') else: OperationLogCommand.operationlog_record( request, t_module, '修改合奏曲') if request.POST.get('_new', None): return redirect('score:qnyd_score_create') return redirect('score:qnyd_score_modify', score_id) except Exception as e: traceback.print_exc() form.add_error(None, u'保存出错') else: form = QnydScoreForm(score) http_content = { 'title': u'新增合奏曲库' if score_id is None else u'合奏曲库详情页', 'action': action, 'form': form, 'music_office': score['music_office'] if score else [{}, {}, {}], 'score_images': score['score_images'] if score else [], 'all_ready_only': score['status'] if score else 0, } return render(request, t_dir + 'qnyd_score_form.html', http_content)
def video_edit(request, video_id=None): """ add ,modify """ if video_id is not None: video = VideoCommand().video_get(video_id) else: video = None action = 'create' if video is None else 'modify' if request.method == 'POST': start_time = request.POST.getlist('start_time', []) end_time = request.POST.getlist('end_time', []) label_info = request.POST.getlist('label_info', []) segment_id = request.POST.getlist('segment_id', []) delete_id = request.POST.get('delete_id', '') print 'start_time:%s' % start_time print str(request.POST) form = VideoForm(request.POST, initial=video) if form.is_valid(): data = form.cleaned_data data['delete_id'] = delete_id data['segments'] = get_segments(start_time, end_time, label_info, segment_id) try: # save data---- video_id = VideoCommand(data=data).video_edit(video_id) messages.add_message(request, messages.INFO, u'保存视频成功') if action == 'create': OperationLogCommand.operationlog_record( request, t_module, '添加') else: OperationLogCommand.operationlog_record( request, t_module, '修改') if request.POST.get('_new', None): return redirect('video:video_create') return redirect('video:video_modify', video_id) except Exception as e: traceback.print_exc() form.add_error(None, u'保存出错') else: form.add_error(None, u'请上传视频') else: form = VideoForm(video) http_content = { 'title': u'新增视频' if video_id is None else u'视频详情页', 'action': action, 'form': form, 'segments': video['segments'] if video else [], 'all_ready_only': video['status'] if video else 0, } return render(request, t_dir + 'video_form.html', http_content)
def institution_edit(request, institution_id=None): """ add ,modify """ selected_city_options = [] course_system_options = [] province = {} if institution_id is not None: institution = InstitutionCommand().institution_get(institution_id) selected_city_options = [{ 'id': institution.get('city', ''), 'text': institution.get('city_name', '') }] course_system_options = InstitutionCommand.get_course(institution_id) province = institution.get('province', {}) else: institution = None action = 'create' if institution is None else 'modify' if request.method == 'POST': form = InstitutionForm(request.POST, initial=institution) if form.is_valid(): data = form.cleaned_data try: # save data---- institution_id = InstitutionCommand(data=data).institution_edit(institution_id) messages.add_message(request, messages.INFO, u'机构保存成功') if action == 'create': OperationLogCommand.operationlog_record(request, '机构', '新建') else: OperationLogCommand.operationlog_record(request, '机构', '修改') if request.POST.get('_new', None): return redirect('institution:institution_create') return redirect('institution:institution_modify', institution_id) except Exception as e: traceback.print_exc() form.add_error(None, u'保存出错') else: form = InstitutionForm(institution) print selected_city_options print course_system_options http_content = { 'title': u'新增机构列表' if institution_id is None else u'机构列表详情页', 'action': action, 'form': form, 'selected_city_options': selected_city_options, 'course_system_options': course_system_options, 'province': province, 'all_ready_only': institution.get('status', 0) if institution else 0, } return render(request, t_dir + 'institution_form.html', http_content)
def teacherversion_edit(request, teacherversion_id=None): """ add ,modify """ if teacherversion_id is not None: teacherversion = TeacherVersionCommand().teacherversion_get( teacherversion_id) else: teacherversion = None action = 'create' if teacherversion is None else 'modify' if request.method == 'POST': form = TeacherVersionForm(request.POST, initial=teacherversion) if form.is_valid(): data = form.cleaned_data try: # save data---- teacherversion_id = TeacherVersionCommand( data=data).teacherversion_edit(teacherversion_id) messages.add_message(request, messages.INFO, u'保存版本成功') if action == 'create': OperationLogCommand.operationlog_record( request, t_module, '添加') else: OperationLogCommand.operationlog_record( request, t_module, '修改') if request.POST.get('_new', None): return redirect('teacherversion:teacherversion_create') return redirect('teacherversion:teacherversion_modify', teacherversion_id) except Exception as e: traceback.print_exc() form.add_error(None, u'保存出错') else: form.add_error(None, u'请上传文件') else: if teacherversion: form = TeacherVersionForm(teacherversion) else: form = TeacherVersionForm(initial={ 'package_code': TeacherVersionCommand.get_last_package_code() }) http_content = { 'title': u'新增app版本' if teacherversion_id is None else u'app版本详情页', 'action': action, 'form': form, 'all_ready_only': teacherversion['status'] if teacherversion else 0, } return render(request, t_dir + 'teacherversion_form.html', http_content)
def admin_edit(request, user_id=None): """ add ,modify """ if user_id is not None: user = UserCommand.user_get(user_id) else: user = None action = 'create' if user is None else 'modify' if request.method == 'POST': form = AdminForm(request.POST, initial=user) if form.is_valid(): data = form.cleaned_data try: # save data---- user_id = UserCommand.user_edit(user_id, data) if user_id == -1: form.add_error('mobile', u'手机号已经存在') raise Exception("手机号已经存在") if user_id == -2: form.add_error('username', u'用户名已经存在') raise Exception("用户名已经存在") messages.add_message(request, messages.INFO, u'管理员保存成功') if action == 'create': OperationLogCommand.operationlog_record( request, '管理员', '新建') else: OperationLogCommand.operationlog_record( request, '管理员', '修改') if request.POST.get('_new', None): return redirect('accounts:admin_create') return redirect('accounts:admin_modify', user_id) except Exception as e: print e form.add_error(None, u'手机号或用户名已存在|保存出错') else: form.add_error(None, u'保存出错') else: form = AdminForm(user) groups = UserCommand.get_groups(user_id) if user else [] print form.declared_fields print groups http_content = { 'title': u'新增管理员' if user_id is None else u'管理员详情页', 'action': action, 'form': form, 'select_options': groups, } return render(request, t_dir + 'admin_form.html', http_content)
def admin_edit(request, institution_id=None, user_id=None): """ add ,modify """ if institution_id is None: raise Http404() if user_id is not None: user = UserCommand.user_get(user_id) else: user = None action = 'create' if user is None else 'modify' if request.method == 'POST': form = AdminForm(request.POST, initial=user) if form.is_valid(): data = form.cleaned_data try: # save data---- data['institution_id'] = institution_id data['type'] = 1 user_id = UserCommand.user_edit(user_id, data) if user_id == -1: form.add_error('mobile', u'手机号已经存在') raise Exception("手机号已经存在") if user_id == -2: form.add_error('username', u'用户名已经存在') raise Exception("用户名已经存在") messages.add_message(request, messages.INFO, u'管理员保存成功') if action == 'create': OperationLogCommand.operationlog_record(request, '机构', '新建管理员') else: OperationLogCommand.operationlog_record(request, '机构', '修改管理员') if request.POST.get('_new', None): return redirect('institution:admin_create', institution_id) return redirect('institution:admin_modify', institution_id, user_id) except Exception as e: print e form.add_error(None, u'手机号或用户名已存在|保存出错') else: form = AdminForm(user) groups = UserCommand.get_groups(user_id) if user else [{'id': '5', 'text': '机构'}] http_content = { 'title': u'新增机构管理员' if user_id is None else u'机构管理员详情页', 'action': action, 'form': form, 'select_options': groups, 'readonly_fields': ['belong_groups', 'department'] } return render(request, t_dir + 'admin_form.html', http_content)
def course_edit(request, course_id=None): """ add ,modify """ if course_id is not None: course = CourseCommand().course_get(course_id) else: course = None action = 'create' if course is None else 'modify' if request.method == 'POST': form = CourseForm(request.POST, initial=course) if form.is_valid(): data = form.cleaned_data data['units'] = get_units(request) try: # save data---- course_id = CourseCommand(data=data).course_edit(course_id) if course_id == -2: form.add_error('name', u'名称重复') elif course_id == -3: form.add_error('seq', u'顺序重复') elif course_id == -1: form.add_error(None, u'保存出错') else: messages.add_message(request, messages.INFO, u'保存课程成功') if action == 'create': OperationLogCommand.operationlog_record(request, t_module, '添加') else: OperationLogCommand.operationlog_record(request, t_module, '修改') if request.POST.get('_new', None): return redirect('course:course_create') return redirect('course:course_modify', course_id) except Exception as e: traceback.print_exc() form.add_error(None, u'保存出错') else: form.add_error(None, u'保存出错') else: form = CourseForm(course) http_content = { 'title': u'新增课程' if course_id is None else u'课程详情页', 'action': action, 'form': form, 'units': course['course_unit'] if course else [], 'course_system_options': course['course_system'] if course else [], 'all_ready_only': course['status'] if course else 0, } return render(request, t_dir + 'course_form.html', http_content)
def class_edit(request, class_id=None): """ add ,modify """ if class_id is not None: classes = ClassCommand().class_get(class_id) else: classes = None action = 'create' if classes is None else 'modify' if request.method == 'POST': form = ClassForm(request.POST, initial=classes) if form.is_valid(): data = form.cleaned_data try: # save data---- class_id = ClassCommand(data=data).class_edit(class_id) if class_id == -2: form.add_error(None, u'教师课程体系与当前选择不一致') raise if class_id == -3: form.add_error(None, u'体验班不能修改课程体系为非体验课程体系') raise messages.add_message(request, messages.INFO, u'添加班级成功') if action == 'create': OperationLogCommand.operationlog_record(request, t_module, '新建') else: OperationLogCommand.operationlog_record(request, t_module, '修改') if request.POST.get('_new', None): return redirect('class:class_create') return redirect('class:class_modify', class_id) except Exception as e: traceback.print_exc() form.add_error(None, u'保存出错') else: form = ClassForm(classes) http_content = { 'title': u'新增班级' if class_id is None else u'班级详情详情页', 'action': action, 'form': form, 'classes': classes, 'course_system_choices': [{'id': classes.get('course_system'), 'text': classes.get('course_system_name')}] if classes else [], 'teacher_choices': [{'id': classes.get('teacher'), 'text': classes.get('teacher_name')}] if classes else [], 'all_ready_only': not request.user.accountuser.type, } print http_content['course_system_choices'], http_content['teacher_choices'] return render(request, t_dir + 'class_form.html', http_content)
def hzq_score_edit(request, score_id=None): """ add ,modify """ if score_id is not None: score = QnydScoreCommand().score_get(score_id) else: score = None action = 'create' if score is None else 'modify' if request.method == 'POST': print str(request.POST) form = QnydScoreForm(request.POST, initial=score) if form.is_valid(): data = form.cleaned_data try: # save data---- score_id = QnydScoreCommand(data=data).score_edit(score_id) if score_id == -2: form.add_error("whole_score", u'已经存在总谱ID的曲子') raise messages.add_message(request, messages.INFO, u'保存合奏组合成功') if action == 'create': OperationLogCommand.operationlog_record( request, t_module, '新建合奏组合') else: OperationLogCommand.operationlog_record( request, t_module, '修改合奏组合') if request.POST.get('_new', None): return redirect('hzqscore:qnyd_score_create') return redirect('hzqscore:qnyd_score_modify', score_id) except Exception as e: traceback.print_exc() form.add_error(None, u'保存出错') else: form = QnydScoreForm(score) http_content = { 'title': u'新增合奏组合' if score_id is None else u'合奏组合详情页', 'action': action, 'form': form, 'music_office': score['music_office'] if score else [{}, {}, {}], } return render(request, t_dir + 'qnyd_score_form.html', http_content)
def class_move(request): if request.method == 'POST': class_id = request.POST.get('class_id', '') student_id = request.POST.get('student_id', '') result = StudentCommand.class_move(class_id, student_id) if result == -1: data = { "status": False, "message": u"请直接去目标班级添加!", } return JsonResponse(data, safe=False) elif result == -3: data = { "status": False, "message": u"体验学生不能转到正常班级!", } return JsonResponse(data, safe=False) OperationLogCommand.operationlog_record(request, t_module, '转班') data = {"status": True} return JsonResponse(data, safe=False)
def unit_edit(request, unit_id=None): """ add ,modify """ if unit_id is not None: unit = UnitCommand().unit_get(unit_id) else: unit = None action = 'create' if unit is None else 'modify' if request.method == 'POST': form = UnitForm(request.POST, initial=unit) if form.is_valid(): try: # save data---- data = form.cleaned_data unit_id = UnitCommand(data=data).unit_edit(unit_id) messages.add_message(request, messages.INFO, u'保存单元成功') if action == 'create': OperationLogCommand.operationlog_record( request, t_module, '添加') else: OperationLogCommand.operationlog_record( request, t_module, '修改') if request.POST.get('_new', None): return redirect('unit:unit_create') return redirect('unit:unit_modify', unit_id) except Exception as e: traceback.print_exc() form.add_error(None, u'保存出错') else: form.add_error(None, u'error') else: form = UnitForm(unit) http_content = { 'title': u'新增单元' if unit_id is None else u'单元详情页', 'action': action, 'form': form, 'all_ready_only': unit['status'] if unit else 0, } return render(request, t_dir + 'unit_form.html', http_content)
def role_edit(request, role_id=None): """ add ,modify """ if role_id is not None: role = BackendGroupCommand().backendgroup_get(role_id) else: role = None action = 'create' if role is None else 'modify' if request.method == 'POST': form = RoleForm(request.POST, initial=role) if form.is_valid(): data = form.cleaned_data try: # save data---- role_id = BackendGroupCommand( data=data).backendgroup_edit(role_id) messages.add_message(request, messages.INFO, u'role保存成功') if request.POST.get('_new', None): return redirect('accounts:role_create') if action == 'create': OperationLogCommand.operationlog_record( request, '角色', '新建') else: OperationLogCommand.operationlog_record( request, '角色', '修改') return redirect('accounts:role_modify', role_id) except Exception as e: print e form.add_error(None, u'保存出错') else: form = RoleForm(role) permission = all_permission(role.get('permissions', '')) if role else [] http_content = { 'title': u'新增角色' if role_id is None else u'角色详情页', 'action': action, 'form': form, 'select_options': permission, } return render(request, t_dir + 'role_form.html', http_content)
def score_optional_edit(request, scoreoptional_id=None): """ add ,modify """ if scoreoptional_id is not None: score_optional = CourseSystemCommand().course_system_get( scoreoptional_id) else: score_optional = None if request.method == 'POST': scores = get_scores(request, scoreoptional_id) CourseSystemCommand(scores).course_system_edit(scoreoptional_id) messages.add_message(request, messages.INFO, u'添加曲子成功') OperationLogCommand.operationlog_record(request, t_module, '添加曲子') return redirect('score_optional:score_optional_modify', scoreoptional_id) else: print 'get' http_content = { 'title': u'选弹曲库详情页', 'action': 'modify', 'scores': score_optional, } return render(request, t_dir + 'score_optional_form.html', http_content)
def teacher_edit(request, teacher_id=None): """ add ,modify """ selected_city_options = [] course_system_options = [] province = {} if teacher_id is not None: teacher = TeacherCommand().teacher_get(teacher_id) selected_city_options = [{ 'id': teacher.get('city', ''), 'text': teacher.get('city_name', '') }] course_system_options = TeacherCommand.get_course(teacher_id) province = teacher.get('province', {}) else: teacher = None action = 'create' if teacher is None else 'modify' if request.method == 'POST': form = TeacherForm(request.POST, initial=teacher) if form.is_valid(): data = form.cleaned_data data['institution_id'] = request.user.accountuser.institution.id try: # save data---- teacher_id = TeacherCommand(data=data).teacher_edit(teacher_id) if teacher_id == -1: messages.add_message(request, messages.ERROR, u'教师不存在') raise FloatingPointError if teacher_id == -2: messages.add_message(request, messages.ERROR, u'该老师已被其他机构添加') raise FloatingPointError if teacher_id == -3: messages.add_message(request, messages.ERROR, u'超过该机构的老师数量') raise FloatingPointError messages.add_message(request, messages.INFO, u'添加教师成功') if action == 'create': OperationLogCommand.operationlog_record( request, t_module, '新建') else: OperationLogCommand.operationlog_record( request, t_module, '修改') if request.POST.get('_new', None): return redirect('teacher:teacher_create') return redirect('teacher:teacher_modify', teacher_id) except Exception as e: traceback.print_exc() form.add_error(None, u'保存出错') else: form = TeacherForm(teacher) print selected_city_options print course_system_options http_content = { 'title': u'新增教师' if teacher_id is None else u'教师详情页', 'action': action, 'form': form, 'selected_city_options': selected_city_options, 'course_system_options': course_system_options, 'province': province, 'all_ready_only': not request.user.accountuser.type, } return render(request, t_dir + 'teacher_form.html', http_content)
def section_edit(request, unit_id=None, type=0, section_id=None): """ add ,modify """ if unit_id is None: raise Http404() if section_id is not None: section = SectionCommand().section_get(section_id, type) else: section = None section_form = SECTION_TYPE_FORM[int(type)] action = 'create' if section is None else 'modify' if request.method == 'POST': form = section_form(request.POST, initial=section) if form.is_valid(): data = form.cleaned_data try: # save data---- if int(type) == 4: data['scores'] = get_scores(request) data['score_enjoys'] = get_score_enjoys(request) section_id = SectionCommand(data).section_edit( unit_id, type, section_id) messages.add_message( request, messages.INFO, u'{}-环节保存成功'.format(SECTION_TYPE.getDesc(int(type)))) if action == 'create': OperationLogCommand.operationlog_record( request, t_module, u'新建环节-{}'.format(SECTION_TYPE.getDesc(int(type)))) else: OperationLogCommand.operationlog_record( request, t_module, u'修改环节-{}'.format(SECTION_TYPE.getDesc(int(type)))) if request.POST.get('_new', None): return redirect('unit:section_create', unit_id, type) return redirect('unit:section_list', unit_id) except Exception as e: print traceback.print_exc() form.add_error(None, u'保存出错') else: form = section_form(section) template_form = SECTION_TYPE_TEMPLATE[int(type)] #print section['video_segment_options'] http_content = { 'title': u'新增环节-{}'.format(SECTION_TYPE.getDesc(int(type))) if section_id is None else u'修改环节-{}'.format( SECTION_TYPE.getDesc(int(type))), 'action': action, 'form': form, 'select_video_options': section['video_options'] if section else [], 'select_video_segment_options': section['video_segment_options'] if section else [], 'select_score_options': section['score_options'] if section else [], 'select_score_segment_options': section['score_segment_options'] if section else [], 'select_game_options': section['game_options'] if section else [], 'scores': section['scores'] if section else [], 'score_enjoys': section['score_enjoys'] if section else [], } return render(request, t_dir + template_form, http_content)
def score_edit(request, score_id=None): """ add ,modify """ if score_id is not None: score = ScoreCommand().score_get(score_id) else: score = None action = 'create' if score is None else 'modify' is_temp_data = False temp_data = {} if request.method == 'POST': image_path = request.POST.getlist('score_image_path', []) image_name = request.POST.getlist('score_image_name', []) delete_id = request.POST.get('delete_id', '') print 'image_name %s %s' % (image_name, image_path) seq = request.POST.getlist('seq', []) print str(request.POST) form = ScoreForm(request.POST, initial=score) if form.is_valid(): data = form.cleaned_data # data['music_type'] = 0 data['admin_id'] = request.user.accountuser.id data['segments'] = get_segments(request) data['delete_id'] = delete_id data['score_images'] = get_score_images(image_path, image_name, seq) try: # save data---- if not data['segments']: form.add_error(None, u'分段不能为空') raise if not data['score_images']: form.add_error(None, u'图片不能为空') raise score_id = ScoreCommand(data=data).score_edit(score_id) if score_id < 0: form.add_error(None, ERROR_MESSAGE[score_id]) raise messages.add_message(request, messages.INFO, u'添加曲库成功') if action == 'create': OperationLogCommand.operationlog_record( request, t_module, '新建独奏曲') else: OperationLogCommand.operationlog_record( request, t_module, '修改独奏曲') if request.POST.get('_new', None): return redirect('score:score_create') return redirect('score:score_modify', score_id) except Exception as e: traceback.print_exc() form.add_error(None, u'保存出错') is_temp_data = True data = {} data['segments'] = get_segments(request) data['delete_id'] = delete_id data['score_images'] = get_score_images( image_path, image_name, seq) for s in data['segments']: if not s['id']: s['id'] = 'no' temp_data = { 'segments': data['segments'], 'score_images': data['score_images'], 'delete_id': delete_id, } else: is_temp_data = True data = {} data['segments'] = get_segments(request) data['delete_id'] = delete_id data['score_images'] = get_score_images(image_path, image_name, seq) for s in data['segments']: if not s['id']: s['id'] = 'no' temp_data = { 'segments': data['segments'], 'score_images': data['score_images'], 'delete_id': data['delete_id'] } else: form = ScoreForm(score) http_content = { 'title': u'新增独奏/合奏曲库' if score_id is None else u'独奏曲库/合奏曲库详情页', 'action': action, 'form': form, 'timbre_options': score['timbres'] if score else [], 'segments': score['segments'] if score else [], 'score_images': score['score_images'] if score else [], 'all_ready_only': score['status'] if score else 0, } if is_temp_data: http_content.update(temp_data) return render(request, t_dir + 'score_form.html', http_content)