コード例 #1
0
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)
コード例 #2
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #3
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #4
0
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)
コード例 #5
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #6
0
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)
コード例 #7
0
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)
コード例 #8
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #9
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #10
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #11
0
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)
コード例 #12
0
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)
コード例 #13
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #14
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #15
0
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)
コード例 #16
0
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)
コード例 #17
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #18
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #19
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #20
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #21
0
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)
コード例 #22
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #23
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #24
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #25
0
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)
コード例 #26
0
ファイル: views.py プロジェクト: luohaifenglight/myadmmin
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)
コード例 #27
0
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)
コード例 #28
0
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)
コード例 #29
0
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)
コード例 #30
0
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)