/bmforum/bmforum/ogrenciCalismalari/views.py

http://archdoom.googlecode.com/ · Python · 320 lines · 291 code · 26 blank · 3 comment · 41 complexity · 930b29e2abd4bb7c9f9ee96652c54b81 MD5 · raw file

  1. # Create your views here.
  2. from django.http import HttpResponseRedirect
  3. from django.core.urlresolvers import reverse
  4. from django.shortcuts import render_to_response, get_object_or_404
  5. from django.template import RequestContext
  6. from bmforum.member.forms import MemberForm, PrivateMessageForm
  7. from django.contrib.auth.models import User, Group
  8. from bmforum.member.models import Member, PrivateMessage
  9. from bmforum.forum.models import Entry, Topic, TopicPriorities
  10. from bmforum.forum.forms import EntryForm
  11. from bmforum.planet.models import Blog
  12. from django.contrib.auth import authenticate, login, logout
  13. from datetime import datetime
  14. from bmforum.ogrenciCalismalari.models import *
  15. from django.db import connection
  16. import os
  17. from bmforum.ogrenciCalismalari.forms import ProjectForm, ProfessorForm, CourseForm, ExamForm, LectureNoteForm, ExtraForm
  18. try:
  19. ogrenciCalismalariTopic = get_object_or_404(Topic, pk=1)
  20. except:
  21. ogrenciCalismalariTopic = Topic()
  22. def ogrenciCalismalari(request):
  23. return render_to_response('ogrenciCalismalari/ogrenciCalismalari.html', context_instance=RequestContext(request))
  24. def projects(request):
  25. project_list = Project.objects.filter(isHidden=False)
  26. exam_list = Exam.objects.filter(isHidden=False)
  27. lectureNote_list = LectureNote.objects.filter(isHidden=False)
  28. print connection.queries
  29. return render_to_response('ogrenciCalismalari/projects.html', {'project_list':project_list, 'exam_list':exam_list, 'lectureNote_list':lectureNote_list, }, context_instance=RequestContext(request))
  30. def showProject(request, project_id):
  31. project = get_object_or_404(Project, pk=project_id)
  32. entry_list = Entry.objects.filter(topic = project.name, isHidden=False).order_by('date')
  33. form = EntryForm()
  34. print connection.queries
  35. return render_to_response('ogrenciCalismalari/showProject.html', {'entry_list':entry_list, 'project':project, 'form':form, 'from':'project'}, context_instance=RequestContext(request))
  36. def showExam(request, exam_id):
  37. exam = get_object_or_404(Exam, pk=exam_id)
  38. entry_list = Entry.objects.filter(topic = exam.name, isHidden=False).order_by('date')
  39. form = EntryForm()
  40. print connection.queries
  41. return render_to_response('ogrenciCalismalari/showProject.html', {'entry_list':entry_list, 'project':exam, 'form':form, 'from':'exam'}, context_instance=RequestContext(request))
  42. def showLectureNote(request, lectureNote_id):
  43. lectureNote = get_object_or_404(LectureNote, pk=lectureNote_id)
  44. entry_list = Entry.objects.filter(topic = lectureNote.name, isHidden=False).order_by('date')
  45. form = EntryForm()
  46. print connection.queries
  47. return render_to_response('ogrenciCalismalari/showProject.html', {'entry_list':entry_list, 'project':lectureNote, 'form':form, 'from':'lectureNote'}, context_instance=RequestContext(request))
  48. def projectAddEntry(request, project_id):
  49. if request.POST:
  50. form = EntryForm(request.POST)
  51. if form.is_valid():
  52. entry = form.save(commit = False)
  53. project = get_object_or_404(Project, pk=project_id)
  54. entry.topic = project.name
  55. entry.member = get_object_or_404(Member, user=request.user)
  56. entry.date = datetime.now()
  57. entry.text = form.cleaned_data['text']
  58. entry.save()
  59. print connection.queries
  60. return HttpResponseRedirect(reverse('showProject', args = (project.id,)))
  61. else:
  62. print connection.queries
  63. return render_to_response('ogrenciCalismalari/projects.html', context_instance=RequestContext(request))
  64. def examAddEntry(request, exam_id):
  65. if request.POST:
  66. form = EntryForm(request.POST)
  67. if form.is_valid():
  68. entry = form.save(commit = False)
  69. exam = get_object_or_404(Exam, pk=exam_id)
  70. entry.topic = exam.name
  71. entry.member = get_object_or_404(Member, user=request.user)
  72. entry.date = datetime.now()
  73. entry.text = form.cleaned_data['text']
  74. entry.save()
  75. print connection.queries
  76. return HttpResponseRedirect(reverse('showProject', args = (exam.id,)))
  77. else:
  78. print connection.queries
  79. return render_to_response('ogrenciCalismalari/projects.html', context_instance=RequestContext(request))
  80. def lectureNoteAddEntry(request, lectureNote_id):
  81. if request.POST:
  82. form = EntryForm(request.POST)
  83. if form.is_valid():
  84. entry = form.save(commit = False)
  85. lectureNote = get_object_or_404(LectureNote, pk=lectureNote_id)
  86. entry.topic = lectureNote.name
  87. entry.member = get_object_or_404(Member, user=request.user)
  88. entry.date = datetime.now()
  89. entry.text = form.cleaned_data['text']
  90. entry.save()
  91. print connection.queries
  92. return HttpResponseRedirect(reverse('showProject', args = (lectureNote.id,)))
  93. else:
  94. print connection.queries
  95. return render_to_response('ogrenciCalismalari/projects.html', context_instance=RequestContext(request))
  96. def newExam(request):
  97. if request.POST:
  98. form = ExamForm(request.POST, prefix ='examForm')
  99. extraForm = ExtraForm(request.POST, request.FILES, prefix ='extraForm')
  100. if form.is_valid():
  101. if extraForm.is_valid():
  102. extra = extraForm.save(commit = False)
  103. extra.file = request.FILES['extraForm-file']
  104. extra.description = extraForm.cleaned_data['description']
  105. extra.fileName = os.path.split(extra.file.name)[1:][0]
  106. extra.save()
  107. else:
  108. print extraForm.errors
  109. #project = Project()
  110. exam = form.save(commit = False)
  111. exam.year = form.cleaned_data['year']
  112. if extraForm.is_valid():
  113. exam.extra = extra
  114. topic = Topic()
  115. topic.title = form.cleaned_data['examName']
  116. topic.subTopic = ogrenciCalismalariTopic
  117. topic.date = datetime.now()
  118. member = get_object_or_404(Member, user = request.user)
  119. topic.owner = member
  120. topic.priority = get_object_or_404(TopicPriorities, pk=1)
  121. topic.save()
  122. exam.name = get_object_or_404(Topic, pk=topic.id)
  123. entry = Entry()
  124. entry.member = member
  125. entry.topic = topic
  126. entry.text = form.cleaned_data['examDescription']
  127. entry.date = datetime.now()
  128. entry.save()
  129. topic.firstEntry = get_object_or_404(Entry, pk=entry.id)
  130. topic.save()
  131. exam.description = get_object_or_404(Entry, pk=entry.id)
  132. exam.course = form.cleaned_data['course']
  133. exam.save()
  134. print connection.queries
  135. return render_to_response('ogrenciCalismalari/ogrenciCalismalari.html', context_instance=RequestContext(request))
  136. else:
  137. print form.errors
  138. error = "form is not valid"
  139. return render_to_response('error.html', {'error': error})
  140. else:
  141. form = ExamForm(prefix ='examForm')
  142. extraForm = ExtraForm(request.POST, prefix ='extraForm')
  143. print connection.queries
  144. return render_to_response('ogrenciCalismalari/newExam.html', {'form':form, 'extraForm':extraForm}, context_instance=RequestContext(request))
  145. def newLectureNote(request):
  146. if request.POST:
  147. form = LectureNoteForm(request.POST, prefix ='lectureNoteForm')
  148. extraForm = ExtraForm(request.POST, request.FILES, prefix ='extraForm')
  149. if form.is_valid():
  150. if extraForm.is_valid():
  151. extra = extraForm.save(commit = False)
  152. extra.file = request.FILES['extraForm-file']
  153. extra.description = extraForm.cleaned_data['description']
  154. extra.fileName = os.path.split(extra.file.name)[1:]
  155. extra.save()
  156. else:
  157. print extraForm.errors
  158. lectureNote = form.save(commit = False)
  159. lectureNote.year = form.cleaned_data['year']
  160. if extraForm.is_valid():
  161. lectureNote.extra = extra
  162. topic = Topic()
  163. topic.title = form.cleaned_data['lectureNoteName']
  164. topic.subTopic = ogrenciCalismalariTopic
  165. topic.date = datetime.now()
  166. member = get_object_or_404(Member, user = request.user)
  167. topic.owner = member
  168. topic.priority = get_object_or_404(TopicPriorities, pk=1)
  169. topic.save()
  170. lectureNote.name = get_object_or_404(Topic, pk=topic.id)
  171. entry = Entry()
  172. entry.member = member
  173. entry.topic = topic
  174. entry.text = form.cleaned_data['lectureNoteDescription']
  175. entry.date = datetime.now()
  176. entry.save()
  177. topic.firstEntry = get_object_or_404(Entry, pk=entry.id)
  178. topic.save()
  179. lectureNote.description = get_object_or_404(Entry, pk=entry.id)
  180. lectureNote.course = form.cleaned_data['course']
  181. lectureNote.save()
  182. print connection.queries
  183. return render_to_response('ogrenciCalismalari/ogrenciCalismalari.html', context_instance=RequestContext(request))
  184. else:
  185. print form.errors
  186. error = "form is not valid"
  187. return render_to_response('error.html', {'error': error})
  188. else:
  189. form = LectureNoteForm(prefix ='lectureNoteForm')
  190. extraForm = ExtraForm(request.POST, prefix ='extraForm')
  191. print connection.queries
  192. return render_to_response('ogrenciCalismalari/newLectureNote.html', {'form':form, 'extraForm':extraForm}, context_instance=RequestContext(request))
  193. def newProject(request):
  194. if request.POST:
  195. form = ProjectForm(request.POST, prefix ='projectForm')
  196. extraForm = ExtraForm(request.POST, request.FILES, prefix ='extraForm')
  197. if form.is_valid():
  198. if extraForm.is_valid():
  199. extra = extraForm.save(commit = False)
  200. extra.file = request.FILES['extraForm-file']
  201. extra.description = extraForm.cleaned_data['description']
  202. extra.fileName = os.path.split(extra.file.name)[1:]
  203. extra.save()
  204. else:
  205. print extraForm.errors
  206. #project = Project()
  207. project = form.save(commit = False)
  208. project.year = form.cleaned_data['year']
  209. project.website = form.cleaned_data['website']
  210. project.doneBy = form.cleaned_data['doneBy']
  211. if extraForm.is_valid():
  212. project.extra = extra
  213. topic = Topic()
  214. topic.title = form.cleaned_data['projectName']
  215. topic.subTopic = ogrenciCalismalariTopic
  216. topic.date = datetime.now()
  217. member = get_object_or_404(Member, user = request.user)
  218. topic.owner = member
  219. topic.priority = get_object_or_404(TopicPriorities, pk=1)
  220. topic.save()
  221. project.name = get_object_or_404(Topic, pk=topic.id)
  222. entry = Entry()
  223. entry.member = member
  224. entry.topic = topic
  225. entry.text = form.cleaned_data['projectDescription']
  226. entry.date = datetime.now()
  227. entry.save()
  228. topic.firstEntry = get_object_or_404(Entry, pk=entry.id)
  229. topic.save()
  230. project.description = get_object_or_404(Entry, pk=entry.id)
  231. project.course = form.cleaned_data['course']
  232. project.save()
  233. print connection.queries
  234. return render_to_response('ogrenciCalismalari/ogrenciCalismalari.html', context_instance=RequestContext(request))
  235. else:
  236. print form.errors
  237. error = "form is not valid"
  238. return render_to_response('error.html', {'error': error})
  239. else:
  240. form = ProjectForm(prefix ='projectForm')
  241. extraForm = ExtraForm(request.POST, prefix ='extraForm')
  242. print connection.queries
  243. return render_to_response('ogrenciCalismalari/newProject.html', {'form':form, 'extraForm':extraForm}, context_instance=RequestContext(request))
  244. def newExtra(request):
  245. if request.POST:
  246. extraForm = ExtraForm(request.POST, request.FILES, prefix ='extraForm')
  247. print request.FILES
  248. if extraForm.is_valid():
  249. extra = extraForm.save(commit = False)
  250. extra.file = extraForm.cleaned_data['file']
  251. extra.description = extraForm.cleaned_data['description']
  252. extra.fileName = os.path.split(extra.file.name)[1:]
  253. extra.save()
  254. print connection.queries
  255. return render_to_response('ogrenciCalismalari/ogrenciCalismalari.html', context_instance=RequestContext(request))
  256. else:
  257. print extraForm.errors
  258. error = "extraForm is not valid"
  259. return render_to_response('error.html', {'error': error})
  260. else:
  261. extraForm = ExtraForm(prefix ='extraForm')
  262. print connection.queries
  263. return render_to_response('ogrenciCalismalari/newExtra.html', {'extraForm':extraForm,}, context_instance=RequestContext(request))
  264. def newProfessor(request):
  265. if request.POST:
  266. form = ProfessorForm(request.POST)
  267. if form.is_valid():
  268. professor = form.save(commit = False)
  269. professor.name = form.cleaned_data['name']
  270. professor.academicTitle = form.cleaned_data['academicTitle']
  271. professor.save()
  272. print connection.queries
  273. return render_to_response('ogrenciCalismalari/ogrenciCalismalari.html', context_instance=RequestContext(request))
  274. else:
  275. form = ProfessorForm()
  276. print connection.queries
  277. return render_to_response('ogrenciCalismalari/newProfessor.html', {'form':form, }, context_instance=RequestContext(request))
  278. def newCourse(request):
  279. if request.POST:
  280. form = CourseForm(request.POST)
  281. if form.is_valid():
  282. course = form.save(commit = False)
  283. course.name = form.cleaned_data['name']
  284. course.term = form.cleaned_data['term']
  285. course.credits = form.cleaned_data['credits']
  286. course.explanation = form.cleaned_data['explanation']
  287. course.courseBy = form.cleaned_data['courseBy']
  288. course.save()
  289. print connection.queries
  290. return render_to_response('ogrenciCalismalari/ogrenciCalismalari.html', context_instance=RequestContext(request))
  291. else:
  292. form = CourseForm()
  293. print connection.queries
  294. return render_to_response('ogrenciCalismalari/newCourse.html', {'form':form, }, context_instance=RequestContext(request))