Esempio n. 1
0
def sign_out(request):
    """
    清空session
    :param request:
    :return:
    """
    # return HttpResponse(u"欢迎光临 aic!")
    title_msg = '重新登陆?'
    try:
        nickname = request.session.get('nickname', None)  # 用户昵称
        username = request.session.get('username', None)  # 用户名
        role_id = request.session.get('role_id', None)  # 角色ID
        role_name = request.session.get('role_name', None)  # 角色名称
        result['message'] = "正常退出"
        result['level'] = log_level_logout
        save_operation_log(request, inspect.stack()[0][3], "", result)
        if username:
            del request.session['username']
        if nickname:
            del request.session['nickname']
        if role_id:
            del request.session['role_id']
        if role_name:
            del request.session['role_name']
    except Exception as e:
        result['status'] = False
        result['message'] = "退出系统时异常:" + str(e)
        result['data'] = ''
        result['level'] = log_level_logout
        save_operation_log(request, inspect.stack()[0][3], "", result)
    return render_result(request, "login.html", {'title_msg': title_msg})
Esempio n. 2
0
def system_message_confirm(request):
    operation_object = None
    try:
        if request.method == 'POST':
            record_id = request.POST.get('record_id', None)
            if int(record_id) > 0:
                object_infos = SystemMessage.objects.filter(id=record_id)
                if len(object_infos) == 1:
                    object_info = object_infos[0]
                    receive_status = object_info.receive_status
                    feedback_status = object_info.feedback_status
                    hidden_status_receiver = object_info.hidden_status_receiver
                    if hidden_status_receiver == '2':
                        # 信息未隐藏
                        if receive_status == '1':
                            # 信息已查看
                            if feedback_status == '2':
                                # 信息未确认
                                object_info.feedback_status = "1"
                                # 修改信息的确认状态
                                object_info.save()
                                operation_object = object_info.id
                                result['status'] = True
                                result['message'] = '信息确认成功'
                                result['data'] = json.dumps({},
                                                            ensure_ascii=False)
                            else:
                                result['status'] = False
                                result['message'] = '已确认:请不要重复确认!'
                                result['data'] = json.dumps({},
                                                            ensure_ascii=False)
                        else:
                            result['status'] = False
                            result['message'] = '确认失败:信息未查看!'
                            result['data'] = json.dumps({}, ensure_ascii=False)
                    else:
                        result['status'] = False
                        result['message'] = '确认失败:此记录已清理!'
                        result['data'] = json.dumps({}, ensure_ascii=False)
                else:
                    result['status'] = False
                    result['message'] = '确认失败:无此消息记录!'
                    result['data'] = json.dumps({}, ensure_ascii=False)
            else:
                result['status'] = False
                result['message'] = '确认失败:所要操作的记录不存在!'
                result['data'] = ''
        else:
            result['status'] = False
            result['message'] = '确认失败:系统操作请求方式异常!'
            result['data'] = ''
    except Exception as e:
        result['status'] = False
        result['message'] = "系统异常:" + str(e)
        result['data'] = ''
    result["level"] = log_level_change_status
    save_operation_log(request,
                       inspect.stack()[0][3], "uid:" + str(operation_object),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 3
0
def report_student_submit(request):
    """ѧԱ�ύ��Ϣ��ť.

    :param request:
    :return:
    """
    operation_object = None
    try:
        if request.method == 'POST':
            student_id = request.POST.get('record_id', None)
            if int(student_id) > 0:
                student_infos = StudentInfo.objects.filter(
                    id=student_id).order_by('-id')
                if len(student_infos) == 1:
                    student_info = student_infos[0]
                    submit_status = student_info.submit_status
                    if student_info.user_info:
                        # 学员的基础信息是否完备
                        if student_info.teacher_info:
                            # 学员的负责人信息是否完备
                            if submit_status == "2":
                                student_info.submit_status = 1
                                student_info.save()
                                operation_object = student_info.id
                                result['status'] = True
                                result['message'] = '提交记录成功'
                                result['data'] = json.dumps({},
                                                            ensure_ascii=False)
                            else:
                                result['status'] = False
                                result['message'] = '已提交,请不要重复提交!'
                                result['data'] = ''
                        else:
                            result['status'] = False
                            result['message'] = '所要提交的记录负责人信息未提交,请修改!'
                            result['data'] = ''
                    else:
                        result['status'] = False
                        result['message'] = '所要提交的记录个人基础信息未提交,请修改添加!'
                        result['data'] = ''
                else:
                    result['status'] = False
                    result['message'] = '所要提交的记录不存在!'
                    result['data'] = ''
            else:
                result['status'] = False
                result['message'] = '所要提交的记录不存在!'
                result['data'] = ''
    except Exception as e:
        result['status'] = False
        result['message'] = "系统异常:" + str(e)
        result['data'] = ''
    result["level"] = log_level_change_status
    save_operation_log(request,
                       inspect.stack()[0][3], "uid:" + str(operation_object),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 4
0
def start_download_picture(request):
    """
    开始下载
    :param request:
    :return:
    """
    try:
        file_uuid = request.GET.get('file_uuid', None)
        if file_uuid:
            file_obj = IDCardPicture.objects.get(picture_uuid=file_uuid)
            file_root = MEDIA_ROOT + '/' + str(file_obj.picture_path)
            file_root = file_root.replace("\\", "/")
            operation_object = file_obj.id
            file_names = str(file_obj.picture_path).split("/")
            file_name = file_names[len(file_names) - 1]
            print("file_name::" + file_name)
            ready_file = open(file_root, 'rb')
            response = FileResponse(ready_file)
            response['Content-Type'] = 'application/octet-stream'
            response[
                'Content-Disposition'] = 'attachment;filename=' + file_name
            result['status'] = True
            result['message'] = '下载成功!'
            result['data'] = json.dumps({}, ensure_ascii=False)
            result["level"] = log_level_download
            save_operation_log(request,
                               inspect.stack()[0][3], str(operation_object),
                               result)
            return response
        else:
            title_msg = '下载文件异常'
            message = '未正确获取到您的填报信息,或者系统异常,请稍后重新下载或者联系管理员'
            return render_result(
                request,
                "page_main_controller/student/report_download_page.html", {
                    'title_msg': title_msg,
                    'not_exist': True,
                    'message': message
                })
    except Exception as e:
        result['status'] = False
        result['message'] = '下载异常!错误提示:' + str(e)
        result['data'] = json.dumps({}, ensure_ascii=False)
        result["level"] = log_level_download
        save_operation_log(request, inspect.stack()[0][3], "", result)
        title_msg = '下载文件异常'
        message = '未正确获取到您的填报信息,或者系统异常,请稍后重新下载或者联系管理员。错误提示:' + str(e)
        return render_result(
            request, "page_main_controller/student/report_download_page.html",
            {
                'title_msg': title_msg,
                'not_exist': True,
                'message': message
            })
Esempio n. 5
0
def report_student_del(request):
    """����id ɾ��.

    :param request:
    :return:
    """
    operation_object = None
    try:
        if request.method == 'POST':
            student_del_id = request.POST.get('record_id', None)
            if int(student_del_id) > 0:
                student_infos = StudentInfo.objects.filter(id=student_del_id)
                if len(student_infos) == 1:
                    student_info = student_infos[0]
                    submit_status = student_info.submit_status
                    cancel_status = student_info.cancel_status
                    cancel_result = student_info.cancel_result
                    confirm_status = student_info.confirm_status
                    if int(submit_status) == 1:
                        # 如果是已提交状态,将无法删除
                        result['status'] = False
                        result['message'] = '所要删除的记录已经提交,您无法删除,您可以申请注销。'
                        result['data'] = ''
                    else:
                        # 如果是未提交状态,可以删除
                        operation_object = student_info
                        student_info.delete()
                        student_infos_check = StudentInfo.objects.filter(
                            id=student_del_id)
                        if len(student_infos_check) == 0:
                            result['status'] = True
                            result['message'] = '删除记录成功'
                            result['data'] = json.dumps({}, ensure_ascii=False)
                        else:
                            result['status'] = False
                            result['message'] = '未能成功删除或者有多条记录,请查询确认后继续删除!'
                            result['data'] = ''
            else:
                result['status'] = False
                result['message'] = '所要删除的记录不存在!'
                result['data'] = ''
        else:
            result['status'] = False
            result['message'] = '所要删除的记录不存在!'
            result['data'] = ''
    except Exception as e:
        result['status'] = False
        result['message'] = "系统异常:" + str(e)
        result['data'] = ''
    result["level"] = log_level_cancel
    save_operation_log(request,
                       inspect.stack()[0][3], operation_object.__str__(True),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 6
0
def update_teacher_info(request):
    """
    修改负责任的基本信息
    :param request:
    :return:
    """
    operation_object = None
    try:
        if request.method == 'POST':
            object_form = RegisterTeacherUpdateForm(request.POST)
            if object_form.is_valid():
                update_id = object_form.cleaned_data.get('update_id', None)
                if update_id:
                    main_object_terms = TeacherInfo.objects.filter(
                        id=update_id)
                    if len(main_object_terms) == 1:
                        form_object_main_object = form_to_obj(
                            object_form.cleaned_data, main_object_terms[0])
                        form_object_main_object.save()
                        # 用户基础信息
                        form_object_user_info = form_to_obj(
                            object_form.cleaned_data,
                            form_object_main_object.user_info)
                        form_object_user_info.save()
                        operation_object = form_object_user_info
                        # 注册信息修改(除了密码信息)
                        form_object_register_user_info = form_to_obj(
                            object_form.cleaned_data,
                            form_object_user_info.register_user_info)
                        form_object_register_user_info.save()
                        result['status'] = True
                        result['message'] = '修改成功!'
                        result['data'] = json.dumps({}, ensure_ascii=False)
                        return JsonResponse(result, safe=False)
            else:
                print(type(object_form.errors),
                      object_form.errors)  # errors类型是ErrorDict,里面是ul,li标签
                result['status'] = False
                result['message'] = '系统异常,请稍后尝试或联系管理员!'
                result['data'] = ''
        else:
            result['status'] = False
            result['message'] = '系统异常,请稍后尝试或联系管理员!'
            result['data'] = ''
    except Exception as e:
        result['status'] = False
        result['message'] = "系统异常:" + str(e)
        result['data'] = ''
    result["level"] = log_level_edit
    save_operation_log(request,
                       inspect.stack()[0][3], operation_object.__str__(True),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 7
0
def report_student_cancel_return(request):
    """��������ע���ύ��¼.

    :param request:
    :return:
    """
    operation_object = None
    try:
        if request.method == 'POST':
            student_del_id = request.POST.get('record_id', None)
            if int(student_del_id) > 0:
                student_infos = StudentInfo.objects.filter(id=student_del_id)
                if len(student_infos) == 1:
                    student_info = student_infos[0]
                    submit_status = student_info.submit_status
                    if submit_status == "1":
                        cancel_status = student_info.cancel_status
                        if cancel_status == "1":
                            student_info.cancel_status = "2"
                            operation_object = student_info.id
                            student_info.save()
                            result['status'] = True
                            result['message'] = '撤销申请注销提交操作成功'
                            result['data'] = json.dumps({}, ensure_ascii=False)
                        else:
                            result['status'] = False
                            result['message'] = '本提交记录,没有注销申请,请您先注销!'
                            result['data'] = ''
                    else:
                        result['status'] = False
                        result['message'] = '已经通过负责人同意注销记录,请继续修改记录然后提交!'
                        result['data'] = ''
                else:
                    result['status'] = False
                    result['message'] = '所要提交的记录不存在!'
                    result['data'] = ''
            else:
                result['status'] = False
                result['message'] = '所要提交的记录不存在!'
                result['data'] = ''
    except Exception as e:
        result['status'] = False
        result['message'] = "系统异常:" + str(e)
        result['data'] = ''
    result["level"] = log_level_change_status
    save_operation_log(request,
                       inspect.stack()[0][3], "uid:" + str(operation_object),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 8
0
def final_reset_password(request):
    """
    最终修改密码
    :param request:
    :return:
    """
    new_username = request.POST.get('new_username', None)
    new_password = request.POST.get('new_password', None)
    register_user_info = None
    if new_username:
        if new_password:
            register_user_infos = RegisterUserInfo.objects.filter(
                username=new_username)
            if register_user_infos.count() == 1:
                register_user_info = register_user_infos[0]
                # 验证密码
                register_user_info.password = Password.encryption(new_password)
                register_user_info.save()
                register_user_info = register_user_info.id
                nickname = request.session.get('nickname', None)  # 用户昵称
                username = request.session.get('username', None)  # 用户名
                if username:
                    if username == new_username:
                        result['level'] = log_level_edit
                        save_operation_log(request,
                                           inspect.stack()[0][3],
                                           "uid:" + str(register_user_info),
                                           result)
                        del request.session['username']
                        if nickname:
                            del request.session['nickname']
                        result['message'] = '密码修改成功!'
                    else:
                        result['message'] = '密码修改成功,请通知用户用新密码登陆系统!'
            else:
                result['status'] = False
                result['message'] = '未获取到账户信息!'
        else:
            result['status'] = False
            result['message'] = '您未输入新密码!'
    else:
        result['status'] = False
        result['message'] = '未获取到用户名信息!'
    result['level'] = log_level_edit
    save_operation_log(request,
                       inspect.stack()[0][3], "uid:" + str(register_user_info),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 9
0
def start_teacher(request):
    """
    启用此负责人
    :param request:
    :return:
    """
    operation_object = None
    try:
        if request.method == 'POST':
            teacher_id = request.POST.get('teacher_id', None)
            if teacher_id:
                teacher_info_values = TeacherInfo.objects.filter(id=teacher_id)
                if len(teacher_info_values) == 1:
                    teacher_info_object = teacher_info_values[0]
                    if int(teacher_info_object.status) == 2:
                        teacher_info_object.status = '1'
                        teacher_info_object.save()
                        operation_object = teacher_info_object.id
                        result['status'] = True
                        result['message'] = '启用成功!'
                        result['data'] = json.dumps({}, ensure_ascii=False)
                    elif int(teacher_info_object.status) == 1:
                        result['status'] = False
                        result['message'] = '已经是启用状态。'
                        result['data'] = ''
                    else:
                        result['status'] = False
                        result['message'] = '启用失败!系统识别错误,请联系管理员!'
                        result['data'] = ''
                else:
                    result['status'] = False
                    result['message'] = '注销失败!系统暂无本负责人信息,请重试或者联系管理员。'
                    result['data'] = ''
            else:
                result['status'] = False
                result['message'] = '注销失败!系统异常,请稍后尝试或联系管理员!'
                result['data'] = ''
    except Exception as e:
        result['status'] = False
        result['message'] = "系统异常:" + str(e)
        result['data'] = ''
    result["level"] = log_level_change_status
    save_operation_log(request,
                       inspect.stack()[0][3], "uid:" + str(operation_object),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 10
0
def report_do_review_cancel(request):
    """
    取消确认审核
    :param request:
    :return:
    """
    operation_object = None
    try:
        if request.method == 'POST':
            student_del_id = request.POST.get('record_id', None)
            if int(student_del_id) > 0:
                student_infos = StudentInfo.objects.filter(id=student_del_id)
                if len(student_infos) == 1:
                    student_info = student_infos[0]
                    submit_status = student_info.submit_status
                    record_status = student_info.record_status
                    cancel_status = student_info.cancel_status
                    review_status = student_info.review_status
                    confirm_status = student_info.confirm_status
                    print("cancel_status:::" + cancel_status)
                    if int(record_status) == 1:
                        # 资料状态正常
                        if int(submit_status) == 1:
                            # 已提交
                            if int(cancel_status) == 2:
                                # 未申请注销
                                if review_status == "1":
                                    if confirm_status == "2":
                                        student_info.review_status = "2"
                                        operation_object = student_info.id
                                        student_info.save()
                                        result['status'] = True
                                        result['message'] = '取消审核成功'
                                        result['data'] = json.dumps(
                                            {}, ensure_ascii=False)
                                    else:
                                        result['status'] = False
                                        result[
                                            'message'] = '取消审核失败,此纪录处于学校管理员确认通过状态!'
                                        result['data'] = json.dumps(
                                            {}, ensure_ascii=False)
                                else:
                                    result['status'] = False
                                    result['message'] = '未审核或已经取消审核,请不要重复操作!'
                                    result['data'] = json.dumps(
                                        {}, ensure_ascii=False)
                            else:
                                result['status'] = False
                                result[
                                    'message'] = '审核失败,此纪录正在申请注销,请处理此纪录的申请注销信息!'
                                result['data'] = json.dumps({},
                                                            ensure_ascii=False)
                        else:
                            result['status'] = False
                            result['message'] = '审核失败,此记录尚未提交!'
                            result['data'] = json.dumps({}, ensure_ascii=False)
                    else:
                        result['status'] = False
                        result['message'] = '审核失败,此记录已是注销状态,不可操作!'
                        result['data'] = json.dumps({}, ensure_ascii=False)
                else:
                    result['status'] = False
                    result['message'] = '所要提交的记录不存在!'
                    result['data'] = ''
            else:
                result['status'] = False
                result['message'] = '所要提交的记录不存在!'
                result['data'] = ''
    except Exception as e:
        result['status'] = False
        result['message'] = "系统异常:" + str(e)
        result['data'] = ''
    result["level"] = log_level_change_status
    save_operation_log(request,
                       inspect.stack()[0][3], "uid:" + str(operation_object),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 11
0
def sign_in(request):
    """
    登录:检测是登录用户的类别,返回不同的角色
    :param request:
    :return:
    """
    title_msg = '报名系统'
    try:
        if request.method == 'POST':
            username = request.POST.get('username', None)
            if username:
                if '' == username:
                    sign_in_msg = '用户名不能为空'
                    return render_result(request, "login.html",
                                         {'sign_in_msg': sign_in_msg})
                password = request.POST['password']
                if '' == password:
                    sign_in_msg = '密码不能为空'
                    return render_result(request, "login.html",
                                         {'sign_in_msg': sign_in_msg})
                if username and password:
                    register_user_info = RegisterUserInfo.objects.get(
                        username=username)
                    # 验证密码
                    if Password.decrypt_check(password,
                                              register_user_info.password):
                        if register_user_info.status == '2':
                            sign_in_msg = '您当前状态未注销状态,无法登陆请联系负责人或系统管理员。'
                            return render_result(request, "login.html",
                                                 {'sign_in_msg': sign_in_msg})
                        else:
                            school_terms = SchoolTerm.objects.filter()
                            user_role = register_user_info.role

                            if user_role.role_name is None:
                                sign_in_msg = '尚未分配角色,或角色信息被改动,请稍后重试或联系管理员。'
                                return render_result(
                                    request, "login.html",
                                    {'sign_in_msg': sign_in_msg})
                            else:
                                if user_role.role_name in 'administrator':
                                    request.session[
                                        'nickname'] = register_user_info.nickname  # 用户昵称
                                    request.session[
                                        'username'] = register_user_info.username  # 用户名
                                    request.session['role_id'] = str(
                                        user_role.id)  # 角色ID
                                    request.session['role_name'] = str(
                                        user_role.role_name)  # 角色名称
                                    request.session.set_expiry(7200)
                                    result['message'] = "系统管理员(学校管理员)登陆成功"
                                    result['level'] = log_level_login
                                    save_operation_log(request,
                                                       inspect.stack()[0][3],
                                                       "", result)
                                    return HttpResponseRedirect(
                                        '/report/report_info_confirm/')
                                elif user_role.role_name in 'teacher':
                                    teacher_infos = TeacherInfo.objects.filter(
                                        user_info=UserInfo.objects.filter(
                                            register_user_info=
                                            register_user_info)[0])
                                    if len(teacher_infos) == 1:
                                        status = teacher_infos[0].status
                                        if status == '1':
                                            request.session[
                                                'nickname'] = register_user_info.nickname  # 用户昵称
                                            request.session[
                                                'username'] = register_user_info.username  # 用户名
                                            request.session['role_id'] = str(
                                                user_role.id)  # 角色ID
                                            request.session['role_name'] = str(
                                                user_role.role_name)  # 角色名称
                                            request.session.set_expiry(7200)
                                            result['message'] = "负责人登陆成功"
                                            result['level'] = log_level_login
                                            save_operation_log(
                                                request,
                                                inspect.stack()[0][3], "",
                                                result)
                                            return HttpResponseRedirect(
                                                '/report/report_info_review/')
                                        elif status == '2':
                                            sign_in_msg = '您当前处于被注销状态,请联系管理员核实再行登陆。'
                                            return render_result(
                                                request, "login.html",
                                                {'sign_in_msg': sign_in_msg})
                                        else:
                                            sign_in_msg = '您当前系统状态不明,请联系管理员核实再行登陆。'
                                            return render_result(
                                                request, "login.html",
                                                {'sign_in_msg': sign_in_msg})
                                    else:
                                        school_term = SchoolTerm.objects.last()
                                        return render_result(
                                            request, "index.html", {
                                                'title_msg': title_msg,
                                                'need_login': False,
                                                'school_term': school_term,
                                                'no_term': True
                                            })
                                elif user_role.role_name in 'student':
                                    request.session[
                                        'nickname'] = register_user_info.nickname  # 用户昵称
                                    request.session[
                                        'username'] = register_user_info.username  # 用户名
                                    request.session['role_id'] = str(
                                        user_role.id)  # 角色ID
                                    request.session['role_name'] = str(
                                        user_role.role_name)  # 角色名称
                                    request.session.set_expiry(7200)
                                    result['message'] = '学员登陆成功!'
                                    result['level'] = log_level_login
                                    save_operation_log(request,
                                                       inspect.stack()[0][3],
                                                       "", result)
                                    return HttpResponseRedirect(
                                        '/report/to_index/')
                                else:
                                    sign_in_msg = '您当前系统角色不明,请联系管理员核实或重新注册新用户再行登陆。'
                                    return render_result(
                                        request, "login.html",
                                        {'sign_in_msg': sign_in_msg})
                    else:
                        sign_in_msg = '密码错误'
                        return render_result(request, "login.html",
                                             {'sign_in_msg': sign_in_msg})
                else:
                    sign_in_msg = '用户不存在'
                    return render_result(request, "login.html",
                                         {'sign_in_msg': sign_in_msg})
            else:
                sign_in_msg = '登陆异常,用户名不能为空'
                return render_result(request, "login.html",
                                     {'sign_in_msg': sign_in_msg})
        else:
            sign_in_msg = '登陆异常,请检查输入内容或联系系统管理员'
            return render_result(request, "login.html",
                                 {'sign_in_msg': sign_in_msg})
    except BaseException as e:
        sign_in_msg = '登陆异常,请检查输入内容或联系系统管理员'
        print("登录异常:", str(e))
        result['level'] = log_level_login
        save_operation_log(request,
                           inspect.stack()[0][3],
                           "登录异常:" + str(e) + "==student", result)
        return render_result(request, "login.html",
                             {'sign_in_msg': sign_in_msg})
Esempio n. 12
0
def register(request):
    """
    注册:分为管理员和普通用户
    :param request:
    :return:
    """
    try:
        if request.method == 'POST':
            object_form = RegisterForm(request.POST)
            if object_form.is_valid():
                form_object = form_to_obj(object_form.cleaned_data,
                                          RegisterUserInfo())
                # 密码加密处理
                form_object.password = Password.encryption(
                    form_object.password)
                role_infos = RoleInfo.objects.filter(role_name='student')
                if len(role_infos) > 0:
                    form_object.role = role_infos[0]
                    form_object.save()
                    result['message'] = "注册成功"
                    result['level'] = log_level_register
                    save_operation_log(request,
                                       inspect.stack()[0][3],
                                       form_object.__str__(True), result)
                    title_msg = sys_msg + '-登陆'
                    sign_in_msg = '注册成功,请您登陆'
                    return render_result(
                        request, "login.html", {
                            'title_msg': title_msg,
                            'sign_in_msg': sign_in_msg,
                            'username': form_object.username
                        })
                else:
                    print(type(object_form.errors),
                          object_form.errors)  # errors类型是ErrorDict,里面是ul,li标签
                    sign_in_msg = '-注册失败,请勿登陆,初始角色信息获取失败,请稍后重试,或者联系管理员查看和管理角色信息!'
                    title_msg = sys_msg + '-注册失败!'
                    return render_result(request, "login.html", {
                        'title_msg': title_msg,
                        'sign_in_msg': sign_in_msg
                    })
                # user_role = UserRole()
                # role = RoleInfo.objects.get(role_name='student')
                # user = RegisterUserInfo.objects.get(username=form_object.username)
                # user_role.user = user
                # user_role.role_name = role
                # user_role.explain = "默认注册都是学生"
                # user_role.save()
            else:
                print(type(object_form.errors),
                      object_form.errors)  # errors类型是ErrorDict,里面是ul,li标签
                title_msg = sys_msg + '-注册失败'
                sign_in_msg = '注册失败,请勿登陆,请重试或联系管理员!报错内容:' + object_form.errors
                return render_result(request, "login.html", {
                    'title_msg': title_msg,
                    'sign_in_msg': sign_in_msg
                })
    except Exception as e:
        print(str(e))
        sign_in_msg = '-注册失败,请勿登陆,请重试或联系管理员!报错内容:' + str(e)
        title_msg = sys_msg + '-注册失败'
        return render_result(request, "login.html", {
            'title_msg': title_msg,
            'sign_in_msg': sign_in_msg
        })
Esempio n. 13
0
def image_upload_id_card(request):
    """
    文件上传
    :param request:
    :return:
    """
    operation_object = None
    school_term_name = None
    school_terms = SchoolTerm.objects.all().order_by('-id')
    if school_terms.count() > 0:
        for school_term in school_terms:
            school_term_name = school_term.school_term_name
            school_term_start = school_term.school_term_start
            school_term_end = school_term.school_term_end
            school_term_start_timestamp = time.mktime(
                school_term_start.timetuple())
            school_term_end_timestamp = time.mktime(
                school_term_end.timetuple())
            if school_term_end_timestamp > time.time(
            ) > school_term_start_timestamp:
                # print("在当前报名时间段内")
                flag = False
            else:
                flag = True
    # school_term = SchoolTerm.objects.last()
    # school_term_start = school_term.school_term_start
    # school_term_end = school_term.school_term_end
    #
    # school_term_start.timetuple()
    # school_term_start_timestamp = time.mktime(school_term_start.timetuple())
    # school_term_end_timestamp = time.mktime(school_term_end.timetuple())

    # if school_term_end_timestamp > time.time() > school_term_start_timestamp:
    #     # print("在当前报名时间段内")
    #     flag = False
    # else:
    #     flag = True

    try:
        if request.method == 'POST':
            form = IDCardPictureForm(request.POST, request.FILES)
            if form.is_valid():
                # file is saved
                print(form.cleaned_data.items())
                instance = IDCardPicture(picture_path=request.FILES['file'])
                # instance.picture_name = form.cleaned_data['picture_name']
                username = request.session.get('username', None)  # 用户名
                register_user_info = RegisterUserInfo.objects.get(
                    username=username)
                instance.user_operator = register_user_info
                instance.save()
                # 更换图片文件的名字开始,如果不处理,将受到系统和安全两个方面各种问题
                old_path = str(instance.picture_path)
                old_paths = old_path.split('/')
                old_paths[len(old_paths) -
                          1] = str(instance.picture_uuid)[:16] + '.jpg'
                new_path = "/".join(old_paths)
                picture_old_os_path = MEDIA_ROOT + "\\" + str(
                    instance.picture_path)
                picture_old_os_path = picture_old_os_path.replace("\\", "/")
                # 如果是上唇2寸照片需要判断

                picture_new_os_path = MEDIA_ROOT + "\\" + new_path
                picture_new_os_path = picture_new_os_path.replace("\\", "/")
                os.rename(picture_old_os_path, picture_new_os_path)
                instance.picture_path = new_path
                instance.save()
                operation_object = instance.id
                # 更换图片文件的名字结束
                file_type = request.POST.get('file_type', None)
                print("file_type:::" + str(file_type))
                # 将文件备份到学期的文件夹下
                term_picture_root = MEDIA_ROOT + "/term_picture/" + school_term_name + "/"
                if file_type:
                    im = Image.open(picture_new_os_path)  # 返回一个Image对象

                    resized = im.resize((64, 64))

                    resized.save("test.jpg")

                    print('宽:%d,高:%d' % (im.size[0], im.size[1]))
                    # 介于一寸照片和二寸照片
                    if 420 > im.size[0] > 280:
                        if 650 > im.size[1] > 400:
                            result['status'] = True
                            result['data'] = MEDIA_URL + str(
                                instance.picture_path)
                            result['message'] = '图片上传状态正常!'
                            result['picture'] = instance.id
                        else:
                            im = im.convert('RGB')
                            resized = im.resize((400, 580))
                            picture_new_os_path = picture_new_os_path.replace(
                                '.jpg', '_resize.jpg')
                            resized.save(picture_new_os_path)
                            instance.picture_path = new_path.replace(
                                '.jpg', '_resize.jpg')
                            result['status'] = True
                            result['data'] = MEDIA_URL + str(
                                instance.picture_path)
                            result['message'] = '图片上传状态正常!'
                            result['picture'] = instance.id

                            # result['status'] = False
                            # result['message'] = '照片尺寸判断异常!请重新上传尺寸为:宽:380~413* 高:590~626像素 的二寸头像图片'
                            # result['error'] = ''
                    else:
                        im = im.convert('RGB')
                        resized = im.resize((400, 580))
                        picture_new_os_path = picture_new_os_path.replace(
                            '.jpg', '_resize.jpg')
                        resized.save(picture_new_os_path)
                        instance.picture_path = new_path.replace(
                            '.jpg', '_resize.jpg')
                        result['status'] = True
                        result['data'] = MEDIA_URL + str(instance.picture_path)
                        result['message'] = '图片上传状态正常!'
                        result['picture'] = instance.id
                        # result['status'] = False
                        # result['message'] = '照片尺寸判断异常!请重新上传尺寸为:380~413*590~626像素 的二寸头像图片'
                        # result['error'] = ''
                else:
                    result['status'] = True
                    result['data'] = MEDIA_URL + str(instance.picture_path)
                    result['message'] = '图片上传状态正常!'
                    result['picture'] = instance.id
                # return HttpResponseRedirect('/success/url/')
        else:
            result['status'] = False
            result['message'] = '网络访问协议异常'
            result['error'] = ''
    except Exception as e:
        result['status'] = False
        result['message'] = '获取数据记录 0' + str(e)
        result['error'] = ''
    result["level"] = log_level_upload
    save_operation_log(request,
                       inspect.stack()[0][3], "uid:" + str(operation_object),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 14
0
def update_user_base_info(request):
    """
    修改用户的基本信息
    :param request:
    :return:
    """
    try:
        if request.method == 'POST':
            object_form = UserInfoUpdateForm(request.POST)
            if object_form.is_valid():
                username = request.session.get('username', None)  # 用户名
                register_user_info = RegisterUserInfo.objects.get(
                    username=username)
                user_info_id = object_form.cleaned_data.get('uid', None)

                print("user_info_id:::" + str(user_info_id))
                user_infos = UserInfo.objects.filter(id=user_info_id)
                if len(user_infos) > 0:
                    user_info = user_infos[len(user_infos) - 1]
                    form_object_user_info = form_to_obj(
                        object_form.cleaned_data, user_info)
                else:
                    # 用户基础信息
                    form_object_user_info = form_to_obj(
                        object_form.cleaned_data, UserInfo())
                    # 关联注册员信息
                    form_object_user_info.register_user_info = register_user_info
                    # 关联注册员信息
                # 关联操作员信息
                form_object_user_info.user_operator = register_user_info
                # 关联注册员信息
                # 关联教育程度
                education_degree = object_form.cleaned_data.get(
                    'education_degree_form', None)
                if education_degree:
                    education_degree_obj = EducationDegree.objects.get(
                        id=education_degree)
                    form_object_user_info.education_degree = education_degree_obj
                # 关联教育程度

                # 关联民族信息
                nation_info = object_form.cleaned_data.get(
                    'nation_info_form', None)
                if nation_info:
                    nation_info_obj = NationInfo.objects.get(id=nation_info)
                    form_object_user_info.nation_info = nation_info_obj
                # 关联民族信息

                # 关联单位性质
                unit_nature = object_form.cleaned_data.get(
                    'unit_nature_form', None)
                if unit_nature:
                    unit_nature_obj = UnitNature.objects.get(id=unit_nature)
                    form_object_user_info.unit_nature = unit_nature_obj
                # 关联单位性质
                # 关联省
                hukou_province = object_form.cleaned_data.get(
                    'hukou_province_form', None)
                if hukou_province:
                    hukou_province_obj = ProvinceCityCountry.objects.get(
                        id=hukou_province)
                    form_object_user_info.hukou_province = hukou_province_obj
                # 关联省
                # 关联市
                hukou_city = object_form.cleaned_data.get(
                    'hukou_city_form', None)
                if hukou_city:
                    hukou_city_obj = ProvinceCityCountry.objects.get(
                        id=hukou_city)
                    form_object_user_info.hukou_city = hukou_city_obj
                # 关联市
                # 关联县
                hukou_county = object_form.cleaned_data.get(
                    'hukou_county_form', None)
                if hukou_county:
                    hukou_county_obj = ProvinceCityCountry.objects.get(
                        id=hukou_county)
                    form_object_user_info.hukou_county = hukou_county_obj
                # 关联县
                # 关联二寸照片
                two_inch_photo = object_form.cleaned_data.get(
                    'two_inch_photo_form', None)
                if two_inch_photo:
                    two_inch_photo_obj = Picture.objects.get(id=two_inch_photo)
                    form_object_user_info.two_inch_photo = two_inch_photo_obj
                # 关联二寸照片

                id_number = form_object_user_info.id_number
                if len(id_number) > 17:
                    birthday_string = str(id_number)[6:14]
                    year = birthday_string[0:4]
                    month = birthday_string[4:6]
                    day = birthday_string[6:8]
                    birthday = year + "-" + month + "-" + day
                    form_object_user_info.birthday = birthday
                    age = timezone.now().year - int(year)
                    form_object_user_info.age = age
                start_working_date = form_object_user_info.start_working_date
                if start_working_date:
                    year = start_working_date.year
                    working_year = timezone.now().year - year
                    form_object_user_info.working_year = working_year
                form_object_user_info.save()
                result['message'] = '个人信息修改成功'
                result["level"] = log_level_edit
                save_operation_log(request,
                                   inspect.stack()[0][3],
                                   form_object_user_info.__str__(True), result)
                # 用户基础信息
                return HttpResponseRedirect('/report/user_setting/')
            else:
                title_msg = sys_msg + '-系统错误'
                message = '系统提示:参数获取异常'
                return render_result(request,
                                     "page_main_controller/message.html", {
                                         'title_msg': title_msg,
                                         'message': message
                                     })
        else:
            title_msg = sys_msg + '-系统错误'
            message = '系统提示:请求方式异常'
            return render_result(request, "page_main_controller/message.html",
                                 {
                                     'title_msg': title_msg,
                                     'message': message
                                 })
    except Exception as e:
        print(str(e))
        title_msg = sys_msg + '-系统错误'
        message = '系统提示:系统异常请稍后重试,或联系管理员,错误提示:' + str(e)
        return render_result(request, "page_main_controller/message.html", {
            'title_msg': title_msg,
            'message': message
        })
Esempio n. 15
0
def update_user_info(request):
    """
    修改用户基础信息
    :param request:
    :return:
    """
    try:
        if request.method == 'POST':
            object_form = UserInfoUpdateForm(request.POST)
            student_id = request.POST.get('student_id', None)
            if object_form.is_valid():
                username = request.session.get('username', None)  # 用户名
                register_user_info = RegisterUserInfo.objects.get(
                    username=username)
                user_info_id = object_form.cleaned_data.get(
                    'user_info_id', None)
                user_infos = UserInfo.objects.filter(id=user_info_id)
                if len(user_infos) > 0:
                    user_info = user_infos[len(user_infos) - 1]
                    form_object_user_info = form_to_obj(
                        object_form.cleaned_data, user_info)
                else:
                    # 用户基础信息
                    form_object_user_info = form_to_obj(
                        object_form.cleaned_data, UserInfo())
                    # 关联注册员信息
                    form_object_user_info.register_user_info = register_user_info
                    # 关联注册员信息
                # 关联操作员信息
                form_object_user_info.user_operator = register_user_info
                # 关联注册员信息
                # 关联教育程度
                education_degree = object_form.cleaned_data.get(
                    'education_degree_form', None)
                if education_degree:
                    education_degree_obj = EducationDegree.objects.get(
                        id=education_degree)
                    form_object_user_info.education_degree = education_degree_obj
                # 关联教育程度

                # 关联民族信息
                nation_info = object_form.cleaned_data.get(
                    'nation_info_form', None)
                if nation_info:
                    nation_info_obj = NationInfo.objects.get(id=nation_info)
                    form_object_user_info.nation_info = nation_info_obj
                # 关联民族信息

                # 关联单位性质
                unit_nature = object_form.cleaned_data.get(
                    'unit_nature_form', None)
                if unit_nature:
                    unit_nature_obj = UnitNature.objects.get(id=unit_nature)
                    form_object_user_info.unit_nature = unit_nature_obj
                # 关联单位性质
                # 关联省
                hukou_province = object_form.cleaned_data.get(
                    'hukou_province_form', None)
                if hukou_province:
                    hukou_province_obj = ProvinceCityCountry.objects.get(
                        id=hukou_province)
                    form_object_user_info.hukou_province = hukou_province_obj
                # 关联省
                # 关联市
                hukou_city = object_form.cleaned_data.get(
                    'hukou_city_form', None)
                if hukou_city:
                    hukou_city_obj = ProvinceCityCountry.objects.get(
                        id=hukou_city)
                    form_object_user_info.hukou_city = hukou_city_obj
                # 关联市
                # 关联县
                hukou_county = object_form.cleaned_data.get(
                    'hukou_county_form', None)
                if hukou_county:
                    hukou_county_obj = ProvinceCityCountry.objects.get(
                        id=hukou_county)
                    form_object_user_info.hukou_county = hukou_county_obj
                # 关联县
                # 关联二寸照片
                two_inch_photo = object_form.cleaned_data.get(
                    'two_inch_photo_form', None)
                if two_inch_photo:
                    two_inch_photo_obj = Picture.objects.get(id=two_inch_photo)
                    form_object_user_info.two_inch_photo = two_inch_photo_obj
                # 关联二寸照片
                id_card_heads_photo = object_form.cleaned_data.get(
                    'id_card_heads_photo', None)
                id_card_tails_photo = object_form.cleaned_data.get(
                    'id_card_tails_photo', None)
                print('id_card_heads_photo')
                print('id_card_tails_photo')

                print(id_card_heads_photo)
                print(id_card_tails_photo)

                # 关联身份证正面照片
                if id_card_heads_photo:
                    id_card_heads_photo_obj = IDCardPicture.objects.get(
                        id=id_card_heads_photo)
                    form_object_user_info.id_card_heads_photo = id_card_heads_photo_obj
                # 关联身份证反面照片
                if id_card_tails_photo:
                    id_card_tails_photo_obj = IDCardPicture.objects.get(
                        id=id_card_tails_photo)
                    form_object_user_info.id_card_tails_photo = id_card_tails_photo_obj

                id_number = form_object_user_info.id_number
                if len(id_number) > 17:
                    birthday_string = str(id_number)[6:14]
                    year = birthday_string[0:4]
                    month = birthday_string[4:6]
                    day = birthday_string[6:8]
                    birthday = year + "-" + month + "-" + day
                    form_object_user_info.birthday = birthday
                    age = timezone.now().year - int(year)
                    form_object_user_info.age = age
                start_working_date = form_object_user_info.start_working_date
                if start_working_date:
                    year = start_working_date.year
                    working_year = timezone.now().year - year
                    form_object_user_info.working_year = working_year
                form_object_user_info.save()
                result['message'] = '个人信息添加成功'
                result["level"] = log_level_edit
                save_operation_log(request,
                                   inspect.stack()[0][3],
                                   form_object_user_info.__str__(True), result)

                # 用户基础信息

                # 关联现有的填报信息
                student_id = object_form.cleaned_data.get("student_id", None)
                teacher_info_form = object_form.cleaned_data.get(
                    "teacher_info_form", None)
                if student_id:
                    student_infos = StudentInfo.objects.filter(id=student_id)
                    if len(student_infos) > 0:
                        student_info = student_infos[0]
                        if teacher_info_form:
                            teacher_infos = TeacherInfo.objects.filter(
                                id=teacher_info_form)
                            if len(teacher_infos) > 0:
                                student_info.teacher_info = teacher_infos[0]

                            declaration_of_occupation = student_info.declaration_of_occupation
                            identification_level = student_info.identification_level
                            if '工业废水' in declaration_of_occupation:
                                declaration_of_occupation_first = '工废'
                            elif '工业固体' in declaration_of_occupation:
                                declaration_of_occupation_first = '工固'
                            elif '中式烹调师' in declaration_of_occupation:
                                declaration_of_occupation_first = '烹'
                            elif '中式面点师' in declaration_of_occupation:
                                declaration_of_occupation_first = '面'
                            else:
                                declaration_of_occupation_first = str(
                                    declaration_of_occupation)[0:1]
                            identification_level_dict = {
                                '5': '(初)',
                                '4': '(中)',
                                '3': '(高)'
                            }
                            identification_level_str = identification_level_dict[
                                str(identification_level)]
                            explain = declaration_of_occupation_first + identification_level_str
                            student_info.explain = explain
                            student_info.save()
                            student_username = form_object_user_info.register_user_info.username
                            term_worker_picture(
                                student_info.school_term.school_term_name,
                                student_info.declaration_of_occupation,
                                student_username, "二寸证件照",
                                form_object_user_info.two_inch_photo.
                                picture_path)
                            term_worker_picture(
                                student_info.school_term.school_term_name,
                                student_info.declaration_of_occupation,
                                student_username, "SFZ证件ZFM照",
                                form_object_user_info.id_card_heads_photo.
                                picture_path)
                            term_worker_picture(
                                student_info.school_term.school_term_name,
                                student_info.declaration_of_occupation,
                                student_username, "SFZ证件ZFM照",
                                form_object_user_info.id_card_tails_photo.
                                picture_path)
                            return HttpResponseRedirect(
                                "/report/student_info_detail?studentId=" +
                                str(student_id))
                        title_msg = sys_msg + '-填报详情'
                        image_url = MEDIA_URL + str(
                            student_info.user_info.two_inch_photo.picture_path)
                        # 全部汇总在大填报表格里面
                        certificate_photos_url = ''
                        if student_info.certificate_photos:
                            certificate_photos_url = MEDIA_URL + str(
                                student_info.certificate_photos.picture_path)
                        diploma_certificate_photos_url = ''
                        if student_info.diploma_certificate_photos:
                            diploma_certificate_photos_url = MEDIA_URL + str(
                                student_info.diploma_certificate_photos.
                                picture_path)

                        return render_result(
                            request,
                            "page_main_controller/student/report_student_user_info_detail.html",
                            {
                                'title_msg': title_msg,
                                'student_info': student_info,
                                'image_url': image_url,
                                'certificate_photos_url':
                                certificate_photos_url,
                                'diploma_certificate_photos_url':
                                diploma_certificate_photos_url,
                                'not_exist': False
                            })
                    else:
                        title_msg = sys_msg + '-填报详情'
                        return render_result(
                            request,
                            "page_main_controller/student/report_student_user_info_detail.html",
                            {
                                'title_msg': title_msg,
                                'not_exist': True
                            })
                else:
                    # 未携带学生信息,只修改基础信息
                    return HttpResponseRedirect('/report/user_setting/')

                    # title_msg = sys_msg + '-填报详情'
                    # return render_result(request, "page_main_controller/student/report_student_user_info_detail.html",
                    #                      {'title_msg': title_msg, 'not_exist': True})
            else:
                print(type(object_form.errors),
                      object_form.errors)  # errors类型是ErrorDict,里面是ul,li标签
                title_msg = sys_msg + '-继续填写信息'
                if student_id:
                    return render_result(
                        request,
                        "page_main_controller/user/report_user_info.html", {
                            'title_msg': title_msg,
                            'student_id': student_id
                        })
                # return render_result(request, "account/form1.html", {"error": f.errors})
    except Exception as e:
        print(str(e))
        title_msg = sys_msg + '-系统错误'
        message = '系统提示:系统异常请稍后重试' + str(e)
        return render_result(request, "page_main_controller/message.html", {
            'title_msg': title_msg,
            'message': message
        })
Esempio n. 16
0
def system_message_hidden(request):
    operation_object = None
    try:
        if request.method == 'POST':
            record_id = request.POST.get('record_id', None)
            hidden_user = request.POST.get('hidden_user', None)

            if int(record_id) > 0:
                object_infos = SystemMessage.objects.filter(id=record_id)
                if len(object_infos) == 1:
                    object_info = object_infos[0]
                    receive_status = object_info.receive_status
                    feedback_status = object_info.feedback_status

                    if feedback_status == '1':
                        # 信息已确认
                        if receive_status == '1':
                            # 信息已查看
                            if hidden_user == 'sender':
                                hidden_status_sender = object_info.hidden_status_sender
                                if hidden_status_sender == '2':
                                    # 发信人信息未隐藏
                                    object_info.hidden_status_sender = "1"
                                    # 发信人修改信息的隐藏状态(清理即隐藏)
                                    object_info.save()
                                    operation_object = object_info.id
                                    result['status'] = True
                                    result['message'] = '信息清理(不再查看)成功'
                                    result['data'] = json.dumps(
                                        {}, ensure_ascii=False)
                                else:
                                    result['status'] = False
                                    result['message'] = '已清理:请不要重复清理!'
                                    result['data'] = json.dumps(
                                        {}, ensure_ascii=False)
                            else:
                                hidden_status_receiver = object_info.hidden_status_receiver
                                if hidden_status_receiver == '2':
                                    # 收信息人信息未隐藏
                                    object_info.hidden_status_receiver = "1"
                                    # 收信人修改信息的隐藏状态(清理即隐藏)
                                    object_info.save()
                                    operation_object = object_info.id
                                    result['status'] = True
                                    result['message'] = '信息清理(不再查看)成功'
                                    result['data'] = json.dumps(
                                        {}, ensure_ascii=False)
                                else:
                                    result['status'] = False
                                    result['message'] = '已清理:请不要重复清理!'
                                    result['data'] = json.dumps(
                                        {}, ensure_ascii=False)
                        else:
                            result['status'] = False
                            result['message'] = '清理失败:信息未查看!'
                            result['data'] = json.dumps({}, ensure_ascii=False)
                    else:
                        result['status'] = False
                        result['message'] = '清理失败:此记录未确认!'
                        result['data'] = json.dumps({}, ensure_ascii=False)
                else:
                    result['status'] = False
                    result['message'] = '操作失败:无此消息记录!'
                    result['data'] = json.dumps({}, ensure_ascii=False)
            else:
                result['status'] = False
                result['message'] = '操作失败:所要操作的记录不存在!'
                result['data'] = ''
        else:
            result['status'] = False
            result['message'] = '操作失败:系统操作请求方式异常!'
            result['data'] = ''
    except Exception as e:
        result['status'] = False
        result['message'] = "系统异常:" + str(e)
        result['data'] = ''
    result["level"] = log_level_change_status
    save_operation_log(request,
                       inspect.stack()[0][3], "uid:" + str(operation_object),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 17
0
def report_student_payment(request):
    """ѧԱ�ɷ�.

    :param request:
    :return:
    """
    operation_object = None
    try:
        if request.method == 'POST':
            student_id = request.POST.get('record_id', None)
            payment_amount = request.POST.get('payment_amount', None)
            unpaid_amount = request.POST.get('unpaid_amount', None)

            if int(student_id) > 0:
                student_infos = StudentInfo.objects.filter(id=student_id)
                if len(student_infos) == 1:
                    student_info = student_infos[0]
                    review_status = student_info.review_status
                    confirm_status = student_info.confirm_status
                    submit_status = student_info.submit_status
                    if submit_status == "1":
                        if review_status == "2":
                            if confirm_status == "2":
                                student_info.payment_amount = int(
                                    payment_amount)
                                student_info.unpaid_amount = int(unpaid_amount)
                                operation_object = student_info.id
                                student_info.save()
                                result['status'] = True
                                result['message'] = '缴费成功!已缴纳:' + str(
                                    payment_amount) + " 元。" + "未缴费:" + str(
                                        unpaid_amount) + " 元。"
                                result['data'] = json.dumps({},
                                                            ensure_ascii=False)
                            else:
                                result['status'] = False
                                result['message'] = '您已报名成功,不要继续操作,请等待考试信息通告!'
                                result['data'] = ''
                        else:
                            result['status'] = False
                            result['message'] = '您已通过负责人各项,请不要继续操作!'
                            result['data'] = ''
                    else:
                        result['status'] = False
                        result['message'] = '您尚未提交审核资料,暂时无法进行缴费!'
                        result['data'] = ''
                else:
                    result['status'] = False
                    result['message'] = '所要提交的记录不存在!'
                    result['data'] = ''
            else:
                result['status'] = False
                result['message'] = '所要提交的记录不存在!'
                result['data'] = ''
    except Exception as e:
        result['status'] = False
        result['message'] = "系统异常:" + str(e)
        result['data'] = ''
    result["level"] = log_level_change_status
    save_operation_log(request,
                       inspect.stack()[0][3], "uid:" + str(operation_object),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 18
0
def report_student_cancel(request):
    """ȡ���ύ��¼.

    :param request:
    :return:
    """
    operation_object = None
    try:
        if request.method == 'POST':
            student_del_id = request.POST.get('record_id', None)
            if int(student_del_id) > 0:
                student_infos = StudentInfo.objects.filter(id=student_del_id)
                if len(student_infos) == 1:
                    student_info = student_infos[0]
                    submit_status = student_info.submit_status
                    review_status = student_info.review_status
                    confirm_status = student_info.confirm_status
                    if confirm_status == "2":
                        if review_status == "2":
                            if submit_status == "1":
                                # cancel_status = student_info.cancel_status
                                student_info.submit_status = "2"
                                operation_object = student_info.id
                                student_info.save()
                                result['status'] = True
                                result['message'] = '申请注销提交操作成功'
                                result['data'] = json.dumps({},
                                                            ensure_ascii=False)

                                # if submit_status == "2":
                                #     student_info.cancel_status = "1"
                                #     operation_object = student_info.id
                                #     student_info.save()
                                #     result['status'] = True
                                #     result['message'] = '申请注销提交操作成功'
                                #     result['data'] = json.dumps({}, ensure_ascii=False)
                                # else:
                                #     result['status'] = False
                                #     result['message'] = '已在申请中,请勿重复申请!'
                                #     result['data'] = ''
                            else:
                                result['status'] = False
                                result[
                                    'message'] = '所要申请的注销记录信息尚未提交或已经取消,请不要重复操作!'
                                result['data'] = ''
                        else:
                            result['status'] = False
                            result[
                                'message'] = '所要申请的记录已经由负责人审核通过,请联系负责人取消审核再修改!'
                            result['data'] = ''
                    else:
                        result['status'] = False
                        result[
                            'message'] = '您的报名信息已经通过最终审核,请联系负责人取消审核之后才能修改信息!'
                        result['data'] = ''
                else:
                    result['status'] = False
                    result['message'] = '所要提交的记录不存在!'
                    result['data'] = ''
            else:
                result['status'] = False
                result['message'] = '所要提交的记录不存在!'
                result['data'] = ''
    except Exception as e:
        result['status'] = False
        result['message'] = "系统异常:" + str(e)
        result['data'] = ''
    result["level"] = log_level_change_status
    save_operation_log(request,
                       inspect.stack()[0][3], "uid:" + str(operation_object),
                       result)
    return JsonResponse(result, safe=False)
Esempio n. 19
0
def add_student_info(request):
    """����ѧ������Ϣ.

    :param request:
    :return:
    """
    try:
        if request.method == 'POST':
            object_form = StudentForm(request.POST)
            print(object_form)
            if object_form.is_valid():
                print(object_form.cleaned_data)

                form_object_student_info = form_to_obj(
                    object_form.cleaned_data, StudentInfo())
                # # 关联教育程度
                # education_degree = object_form.cleaned_data.get('education_degree_form', None)
                # if education_degree:
                #     education_degree_obj = EducationDegree.objects.get(id=education_degree)
                #     form_object_student_info.education_degree = education_degree_obj
                # # 关联教育程度
                # 关联职业资格证书照片
                certificate_photos = object_form.cleaned_data.get(
                    'certificate_photos_form', None)
                if certificate_photos:
                    certificate_photos_obj = Picture.objects.get(
                        id=certificate_photos)
                    form_object_student_info.certificate_photos = certificate_photos_obj
                # 关联职业资格证书照片

                # 关联院校毕业证书照片
                diploma_certificate_photos = object_form.cleaned_data.get(
                    'diploma_certificate_photos_form', None)
                if diploma_certificate_photos:
                    diploma_certificate_photos_obj = Picture.objects.get(
                        id=diploma_certificate_photos)
                    form_object_student_info.diploma_certificate_photos = diploma_certificate_photos_obj
                # 关联院校毕业证书照片
                # 关联登陆用户基础信息
                username = request.session.get('username', None)  # 用户名
                register_user_info = RegisterUserInfo.objects.get(
                    username=username)
                user_infos = UserInfo.objects.filter(
                    register_user_info=register_user_info)
                image_url = ''
                idcard_heads_image_url = ''
                idcard_tails_image_url = ''
                if len(user_infos) > 0:
                    user_info_old = user_infos[len(user_infos) - 1]
                    if user_info_old.two_inch_photo:
                        if user_info_old.two_inch_photo.picture_path:
                            image_url = MEDIA_URL + str(
                                user_info_old.two_inch_photo.picture_path)
                            idcard_heads_image_url = MEDIA_URL + str(
                                user_info_old.id_card_heads_photo.picture_path)
                            idcard_tails_image_url = MEDIA_URL + str(
                                user_info_old.id_card_tails_photo.picture_path)
                    else:
                        image_url = ''
                        # 学生附属信息
                    form_object_student_info.user_info = user_info_old
                else:
                    # 用户基础信息
                    user_info_new = UserInfo()
                    # 关联注册员信息
                    user_info_new.register_user_info = register_user_info

                    user_info_new.save()
                    form_object_student_info.user_info = user_info_new
                declaration_of_occupation = form_object_student_info.declaration_of_occupation

                if declaration_of_occupation in chemical_industry:
                    form_object_student_info.chemical_worker = '1'
                else:
                    form_object_student_info.chemical_worker = '2'

                school_term = SchoolTerm.objects.last()
                form_object_student_info.school_term = school_term
                declaration_of_occupation = form_object_student_info.declaration_of_occupation
                identification_level = form_object_student_info.identification_level
                if '工业废水' in declaration_of_occupation:
                    declaration_of_occupation_first = '工废'
                elif '工业固体' in declaration_of_occupation:
                    declaration_of_occupation_first = '工固'
                elif '中式烹调师' in declaration_of_occupation:
                    declaration_of_occupation_first = '烹'
                elif '中式面点师' in declaration_of_occupation:
                    declaration_of_occupation_first = '面'
                elif '电梯安装维修工' in declaration_of_occupation:
                    declaration_of_occupation_first = '电梯'
                else:
                    declaration_of_occupation_first = str(
                        declaration_of_occupation)[0:1]
                identification_level_dict = {
                    '5': '(初)',
                    '4': '(中)',
                    '3': '(高)'
                }
                identification_level_str = identification_level_dict[str(
                    identification_level)]
                explain = declaration_of_occupation_first + identification_level_str
                form_object_student_info.explain = explain

                print("primary_level::" +
                      form_object_student_info.primary_level)

                # if form_object_student_info.identification_level == "3":
                #     # 如果申报等级是高级那么工作年限将不设置
                #     form_object_student_info.career_life = 0
                #     form_object_student_info.original_certificate_worker_year = 0
                #     form_object_student_info.apprentice_year = 0
                #     form_object_student_info.apprentice_month = 0
                # else:
                #     pass

                form_object_student_info.save()
                if diploma_certificate_photos:
                    # 备份到对应的
                    term_worker_picture(
                        school_term.school_term_name,
                        form_object_student_info.declaration_of_occupation,
                        username, "毕业证件照", form_object_student_info.
                        diploma_certificate_photos.picture_path)
                if certificate_photos:
                    # 备份到对应的
                    term_worker_picture(
                        school_term.school_term_name,
                        form_object_student_info.declaration_of_occupation,
                        username, "资格证件照", form_object_student_info.
                        certificate_photos.picture_path)

                result['message'] = "学员信息添加成功!"
                result["level"] = log_level_add
                save_operation_log(request,
                                   inspect.stack()[0][3],
                                   form_object_student_info.__str__(True),
                                   result)
                student_id = form_object_student_info.id
                # user_info = UserInfo.objects.get(register_user_info=register_user_info.id)
                # working_history_list = user_info.user_Info_working_history.all()
                # print("user_Info_working_history::" + str(working_history_list))
                title_msg = sys_msg + '-学生信息'
                student_infos = StudentInfo.objects.filter(id=student_id)

                if len(student_infos) > 0:
                    student_info = student_infos[0]
                    user_info = student_info.user_info
                    if not user_info.real_name:
                        user_info.real_name = ""
                    if not user_info.id_number:
                        user_info.id_number = ""
                    if not user_info.id_card_address:
                        user_info.id_card_address = ""
                    if not user_info.address:
                        user_info.address = ""
                    if not user_info.work_unit:
                        user_info.work_unit = ""
                    if not user_info.fixed_telephone:
                        user_info.fixed_telephone = ""
                    if not user_info.contact_number:
                        user_info.contact_number = ""
                    if not user_info.postal_code:
                        user_info.postal_code = ""
                    if not user_info.main_occupation:
                        user_info.main_occupation = ""
                    teacher_infos = TeacherInfo.objects.all()
                    if teacher_infos.count() == 0:
                        title_msg = sys_msg + '-错误信息展示页面'
                        message = '负责人信息为空,请管理员添加负责人信息!'
                        return render_result(
                            request, "page_main_controller/message.html", {
                                'title_msg': title_msg,
                                'message': message
                            })
                    else:
                        return render_result(
                            request,
                            "page_main_controller/user/report_user_info_update.html",
                            {
                                'title_msg': title_msg,
                                'user_info': student_info.user_info,
                                'student_id': student_id,
                                'image_url': image_url,
                                'idcard_heads_image_url':
                                idcard_heads_image_url,
                                'idcard_tails_image_url':
                                idcard_tails_image_url,
                                'teacher_infos': teacher_infos
                            })
            else:
                print(type(object_form.errors),
                      object_form.errors)  # errors类型是ErrorDict,里面是ul,li标签
                title_msg = sys_msg + '-错误信息展示页面'
                message = '添加失败:输入项不全,请返回重新确认并填写,或联系管理员'
                return render_result(request,
                                     "page_main_controller/message.html", {
                                         'title_msg': title_msg,
                                         'message': message
                                     })
                # return render_result(request, "account/form1.html", {"error": f.errors})
        else:
            title_msg = sys_msg + '-错误信息展示页面'
            message = '系统提示:请求方式有误,请重新提交或者联系管理员'
            return render_result(request, "page_main_controller/message.html",
                                 {
                                     'title_msg': title_msg,
                                     'message': message
                                 })
    except Exception as e:
        raise e
Esempio n. 20
0
def student_info_update(request):
    """
    修改学生的填报信息
    :return:
    """
    try:
        if request.method == 'POST':
            object_form = StudentUpdateForm(request.POST)
            # print(object_form.__str__())
            if object_form.is_valid():
                student_info_id = object_form.cleaned_data.get('obj_id', None)
                if student_info_id:
                    student_infos = StudentInfo.objects.filter(
                        id=student_info_id).order_by('-id')
                    if len(student_infos) > 0:
                        student_info = student_infos[0]

                        student_id = student_info.id
                        # 用户基础信息
                        form_object_student_info = form_to_obj(
                            object_form.cleaned_data, student_info)
                        # 关联申报的级别信息
                        identification_level = object_form.cleaned_data.get(
                            'update_identification_level', None)
                        if identification_level:
                            form_object_student_info.identification_level = identification_level
                        # 关联职业资格证书照片
                        certificate_photos = object_form.cleaned_data.get(
                            'certificate_photos_form', None)
                        if certificate_photos:
                            certificate_photos_obj = Picture.objects.get(
                                id=certificate_photos)
                            form_object_student_info.certificate_photos = certificate_photos_obj
                        # 关联职业资格证书照片
                        # 关联院校毕业证书照片

                        diploma_certificate_photos = object_form.cleaned_data.get(
                            'diploma_certificate_photos_form', None)
                        if diploma_certificate_photos:
                            diploma_certificate_photos_obj = Picture.objects.get(
                                id=diploma_certificate_photos)
                            form_object_student_info.diploma_certificate_photos = diploma_certificate_photos_obj
                        # 关联院校毕业证书照片

                        # 关联登陆用户基础信息
                        username = request.session.get('username', None)  # 用户名
                        register_user_info = RegisterUserInfo.objects.get(
                            username=username)
                        form_object_student_info.user_operator = register_user_info
                        declaration_of_occupation = form_object_student_info.declaration_of_occupation
                        identification_level = form_object_student_info.identification_level
                        if '工业废水' in declaration_of_occupation:
                            declaration_of_occupation_first = '工废'
                        elif '工业固体' in declaration_of_occupation:
                            declaration_of_occupation_first = '工固'
                        elif '中式烹调师' in declaration_of_occupation:
                            declaration_of_occupation_first = '烹'
                        elif '中式面点师' in declaration_of_occupation:
                            declaration_of_occupation_first = '面'
                        elif '电梯安装维修工' in declaration_of_occupation:
                            declaration_of_occupation_first = '电梯'
                        else:
                            declaration_of_occupation_first = str(
                                declaration_of_occupation)[0:1]
                        identification_level_dict = {
                            '5': '(初)',
                            '4': '(中)',
                            '3': '(高)'
                        }
                        identification_level_str = identification_level_dict[
                            str(identification_level)]
                        explain = declaration_of_occupation_first + identification_level_str
                        form_object_student_info.explain = explain

                        print("primary_level::" +
                              form_object_student_info.primary_level)

                        # if form_object_student_info.identification_level == "3":
                        #     # 如果申报等级是高级那么工作年限将不设置
                        #     form_object_student_info.career_life = 0
                        #     form_object_student_info.original_certificate_worker_year = 0
                        #     form_object_student_info.apprentice_year = 0
                        #     form_object_student_info.apprentice_month = 0
                        # else:
                        #     pass

                        form_object_student_info.save()
                        student_username = form_object_student_info.user_info.register_user_info.username
                        if diploma_certificate_photos:
                            # 备份到对应的
                            term_worker_picture(
                                form_object_student_info.school_term.
                                school_term_name, form_object_student_info.
                                declaration_of_occupation, student_username,
                                "毕业证件照", form_object_student_info.
                                diploma_certificate_photos.picture_path)
                        if certificate_photos:
                            # 备份到对应的
                            term_worker_picture(
                                form_object_student_info.school_term.
                                school_term_name, form_object_student_info.
                                declaration_of_occupation, student_username,
                                "资格证件照", form_object_student_info.
                                certificate_photos.picture_path)
                        result['message'] = "学员信息添加成功!"
                        result["level"] = log_level_add
                        save_operation_log(
                            request,
                            inspect.stack()[0][3],
                            form_object_student_info.__str__(True), result)
                        # user_info = UserInfo.objects.get(register_user_info=register_user_info.id)
                        # working_history_list = user_info.user_Info_working_history.all()
                        # print("user_Info_working_history::" + str(working_history_list))
                        title_msg = sys_msg + '-用户信息'
                        teacher_infos = TeacherInfo.objects.all()
                        teacher_info_id = form_object_student_info.teacher_info
                        if form_object_student_info.user_info:
                            user_info = form_object_student_info.user_info
                            if not user_info.real_name:
                                user_info.real_name = ""
                            if not user_info.id_number:
                                user_info.id_number = ""
                            if not user_info.id_card_address:
                                user_info.id_card_address = ""
                            if not user_info.address:
                                user_info.address = ""
                            if not user_info.work_unit:
                                user_info.work_unit = ""
                            if not user_info.fixed_telephone:
                                user_info.fixed_telephone = ""
                            if not user_info.contact_number:
                                user_info.contact_number = ""
                            if not user_info.postal_code:
                                user_info.postal_code = ""
                            if not user_info.main_occupation:
                                user_info.main_occupation = ""
                            if user_info.two_inch_photo:
                                if user_info.two_inch_photo.picture_path:
                                    image_url = MEDIA_URL + str(
                                        user_info.two_inch_photo.picture_path)
                                    idcard_heads_image_url = MEDIA_URL + str(
                                        user_info.id_card_heads_photo.
                                        picture_path)
                                    idcard_tails_image_url = MEDIA_URL + str(
                                        user_info.id_card_tails_photo.
                                        picture_path)
                                    return render_result(
                                        request,
                                        "page_main_controller/user/report_user_info_update.html",
                                        {
                                            'title_msg': title_msg,
                                            'user_info':
                                            student_info.user_info,
                                            'student_id': student_id,
                                            'image_url': image_url,
                                            'idcard_heads_image_url':
                                            idcard_heads_image_url,
                                            'idcard_tails_image_url':
                                            idcard_tails_image_url,
                                            'teacher_infos': teacher_infos,
                                            'teacher_info_id': teacher_info_id
                                        })
                            else:
                                return render_result(
                                    request,
                                    "page_main_controller/user/report_user_info_update.html",
                                    {
                                        'title_msg': title_msg,
                                        'user_info': user_info,
                                        'student_id': student_id,
                                        'image_url': '',
                                        'teacher_infos': teacher_infos,
                                        'teacher_info_id': teacher_info_id
                                    })
                else:
                    print(type(object_form.errors),
                          object_form.errors)  # errors类型是ErrorDict,里面是ul,li标签
                    title_msg = sys_msg + '-错误信息展示页面'
                    message = '更新失败:系统没有此信息记录,请重试或联系管理员!'
                    return render_result(request,
                                         "page_main_controller/message.html", {
                                             'title_msg': title_msg,
                                             'message': message
                                         })
            else:
                print(type(object_form.errors),
                      object_form.errors)  # errors类型是ErrorDict,里面是ul,li标签
                title_msg = sys_msg + '-错误信息展示页面'
                message = '更新失败:输入项不全,请返回重新确认并填写'
                return render_result(request,
                                     "page_main_controller/message.html", {
                                         'title_msg': title_msg,
                                         'message': message
                                     })
        else:
            title_msg = sys_msg + '-错误信息展示页面'
            message = '系统提示:请求方式有误,请重新提交或者联系管理员'
            return render_result(request, "page_main_controller/message.html",
                                 {
                                     'title_msg': title_msg,
                                     'message': message
                                 })

    except Exception as e:
        print(str(e))
        raise e