Example #1
0
 def put(request):
     try:
         DashboardValidator.validate_params_for_update(request.query_params)
         dashboard = Dashboard.objects(
             uuid=request.query_params['uuid']).first()
         dashboard.update_with(request.query_params).save()
         return JsonResponse({'message': "Dashboard successfully updated"},
                             status=200)
     except InvalidDashboardParametersException as e:
         return JsonResponse({'error_message': e.message}, status=400)
Example #2
0
 def put(request):
     try:
         Dashboard.objects(
             uuid=request.query_params['dashboard-uuid'],
             widgets__uuid=request.query_params['widget-uuid']).update_one(
                 set__widgets__S__name=request.query_params['name'],
                 set__widgets__S__description=request.
                 query_params['description'],
                 set__widgets__S__width=request.query_params['width'])
         return JsonResponse({'message': "Widget successfully updated"},
                             status=200)
     except InvalidWidgetParametersException as e:
         return JsonResponse(
             {
                 'message':
                 "The query should contains the following parameters: "
                 "<dashboard-uuid>, <widget-uuid>"
             },
             status=400)
     except Exception as e:
         return JsonResponse({'message': e.message}, status=500)
Example #3
0
 def post(request):
     try:
         widget = DashboardWidgetFactory.create_widget_from_query_params(
             WidgetValidator.validate_params_for_creation(
                 request.query_params))
         dashboard = Dashboard.objects(
             uuid=request.query_params['dashboard-uuid']).first()
         dashboard.widgets.append(widget)
         dashboard.save()
         return Response(status=status.HTTP_201_CREATED)
     except InvalidDashboardParametersException as e:
         return JsonResponse({'error_message': e.message}, status=400)
Example #4
0
 def get(request):
     if "uuid" not in request.query_params.keys():
         return render_to_response(
             'dashboards/dashboards-index.html', {
                 'content_title': "Dashboards",
                 'dashboards': Dashboard.objects.all(),
                 'monitored_objects': MonitoredObject.objects.all(),
                 'transmitters': Transmitter.objects.all()
             }, RequestContext(request))
     else:
         dashboard = Dashboard.objects(
             uuid=request.query_params["uuid"]).first()
         dashboard_rows = DashboardRowsFactory.create_dashboard_rows_from(
             dashboard.widgets)
         return render_to_response(
             'dashboards/dashboard.html', {
                 'content_title':
                 dashboard.name + "(" + MonitoredObject.objects(
                     uuid=dashboard.monitored_object_id).first().name + ")",
                 'dashboards':
                 dashboard,
                 'dashboard_rows':
                 dashboard_rows,
                 'widget_types':
                 DashboardWidget.TYPES.keys(),
                 'measure_units':
                 DashboardWidget.MEASURE_UNITS.keys(),
                 'dashboard_transmitter':
                 Transmitter.objects(uuid=dashboard.transmitter_id),
                 'transmitters':
                 Transmitter.objects.all(),
                 'sensors':
                 map(
                     lambda sensor_uuid: Sensor.objects(uuid=sensor_uuid
                                                        ).first(),
                     MonitoredObject.objects(
                         uuid=dashboard.monitored_object_id).first().
                     sensor_ids),
                 'local_sensors':
                 LocalSensor.objects.all(),
                 'monitored_object':
                 MonitoredObject.objects(
                     uuid=dashboard.monitored_object_id).first()
             }, RequestContext(request))
Example #5
0
 def delete(request):
     try:
         if 'dashboard-uuid' in request.query_params.keys(
         ) and 'widget-uuid' in request.query_params.keys():
             dashboard = Dashboard.objects(
                 uuid=request.query_params['dashboard-uuid'])
             dashboard.update_one(pull__widgets__uuid=DashboardWidget(
                 uuid=request.query_params['widget-uuid']).uuid)
             return JsonResponse({'message': "Widget successfully deleted"},
                                 status=200)
         else:
             return JsonResponse(
                 {
                     'message':
                     "The query should contains the following parameters: "
                     "<dashboard-uuid>, <widget-uuid>"
                 },
                 status=400)
     except Exception as e:
         return JsonResponse({'message': e.message}, status=500)
Example #6
0
 def delete(request):
     """
         Delete a dashboard.
         ---
         parameters:
             - name: uuid
               description: The dashboard's uuid.
               type: string
               required: true
     """
     try:
         if 'uuid' in request.query_params.keys():
             dashboard = Dashboard.objects(
                 uuid=request.query_params['uuid'])
             dashboard.delete()
             return JsonResponse(
                 {'message': "Dashboard successfully deleted"}, status=200)
         else:
             return JsonResponse({}, status=400)
     except Exception as e:
         return JsonResponse({'error_message': e.message}, status=500)