Beispiel #1
0
    def process_request(self, request):

        #  Defaults
        request.now = datetime.utcnow()
        request.debug = settings.DEBUG
        request.version = VERSION

        request.timezone = 'UTC'

        if request.user.is_authenticated():
            user_preferences = user_preferences_model.get_preferences(user_id=request.user.id)

            user_timezone = user_preferences.get('timezone', 'UTC')
            request.timezone = str(user_timezone)  # Pytz timezone object
            request.timezone_offset = localtime_utc_timedelta(tz=request.timezone)

            request.account_id = settings.ACCOUNT_ID

            request.dashboards = dashboard_model.get_all(account_id=request.account_id)

            request.bookmarks = bookmarks_model.get_all()

            # Enable disable minified js and css files
            try:
                request.devmode = settings.DEVMODE
            except:
                request.devmode = False
Beispiel #2
0
    def get_all_test(self):
        self._cleanup()

        for i in range(5):
            self.collection.insert({'test': 1, 'server': i})

        result = dashboard_model.get_all()

        eq_(result, None)

        for i in range(5):
            self.collection.insert({'test': 1, 'account_id': i})

        result = dashboard_model.get_all(account_id=1)

        eq_(result.count(), 1)

        self._cleanup()
Beispiel #3
0
    def get_all_test(self):
        self._cleanup()

        for i in range(5):
            self.collection.insert({'test': 1, 'server': i})
            

        result = dashboard_model.get_all()

        eq_(result, None)

        for i in range(5):
            self.collection.insert({'test': 1, 'account_id': i})


        result = dashboard_model.get_all(account_id=1)

        eq_(result.count(), 1)
        
        self._cleanup()
Beispiel #4
0
def index(request):
    dashboards = dashboard_model.get_all(account_id=request.account_id)
    dashboards_data = []

    if dashboards.clone().count() > 0:

        for d in dashboards:
            metrics = dashboard_metrics_model.get_all_grouped_by_server_name(
                account_id=request.account_id, dashboard_id=d['_id'])

            dashboards_data.append({'metrics': metrics, 'dashboard': d})

    return render(request, 'dashboards/all.html',
                  {"dashboards_data": dashboards_data})
Beispiel #5
0
def index(request):
    dashboards = dashboard_model.get_all(account_id=request.account_id)
    dashboards_data = []

    if dashboards.clone().count() > 0:

        for d in dashboards:
            metrics = dashboard_metrics_model.get_all_grouped_by_server_name(account_id=request.account_id, dashboard_id=d['_id'])

            dashboards_data.append({
                'metrics': metrics,
                'dashboard': d
            })

    return render(request, 'dashboards/all.html', {
        "dashboards_data": dashboards_data
    })
Beispiel #6
0
def view_dashboard(request, dashboard_id):
    enddate = request.GET.get('enddate')
    duration = request.GET.get('duration', 1800)
    duration = int(duration)

    now_unix = datetime_to_unixtime(request.now)
    max_date = now_unix * 1000

    if enddate:
        date_to = int(enddate)
    else:
        date_to = now_unix

    date_from = date_to - int(duration)

    all_dashboards = dashboard_model.get_all(account_id=request.account_id)
    all_existing_server_ids = server_model.get_all_ids()
    dashboard = dashboard_model.get_by_id(dashboard_id)
    all_metrics = dashboard_metrics_model.get_all(
        account_id=request.account_id, dashboard_id=dashboard_id)

    metrics_array = _fill_metrics_arrays(all_metrics=all_metrics)

    if len(all_metrics) == 0:
        messages.add_message(request, messages.INFO,
                             'To view this dashboard add at least 1 metric')
        return redirect(
            reverse('edit_dashboard', kwargs={'dashboard_id': dashboard_id}))

    return render_to_response(
        'dashboards/view.html', {
            "all_dashboards": all_dashboards,
            "duration": duration,
            "selected_charts": metrics_array['charts'],
            "health_checks": metrics_array['health_checks'],
            "date_from": date_from,
            "date_to": date_to,
            "now": now_unix,
            "max_date": max_date,
            "dashboard": dashboard,
            "enddate": enddate,
            "all_existing_server_ids": all_existing_server_ids
        },
        context_instance=RequestContext(request))
Beispiel #7
0
def view_dashboard(request, dashboard_id):
    enddate = request.GET.get('enddate')
    duration = request.GET.get('duration', 1800)
    duration = int(duration)

    now_unix = datetime_to_unixtime(request.now)
    max_date = now_unix * 1000

    if enddate:
        date_to = int(enddate)
    else:
        date_to = now_unix

    date_from = date_to - int(duration)

    all_dashboards = dashboard_model.get_all(account_id=request.account_id)
    all_existing_server_ids = server_model.get_all_ids()
    dashboard = dashboard_model.get_by_id(dashboard_id)
    all_metrics = dashboard_metrics_model.get_all(account_id=request.account_id, dashboard_id=dashboard_id)


    metrics_array = _fill_metrics_arrays(all_metrics=all_metrics)


    if len(all_metrics) == 0:
        messages.add_message(request, messages.INFO, 'To view this dashboard add at least 1 metric')
        return redirect(reverse('edit_dashboard', kwargs={'dashboard_id': dashboard_id}))

    return render(request, 'dashboards/view.html', {
        "all_dashboards": all_dashboards,
        "duration": duration,
        "selected_charts": metrics_array['charts'],
        "health_checks": metrics_array['health_checks'],
        "date_from" : date_from,
        "date_to" : date_to,
        "now": now_unix,
        "max_date": max_date,
        "dashboard": dashboard,
        "enddate": enddate,
        "all_existing_server_ids": all_existing_server_ids
    })