home.py 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. # -*- coding: UTF-8 -*-
  2. from django.http import HttpResponse,HttpResponseRedirect
  3. from django.conf import settings
  4. from django.shortcuts import render_to_response,RequestContext
  5. #from django_hosts.resolvers import reverse
  6. from django.core.cache import cache
  7. from django.core.urlresolvers import reverse
  8. from django.contrib import messages
  9. from siteutil.DataConvert import str2int,CheckPOST,str2long,BigIntUniqueID,CacheConfGetText,CacheConfGetBool
  10. from siteutil.CommonPaginator import SelfPaginator
  11. from zlogin.common.JsonResponse import JsonResponse
  12. from zlogin.decorators import login_detect,login_required,PermNeed
  13. from zlogin import zlauth
  14. from zlogin.zlauth import GetUser,PermCheck
  15. from zlogin.captcha_app import CheckCaptcha,OutsiteCaptchaURL
  16. from pichublog.models import *
  17. @login_detect()
  18. def Home(request):
  19. kwargs = {"request":request}
  20. return render_to_response('home/home.html',kwargs,RequestContext(request))
  21. def LeaveMsgPage(request):
  22. kwargs = {"request":request,'OutsiteCaptchaURL':OutsiteCaptchaURL(request),
  23. "LeaveMsgReviewSwitch":CacheConfGetBool(cache,'LeaveMsgReviewSwitch',default=True)}
  24. return render_to_response('home/leave.msg.html',kwargs,RequestContext(request))
  25. def AjaxShowLeaveMsg(request):
  26. thisuser = GetUser(request)
  27. owner = PermCheck(request.auth,'pichublog','Admin')
  28. if owner:
  29. cmt = LeaveMsg.objects.all().order_by('-time')
  30. else:
  31. cmt = LeaveMsg.objects.filter(reviewed=True).order_by('-time')
  32. lPage = SelfPaginator(request,cmt,20)
  33. kwvars = {
  34. 'request':request,
  35. 'owner':owner,
  36. 'lPage':lPage,
  37. 'AjaxPaginatorID':'cmt',
  38. }
  39. return render_to_response('home/ajax.leavemsg.html',kwvars,RequestContext(request))
  40. def LeaveMsgAdd(request):
  41. if request.method == "POST":
  42. if request.auth.islogin:
  43. chkpr=CheckPOST(['content'],request.POST.keys())
  44. if not chkpr == "" :
  45. return JsonResponse({"code":400,"msg":"Error Args."})
  46. else:
  47. chkpr=CheckPOST(['content','nick','website','mail','title'],request.POST.keys())
  48. if not chkpr == "" :
  49. return JsonResponse({"code":400,"msg":"Error Args."})
  50. if request.auth.islogin:
  51. content = request.POST.get('content')
  52. title = request.POST.get('title')
  53. stk = request.auth.cookie.get('zl2_token')
  54. LeaveMsg.objects.create(cmid=BigIntUniqueID(),title=title,anonymou=False,stoken=stk,fromuser=request.auth.user,content=content,reviewed=True)
  55. return HttpResponseRedirect(reverse('pichublog_msgboard'))
  56. else:
  57. capt = request.POST.get('captcha')
  58. if not CheckCaptcha(request,capt):
  59. messages.error(request,u"<b>验证码错误</b>")
  60. return HttpResponseRedirect(reverse('pichublog_msgboard'))
  61. content = request.POST.get('content')
  62. nick = request.POST.get('nick')
  63. mail = request.POST.get('mail')
  64. web = request.POST.get('website')
  65. title = request.POST.get('title')
  66. stk = request.auth.cookie.get('zl2_token')
  67. rws = not CacheConfGetBool(cache,'LeaveMsgReviewSwitch',default=True)
  68. LeaveMsg.objects.create(cmid=BigIntUniqueID(),title=title,anonymou=True,stoken=stk,fromuser=nick,mail=mail,website=web,content=content,reviewed=rws)
  69. return HttpResponseRedirect(reverse('pichublog_msgboard'))
  70. @PermNeed('pichublog','Admin')
  71. def SysConf(request):
  72. kwvars = {
  73. "request":request,
  74. }
  75. return render_to_response('home/sysconf.home.html',kwvars,RequestContext(request))
  76. @PermNeed('pichublog','Admin')
  77. def SysVarConf(request):
  78. defaultconf = [
  79. ("LeaveMsgReviewSwitch","访客评论要求审核再显示",True,"bool"),
  80. ("HomePagePost","首页内容来源文章ID","","str"),
  81. ]
  82. conf = []
  83. for i in defaultconf:
  84. conf.append((i[0],i[1],CacheConfGetText(cache,i[0],default=i[2]),i[3]))
  85. kwvars = {
  86. "request":request,
  87. "conf":conf
  88. }
  89. return render_to_response('home/sysconf.var.html',kwvars,RequestContext(request))