1919PARAM_CONTROLLER_ID = "controller_id"
2020PARAM_FARM_NAME = "farm_name"
2121
22- ID_ERROR = "error"
2322ID_ERROR_TITLE = "error_title"
2423ID_ERROR_MSG = "error_msg"
2524ID_ERROR_GUIDE = "error_guide"
@@ -253,13 +252,10 @@ def get_smart_farms(request):
253252 :class:`.JsonResponse`: A JSON response with the list of the Smart
254253 Farms within the DRM account.
255254 """
256- if is_authenticated (request ):
257- if not request .is_ajax or request .method != "POST" :
258- return JsonResponse (
259- {"error" : "AJAX request must be sent using POST" },
260- status = 400 )
261- else :
262- return redirect ('/access/login' )
255+ # Check if the AJAX request is valid.
256+ error = check_ajax_request (request )
257+ if error is not None :
258+ return error
263259
264260 smart_farms = get_farms (request )
265261 if len (smart_farms ) > 0 :
@@ -287,13 +283,10 @@ def get_irrigation_stations(request):
287283 Stations corresponding to the controller with the ID provided in
288284 the request.
289285 """
290- if is_authenticated (request ):
291- if not request .is_ajax or request .method != "POST" :
292- return JsonResponse (
293- {"error" : "AJAX request must be sent using POST" },
294- status = 400 )
295- else :
296- return redirect ('/access/login' )
286+ # Check if the AJAX request is valid.
287+ error = check_ajax_request (request )
288+ if error is not None :
289+ return error
297290
298291 # Get the controller ID from the POST request.
299292 controller_id = request .POST [PARAM_CONTROLLER_ID ]
@@ -308,7 +301,7 @@ def get_irrigation_stations(request):
308301 ID_ERROR_MSG : NO_STATIONS_MSG ,
309302 ID_ERROR_GUIDE : SETUP_MODULES_GUIDE })
310303 except DeviceCloudHttpException as e :
311- return JsonResponse ({ ID_ERROR : str ( e )} )
304+ return get_exception_response ( e )
312305
313306
314307def get_farm_status (request ):
@@ -322,13 +315,10 @@ def get_farm_status(request):
322315 Returns:
323316 :class:`.JsonResponse`: A JSON response with the status of the farm.
324317 """
325- if is_authenticated (request ):
326- if not request .is_ajax or request .method != "POST" :
327- return JsonResponse (
328- {"error" : "AJAX request must be sent using POST" },
329- status = 400 )
330- else :
331- return redirect ('/access/login' )
318+ # Check if the AJAX request is valid.
319+ error = check_ajax_request (request )
320+ if error is not None :
321+ return error
332322
333323 try :
334324 # Get the controller ID from the POST request.
@@ -362,7 +352,7 @@ def get_farm_status(request):
362352
363353 return JsonResponse (farm_status , status = 200 )
364354 except Exception as e :
365- return JsonResponse ({ ID_ERROR : str ( e )} )
355+ return get_exception_response ( e )
366356
367357
368358def set_valve (request ):
@@ -376,13 +366,10 @@ def set_valve(request):
376366 Returns:
377367 :class:`.JsonResponse`: A JSON response with the set status.
378368 """
379- if is_authenticated (request ):
380- if not request .is_ajax or request .method != "POST" :
381- return JsonResponse (
382- {"error" : "AJAX request must be sent using POST" },
383- status = 400 )
384- else :
385- return redirect ('/access/login' )
369+ # Check if the AJAX request is valid.
370+ error = check_ajax_request (request )
371+ if error is not None :
372+ return error
386373
387374 # Get the controller ID and irrigation station from the POST request.
388375 data = json .loads (request .body .decode (request .encoding ))
@@ -393,7 +380,7 @@ def set_valve(request):
393380 new_value = set_valve_value (request , controller_id , station_id , value )
394381 if new_value is not None :
395382 return JsonResponse ({"value" : new_value }, status = 200 )
396- return JsonResponse ({"error" : "Could not set the valve." }, status = 400 )
383+ return JsonResponse ({ID_ERROR : "Could not set the valve." }, status = 400 )
397384
398385
399386def set_tank_valve (request ):
@@ -407,13 +394,10 @@ def set_tank_valve(request):
407394 Returns:
408395 :class:`.JsonResponse`: A JSON response with the set status.
409396 """
410- if is_authenticated (request ):
411- if not request .is_ajax or request .method != "POST" :
412- return JsonResponse (
413- {"error" : "AJAX request must be sent using POST" },
414- status = 400 )
415- else :
416- return redirect ('/access/login' )
397+ # Check if the AJAX request is valid.
398+ error = check_ajax_request (request )
399+ if error is not None :
400+ return error
417401
418402 # Get the controller ID and status of the valve from the POST request.
419403 data = json .loads (request .body .decode (request .encoding ))
@@ -423,7 +407,7 @@ def set_tank_valve(request):
423407 new_value = set_tank_valve_value (request , controller_id , value )
424408 if new_value is not None :
425409 return JsonResponse ({"value" : new_value }, status = 200 )
426- return JsonResponse ({"error" : "Could not set the valve." }, status = 400 )
410+ return JsonResponse ({ID_ERROR : "Could not set the valve." }, status = 400 )
427411
428412
429413def refill_tank (request ):
@@ -437,13 +421,10 @@ def refill_tank(request):
437421 Returns:
438422 :class:`.JsonResponse`: A JSON response with the set status.
439423 """
440- if is_authenticated (request ):
441- if not request .is_ajax or request .method != "POST" :
442- return JsonResponse (
443- {"error" : "AJAX request must be sent using POST" },
444- status = 400 )
445- else :
446- return redirect ('/access/login' )
424+ # Check if the AJAX request is valid.
425+ error = check_ajax_request (request )
426+ if error is not None :
427+ return error
447428
448429 # Get the controller ID and level of the tank from the POST request.
449430 data = json .loads (request .body .decode (request .encoding ))
@@ -452,7 +433,7 @@ def refill_tank(request):
452433 new_value = refill_tank_request (request , controller_id )
453434 if new_value is not None :
454435 return JsonResponse ({"value" : new_value }, status = 200 )
455- return JsonResponse ({"error" : "Could not set the valve." }, status = 400 )
436+ return JsonResponse ({ID_ERROR : "Could not set the valve." }, status = 400 )
456437
457438
458439def get_request_data (request ):
@@ -605,13 +586,10 @@ def check_farm_connection_status(request):
605586 Returns:
606587 A JSON with the status of the farm or the error.
607588 """
608- if is_authenticated (request ):
609- if not request .is_ajax or request .method != "POST" :
610- return JsonResponse (
611- {"error" : "AJAX request must be sent using POST" },
612- status = 400 )
613- else :
614- return redirect ('/access/login' )
589+ # Check if the AJAX request is valid.
590+ error = check_ajax_request (request )
591+ if error is not None :
592+ return error
615593
616594 # Get the controller ID and irrigation station from the POST request.
617595 data = json .loads (request .body .decode (request .encoding ))
0 commit comments