views.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from django.shortcuts import render
  2. from django.http import HttpResponse
  3. from datetime import datetime, timedelta
  4. from Info.model_handler import CompanyHandler, UserHandler
  5. from .models import Case
  6. from .model_handler import SettingHandler, CaseAttachmentHandler
  7. # Create your views here.
  8. def new_case(request):
  9. if request.method == 'GET':
  10. return render(request, 'IT_service/new_case.html')
  11. if request.method == 'POST':
  12. company = CompanyHandler.get_by_id(request.session.get('company_id'))
  13. user = UserHandler.get_by_id(request.session.get('user_id'))
  14. setting = SettingHandler.get_by_company(company)
  15. case = Case() # 保存case
  16. case.submitter = user
  17. case.contact_name = request.POST.get('contact_name')
  18. case.contact_mobile = request.POST.get('contact_mobile')
  19. case.description = request.POST.get('description')
  20. case.owner = setting.default_owner
  21. case.urgency_level = int(request.POST.get('urgency_level'))
  22. if case.urgency_level == 1:
  23. response_hours = 4
  24. elif case.urgency_level == 2:
  25. response_hours = 8
  26. elif case.urgency_level == 3:
  27. response_hours = 24
  28. elif case.urgency_level == 4:
  29. response_hours = 72
  30. case.due_datetime = datetime.now() + timedelta(hours=response_hours)
  31. case.save()
  32. attachments = eval(request.POST.get('attachment')) # 保存附件
  33. for attachment in attachments:
  34. c_file = CaseAttachmentHandler.get_by_id(attachment['id'])
  35. c_file.case = case
  36. c_file.save()
  37. return render(request, 'info/directPage.html', {'alertMsg': '保存成功', 'dirLink': '/home/'})