# -*- coding: UTF-8 -*- from django.core.urlresolvers import reverse from django.http import HttpResponse,HttpResponseRedirect from django.shortcuts import render_to_response,RequestContext from django.contrib.auth.decorators import login_required from swyzxwb_photovote.common.CommonPaginator import SelfPaginator from swyzxwb_photovote.common.CommonFilter import CommonFilter,FilterCondition from UserManage.views.permission import PermissionVerify from django.contrib import auth from django.contrib.auth import get_user_model from vote.models import * from UserManage.models import * from vote.genemptyxls import GenEmptyXLSFunc @login_required @PermissionVerify() def sysRestart(request): kwvars = {'request':request} return render_to_response('vote/restart.html',kwvars,RequestContext(request)) @login_required @PermissionVerify() def ListContestants(request): mList = Contestants.objects.all() #筛选器 classobjs = GroupList.objects.all() allclass=map(lambda x:x.name,classobjs) fco = FilterCondition() fco.addTextContain("sid","参赛者用户名","user__sid") fco.addTextContain("nick","参赛者姓名","user__nickname") fco.addTextContain("nick","作品ID","works_set__uuid") fco.addMultiChoice("class","组别","classid__name",allclass) fList = CommonFilter(request,fco,mList) #分页功能 lst = SelfPaginator(request,fList, 20) kwvars = { 'lPage':lst, 'request':request, 'FilterHTML':fco.RenderHTML(request) } return render_to_response('vote/contestant.list.html',kwvars,RequestContext(request)) @login_required @PermissionVerify() def GenEmptyXLS(request): if request.method=='POST': chkpr=CheckPOST(['nor',],request.POST.keys()) if not chkpr == "" : kwvars = {"msg":"创建空表失败","detail":"POST参数错误","error":"Invalid POST Data. Field '"+chkpr+"' Not Found."} return render_to_response('error.html',kwvars,RequestContext(request)) else: try: xlsname=GenEmptyXLSFunc(str2int(request.POST['nor'])) kwvars = {'request':request,'xlsname':xlsname} return render_to_response('UserManage/pw.xlsgendown.html',kwvars,RequestContext(request)) except Exception,e: kwvars = {"msg":"创建空表失败","detail":"生成进程抛出异常","error":e} return render_to_response('error.html',kwvars,RequestContext(request)) else: kwvars = {'request':request} return render_to_response('UserManage/user.xlspassgen.html',kwvars,RequestContext(request)) def DeleteContestant(request,ID): cobj = Contestants.objects.get(id=ID) cobj.works_set.all().delete() cobj.delete() return HttpResponseRedirect(reverse('contestantslist')) # Create your views here.