Source code for cfme.intelligence.reports.widgets.chart_widgets

# -*- coding: utf-8 -*-
"""Page model for Cloud Intel / Reports / Dashboard Widgets / Charts"""
import attr
from widgetastic_manageiq import Calendar
from widgetastic_patternfly import BootstrapSelect

from cfme.utils.appliance.implementations.ui import navigator
from . import (
    BaseDashboardReportWidget,
    BaseDashboardWidgetFormCommon,
    BaseEditDashboardWidgetStep,
    BaseEditDashboardWidgetView,
    BaseNewDashboardWidgetStep,
    BaseNewDashboardWidgetView
)


[docs]class ChartWidgetFormCommon(BaseDashboardWidgetFormCommon): # Chart Report filter = BootstrapSelect("repfilter_typ") # Timer run = BootstrapSelect("timer_typ") every = BootstrapSelect("timer_hours") time_zone = BootstrapSelect("time_zone") starting_date = Calendar("miq_date_1") starting_hour = BootstrapSelect("start_hour") starting_minute = BootstrapSelect("start_min")
[docs]class NewChartWidgetView(BaseNewDashboardWidgetView, ChartWidgetFormCommon): pass
[docs]class EditChartWidgetView(BaseEditDashboardWidgetView, ChartWidgetFormCommon): pass
@attr.s
[docs]class ChartWidget(BaseDashboardReportWidget): TYPE = "Charts" TITLE = "Chart" pretty_attrs = ["title", "description", "filter", "visibility"] filter = attr.ib(default=None) timer = attr.ib(default=attr.Factory(dict)) @property def fill_dict(self): return { "widget_title": self.title, "description": self.description, "active": self.active, "filter": self.filter, "run": self.timer.get("run"), "every": self.timer.get("hours"), "time_zone": self.timer.get("time_zone"), "starting_date": self.timer.get("starting_date"), "starting_hour": self.timer.get("starting_hour"), "starting_minute": self.timer.get("starting_minute"), "visibility": self.visibility }
@navigator.register(ChartWidget, "Add")
[docs]class NewChartWidget(BaseNewDashboardWidgetStep): VIEW = NewChartWidgetView
@navigator.register(ChartWidget, "Edit")
[docs]class EditChartWidget(BaseEditDashboardWidgetStep): VIEW = EditChartWidgetView