暫無描述

maintenance_point_views.py 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # -*- coding: utf-8 -*-
  2. from __future__ import division
  3. from django_logit import logit
  4. from django_response import response
  5. from paginator import pagination
  6. from maintenance.models import MaintenacePointInfo
  7. from utils.error.errno_utils import MaintenancePointStatusCode
  8. @logit
  9. def maintenance_point_add(request):
  10. name = request.POST.get('name', '')
  11. province = request.POST.get('province', '')
  12. location = request.POST.get('location', '')
  13. postcode = request.POST.get('postcode', '')
  14. point = MaintenacePointInfo.objects.create(name=name, province=province, location=location, postcode=postcode)
  15. return response(data={
  16. 'point_id': point.id,
  17. })
  18. @logit
  19. def maintenance_point_delete(request):
  20. point_id = request.POST.get('point_id', '')
  21. MaintenacePointInfo.objects.filter(id=point_id).update(status=False)
  22. return response()
  23. @logit
  24. def maintenance_point_update(request):
  25. point_id = request.POST.get('point_id', '')
  26. name = request.POST.get('name', '')
  27. province = request.POST.get('province', '')
  28. location = request.POST.get('location', '')
  29. postcode = request.POST.get('postcode', '')
  30. try:
  31. point = MaintenacePointInfo.objects.get(pk=point_id)
  32. except MaintenacePointInfo.DoesNotExist:
  33. return response(MaintenancePointStatusCode.MAINTENACE_POINT_NOT_FOUND)
  34. if name:
  35. point.name = name
  36. if province:
  37. point.province = province
  38. if location:
  39. point.location = location
  40. if postcode:
  41. point.postcode = postcode
  42. point.save()
  43. return response()
  44. @logit
  45. def maintenance_point_list(request):
  46. page = request.POST.get('page', 1)
  47. num = request.POST.get('num', 20)
  48. points = MaintenacePointInfo.objects.filter(status=True)
  49. points = [point.data for point in points]
  50. points, left = pagination(points, page, num)
  51. return response(data={
  52. 'points': points,
  53. 'left': left,
  54. })