Commit Graph

1375 Commits

Author SHA1 Message Date
Johannes Meyer bf4e492fa1 Action: Accept and apply option "filter"
refs #5600
2015-09-17 11:00:40 +02:00
Johannes Meyer b1ee12f721 NavigationItem: Allow to dynamically decide whether to render an item
refs #5600
2015-09-17 09:11:17 +02:00
Johannes Meyer 84f733b177 DashboardPane: Rename param $order to $ordered in method getDashlets
refs #5600
2015-09-17 08:25:17 +02:00
Johannes Meyer 54d08f99e8 DashboardPane: Order dashlets alphabetically
refs #5600
2015-09-16 15:31:41 +02:00
Johannes Meyer 8b7a1ce28f Late translate a module's dashboard-pane/dashlet labels
refs #5600
2015-09-16 14:29:33 +02:00
Johannes Meyer d0eb61dc2e Form: Add property $parent
refs #5600
2015-09-15 16:09:33 +02:00
Johannes Meyer 1d6ad6df21 Merge branch 'master' into feature/custom-menu-items-5600
Conflicts:
	modules/monitoring/configuration.php
2015-09-15 13:31:30 +02:00
Eric Lippmann e8c21868ff lib: Fix Number::isValid()
- Calls $this->translate()
- Always performs is_numeric check, even if the element is not required
2015-09-07 16:57:09 +02:00
Eric Lippmann b897813e71 lib: Add Form::setRequest() 2015-09-07 13:55:52 +02:00
Eric Lippmann 1fb613e811 api/forms: Fix array access of a notification
refs #9606
2015-09-07 13:49:53 +02:00
Eric Lippmann d3fe1e1973 api/response: Allow setting null as success data
refs #9606
2015-09-07 13:45:13 +02:00
Eric Lippmann b20eb681c0 api/forms: Use the first success notification as success message
refs #9606
2015-09-07 13:44:46 +02:00
Eric Lippmann f467d085b0 api: Use JsonResponse in form
refs #9606
2015-09-07 13:36:12 +02:00
Johannes Meyer 21180e2fd4 NavigationItem: Fix method conflictsWith()
...

refs #5600
2015-09-07 13:26:44 +02:00
Johannes Meyer 6b13f2a987 NavigationRenderer: Do not render an empty header
refs #5600
2015-09-07 13:25:25 +02:00
Eric Lippmann 25abc16e15 lib: Replace Repsonse::sendJson() w/ Response::json()
refs #9606
2015-09-07 13:24:21 +02:00
Eric Lippmann a9cb8bfb2c lib: Add JsonResponse class
refs #9606
2015-09-07 13:22:58 +02:00
Johannes Meyer f9441c91d5 Navigation: Load shared navigation items
refs #5600
2015-09-07 13:22:36 +02:00
Johannes Meyer ee43fdad0a DashboardPane: Consider dashlets when merging
refs #5600
2015-09-07 13:21:31 +02:00
Johannes Meyer bf2cb9ab7e NavigationItem: Provide a more sophisticated conflict detection
refs #5600
2015-09-07 13:20:49 +02:00
Johannes Meyer 0feaec7af1 NavigationItem: Return a instance of Url in method getUrl(), really
refs #5600
2015-09-07 13:20:17 +02:00
Johannes Meyer 451a0c91f2 NavigationItem: Add missing return statement in method merge()
refs #5600
2015-09-07 13:19:36 +02:00
Johannes Meyer f958a1c323 Navigation: Load a user's navigation items
refs #5600
2015-09-07 12:20:14 +02:00
Johannes Meyer 411c6e0546 Navigation: Fix that a module's item class is not found
refs #5600
2015-09-07 12:01:05 +02:00
Eric Lippmann 0f8c28d749 Merge branch 'master' into feature/api-9606 2015-09-07 11:33:44 +02:00
Johannes Meyer f9b68b683b NavigationItem: Consider unknown properties as element attributes
refs #5600
2015-09-07 09:49:05 +02:00
Johannes Meyer ca72bd5455 NavigationRendererInterface: Use "div" as default outer element tag
"nav" is less often necessary.

refs #5600
2015-09-07 09:48:32 +02:00
Johannes Meyer e63e15e471 Add class DashboardPane
refs #5600
2015-09-07 09:06:40 +02:00
Johannes Meyer b5711f4031 Dashboard: Load panes by utilizing the new Navigation
This is only a quick fix to avoid adjusting the complete dashboard
implementation.

refs #5600
2015-09-07 09:05:50 +02:00
Johannes Meyer a3539b0817 Navigation: Fix method getActiveItem() failing badly for empty navigations
refs #5600
2015-09-07 08:37:06 +02:00
Johannes Meyer 6dd49761ff Navigation: Add method getActiveItem()
refs #5600
2015-09-04 16:21:09 +02:00
Johannes Meyer 6967fffb1f Navigation: Add support dashboard-panes and check module permissions
refs #5600
2015-09-04 15:51:51 +02:00
Johannes Meyer 2af06e9415 NavigationItem: Re-introduce a default priority of 100
refs #5600
2015-09-04 14:20:21 +02:00
Johannes Meyer b2a0f1b9c2 Navigation: Peform a case-insensitive search when merging items
refs #5600
2015-09-04 14:17:16 +02:00
Johannes Meyer 63f8f34c15 Navigation: Add method load()
Supports currently only module menus.

refs #5600
2015-09-04 13:55:31 +02:00
Johannes Meyer 881880f18f SummaryNavigationItemRenderer: Fix method getTitle()
refs #5600
2015-09-04 13:48:29 +02:00
Johannes Meyer 8e24ec978d BadgeNavigationItemRenderer: Use view() instead of getView()
refs #5600
2015-09-04 13:47:57 +02:00
Johannes Meyer 044fe031da NavigationItemRenderer: Add method init()
refs #5600
2015-09-04 13:47:38 +02:00
Johannes Meyer 1a42c04c8e NavigationItem: Fix locating a module's custom navigation renderer
refs #5600
2015-09-04 13:47:17 +02:00
Matthias Jentsch ca33e71f2d Deduplicate and clean up service summary component
Remove redundant component view script and streamline subFilter handling in all views that render it. Remove
heading from component to allow embedding in different types of views.

refs #10033
2015-09-04 13:02:57 +02:00
Johannes Meyer 5ff3db8a3c Url: Explicitly handle '#'
Feels like a quick&dirty solution. Feel free to improve it.

refs #5600
2015-09-04 10:34:39 +02:00
Johannes Meyer 07588595f2 NavigationItem: Automatically determine whether it's active or not
refs #5600
2015-09-04 10:10:33 +02:00
Johannes Meyer baefc89f85 NavigationRenderer: Provide a id for outer item markup (<li>)
refs #5600
2015-09-04 09:41:39 +02:00
Johannes Meyer 2855778dc7 Revert "NavigationItemRenderer: Provide a id if none is set"
This reverts commit c60839d798.
2015-09-04 09:38:03 +02:00
Johannes Meyer 975cc92f6b NavigationItem: Provide "#" as default url for items with children
refs #5600
2015-09-04 09:31:23 +02:00
Johannes Meyer 4e948b46bf NavigationRenderer: Add id "navigation" to the navigation's heading
refs #5600
2015-09-04 09:26:28 +02:00
Johannes Meyer c60839d798 NavigationItemRenderer: Provide a id if none is set
refs #5600
2015-09-04 09:25:58 +02:00
Johannes Meyer a8d5a78aa2 NavigationItem: Fix method getUniqueName()
refs #5600
2015-09-04 09:25:25 +02:00
Johannes Meyer a6b2c23684 Update navigation rendering code to fit the previous adjustments
refs #5600
2015-09-04 09:08:20 +02:00
Johannes Meyer 9e558c9861 Add class SummaryNavigationItemRenderer
refs #5600
2015-09-03 15:53:42 +02:00
Johannes Meyer ad6a2938ab Add class BadgeNavigationItemRenderer
refs #5600
2015-09-03 15:53:23 +02:00
Johannes Meyer b53fb04a0f Move navigation related renderer classes to the new namespace
refs #5600
2015-09-03 15:52:37 +02:00
Johannes Meyer 7adfc58878 NavigationItem: Add missing return keyword in method render()
refs #5600
2015-09-03 15:04:39 +02:00
Johannes Meyer a930ea7f7a Navigation: Add method render()
refs #5600
2015-09-03 15:04:07 +02:00
Johannes Meyer 9a725330fb NavigationItem: Provide the item to the renderer before calling render
refs #5600
2015-09-03 14:22:38 +02:00
Johannes Meyer 16ece09b0a NavigationItemRenderer: Add option $target
refs #5600
2015-09-03 13:36:34 +02:00
Johannes Meyer 67dee62c57 NavigationItemRenderer: Add support for options
refs #5600
2015-09-03 13:36:13 +02:00
Johannes Meyer c3ad665c15 Navigation: Fix accessing a non-existent and static variable
refs #5600
2015-09-03 12:52:07 +02:00
Johannes Meyer c35db55857 Navigation: Add missing new keyword
refs #5600
2015-09-03 11:26:27 +02:00
Johannes Meyer 2834e206d5 NavigationItem: Add support for custom renderers
refs #5600
2015-09-03 11:25:51 +02:00
Johannes Meyer 811269df01 NavigationItem: Rename method getView() to view()
refs #5600
2015-09-03 10:39:11 +02:00
Johannes Meyer 206168672b NavigationItem: Add method getUniqueName()
refs #5600
2015-09-03 10:22:47 +02:00
Johannes Meyer e6a6ae996a Navigation: Merge other navigations more sophisticated
refs #5600
2015-09-03 09:57:52 +02:00
Johannes Meyer 537db6000e NavigationItem: Add method merge()
refs #5600
2015-09-03 09:56:22 +02:00
Johannes Meyer a626e8f7fb NavigationItem: Allow to set and get single url parameters
refs #5600
2015-09-03 09:56:02 +02:00
Johannes Meyer 1fb5c96ef1 Navigation: Add method order()
refs #5600
2015-09-03 08:52:02 +02:00
Johannes Meyer 00447488ee NavigationItem: Drop interface Countable
$item->count(), count of what?
$item->getChildren()->count(), Its children, of course!

refs #5600
2015-09-03 08:49:30 +02:00
Johannes Meyer f4a6ab73c0 NavigationItem: Add property priority
refs #5600
2015-09-03 08:33:13 +02:00
Johannes Meyer 1393db687b NavigationItem: Adjust some docblocks
refs #5600
2015-09-02 15:42:54 +02:00
Johannes Meyer 298c4ad38b NavigationItem: Cast a string to Url already in setUrl()
refs #5600
2015-09-02 15:35:08 +02:00
Johannes Meyer 1788cc9b6a NavigationItem: Use setView() to initiliaze $view
refs #5600
2015-09-02 15:33:45 +02:00
Johannes Meyer 6802c0a9e4 NavigationItem: Do not disable the complete parent hierarchy..
..if just a child gets deactivated.

refs #5600
2015-09-02 15:32:37 +02:00
Johannes Meyer 2bfeb335a5 NavigationItem: Add method setParent() and getParent()
refs #5600
2015-09-02 15:30:35 +02:00
Johannes Meyer e2beb7d027 NavigationItem: Return the name if no label is set in getLabel()
refs #5600
2015-09-02 15:27:34 +02:00
Johannes Meyer 1ef4a2f7d0 NavigationItem: Do not provide a default for setProperties()
refs #5600
2015-09-02 15:26:07 +02:00
Johannes Meyer 8a29660226 NavigationItem: Overwrite the property in method setAttributes()
A setter sets something instead of patching it.

refs #5600
2015-09-02 15:25:10 +02:00
Johannes Meyer 5efcb18fa0 NavigationItem: Set the parent on a child in method setChildren()
refs #5600
2015-09-02 15:21:40 +02:00
Johannes Meyer c9050e2f21 NavigationItem: Initialize $children before setting the properties
refs #5600
2015-09-02 15:20:26 +02:00
Johannes Meyer 62f7a49a45 NavigationItem: Reduce code complexity in method addChild()
refs #5600
2015-09-02 15:17:26 +02:00
Johannes Meyer c03109c4c6 NavigationItem: Catch exceptions thrown in __toString()
refs #5600
2015-09-02 15:16:05 +02:00
Johannes Meyer 95a3f1c011 Navigation: Clear the parent name from a configured navigation item
refs #5600
2015-09-02 15:14:55 +02:00
Johannes Meyer 29413360d9 Navigation: Add method merge()
refs #5600
2015-09-02 13:34:56 +02:00
Johannes Meyer a4c2081f64 Navigation: Remove method hasItems()
Redundant, as it's expressible with "! $nav->isEmpty()".

refs #5600
2015-09-02 13:29:07 +02:00
Johannes Meyer f449c78dbf NavigationItem: Make it having a name instead of a id..
..and require it as first argument on construction time.

refs #5600
2015-09-02 13:27:12 +02:00
Johannes Meyer b3159ee60d NavigationItem: Accept arrays for method setChildren()
refs #5600
2015-09-02 12:59:05 +02:00
Johannes Meyer 83974b7698 Navigation: Add method fromConfig()
refs #5600
2015-09-02 12:58:12 +02:00
Johannes Meyer 997b57834c Navigation: Add method fromArray()
refs #5600
2015-09-02 12:57:49 +02:00
Johannes Meyer 0788041c43 Navigation: Accept item configuration for method addItem()
And check an item's permission.

refs #5600
2015-09-02 12:57:14 +02:00
Johannes Meyer c154f96d44 Navigation: Add method createItem()
refs #5600
2015-09-01 16:02:44 +02:00
Eric Lippmann 52b0c8c258 lib: Add navigation classes (WIP)
- Lacks custom renderer functionality
- Lacks navigation item priorities
- Lacks permission handling

refs #5600
2015-09-01 12:48:45 +02:00
Eric Lippmann 4fb6856caf Fix exception when navigating to the preferences after namespacing all controllers 2015-08-31 10:19:30 +02:00
Eric Lippmann e7e1b1a98e Dispatcher: Default to the default module if no module has been given in the request
This is most likely the case when custom routes have been added to the router w/o the module parameter being set.

refs #5786
2015-08-28 13:13:20 +02:00
Eric Lippmann 9cf56410e9 lib: Fix PHPDoc of Form::populate() 2015-08-27 15:52:13 +02:00
Eric Lippmann 4070f6c75b Merge branch 'master' into feature/namespaced-controllers-5786 2015-08-27 15:05:44 +02:00
Eric Lippmann 28009eb563 Rename controller namespace to Controllers
refs #5786
2015-08-27 13:03:45 +02:00
Eric Lippmann c294283636 Merge branch 'bugfix/service-grid-grouping-postgres-9333'
Conflicts:
	modules/monitoring/application/controllers/ListController.php
	modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php

fixes #9333
fixes #9538
2015-08-27 12:58:49 +02:00
Johannes Meyer 8cc1970a9f SearchDashboard: Use t() instead of the view helper
Since it's library code we do not need to use the module-aware
translation helper.
2015-08-25 16:51:50 +02:00
Eric Lippmann c8790fad93 Merge branch 'bugfix/service-grid-display_name-9538' into bugfix/service-grid-grouping-postgres-9333
Conflicts:
	library/Icinga/Data/PivotTable.php
	modules/monitoring/application/controllers/ListController.php
2015-08-25 15:51:20 +02:00
Eric Lippmann 96fb3b5d4b Merge branch 'master' into feature/api-9606 2015-08-25 09:25:59 +02:00
Eric Lippmann ec390d7a8b lib: Add Controller::httpBadRequest() for responding w/ HTTP 400 immideately
refs #9606
2015-08-24 15:59:59 +02:00
Johannes Meyer 7c86f19aee SearchDashboard: Utilize createDashlet() and set a progress label
refs #8848
2015-08-24 12:36:59 +02:00
Johannes Meyer 320a4080ec Dashlet: Add support for CSS animated progress labels
refs #8848
2015-08-24 12:36:35 +02:00
Johannes Meyer db4c81a093 Pane: Add method createDashlet()
refs #8848
2015-08-24 12:35:38 +02:00
Eric Lippmann ceaba90872 css: Load mixins.less 2015-08-21 16:45:05 +02:00
Matthias Jentsch 675a130787 Fix active configuration/application menu highlighting
Fix a bug that caused the application config to not be set to active when navigating through history.

refs #9761
2015-08-21 16:04:04 +02:00
Johannes Meyer d31b60102e Form: Fix that form titles are missing
The description may not be set at the time
loadDefaultDecorators() is called.
2015-08-21 14:20:09 +02:00
Johannes Meyer 9ca278d7b2 Merge branch 'master' into feature/activity-indicators-for-form-submits-8369 2015-08-21 13:37:54 +02:00
Johannes Meyer fbca28c024 Form: Only add a form header if a description is set
refs #8369
2015-08-21 13:34:17 +02:00
Johannes Meyer 747f6dcf77 Form: Show the form autosubmit warning in the header tag...
...and use a unique id for the progress element.

refs #8369
2015-08-21 11:40:38 +02:00
Eric Lippmann 85ef98f72d lib: Add PHPDoc to Request::hasCookieSupport() 2015-08-21 11:27:03 +02:00
Johannes Meyer b9d64b40a4 forms.less: Fix help icon layout 2015-08-21 10:36:08 +02:00
Johannes Meyer 7244906515 Wizard: Use a constant for the name and id of the progress element
refs #8369
2015-08-21 10:16:23 +02:00
Johannes Meyer 07b17cc701 Wizard: Add Spinner decorator to the first (and only) submit button
refs #8369
2015-08-21 09:52:57 +02:00
Matthias Jentsch 44271471e3 Allow declarative definitions of badge renderers and improve interface
Allow the data backend, columns and generated tooltips to be defined in the configuration instead of providing subclasses for every new configuration. Provide an abstract BadgeMenuItemRenderer that allows creating Badges with less boilerplate.

fixes #9694
2015-08-20 18:16:33 +02:00
Johannes Meyer 46cd47b73c Form: Automatically set data-progress-element...
..for forms with form based autosubmit warnings.

refs #8369
2015-08-20 16:54:20 +02:00
Johannes Meyer 32f8c0770c Wizard: Use a single spinner for all submit buttons
refs #8369
2015-08-20 16:13:56 +02:00
Johannes Meyer 20f144bd4b Spinner: Accept option `id'
refs #8369
2015-08-20 16:13:30 +02:00
Eric Lippmann c5f444efe8 lib: Don't alias Zend classes in the ActionController 2015-08-20 16:10:39 +02:00
Eric Lippmann 6ca02a519b lib: Fix type hint of Controller::getResponse() 2015-08-20 16:07:24 +02:00
Eric Lippmann 1c5a784022 lib: Move Request::sendJson() to Response::sendJson()
refs #9606
2015-08-20 16:05:45 +02:00
Eric Lippmann 870b73ae09 lib: Rename Request::getIsApiRequest() to ::isApiRequest()
There's no setter involved.

refs #9606
2015-08-20 16:02:25 +02:00
Eric Lippmann 62f0281a62 lib: Fix type hint of Controller::getRequest() 2015-08-20 16:00:24 +02:00
Eric Lippmann 1130e453f6 lib: Fix typos in the Form's PHPDoc 2015-08-20 15:57:52 +02:00
Eric Lippmann f9f813e50b lib: Fix PHPDoc of Form::populate() 2015-08-20 15:56:45 +02:00
Eric Lippmann 0ce4e12db8 lib: Fix type hints for Form::getElements() 2015-08-20 15:55:18 +02:00
Eric Lippmann dd23bd9397 Form: Respond w/ JSON-encoded messages if API requests fail
refs #9606
2015-08-20 15:48:42 +02:00
Johannes Meyer a77dc3665c Form: Show a spinner for ongoing form submits
This will only be shown if there's no progress label set.

refs #8369
2015-08-20 15:05:02 +02:00
Johannes Meyer 275b57cb69 Form: Allow to set a progress label
refs #8369
2015-08-20 15:04:15 +02:00
Johannes Meyer 690d60672c Introduce form element decorator Spinner
refs #8369
2015-08-20 14:34:43 +02:00
Eric Lippmann 71ff4512c3 lib/form: Bypass sent and submit handling if the form is an API target
refs #9606
2015-08-20 13:11:36 +02:00
Eric Lippmann e07cdd21ac lib: Add Request::sendJson()
refs #9606
2015-08-20 13:11:36 +02:00
Johannes Meyer 63e639caf0 Handle module identification directly in the ActionController
Fixes some issues with more complex customisations in a
module's controller.
Obsoletes: 93f8297344
2015-08-19 13:39:46 +02:00
Johannes Meyer 036da072c5 Revert "ActionController: Give modules a chance to dynamically require auth"
This reverts commit 93f8297344.
2015-08-19 13:39:46 +02:00
Eric Lippmann 1492218962 Fix SortBox not usable w/o SortRules
The SortBox assumes the first avaiable sort column as default column if the given Sortable does not implement the SortRules interface.
When changing the direction of the default sort column, the sort box did not pass the column to Sortable::sort(). Thus the Sortable did not know by which column to sort.
Now the SortBox passes the sort column even if the direction of the default column is changed.

refs #9333
2015-08-18 14:18:48 +02:00
Johannes Meyer 93f8297344 ActionController: Give modules a chance to dynamically require auth 2015-08-18 11:28:02 +02:00
Eric Lippmann e31dce97a9 Fix dispatching namespaced module controllers
refs #5786
2015-08-18 11:11:28 +02:00
Johannes Meyer e5f249270a Merge branch 'master' into feature/provide-a-complete-list-of-filter-columns-9029 2015-08-17 15:41:40 +02:00
Johannes Meyer f7b0e6956d FilterEditor: Only apply the filter if a query is set
refs #9029
2015-08-17 13:43:48 +02:00
Eric Lippmann 7252f3237a Introduce a constant for the controller namespace
refs #5786
2015-08-17 13:43:34 +02:00
Eric Lippmann 06e879f078 Throw an expcetion in our Dispatcher if the controller is not an instance of Zend_Controller_Action_Interface
refs #5786
2015-08-17 13:38:16 +02:00
Eric Lippmann e26a7fd4d1 Use Zend_Cotroller_Dispatcher_Standard::getActionMethod() in the Dispatcher
refs #5786
2015-08-17 13:34:47 +02:00
Eric Lippmann 965fee1e9e Fix 'void' method result used in the Dispatcher
refs #5786
2015-08-17 13:31:05 +02:00
Eric Lippmann 8b32edd6e9 Default to Zend's dispatcher if the controller name is empty
refs #5786
2015-08-17 13:29:47 +02:00
Eric Lippmann e8c0e97bb3 Add PHPDoc to the Dispatcher
refs #5786
2015-08-17 13:10:01 +02:00
Eric Lippmann f972a034e7 Fix license header in Dispatcher
refs #5786
2015-08-17 13:08:41 +02:00
Eric Lippmann 392eee5a1f Merge branch 'master' into feature/namespaced-controllers-5786
Conflicts:
	library/Icinga/Application/Web.php
2015-08-17 12:59:44 +02:00
Johannes Meyer 97245c5166 FilterEditor: Uppercase all words for non labelled filter columns
refs #9029
2015-08-14 15:36:54 +02:00
Johannes Meyer ca4789f114 FilterEditor: Fix automatic filter label creation
refs #9029
2015-08-13 17:20:40 +02:00
Johannes Meyer 1e6c394693 Controller: Create the filter editor in setupFilterControl() ...
...instead of demanding a concrete controller to do so.
We still have to decide how to handle parameter preservation
properly.

refs #9029
2015-08-13 17:05:13 +02:00
Johannes Meyer 63fb8dcafa FilterEditor: Do not show an empty line at the bottom of the select 2015-08-13 15:59:00 +02:00