13899 Commits

Author SHA1 Message Date
Yonas Habteab
d277c5ba3b Require ipl dependencies in github workflows 2023-07-14 19:51:08 +02:00
Yonas Habteab
a78c221bfd Tests: Remove legacy DashboardTest class 2023-07-14 19:51:08 +02:00
Yonas Habteab
da98bb2bf1 dashboards.less: Add styles for disabled input fields 2023-07-14 19:51:08 +02:00
Yonas Habteab
4a32ee7b60 DashboardsController: Add the welcomeFrom instance directly to the dashboard
Since we no longer use an additional wrapper for the dashboards,
the welcome form can be added directly to the dashboard instance
2023-07-14 19:51:08 +02:00
Yonas Habteab
9f7eba4cf8 WelcomeForm: Don't raise sys errors directly but use notifications to notify the user 2023-07-14 19:51:08 +02:00
Yonas Habteab
2105541493 DashletForm: Don't override populated value with the request param 2023-07-14 19:51:08 +02:00
Yonas Habteab
a8a4738944 Update priority order of the widget being moved properly 2023-07-14 19:51:08 +02:00
Yonas Habteab
be973d29e2 Use own form class for all dashboard types & cleanup Dashlet-/SetupNewDashboardForm classes 2023-07-14 19:51:08 +02:00
Yonas Habteab
c577e2f279 Forms: Introduce RemovePaneForm class 2023-07-14 19:51:08 +02:00
Yonas Habteab
3f4c0a8de6 Forms: Introduce PaneForm class 2023-07-14 19:51:08 +02:00
Yonas Habteab
c382d0fbaa Forms: Introduce RemoveHomeForm class 2023-07-14 19:51:08 +02:00
Yonas Habteab
4f98b0c696 Forms: Introduce HomeForm class 2023-07-14 19:51:08 +02:00
Yonas Habteab
3048969cca DashboardManager: Try to activate homes based on the request params 2023-07-14 19:51:08 +02:00
Yonas Habteab
93c3c524ce DashboardEntries: Fix calling to fromArray that doesn't exist anymore 2023-07-14 19:51:08 +02:00
Yonas Habteab
0ad7fdca53 Fix some signature inconsistencies 2023-07-14 19:51:08 +02:00
Yonas Habteab
7800c699b7 Introduce dashboards migrate command 2023-07-14 19:51:08 +02:00
Yonas Habteab
7fcc2caae5 DashboardManager: Remove unused property 2023-07-14 19:51:08 +02:00
Yonas Habteab
997517dc8d Database: Transform assembled binary values to hex format for pgsql 2023-07-14 19:51:08 +02:00
Yonas Habteab
8ba46ac3d3 Don't load orphaned/unusable module dashlets 2023-07-14 19:51:08 +02:00
Yonas Habteab
84d57c622f Make use of WidgetState tratit & remove some obsolete codes 2023-07-14 19:51:08 +02:00
Yonas Habteab
408bb9c886 Introduce trait WidgetState 2023-07-14 19:51:08 +02:00
Yonas Habteab
83533d1641 Fix line indented incorrectly 2023-07-14 19:51:08 +02:00
Yonas Habteab
707de5c4da dashboards.js: Remove some unnecessary codes 2023-07-14 19:51:08 +02:00
Yonas Habteab
d05b8d9e2f main.less: Set cursor to pointer for the expand/collapse icons 2023-07-14 19:51:08 +02:00
Yonas Habteab
76c97bb1d2 dashboards.less: Add column spacing to the welcome form formcontrols 2023-07-14 19:51:08 +02:00
Yonas Habteab
04495e6276 Adjust Dashboard::getConn() calls & filtering by username 2023-07-14 19:51:08 +02:00
Yonas Habteab
ee706860c9 Introduce DashboardOwner model & adjust other models accordingly 2023-07-14 19:51:08 +02:00
Yonas Habteab
97b009c39f Copy BoolCast behavior from db-web 2023-07-14 19:51:08 +02:00
Yonas Habteab
d540ad4c0e Cleanup DashboardManager trait 2023-07-14 19:51:08 +02:00
Yonas Habteab
3d5789d584 Introduce DashboardUserManager trait 2023-07-14 19:51:08 +02:00
Yonas Habteab
08933e420f Introduce Modules\DashletManager class 2023-07-14 19:51:08 +02:00
Yonas Habteab
d993fea6e1 Introduce DBUtils class 2023-07-14 19:51:08 +02:00
Yonas Habteab
f8c0330e2d schema: Add pgsql support for the new dashboards 2023-07-14 19:51:08 +02:00
Johannes Meyer
84b462f57c dashboards/settings: Show tabs depending on where the user comes from 2023-07-14 19:51:08 +02:00
Johannes Meyer
2f09dbe68a DashboardsController: $this->httpNotFound() already accepts format params
there's no need to use `sprintf` explicitly
2023-07-14 19:51:08 +02:00
Johannes Meyer
3041d7d3c1 dashboards/settings: Cleanup HTML and CSS
Well what should I say..

* There should be nothing else inside a `ul` than `li` elements
 * If that's not feasible, don't use a `ul` but a `div`
* If adjusting a stylesheet, don't add new stuff to it without
  making sure that redundant/obsolete stuff is removed
* Restructure your stylesheet once you notice you're adding
  one rule after another to counteract the one before it.
  There was way too much code smell
* Only be as specific in CSS rules as you absolutely need to.
  Classes are usually enough. Only add tags if you use the same
  classes on different tags.
* Ensure that your CSS makes as less assumptions as possible
2023-07-14 19:51:08 +02:00
Johannes Meyer
d91795d815 dashboards/settings: Don't disguise action links as button links 2023-07-14 19:51:08 +02:00
Johannes Meyer
8bd82ff97c Cleanup dashboard welcome page
* The `h1` is the tab or page title, the welcome message is at most a `h2?`
* It's not necessary to mention that the welcome page is only shown as
  long as there are no dashboards/dashlets, if the very next statement
  explains this already
* The icinga form layout is not relevant here, so there's no need to
  work-around/counteract it
* The text opacity just reduced the contrast needlessly
2023-07-14 19:51:08 +02:00
Johannes Meyer
fd31f2d960 css: Adjust .controls.separated border-shadow to match Icinga DB Web's 2023-07-14 19:51:08 +02:00
Johannes Meyer
40716e7dbd Fetch homes and panes already ordered from the database
Doing so in userspace is not required and too inefficient.
2023-07-14 19:51:08 +02:00
Johannes Meyer
9a1f8816ae There can only be a single active home at a time
Cleans up various usages of `setActive` calls.
2023-07-14 19:51:08 +02:00
Yonas Habteab
178cd7408a Ensure to rerender dashlet parts with custom_url upon autosubmit 2023-07-14 19:51:08 +02:00
Yonas Habteab
bb5ba73feb Move module related methods from trait to Dashlet 2023-07-14 19:51:08 +02:00
Yonas Habteab
871e1f7191 Move from/toArray() methods to BaseDashboard 2023-07-14 19:51:08 +02:00
Yonas Habteab
5253db1842 Rename DashboardControls -> DashboardEntries & add an internal flag for sorting 2023-07-14 19:51:08 +02:00
Johannes Meyer
c96da1da98 Change handling of the params showCompact and limit
* The editor should provide the full url in the title,
  to show the user the same view as in the dashboard.
* In the dashboard, `limit` and now also `view` need
  to be removed from the title's link. The user isn't
  editing and should see the default view.
2023-07-14 19:51:08 +02:00
Johannes Meyer
7f0197333f DashboardsController: Use $this->getServerRequest() where applicable 2023-07-14 19:51:08 +02:00
Johannes Meyer
577d08938d dashboards/settings: Don't change refresh url due to re-order 2023-07-14 19:51:08 +02:00
Johannes Meyer
ff54184681 Menu: Don't translate home titles
Homes can't be provided by modules, so there's no way
that a translation exists.
2023-07-14 19:51:08 +02:00
Johannes Meyer
cdb489bc88 DashboardControls: Ensure to use sorted entries in rewindEntries() 2023-07-14 19:51:08 +02:00