group.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #!/usr/bin/env python
  2. #-*- coding: utf-8 -*-
  3. from django.core.urlresolvers import reverse
  4. from django.http import HttpResponse,HttpResponseRedirect
  5. from django.shortcuts import render_to_response,RequestContext
  6. from django.contrib.auth.decorators import login_required
  7. from swyzxwb_photovote.common.CommonPaginator import SelfPaginator
  8. from UserManage.views.permission import PermissionVerify
  9. from UserManage.xlsgroups import processxls
  10. from UserManage.forms import GroupListForm,XLSFileForm,RemoveUsersForm
  11. from UserManage.models import GroupList
  12. @login_required
  13. @PermissionVerify()
  14. def AddGroup(request):
  15. if request.method == "POST":
  16. form = GroupListForm(request.POST)
  17. if form.is_valid():
  18. form.save()
  19. return HttpResponseRedirect(reverse('listgroupurl'))
  20. else:
  21. form = GroupListForm()
  22. kwvars = {
  23. 'form':form,
  24. 'request':request,
  25. }
  26. return render_to_response('UserManage/group.add.html',kwvars,RequestContext(request))
  27. @login_required
  28. @PermissionVerify()
  29. def ListGroup(request):
  30. mList = GroupList.objects.all()
  31. #分页功能
  32. lst = SelfPaginator(request,mList, 20)
  33. kwvars = {
  34. 'lPage':lst,
  35. 'request':request,
  36. }
  37. return render_to_response('UserManage/group.list.html',kwvars,RequestContext(request))
  38. @login_required
  39. @PermissionVerify()
  40. def EditGroup(request,ID):
  41. iGroup = GroupList.objects.get(id=ID)
  42. if request.method == "POST":
  43. form = GroupListForm(request.POST,instance=iGroup)
  44. if form.is_valid():
  45. form.save()
  46. return HttpResponseRedirect(reverse('listgroupurl'))
  47. else:
  48. form = GroupListForm(instance=iGroup)
  49. kwvars = {
  50. 'ID':ID,
  51. 'form':form,
  52. 'request':request,
  53. }
  54. return render_to_response('UserManage/group.edit.html',kwvars,RequestContext(request))
  55. @login_required
  56. @PermissionVerify()
  57. def DeleteGroup(request,ID):
  58. GroupList.objects.filter(id = ID).delete()
  59. return HttpResponseRedirect(reverse('listgroupurl'))
  60. @login_required
  61. @PermissionVerify()
  62. def XLSFileGroup(request):
  63. if request.method=='POST':
  64. form = XLSFileForm(request.POST,request.FILES)
  65. if form.is_valid():
  66. try:
  67. gdata=processxls(request.FILES['xls'])
  68. except Exception,e:
  69. kwvars = {'request':request,'xerror':e,}
  70. return render_to_response('UserManage/user.addxls.error.html',kwvars,RequestContext(request))
  71. try:
  72. querysetlist=[]
  73. for ud in gdata:
  74. if ud[0]!=0:
  75. querysetlist.append( GroupList(classid=str(ud[0]),name=ud[1]) )
  76. GroupList.objects.bulk_create(querysetlist)
  77. return HttpResponseRedirect(reverse('listgroupurl'))
  78. except Exception,e:
  79. kwvars = {'request':request,'xerror':e,}
  80. return render_to_response('UserManage/user.addxls.error.html',kwvars,RequestContext(request))
  81. else:
  82. form = XLSFileForm()
  83. kwvars = {
  84. 'form':form,
  85. 'request':request,
  86. }
  87. return render_to_response('UserManage/group.addxls.html',kwvars,RequestContext(request))
  88. @login_required
  89. @PermissionVerify()
  90. def RemoveGroups(request):
  91. #get_user_model().objects.filter(id = ID).delete()
  92. if request.method=='POST':
  93. form = RemoveUsersForm(request.POST)
  94. if form.is_valid():
  95. try:
  96. for cid in form.cleaned_data["classid"]:
  97. cid.delete()
  98. return HttpResponseRedirect(reverse('listgroupurl'))
  99. except Exception,e:
  100. kwvars = {'request':request,'xerror':e,}
  101. return render_to_response('UserManage/group.remove.error.html',kwvars,RequestContext(request))
  102. else:
  103. form = RemoveUsersForm()
  104. kwvars = {
  105. 'form':form,
  106. 'request':request,
  107. }
  108. return render_to_response('UserManage/group.removegroups.html',kwvars,RequestContext(request))