@@ -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() |
@@ -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'), |