Repository navigation
Expand file tree
/
Copy pathclass.py
More file actions
143 lines (118 loc) · 4.61 KB
/
Copy pathclass.py
File metadata and controls
143 lines (118 loc) · 4.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#!/usr/bin/python
#-*-coding:utf-8-*-
from django.template import RequestContext
from django.http import HttpResponse,HttpResponseRedirect
from django.shortcuts import render_to_response
from engine.utils import get_datatables_records
from django.contrib.auth.decorators import login_required
from models import Class
from forms import ClassForm
from django.utils import simplejson
from django.utils.cache import add_never_cache_headers
import traceback
@login_required
def index(request):
username = request.user.username
return render_to_response('class/class.html',{
"title":'班级管理',
'username':username},context_instance = RequestContext(request))
@login_required
def get_classes_list(request):
classes = Class.objects.all().reverse()
columnIndexNameMap = {
0:'id',
1:'classid',
2:'classname',
}
try:
aaData,sEcho,iTotalRecords,iTotalDisplayRecords,sColumns = get_datatables_records(request, classes, columnIndexNameMap,None,{},False,{},{})
except Exception,e:
traceback.print_stack()
aaData,sEcho,iTotalRecords,iTotalDisplayRecords,sColumns = [],1,0,0,','.join(columnIndexNameMap.values())
for i in aaData:
i.append(str(Class.objects.get(classid__exact=i[1]).student_set.exclude(sex="1").count()))
i.append(str(Class.objects.get(classid__exact=i[1]).student_set.exclude(sex="0").count()))
sColumns += 'man,woman'
response_dict = {}
response_dict.update({'aaData':aaData})
response_dict.update({
'sEcho': sEcho,
'iTotalRecords': iTotalRecords,
'iTotalDisplayRecords':iTotalDisplayRecords,
'sColumns':sColumns})
response = HttpResponse(simplejson.dumps(response_dict), mimetype='application/json')
#阻止缓存
add_never_cache_headers(response)
return response
@login_required
def addclass(request):
username = request.user.username
if request.method == "POST":
form = ClassForm(data = request.POST)
if form.is_valid():
form.save()
success = True
successinfo = "添加"
return render_to_response('class/class.html',{
"title":'班级管理',
'form':form,
'successinfo':successinfo,
'success':success,
'username':username},context_instance = RequestContext(request))
else:
return render_to_response('class/class.html',{
"title":'班级管理',
'form':form,
'username':username},context_instance = RequestContext(request))
return HttpResponseRedirect('/manage/class/')
@login_required
def editclass(request):
username = request.user.username
if request.method == "POST":
form = ClassForm(data = request.POST)
if form.is_valid():
form.update()
success = True
successinfo = "修改"
return render_to_response('class/class.html',{
"title":'班级管理',
'form':form,
'successinfo':successinfo,
'success':success,
'username':username},context_instance = RequestContext(request))
else:
return render_to_response('class/class.html',{
"title":'班级管理',
'form':form,
'username':username},context_instance = RequestContext(request))
return HttpResponseRedirect('/manage/class/')
@login_required
def deleteclass(request):
username = request.user.username
if request.method == "POST":
try:
class_id = request.POST.get('id')
try:
delclass = Class.objects.get(id = class_id)
delclass.delete()
success = True
successinfo = "删除"
return render_to_response('class/class.html',{
"title":'班级管理',
'successinfo':successinfo,
'success':success,
'username':username},context_instance = RequestContext(request))
except Class.DoesNotExist:
traceback.print_stack()
except Exception,e:
traceback.print_stack()
return HttpResponseRedirect('/manage/class/')
@login_required
def select_classes(request):
classes = Class.objects.values('id','classid')
value = [i.values() for i in classes]
for i in value:
i.reverse()
response_json = {'data':value}
response = HttpResponse(simplejson.dumps(response_json), mimetype='application/json')
return response