add admin/maintenance/close

FFIB 3 ans auparavant
Parent
Commettre
20fada849a
2 fichiers modifiés avec 24 ajouts et 0 suppressions
  1. 23 0
      api/maintenance_views.py
  2. 1 0
      api/urls.py

+ 23 - 0
api/maintenance_views.py

@@ -384,3 +384,26 @@ def maintenance_tracking_info_callback(request):
384 384
     maintenance_tracking_info_update(maintenance, type_, tracking_info)
385 385
 
386 386
     return response()
387
+
388
+
389
+@logit
390
+def maintenance_close(request):
391
+    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
392
+    maintenance_id = request.POST.get('maintenance_id', '')
393
+    admin_id = request.POST.get('admin_id', '')
394
+
395
+    try:
396
+        maintenance = MaintenaceInfo.objects.get(id=maintenance_id, status=True)
397
+    except MaintenaceInfo.DoesNotExist:
398
+        return response(MaintenanceStatusCode.MAINTENACE_NOT_FOUND)
399
+
400
+    if not is_admin(brand_id, admin_id):
401
+        return response(MaintenanceStatusCode.MAINTENACE_NOT_FOUND)
402
+    
403
+    maintenance.maintenance_status = MaintenaceInfo.TRACKING_BACK_SIGNED
404
+    maintenance_status_at = maintenance.maintenance_status_at
405
+    maintenance_status_at[MaintenaceInfo.TRACKING_BACK_SIGNED] = tc.utc_datetime()
406
+    maintenance.maintenance_status_at = maintenance_status_at
407
+    maintenance.save()
408
+
409
+    return response()

+ 1 - 0
api/urls.py

@@ -278,6 +278,7 @@ urlpatterns += [
278 278
 
279 279
     url(r'^admin/maintenance/update$', maintenance_views.maintenance_update, name='maintenance_update'),
280 280
     url(r'^admin/maintenance/list$', maintenance_views.maintenance_list, name='maintenance_list'),
281
+    url(r'^admin/maintenance/close$', maintenance_views.maintenance_close, name='maintenance_close'),
281 282
 
282 283
     url(r'^admin/maintenance/tracking/info$', maintenance_views.maintenance_tracking_info, name='maintenance_tracking_info'),
283 284
     url(r'^maintenance/tracking/info/callback$', maintenance_views.maintenance_tracking_info_callback, name='maintenance_tracking_info_callback'),