Commit Graph

1625 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
Johannes Meyer 41b80efa0e FilterEditor: Support queries implementing the FilterColumns interface
refs #9029
2015-08-13 15:58:04 +02:00
Johannes Meyer 2e7ff7dd6e FilterEditor: Require an instance of Filterable for setQuery()
refs #9029
2015-08-13 11:35:45 +02:00
Johannes Meyer fc35f3e46b FilterEditor: Apply the filter on the query internally
refs #9029
2015-08-13 11:33:25 +02:00
Johannes Meyer 069fcc40ea FilterEditor: Accept null for method setColumns()
refs #9029
2015-08-13 11:30:26 +02:00
Johannes Meyer 9ad14fc644 FilterEditor: Accept null for method setSearchColumns()
refs #9029
2015-08-13 11:30:05 +02:00
Alexander Fuhr a9ff6eebc0 Merge branch 'master' into bugfix/cookie-support-7383 2015-08-13 11:22:14 +02:00
Alexander Fuhr 813154f6ef Cookie: Make it no static and use the request
refs #7383
2015-08-13 11:19:48 +02:00
Alexander Fuhr 2332b94f0b Request: Add getResponse() to retrieve the Response
refs #7383
2015-08-13 11:19:08 +02:00
Johannes Meyer fa1e3a763d Do not show the full layout on the login page
...

refs #9892
2015-08-13 08:12:30 +02:00
Alexander Fuhr ad8f16c185 Cookie: Set the rigth license line header
refs #7383
2015-08-11 16:37:05 +02:00
Alexander Fuhr cea3727c97 Merge conflicts 2015-08-11 16:35:14 +02:00
Eric Lippmann aa4e3c5a22 Dashboard: Defer construction of the Url object to Dashlet::getUrl()
Before, the Url object was constructed in Dashlet::setUrl() and Dashlet::__construct8) which lead to an exception when parsing a module's configuration.php from our CLI.

refs #9375
2015-08-10 14:05:08 +02:00
Eric Lippmann 1363ea4370 Menu: Defer construction of the Url object to Menu::getUrl()
Before, the Url object was constructed in Menu::setUrl() which lead to an exception when parsing a module's configuration.php from our CLI.

refs #9375
2015-08-10 14:05:00 +02:00
Johannes Meyer c7cc9e66df JavaScript: Load all available module javascript files
refs #9702
2015-08-06 15:15:02 +02:00
Johannes Meyer 9cea83242c StyleSheet: Load all available module stylesheets
refs #9702
2015-08-06 15:14:29 +02:00
Markus Frosch 083900dae0 Implement DblClickSelect as a Icinga Behavior
refs #9826
2015-08-04 14:06:33 +02:00
Eric Lippmann 688a08585b Merge branch 'master' into bugfix/error-prone-generictts-9611
Conflicts:
	modules/monitoring/application/views/scripts/show/components/downtime.phtml
2015-08-03 15:05:45 +02:00
Eric Lippmann ea5db51213 Fix "Try to get an inexistent pane." when clicking on the "Search" tab 2015-08-03 13:01:11 +02:00
Eric Lippmann 139baffdc6 lib: Make Dashboard::$tabs protected
The SearchDashboard has to override Dashboard::getTabs() in order to set up the correct tab.
2015-08-03 13:01:11 +02:00
Eric Lippmann 177fafaa56 lib: Fix TicketHook's PHPDoc
refs #9611
2015-08-03 11:05:48 +02:00
Eric Lippmann 451be1e97f monitoring/hooks: Add TicketHook::createLinks()
Instead of calling preg_replace_callback w/o error handling in our view scripts, TicketHook::createLinks() will take care of that.

refs #9611
2015-07-31 15:31:41 +02:00
Johannes Meyer 6c105b867e Form: Be less error-prone while calling array_search 2015-07-31 11:05:09 +02:00
Johannes Meyer 5345831742 SessionNamespace: Be less error-prone while calling array_search 2015-07-31 11:04:51 +02:00
Johannes Meyer 449a19c3a3 Session: Be less error-prone while calling array_search 2015-07-31 11:04:43 +02:00
Johannes Meyer 24cb123f47 Tabs: Be less error-prone while calling array_search 2015-07-31 11:04:36 +02:00
Eric Lippmann a234852f32 Merge branch 'feature/basic-auth-9660'
resolves #9660
2015-07-30 15:05:07 +02:00
Eric Lippmann 9060e8a034 lib: Only call Icinga::app()->getRequest() for getting the request outside of a controller
Saves a call to getFrontController().

refs #9660
2015-07-30 14:02:44 +02:00
Eric Lippmann 81aad9d6a6 Rename Notifiation::getMessages() to popMessages()
Because the call to popMessages()--before getMessages()--automatically resets the notification messages on the instance, popMessages() is a much better name for the method.

refs #9660
2015-07-30 13:45:39 +02:00
Eric Lippmann d545e1f7d1 lib: Don't write the empty notifications array into the session
I combined this w/ introducing some constants for notification types and PHPDoc.

refs #9660
2015-07-30 13:42:59 +02:00
Eric Lippmann 9aa1599a18 Form: Disable CSRF counter measure only on API requests
refs #9660
2015-07-30 12:04:22 +02:00
Eric Lippmann c23c7a5fa9 lib: Add Request::getIsApiRequest()
If the Accept header is set to application/json it's an API request.

refs #9660
2015-07-30 12:03:33 +02:00
Eric Lippmann db505281ee lib: Disable CSRF token on HTTP authenticated users and not XHR
refs #9660
2015-07-30 09:33:04 +02:00
Eric Lippmann 9f0e48a0a1 Don't send the X-Icinga-Module header more than once
fixes #9349
2015-07-30 09:28:05 +02:00
Matthias Jentsch 20aa17c831 Merge branch 'bugfix/selected-row-lost-after-autorefresh-8623'
fixes #8623
2015-07-29 17:30:45 +02:00
Matthias Jentsch 3e7cc299ec Fix issue that caused the refresh button to remove side bar
Do not apply base target globally for all toolbar elements, but specifically for those that should remove side-bars.

refs #8623
refs #6436
2015-07-29 17:18:52 +02:00
Thomas Gelf ba906d2fca FilterEditor: allow to set custom filter columns 2015-07-29 17:13:18 +02:00
Eric Lippmann 432efcb089 lib: Handle Response::setRerenderLayout() correctly
The header is different if it's not a redirect.

refs #9660
2015-07-29 15:08:36 +02:00
Eric Lippmann aaae7e03b4 lib: Introduce Response::setRerenderLayout()
Instead of handling response headers based on flags in our controllers, this should happen in the request for usage w/o controllers.

refs #9660
2015-07-29 14:39:45 +02:00
Eric Lippmann 91720810cc lib: Document Response::redirectAndExit()
refs #9660
2015-07-29 14:22:45 +02:00
Eric Lippmann a31c799043 lib: Introduce Response::getRequest()
refs #9660
2015-07-29 14:20:39 +02:00
Eric Lippmann 07849e0fea lib: Rename Authentication/Manager to Authentication/Auth
refs #9660
2015-07-28 17:08:55 +02:00
Eric Lippmann 7cfc78558d Merge branch 'master' into feature/secure-modules-9644
Conflicts:
	library/Icinga/Exception/IcingaException.php
2015-07-28 13:42:02 +02:00
Johannes Meyer e231ef8061 SortBox: Fix some documenation and code style issues 2015-07-28 12:04:16 +02:00
Johannes Meyer f7b35b04f4 SortBox: Properly apply sort rules and show the user the default
refs #6644
2015-07-28 12:03:50 +02:00
Eric Lippmann 78285b95a3 Make Controller::httpNotFound() variadic
refs #9644
2015-07-28 10:40:02 +02:00
Johannes Meyer 4d9aa54814 SortBox: Utilize a separate form for each control
refs #9421
2015-07-27 11:43:47 +02:00
Johannes Meyer 86ad6c48ff Form: Automatically remove query parameters only for GET forms
refs #9421
2015-07-27 08:52:33 +02:00
Eric Lippmann 8358e9165c Don't require the module permission for the default module
refs #9644
2015-07-24 15:11:21 +02:00
Thomas Gelf 727a2d7141 Paginator: relax requirements to Paginatable
* we need no full query interface here
* introduced new interface "Paginatable"

fixes #9483
2015-07-23 13:48:49 +02:00
Eric Lippmann a34ad0227f Don't load module menu entries if the authenticated user lacks the module permission
refs #9644
2015-07-23 12:59:30 +02:00
Eric Lippmann fd77c30838 Don't load module dashboards if the authenticated user lacks the module permission
refs #9644
2015-07-23 12:57:23 +02:00
Eric Lippmann e8e01257e6 Change interface of SearchDashboard to allow setting a user before calling ::search()
Because search dashlets are provided by modules, the authenticated user's module permissions have to be validated before loading search dashlets provided by modules.

refs #9644
2015-07-23 12:53:08 +02:00
Eric Lippmann b4f4ce4406 Require the module's permission for every module automatically
Module permissions are not required if authentication is disabled on the controller.

refs #9644
2015-07-23 12:51:10 +02:00
Eric Lippmann b000ae3a37 Do not require permissions if authentication is not required
refs #9644
2015-07-23 12:50:02 +02:00
Eric Lippmann aa567f8cd7 Introduce ModuleActionController::$requiresModulePermission
refs #9644
2015-07-22 14:56:02 +02:00
Eric Lippmann 13d954a956 Fix rawurlencode call 2015-07-22 13:36:25 +02:00
Eric Lippmann 52e352751e Revert "ModuleActionController: fix forward/X-Icinga-Module"
This reverts commit bf82bd4ce1.

We have a not merged branch for this.

refs #9349
2015-07-22 13:34:44 +02:00
Markus Frosch ab8e775188 Fix duplicate headers on forward() inside a controller
This avoids that the JS loader flattening arrays.

refs #9349
2015-07-22 13:34:44 +02:00
Johannes Meyer 54a77b7253 Merge branch 'master' into feature/support-for-file-uploads-8758 2015-07-22 13:30:56 +02:00
Johannes Meyer a199d36207 Stylesheet: Disable extendend @import statements provided by LESS
fixes #9687
2015-07-22 12:45:10 +02:00
Thomas Gelf bf82bd4ce1 ModuleActionController: fix forward/X-Icinga-Module 2015-07-22 10:53:42 +02:00
Johannes Meyer cecd94be50 Merge branch 'master' into feature/support-for-file-uploads-8758 2015-07-22 08:47:24 +02:00
Johannes Meyer c0de2e6ee3 Form: Add missing use statement for the ProgrammingError exception 2015-07-22 08:39:24 +02:00
Eric Lippmann ce2b686252 Add file and line of logged menu item renderer exceptions
fixes #9696
2015-07-21 16:54:23 +02:00
Johannes Meyer 8f2849f32a Form: Improve code readability..
..and avoid the necessity to provide another mock when testing
Form::handleRequest().

refs #8758
2015-07-21 16:48:56 +02:00
Johannes Meyer 7c89887773 Form: Provide an absolute url as redirect url for successful frame uploads
refs #8758
2015-07-21 16:35:56 +02:00
Johannes Meyer 6c9819204d Form: Only work with a single type when handling redirect urls
$form->setRedirectUrl('some/url') still works, but $form->getRedirectUrl()
will only return instances of Icinga\Web\Url now.
2015-07-21 16:33:24 +02:00
Johannes Meyer fc481e527b Form: Process request parameter _frameUpload
This parameter is being used to flag a request as form submission issued
by utilizing an iframe. Appending it to a form's action causes no redirection
to take place in case of successful submission and a reduced but still valid
layout to be printed in any way. Redirection must be handled by the client
regarding the meta tag "redirectUrl".

refs #8758
2015-07-21 15:22:24 +02:00
Johannes Meyer 0a9a066749 Form: Do not create a new instance of Url when returning the redirect url
We're shifting parameters and by creating a new instance we'll lose
such changes.

refs #8758
2015-07-21 15:13:56 +02:00
Johannes Meyer 47fbc24f17 Merge branch 'master' into bugfix/improve-form-notifications-8983
Conflicts:
	library/Icinga/Web/Form.php
	modules/setup/application/forms/AdminAccountPage.php
2015-07-20 15:52:10 +02:00
Johannes Meyer 2164bb86c8 Tabs: Do not create a new instance of Url when rendering the refresh url
We're shifting parameters and by creating a new instance we'll lose
such changes.

refs #8758
2015-07-16 11:27:31 +02:00
Johannes Meyer 549f36f82c Form: Do not create a new instance of Url when setting the action
We're shifting parameters and by creating a new instance we'll lose
such changes.

refs #8758
2015-07-16 11:27:02 +02:00
Johannes Meyer d192410435 Introduce GET parameter _disableLayout to ... disable the entire layout
refs #8758
2015-07-16 11:23:48 +02:00
Johannes Meyer f3c8f2229f ErrorLabeller: Provide localized output for the MimeType validator
refs #8758
2015-07-15 15:15:15 +02:00
Johannes Meyer 5b908d85bb Form: Fix notifications
* Coding style issues
* Notifications were not grouped by type
* Notifications of sub-forms were overwriting existing ones
(cherry picked from commit 147f6be714)
2015-07-01 14:26:03 +02:00
Johannes Meyer d5ba40ac19 Form: Add hint support
Hints are short messages displayed at the bottom of a form
used to describe specific aspects on how to interact with
the form.

refs #8983
2015-06-30 15:02:58 +02:00
Johannes Meyer ea6f707bdf FormDescriptions: Do not render a description for required fields
refs #8983
2015-06-30 14:28:27 +02:00
Johannes Meyer 147f6be714 Form: Fix notifications
* Coding style issues
* Notifications were not grouped by type
* Notifications of sub-forms were overwriting existing ones
2015-06-30 14:25:33 +02:00
Matthias Jentsch aecfb2eb97 Merge branch 'bugfix/multiselection-not-visible-9054'
fixes #9054
fixes #9346
2015-06-30 14:08:19 +02:00
Johannes Meyer 702a9c9523 Form: Show notifications and errors below any descriptions
They might be textually related to one or more descriptions.

refs #8983
2015-06-30 13:22:54 +02:00
Matthias Jentsch 6a7e3fe440 Document multi selection and use clearer names
refs #9054
2015-06-30 13:03:41 +02:00
Matthias Jentsch aec59d9941 Use current filter to highlight active rows instead of storing active rows in JS
Clean up selection code and move it into separate behavior and parse filter query to fetch selectable rows.

refs #9054
refs #9346
2015-06-29 18:48:42 +02:00
Johannes Meyer e795665421 Wizard: Issue a partial validation only if desired for a certain page
fixes #9306
2015-06-29 17:08:31 +02:00
Johannes Meyer ebe144c16a Form: Do not encode actions twice 2015-06-24 16:15:45 +02:00
Johannes Meyer 8448f4ade4 Revert "Tabs: Merge the action's params into the current request url's params"
This reverts commit ba4dd255ec.

fixes #9494
2015-06-24 15:27:39 +02:00
Johannes Meyer 2e375dd57c Do not bypass the view renderer when rendering benchmarks
fixes #9402
2015-06-22 13:56:41 +02:00
Johannes Meyer d36f90d8cb Navigation: Restructure authentication backend configuration
This moves the configuration tabs for user and group backends into
a dedicated menu entry called "Authentication". All tabs previously
available in this menu entry were moved into their own dedicated
menu entry as well to not to confuse users.

fixes #9398
2015-06-22 13:26:24 +02:00
Thomas Gelf cd70c27519 Merge remote-tracking branch 'origin/master' into feature/refine-ui-for-rc1-9361 2015-06-18 15:18:42 +02:00
Thomas Gelf 1f5db2f8c1 ActionController: introduce showCompact
Works like view=compact, it will allow us to "free" the "view" parameter
2015-06-18 13:41:12 +02:00
Thomas Gelf 2f62a4383a Layout: add showFullscreen parameter
refs #6729
2015-06-18 13:41:12 +02:00
Thomas Gelf 3462f0ee9a Merge remote-tracking branch 'origin/master' into feature/refine-ui-for-rc1-9361
Conflicts:
	modules/monitoring/application/views/scripts/host/history.phtml
	modules/monitoring/application/views/scripts/list/services.phtml
2015-06-18 11:26:51 +02:00
Johannes Meyer 4d06bff5e8 Merge branch 'master' into feature/Move-notifications-to-the-bottom-of-the-page-8247 2015-06-17 12:47:58 +02:00
Johannes Meyer ba4dd255ec Tabs: Merge the action's params into the current request url's params 2015-06-16 16:02:32 +02:00
Johannes Meyer 68be11b929 UrlParams: Allow conversion to an associative array 2015-06-16 16:01:42 +02:00
Thomas Gelf b3028e9988 Merge remote-tracking branch 'origin/master' into feature/refine-ui-for-rc1-9361 2015-06-16 11:49:03 +02:00
Thomas Gelf 7a18638504 Revert "Web/Menu: move "About" to config section"
Has been fixed in current master.
This reverts commit 56d67def00.
2015-06-16 11:48:40 +02:00
Johannes Meyer aa0b1d43ef Menu: Move about page into the system menu as sub-entry 2015-06-16 11:43:58 +02:00
Thomas Gelf 56d67def00 Web/Menu: move "About" to config section
This is IMO never worth a main menu entry, at least not in it's current
implementation and look-a-like.
2015-06-16 00:18:31 +02:00
Thomas Gelf 0170d9941a Merge remote-tracking branch 'origin/master' into feature/refine-ui-for-rc1-9361 2015-06-15 23:08:17 +02:00
Johannes Meyer eba862a290 view->url(): Clone $path if it's already of type Icinga\Web\Url
Avoids side effects in case of url params adjustments.

fixes #9351
2015-06-09 09:21:12 +02:00
Alexander A. Klimov 1bd18c5adb Merge branch 'feature/Show-Icinga-Web-2-s-version-in-the-frontend-9247'
resolves #9247
2015-06-08 12:40:14 +02:00
Johannes Meyer 24cb6bfc6e Form: Preserve defaults for subforms as well 2015-06-05 16:01:52 +02:00
Thomas Gelf edeb24792e CSS: move monitoring styles to monitoring module 2015-06-05 12:49:07 +02:00
Alexander A. Klimov 5b8de49cdf Link to the about page
refs #9247
2015-06-02 17:16:27 +02:00
Johannes Meyer 7213379cac AuthBackendController: Add final indexAction
Required to automatically redirect to the first permitted list action.

refs #8826
2015-06-02 11:59:04 +02:00
Johannes Meyer 00c31ffd28 RolesController: Rename to RoleController 2015-06-02 11:57:13 +02:00
Johannes Meyer cd0c418854 Merge branch 'master' into feature/user-and-group-management-8826 2015-06-02 10:44:13 +02:00
Johannes Meyer ae30a62055 ConfigController: Add tab for the user group backend configuration
refs #8826
2015-06-02 10:23:40 +02:00
Johannes Meyer cf96e66ff2 Rename permission config/application/roles* to config/authentication/...
Does also split it into *, show, add, edit, remove as this should behave like
any other authentication configuration.

refs #8826
2015-06-02 09:07:06 +02:00
Johannes Meyer 3fffd90135 Rename permission config/application/groups* to config/authentication/...
refs #8826
2015-06-02 09:04:34 +02:00
Johannes Meyer a558f2873a Rename permission config/application/users* to config/authentication/...
refs #8826
2015-06-02 09:02:57 +02:00
Johannes Meyer 46e2393074 UsergroupbackendController: Do only assert that the user has one permission
The configuration of a backend itself should not be that granular.

refs #8826
2015-06-02 08:58:21 +02:00
Eric Lippmann 44968266f6 Fix no-op searches
Depeding on the current filter, Filter::andFilter() may return a new filter object w/ the and filter applied or the and filter is applied to the object itself.
The FilterEditor did not make use of the return value of Filter::andFilter() thus resulting in no-op searches in some scenarios.
2015-06-01 17:22:52 +02:00
Johannes Meyer 7b9983de38 Merge the menu entries for users, groups and roles into "Authentication" 2015-06-01 17:16:24 +02:00
Johannes Meyer 17e7f1e754 Link the roles configuration with the user and group management
refs #8826
2015-06-01 16:43:11 +02:00
Johannes Meyer 66fd7dfd93 ConfigController: Rename applicationAction to generalAction 2015-06-01 16:35:27 +02:00
Johannes Meyer 49bb09d9d3 Add dedicated menu entries to manage users, groups and roles
refs #8826
2015-06-01 16:31:48 +02:00
Johannes Meyer c7ce1498bf Introduce menu entry "Configuration" 2015-06-01 16:10:23 +02:00
Johannes Meyer d097f7fe8f Add menu entry for the user group backend configuration
That's definitely just a placeholder...

refs #8826
2015-05-29 16:36:05 +02:00
Alexander A. Klimov 0ba4d24880 Move notifications to the bottom of the page
refs #8247
2015-05-29 14:17:12 +02:00
Eric Lippmann 31400ea16a monitoring: Fix that searching for specific columns is no longer possible if default search columns are set 2015-05-28 13:17:00 +02:00
Johannes Meyer 8713f59e66 AuthBackendController: Only show tabs the user is permitted to view
refs #8826
2015-05-27 10:38:35 +02:00
Johannes Meyer 20f0b46574 Introduce class AuthBackendController
refs #8826
2015-05-26 10:11:40 +02:00
Johannes Meyer ec556edc65 Merge branch 'master' into feature/user-and-group-management-8826 2015-05-26 09:28:35 +02:00
Johannes Meyer 4f0b4e55ef ErrorLabeller: Use an element's name if no label is set 2015-05-22 14:01:26 +02:00
Eric Lippmann 53ca68903a Merge branch 'bugfix/time-formatting-6778'
fixes #6778
2015-05-22 11:34:43 +02:00
Johannes Meyer 265725447d Merge branch 'master' into feature/user-and-group-management-8826 2015-05-22 10:06:31 +02:00
Eric Lippmann de9be044b3 lib: Provide formatDuration() in our views
refs #6778
2015-05-22 10:04:00 +02:00
Eric Lippmann 2bdb725370 Merge branch 'bugfix/monitoring-controllers-response-codes-6281'
fixes #6281
2015-05-22 09:27:51 +02:00
Eric Lippmann d2bb74a2f9 lib: Move HttpNotFoundException beneath the Http Exception namespace
refs #6281
2015-05-22 09:25:49 +02:00
Eric Lippmann 71a2324cb9 lib: Let Controller::assertHttpMethod() throw a HttpMethodNotAllowedException
refs #6281
2015-05-22 09:12:42 +02:00
Eric Lippmann dd1025119d Throw HttpNotFoundException on Controller::httpNotFound()
refs #6281
2015-05-21 16:54:00 +02:00
Eric Lippmann 54577d04bd Merge branch 'master' into bugfix/time-formatting-6778
Conflicts:
	modules/monitoring/application/views/scripts/list/comments.phtml
	modules/monitoring/application/views/scripts/list/hostgroups.phtml
	modules/monitoring/application/views/scripts/process/info.phtml
	modules/monitoring/application/views/scripts/show/components/downtime.phtml
	modules/monitoring/application/views/scripts/show/components/notifications.phtml
	modules/monitoring/public/css/module.less
2015-05-21 14:57:01 +02:00
Eric Lippmann c47465a732 lib/filter: Fix check against unset search columns
refs #8241
2015-05-21 14:04:04 +02:00
Eric Lippmann b9a6e1042d Merge branch 'master' into bugfix/Take-display_name-into-account-when-searching-for-host-and-service-names-8241
Conflicts:
	modules/monitoring/application/controllers/ListController.php
2015-05-20 17:02:49 +02:00
Johannes Meyer 71fa736144 Merge branch 'master' into feature/user-and-group-management-8826 2015-05-20 10:46:55 +02:00
Eric Lippmann 902c00e836 lib: Introduce Controller::httpNotFound()
Many actions require loading specific objects from database or any other storage.
If the object isn't found, Controller::httpNotFound($message) should be used
for immediately returning w/ HTTP 404.
2015-05-20 10:30:01 +02:00
Eric Lippmann 3d1c3609c0 lib: Add UrlParams::shiftRequired() 2015-05-20 10:30:00 +02:00
Eric Lippmann 3a2238f737 Rename UrlParams::req() to ::getRequired()
req() seems mysterious :)
2015-05-20 10:30:00 +02:00
Alexander A. Klimov cc050ed696 Display an error notification rather than throwing an exception
refs #8241
2015-05-19 17:36:24 +02:00
Alexander A. Klimov 3243f9a65a Don't handle the case $this->searchColumns === null for actions in which ::setSearchColumns() is called
refs #8241
2015-05-19 17:36:23 +02:00
Johannes Meyer fb07f0b94c Merge branch 'master' into feature/user-and-group-management-8826
Conflicts:
	library/Icinga/Authentication/Backend/LdapUserBackend.php
	library/Icinga/Protocol/Ldap/Query.php
2015-05-19 14:14:03 +02:00
Johannes Meyer bd7c7f9636 Introduce widget Paginator
This does not support custom scrolling styles as of now. Custom view
scripts are supported though. In case Paginator::getPages() does not
suffice, feel free to improve this.
2015-05-19 13:57:21 +02:00
Eric Lippmann 9edc4a129b Fix date-and-time tooltips not showing the time
refs #6778
2015-05-19 13:25:57 +02:00
Alexander A. Klimov 4f4d7ccba2 Correct PHPDoc of ::setSearchColumns() 2015-05-19 12:55:40 +02:00
Eric Lippmann f968984feb Drop the DateTimeRenderer
refs #6778
2015-05-19 12:46:08 +02:00
Eric Lippmann ab7c529094 Show the expected input format if a date-and-time input is not valid
refs #6778
2015-05-19 11:22:23 +02:00
Eric Lippmann 5cf8e2504e lib/grid: Use PHP's DateTime instead of our DateTimeFactory
I'm about to drop the DateTimeFactory because date_default_timezone_set() in combination w/ PHP's DateTime is sufficient.

refs #6778
2015-05-19 11:14:41 +02:00
Alexander A. Klimov 1ce9900c86 Add PHPDoc to ::setSearchColumns() 2015-05-19 11:12:36 +02:00
Eric Lippmann d53c3d7075 Add view helper functions for formatting, date, date and time, and time
refs #6778
2015-05-19 10:10:23 +02:00
Eric Lippmann a66cb907ae Remove dateTimeRenderer view helper
The helper is no longer used anywhere.

refs #6778
2015-05-19 10:06:19 +02:00
Eric Lippmann 1301b77547 Use DateFormatter::formatDate() for formatting the date and time tooltip in the format view helper
refs #6678
2015-05-19 10:04:17 +02:00
Eric Lippmann 9477fdcea4 Use DateFormatter's format functions in the format view helper
refs #6778
2015-05-19 09:56:20 +02:00
Matthias Jentsch 592d5eadc1 Merge branch 'feature/improve-multi-select-view-8565' 2015-05-18 16:00:52 +02:00
Eric Lippmann aaa8e4bf6a Don't render time information when the timestamp evaluates to false
refs #6778
2015-05-18 14:40:55 +02:00
Eric Lippmann 82ee1d6e60 Merge branch 'master' into bugfix/significant-whitespaces-8777
Conflicts:
	library/Icinga/Web/Widget/FilterEditor.php
2015-05-18 13:35:28 +02:00
Johannes Meyer 524c449649 Merge branch 'master' into feature/user-and-group-management-8826 2015-05-18 11:28:07 +02:00
Alexander Fuhr 2cbcea25cb Merge branch 'feature/ido-resource-validation-9203'
fixes #9214
resolves #9203
2015-05-15 15:59:18 +02:00
Johannes Meyer 99c511eefd Limiter: Do not use a hardcoded default limit 2015-05-15 15:22:22 +02:00
Johannes Meyer 9a043386de Controller: Make setupSortControl creating a Zend_Paginator on its own
We're accessing the url GET parameters `sort' and `dir' in a controller now.

fixes #8339
2015-05-15 14:37:41 +02:00
Johannes Meyer e04655e8cf Controller: Apply the user chosen sort rules when in compact view as well 2015-05-15 14:37:41 +02:00
Johannes Meyer ad8903660d Revert "SortBox::handleRequest(): set query order direction to asc if it's not given"
This reverts commit 59753acece.
2015-05-15 14:37:41 +02:00
Alexander Fuhr 9f35db71bf Form: Add typed notifications to the form
refs #9203
2015-05-15 13:04:01 +02:00
Alexander Fuhr 1eb11625ef Add new FormNotification Decorator to render form notifications
refs #9203
2015-05-15 13:02:54 +02:00
Alexander A. Klimov 59753acece SortBox::handleRequest(): set query order direction to asc if it's not given 2015-05-13 14:40:40 +02:00
Johannes Meyer aa466ae721 Merge branch 'master' into feature/user-and-group-management-8826 2015-05-13 08:11:59 +02:00
Alexander A. Klimov d43513dcac Controller: use Icinga\Data\Sortable 2015-05-12 16:38:31 +02:00
Johannes Meyer c91d3e52ac Merge branch 'master' into feature/user-and-group-management-8826 2015-05-12 15:39:02 +02:00
Alexander A. Klimov afa0dc0956 SortBox::handleRequest(): check whether $this->query !== null
refs #9220
2015-05-12 10:29:50 +02:00
Alexander A. Klimov e1c3d23d12 Icinga\Web\Controller::setupSortControl(): set query on the newly created SortBox (if given)
refs #9220
2015-05-11 16:28:23 +02:00
Alexander A. Klimov 32659647b9 Implement Icinga\Web\Widget\SortBox::handleRequest()
refs #9220
2015-05-11 16:09:20 +02:00
Alexander A. Klimov 17ebe07e57 Implement Icinga\Web\Widget\SortBox::setQuery()
refs #9220
2015-05-11 15:37:00 +02:00
Alexander A. Klimov 295254d1d5 Rename Icinga\Web\Widget\SortBox::applyRequest() to ...::setRequest()
refs #9220
2015-05-11 14:07:57 +02:00
Alexander A. Klimov 152c6a8f7f Merge Monitoring_ListController::hasBetterUrl() into Icinga\Web\Controller::init()
refs #9220
2015-05-11 13:36:58 +02:00
Matthias Jentsch 25f397042b Merge branch 'master' into feature/improve-multi-select-view-8565
Conflicts:
	modules/monitoring/application/controllers/HostsController.php
	modules/monitoring/application/controllers/ServicesController.php
	modules/monitoring/application/views/scripts/hosts/show.phtml
	modules/monitoring/application/views/scripts/list/hosts.phtml
	modules/monitoring/application/views/scripts/partials/host/objects-header.phtml
	modules/monitoring/application/views/scripts/partials/service/objects-header.phtml
	modules/monitoring/application/views/scripts/services/show.phtml
	modules/monitoring/public/css/module.less
	public/js/icinga/behavior/tooltip.js
2015-05-11 13:28:43 +02:00
Johannes Meyer f83d16acb2 RepositoryQuery: Do not lose the repository context during pagination
refs #8826
2015-05-07 14:45:47 +02:00
Johannes Meyer d171dd2ec9 Introduce controller UserController
Still only able to list users, more to follow...

refs #8826
2015-05-04 17:04:50 +02:00
Alexander A. Klimov ab0b478e4f Icinga\Web\Widget\Tabextension\DashboardAction::apply(): translate label "Add To Dashboard" 2015-04-30 17:49:42 +02:00
Alexander A. Klimov ffe23a184f Don't display "Add To Dashboard" on the dashboard
resolves #9026
2015-04-30 17:47:23 +02:00
Alexander Fuhr 7f28c0a237 Implement ProblemMenuItemRenderer
refs # 4139
2015-04-30 16:06:05 +02:00
Alexander A. Klimov 9cd7765d9e If session_save_path() returns '', use sys_get_temp_dir()
resolves #8994
2015-04-22 17:26:15 +02:00
Thomas Gelf d3964a31fb MenuItemRenderer: add missing use clause
Otherwise this completely broke Icinga Web as soon as a single module
used a legacy icon.

refs #7658
2015-04-20 21:49:45 +02:00
Alexander A. Klimov d6e7061de3 Implement Icinga\Web\Widget\FilterEditor::setSearchColumns() for specifying custom search columns 2015-04-20 18:01:48 +02:00
Alexander Fuhr 5f3aafd3bd Merge branch 'bugfix/menu-item-renderer-deduplication-7658'
fixes #7658
2015-04-20 17:15:21 +02:00
Alexander Fuhr 9ebf4742de Use the MenuItemRenderer render() implemnetations
refs #7658
2015-04-20 17:07:34 +02:00
Alexander Fuhr 4eb5f75c62 Use default MenuItemRenderer as renderer if no custom renderer is set
refs #7658
2015-04-20 17:04:46 +02:00
Alexander Fuhr f543321ac4 Replace MenuItemRenderer interface with a base class MenuItemRenderer
refs #7658
2015-04-20 17:02:42 +02:00
Johannes Meyer da7aa23820 Merge branch 'master' into bugfix/make-all-views-dashboard-compliant-7876 2015-04-20 15:20:23 +02:00
Alexander Fuhr 7bc07c4368 Force absolute nampesace for module menu item renderer
refs #7642
2015-04-20 13:21:37 +02:00
Alexander Fuhr a9819907ed Add namespaced item renderer class loader
refs #7642
2015-04-20 13:08:49 +02:00
Alexander Fuhr 593ea7add5 Move monitoring module renderers from global module to monitoring module
refs #7642
2015-04-20 13:02:12 +02:00
Johannes Meyer 54a370ca22 Merge branch 'master' into bugfix/make-all-views-dashboard-compliant-7876 2015-04-20 11:15:04 +02:00
Johannes Meyer 2bd31ee395 Icinga\Web\Controller: Add helper functions to create control widgets
refs #7876
2015-04-17 16:08:41 +02:00
Johannes Meyer b52b507134 FilterEditor: Fix css 2015-04-17 10:05:48 +02:00
Matthias Jentsch 6898a4e0d5 Display icon tooltips without delay
Original functionality was broken when changing the icon library.
2015-04-16 18:32:47 +02:00
Matthias Jentsch 168577ff33 Use icon instead of the letter 'X' in close tab 2015-04-16 18:32:47 +02:00
Eric Lippmann ff45faf123 lib: Remove prefixedTimeUntil()
refs #6778
2015-04-15 15:47:58 +02:00
Eric Lippmann 44c8d37288 lib: Remove prefixedTimeSince()
refs #6778
2015-04-15 15:47:10 +02:00
Eric Lippmann 796cbffbd7 Merge branch 'master' into bugfix/time-formatting-6778
Conflicts:
	modules/monitoring/application/views/scripts/show/components/notifications.phtml
2015-04-15 15:43:39 +02:00
Johannes Meyer 675d070b86 Set the view property `compact' exactly once
refs #7876
2015-04-15 15:33:00 +02:00
Johannes Meyer ed2de3c4d0 Fix SortBox widget
refs #7876
2015-04-15 14:20:36 +02:00
Johannes Meyer d882ea11b4 Avoid to set an empty redirect url parameter when accessing icinga web 2 2015-04-15 11:00:47 +02:00
Johannes Meyer 638c00d685 Merge branch 'master' into feature/non-collated-ido-queries-8613 2015-04-13 15:55:32 +02:00
Eric Lippmann 5a46821d91 Rename timeago, timesince and timeuntil CSS classes to time-ago, time-since and time-until
refs #6778
2015-04-10 14:19:08 +02:00
Alexander A. Klimov a817d9070e Move setupSortControl() from Monitoring_ListController to Icinga\Web\Controller 2015-04-10 11:36:25 +02:00
Eric Lippmann 3ec6caa15b lib: Add timeAgo to views
refs #6778
2015-04-10 09:56:39 +02:00
Johannes Meyer 55e9407371 Use `service' instead of `service_description' when searching for services
refs #8613
2015-04-08 14:57:30 +02:00
Johannes Meyer e94c99e20e Use `host' instead of `host_name' when searching for hosts
refs #8613
2015-04-08 14:57:08 +02:00
Eric Lippmann 45d1230b28 Merge branch 'master' into bugfix/significant-whitespaces-8777 2015-04-08 10:19:53 +02:00
Eric Lippmann a185107927 Trim off leading whitespaces from filter values when searching
Because whitespaces may be used when searching for entities using the query string format "column = value" we have to trim off leading whitespaces from filter values.
This loses the possibility for search for entities with leading whitespaces of course.

refs #8777
2015-04-08 10:14:42 +02:00
Johannes Meyer 9596b4fdf7 Form: Make it possible to preserve default values during (auto)submission 2015-04-07 15:07:36 +02:00
Alexander Klimov 967a2e82dc Use (only) "@return $this" in fluent interfaces' documentation 2015-04-07 14:24:11 +02:00
Eric Lippmann 6b63f3d8a2 Merge branch 'feature/require-mandatory-params-8886'
resolves #8886
2015-04-07 13:06:43 +02:00
Eric Lippmann dfd8c91827 Add PHPDoc to ActionController::$params 2015-04-07 12:25:46 +02:00
Eric Lippmann 93b1a35de0 lib: Add UrlParams::req()
UrlParams::req() should be used for requiring a mandatory URL parameter.

refs #8886
2015-04-07 12:17:59 +02:00
Alexander Klimov e32eeb991e Implement Icinga\Web\Widget\SortBox::create() 2015-04-07 11:37:06 +02:00
Alexander Klimov 57ed849cee Icinga\Web\Widget\SortBox::applyRequest(): return $this 2015-04-07 11:26:16 +02:00
Matthias Jentsch 5619ac960c Add inline pies to host and service back to multi-select views
Add old inline pie code and visualize handled/unhandled state.

refs #8565
2015-04-02 16:25:20 +02:00
Matthias Jentsch 9fbd7822d0 Fix coding guideline violations 2015-03-31 17:41:57 +02:00
Matthias Jentsch 5383999ef7 Add warning to links that open in a new window
Add warning on mouseover / focus as recommended by as recommended by WCAG20 G201

refs #7937
2015-03-19 10:49:28 +01:00
Thomas Gelf 63f87da53d Session: reworked to avoid duplicate notifications
* clear session on initialization, store once on shutdown
* less static method calls
* fixes erraneous cli checks
2015-03-13 14:10:27 +01:00
Eric Lippmann e36c430bb3 Merge branch 'feature/protected-menu-8720'
resolves #8720
2015-03-13 04:26:19 +01:00
Eric Lippmann 200982e4f5 Set form action automatically only if Form::setAction() has not been called
refs #8605
2015-03-13 03:59:43 +01:00
Eric Lippmann 03f78a06fb Optimize imports in the SearchDashboard
refs #8668
2015-03-12 18:48:59 +01:00
Eric Lippmann dc6b472ec9 Don't create search dashlets if the search string is empty
refs #8668
2015-03-12 18:47:34 +01:00
Eric Lippmann 515fe3249f Fix PHPDoc of SearchDashboard::search()
refs #8668
2015-03-12 18:44:23 +01:00
Eric Lippmann 77cd48e6fe We do not use the @package tag 2015-03-12 18:11:33 +01:00
Eric Lippmann 6c5a6215ef Render search results based on their priority
refs #8668
2015-03-12 18:11:06 +01:00
Eric Lippmann 29d5fd351b Merge branch 'bugfix/logout-external-8626'
fixes #8626
2015-03-12 16:47:49 +01:00
Eric Lippmann 8563d5ed3f PHPDoc: Use @var instead of @type
Becasue of too many kittens PSR-5 backed off of deprecating @var.
So that's the way we go too.
2015-03-12 16:08:47 +01:00
Eric Lippmann 90971f2caf Revert "Merge branch 'feature/organize-headings-7976'"
This reverts commit ea2a17a76c, reversing
changes made to e72de8dfe1.

refs #7976
fixes #8647
2015-03-12 16:08:34 +01:00
Eric Lippmann 093dfd627e Security: Hide config menu items if the user lacks the required permission
refs #8720
2015-03-12 15:45:33 +01:00
Eric Lippmann da16bfcef3 Security: Use PermittedMenuItemFilter in the MenuRenderer
refs #8720
2015-03-12 15:45:30 +01:00
Eric Lippmann e6a60e214c lib: Add PermittedMenuItemFilter ...
... for iterating over menu items the user is allowed to display

refs #8720
2015-03-12 15:45:27 +01:00
Eric Lippmann 0c30356d52 Add Menu::getPermission() and Menu::setPermission()
Those two functions are required for filtering menu items based on a user's grants.

refs #8720
2015-03-12 15:44:43 +01:00
Eric Lippmann 749957c3b4 Fix too greedy __SELF__ login redirect on XHR
I introduced this bug some commits earlier. We only must redirect to __SELF__ on XHR
if a redirect URL was set.

refs #8626
2015-03-12 00:57:03 +01:00
Eric Lippmann 2f752ed1ac Respond with HTTP status code 403 when an XHR requires authentication
refs #8626
2015-03-11 22:32:04 +01:00
Eric Lippmann bc1336b6f9 Fix stupid code in ActionController::redirectToLogin()
refs #8626
2015-03-11 21:49:20 +01:00
Eric Lippmann 4ebfbf83ab Leave note about __SELF__ in our action controller
refs #8626
2015-03-11 21:40:14 +01:00
Johannes Meyer ba0154ab79 Tab: Use the title as caption if there is no label set yet 2015-03-11 10:21:06 +01:00
Johannes Meyer 2cf09ebc48 Revert "LdapResourceForm: Validate the host field and do not require a port"
This reverts commit a34d6026b3.

refs #7990
2015-03-11 08:00:20 +01:00
Johannes Meyer a34d6026b3 LdapResourceForm: Validate the host field and do not require a port
fixes #7990
2015-03-10 15:03:48 +01:00
Johannes Meyer d0383a241e Use date and mktime instead of cal_days_in_month to count a month's days
fixes #8637
2015-03-10 12:30:22 +01:00
Louis Sautier 083c1a9e6b Fix some spelling errors in comments and messages
fixes #8633

Signed-off-by: Gunnar Beutner <gunnar@beutner.name>
2015-03-08 15:32:22 +01:00
Johannes Meyer 6cfa958bb8 Allow setting `requirement' on form elements
It's supposed to be used as description what
kind of value an element will accept.

refs #7947
2015-03-06 08:53:34 +01:00
Johannes Meyer b9811f8590 Form: Do not set the requiredSuffix as option but use its virtual setter
This removes the invalid attribute on each <label> tag once the
FormDescriptions decorator removes the suffix.

refs #7947
2015-03-05 15:13:38 +01:00
Johannes Meyer b8eedc21bb Form: Explicitly set subform decorators
refs #7947
2015-03-05 15:12:02 +01:00
Johannes Meyer 764f125778 Make the FormDescriptions decorator able to handle sub forms
refs #7947
2015-03-05 15:08:30 +01:00
Johannes Meyer ff263946c8 Form: Fix translation domain detection while running unit tests 2015-03-04 09:38:00 +01:00
Johannes Meyer e2887df03e Form: It's a field, not a control 2015-03-03 15:01:09 +01:00