def login_demo(request, *args, **kwargs): if request.method == 'GET': ret = {'msg': ""} return render_to_response('winter_sakura/login.html', {"ret_data": ret}) if request.method == 'POST': ret = {} # 通过name获取form中post来的数据 username = request.POST.get('username', None) password = request.POST.get('password', None) # 检验用户名和密码 if username is None or password is None: if request.is_ajax(): ret['msg'] = '用户名和密码不能为空' return JsonResponse(ret) else: return render_to_response('winter_sakura/login.html') else: pass # 从数据库中对用户进行检测(记得传递request对象) ret_data = user_ctrl.select_user(request=request, username=username, password=password, login=1) # 判断返回的参数is_success是否为0 if ret_data["is_success"] == 0: # 注意使用嵌套字典传递,方便使用自定义过滤器 # 如登录未成功,跳转到错误页面 # 判断ajax的使用 if request.is_ajax(): return JsonResponse(ret_data) else: return render_to_response('winter_sakura/login.html', {"ret_data": ret_data}) else: # 如果登录成功则重定向到index if request.is_ajax(): ret_data['msg'] = '' return JsonResponse(ret_data) else: response = redirect('/index/', {"ret_data": ret_data}) # 设置 cookie保存用户信息,设置session给服务器用 nickname = ret_data['nickname'] request.session['username'] = username request.session['nickname'] = nickname response.set_cookie('username', username, 24 * 60 * 60) response.set_cookie('is_login', 1, 24 * 60 * 60) # 打印session_key # print(request.session.session_key) return response
def check_record(request): ret = {} username = request.COOKIES.get('username', '') with transaction.atomic(): ret_data = models.CheckInfo.objects.all().order_by('-check_time')[:20] ret['ret_data'] = ret_data ret_user = user_ctrl.select_user(request=request, username=username) ret['ret_user'] = ret_user return render_to_response('winter_sakura/registerInfo.html', ret)
def publish_notice(request, *args, **kwargs): ret = {} username = request.COOKIES.get('username', '') ret_user = user_ctrl.select_user(request=request, username=username) ret['ret_user'] = ret_user if request.method == 'GET': return render_to_response('winter_sakura/publish.html', ret) if request.method == 'POST': notice_text = request.POST.get('publishContent', None) with transaction.atomic(): models.Notice.objects.create(notice_text=notice_text, pub_user=ret_user) return redirect('/index/', ret)
def person(request, *args, **kwargs): # 定义返回数据 ret = {} username = request.COOKIES.get('username', '') # 获取用户信息和考勤信息 with transaction.atomic(): ret_user = user_ctrl.select_user(request=request, username=username) ret_check_info = check_info_ctrl.select_check_info(username=username, num=5) ret['ret_user'] = ret_user ret['ret_check_info'] = ret_check_info # 跳转页面 return render_to_response('winter_sakura/person.html', ret)
def index_demo(request, *args, **kwargs): if request.method == 'GET': # 返回值 ret = {} # 判断 username = request.COOKIES.get('username', '') is_login = request.COOKIES.get('is_login', 0) if is_login: # 获取用户数据并存入字典 ret_user = user_ctrl.select_user(request=request, username=username) ret['ret_user'] = ret_user return render_to_response('winter_sakura/index_demo.html', ret) else: return render_to_response('winter_sakura/index_demo.html', ret)
def index(request, *args, **kwargs): # 返回值 ret = {} if request.method == 'GET': # 判断 username = request.COOKIES.get('username', '') is_login = request.COOKIES.get('is_login', 0) if is_login: # 获取用户数据并存入字典 # 获取返回数据 with transaction.atomic(): ret_user = user_ctrl.select_user(request=request, username=username) ret['ret_user'] = ret_user ret_theme = models.Theme.objects.all().order_by( '-create_date')[:5] ret['ret_theme'] = ret_theme ret_notice = models.Notice.objects.all().order_by( '-create_time')[:5] ret['ret_notice'] = ret_notice return render_to_response('winter_sakura/index.html', ret) else: with transaction.atomic(): ret_theme = models.Theme.objects.all().order_by( '-create_date')[:5] ret['ret_theme'] = ret_theme ret_notice = models.Notice.objects.all().order_by( '-create_time')[:5] ret['ret_notice'] = ret_notice return render_to_response('winter_sakura/index.html', ret) else: return render_to_response('winter_sakura/index.html')
def master(request, *args, **kwargs): # 定义返回数据 ret = {} username = request.COOKIES.get('username', '') # 返回用户信息 with transaction.atomic(): ret_user = user_ctrl.select_user(request=request, username=username) # 判断用户类型 if ret_user.user_type_id != 2: return redirect('/index/', ret) ret['ret_user'] = ret_user # 返回请假信息 ret_leave_info = system_ctrl.get_leave_info() ret['ret_leave_info'] = ret_leave_info # 返回设定时间 ret['ret_setting_1'] = models.TimeSetting.objects.get(setting=1) ret['ret_setting_2'] = models.TimeSetting.objects.get(setting=2) return render_to_response('winter_sakura/master.html', ret)
def leave_publish(request, *args, **kwargs): ret = {} if request.method == 'POST': start_date = request.POST.get('start_time', None) end_date = request.POST.get('end_time', None) reason = request.POST.get('reason', None) username = request.COOKIES.get('username', '') ret_user = user_ctrl.select_user(request=request, username=username) # 保存请假信息 with transaction.atomic(): check_type_in = models.CheckType.objects.get(id=3) ret_check_info = models.CheckInfo.objects.create( dept_id=ret_user.staff_dept, check_type=check_type_in, staff_id=ret_user, remarks='未查看') models.Leave.objects.create(reason=reason, start_date=start_date, end_date=end_date, staff_id=ret_user, staff_no=ret_user.staff_no, check_id=ret_check_info) return redirect('/person/', ret)