views.py 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. # -*- coding: UTF-8 -*-
  2. from django.core.urlresolvers import reverse
  3. from django.http import HttpResponse,HttpResponseRedirect
  4. from django.shortcuts import render_to_response,RequestContext
  5. from django.contrib.auth.decorators import login_required
  6. from swyzxwb_photovote.common.CommonPaginator import SelfPaginator
  7. from swyzxwb_photovote.common.CommonFilter import CommonFilter,FilterCondition
  8. from UserManage.views.permission import PermissionVerify
  9. from django.contrib import auth
  10. from django.contrib.auth import get_user_model
  11. from vote.models import *
  12. from UserManage.models import *
  13. from vote.genemptyxls import GenEmptyXLSFunc
  14. @login_required
  15. @PermissionVerify()
  16. def sysRestart(request):
  17. kwvars = {'request':request}
  18. return render_to_response('vote/restart.html',kwvars,RequestContext(request))
  19. @login_required
  20. @PermissionVerify()
  21. def ListContestants(request):
  22. mList = Contestants.objects.all()
  23. #筛选器
  24. classobjs = GroupList.objects.all()
  25. allclass=map(lambda x:x.name,classobjs)
  26. fco = FilterCondition()
  27. fco.addTextContain("sid","参赛者用户名","user__sid")
  28. fco.addTextContain("nick","参赛者姓名","user__nickname")
  29. fco.addTextContain("nick","作品ID","works_set__uuid")
  30. fco.addMultiChoice("class","组别","classid__name",allclass)
  31. fList = CommonFilter(request,fco,mList)
  32. #分页功能
  33. lst = SelfPaginator(request,fList, 20)
  34. kwvars = {
  35. 'lPage':lst,
  36. 'request':request,
  37. 'FilterHTML':fco.RenderHTML(request)
  38. }
  39. return render_to_response('vote/contestant.list.html',kwvars,RequestContext(request))
  40. @login_required
  41. @PermissionVerify()
  42. def GenEmptyXLS(request):
  43. if request.method=='POST':
  44. chkpr=CheckPOST(['nor',],request.POST.keys())
  45. if not chkpr == "" :
  46. kwvars = {"msg":"创建空表失败","detail":"POST参数错误","error":"Invalid POST Data. Field '"+chkpr+"' Not Found."}
  47. return render_to_response('error.html',kwvars,RequestContext(request))
  48. else:
  49. try:
  50. xlsname=GenEmptyXLSFunc(str2int(request.POST['nor']))
  51. kwvars = {'request':request,'xlsname':xlsname}
  52. return render_to_response('UserManage/pw.xlsgendown.html',kwvars,RequestContext(request))
  53. except Exception,e:
  54. kwvars = {"msg":"创建空表失败","detail":"生成进程抛出异常","error":e}
  55. return render_to_response('error.html',kwvars,RequestContext(request))
  56. else:
  57. kwvars = {'request':request}
  58. return render_to_response('UserManage/user.xlspassgen.html',kwvars,RequestContext(request))
  59. def DeleteContestant(request,ID):
  60. cobj = Contestants.objects.get(id=ID)
  61. cobj.works_set.all().delete()
  62. cobj.delete()
  63. return HttpResponseRedirect(reverse('contestantslist'))
  64. # Create your views here.