Commit Graph

2977 Commits

Author SHA1 Message Date
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 d4de7c0519 lib: Make Loader::registerNamespace() fluent
refs #5786
2015-08-17 13:29:15 +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 59e7731efb RepositoryQuery: Implement interface FilterColumns
refs #9029
2015-08-13 14:21:39 +02:00
Johannes Meyer bcdb670f5c Introduce interface Icinga\Data\FilterColumns
refs #9029
2015-08-13 14:21:11 +02:00
Johannes Meyer 38622e96d5 Repository: Allow implementations to provide search columns
refs #9029
2015-08-13 14:20:21 +02:00
Johannes Meyer 4b6849eea7 Repository: Introduce query column blacklists
We can no longer use $filterColumns to blacklist query columns so
there is now another set of column names required to achieve this.

refs #9029
2015-08-13 14:06:27 +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 1495cf5d04 Merge branch 'bugfix/icingacli-no-request-object-9375'
fixes #9375
2015-08-11 09:20:59 +02:00
Matthias Jentsch 438f2650db Conform to coding guidelines
Use exclusively getters and setters for accessing class variables. Add better documentation to INI parser and writer classes.
2015-08-10 15:15:40 +02:00
Matthias Jentsch fe805c82ca Support multi line values in INI files 2015-08-10 15:15:40 +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
Eric Lippmann b0a75dd89b lib: Fix PHPDoc in ConfigObject 2015-08-10 13:25:08 +02:00
Johannes Meyer 282aaa6e5b Load additional static files for modules, really
Since we're only processing the config script upon calling
Module::hasJs/Css() if no module.js or module.css exists,
we need to ensure that it's processed when calling
Module::getJS/CssFiles().

refs #9702
2015-08-10 10:00:02 +02:00
Matthias Jentsch aa3cc9847d Fix issue that bricked the dashboard when quotes in dashlets
Escape more special chars in IniWriter, support reading escaped readers in IniParser and add tests for all important escape cases.
2015-08-07 12:55:19 +02:00
Matthias Jentsch 308c8ccf79 Fix issue that caused exceptions when using sections with trailing or leading whitespaces
Trim all incoming section identifier to prevent ambiguities between parsd sections and input sections.
2015-08-07 09:26:50 +02:00
Matthias Jentsch eebd8be746 Prevent configuration changes that would break PHP lib ini parser 2015-08-06 17:39:46 +02:00
Matthias Jentsch 9b373e9d10 Fix issue that caused IniWriter to fail on empty configs 2015-08-06 17:21:52 +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
Johannes Meyer 712d545f48 Module: Allow to define additional Javascript files
refs #9702
2015-08-06 15:10:54 +02:00
Johannes Meyer 51aa22d429 Module: Allow to define additional CSS/LESS files
refs #9702
2015-08-06 15:10:33 +02:00
Johannes Meyer 59ef54314a Extend the Web bootstrapper from the EmbeddedWeb bootstrapper
In a embedded web environment we may also need a request and response.

refs #9702
2015-08-06 15:08:41 +02:00
Johannes Meyer 0695d5900c Merge branch 'master' into feature/less-costly-count-queries-for-history-views-8615 2015-08-06 13:11:28 +02:00
Eric Lippmann 528382098e db: Respect group by for count queries, really
Missed that Johannes introduced DbQuery::getGroup().

refs #9828
2015-08-06 10:46:40 +02:00
Johannes Meyer 7662545c2a SimpleQuery: Provide a getter for the current iterator position
refs #8615
2015-08-06 09:39:23 +02:00
Matthias Jentsch 60675979bc Merge branch 'bugfix/creating-dashlet-with-parentheses-9530'
fixes #9530
2015-08-05 18:22:29 +02:00
Matthias Jentsch f8e2dc850c Drop IniEditor and clean up IniWriter
Replace the ini editor code with a new parser implementation that manipulates a DOM. Do not support capabillities that are no longer needed, like nested configurations, section inheritance, section-less properties.
2015-08-05 18:10:17 +02:00
Johannes Meyer a0d5509f19 DbQuery: Drop attribute $maxCount
It's not used anywhere and completely useless the way it's implemented.
2015-08-05 10:54:14 +02:00
Eric Lippmann 064e821383 lib: Fix wrong count for queries having a group by clause
fixes #9828
2015-08-04 16:25:34 +02:00
Matthias Jentsch 28e1b3119c Remove unused "extends"-code 2015-08-04 15:14:10 +02:00
Alexander Fuhr c3fe14a205 Modules/Manager: Fix that non-existent modules can be disabled
fixes #9374
2015-08-04 14:34:30 +02:00
Markus Frosch 083900dae0 Implement DblClickSelect as a Icinga Behavior
refs #9826
2015-08-04 14:06:33 +02:00
Matthias Jentsch 7095ad5bc7 Improve ini editor and dashlet input validation 2015-08-04 13:23:30 +02:00
Matthias Jentsch d88c628b6b Escape section names before applying regex
refs #9530
2015-08-04 13:14:46 +02:00
Johannes Meyer d1917ad2b4 Merge branch 'master' into bugfix/do-not-use-count-queries-for-emptiness-checks-9632
Conflicts:
	modules/monitoring/application/views/scripts/service/history.phtml
2015-08-03 16:46:27 +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
Johannes Meyer 9a0e47a3e1 SimpleQuery: Add method hasResult()
refs #9632
2015-08-03 14:49:33 +02:00
Johannes Meyer dbc2f98053 SimpleQuery: Initialize self::$iteratorPosition as late as possible
refs #9632
2015-08-03 14:09:55 +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 99c69cc461 SimpleQuery: Add support for peek aheads
refs #9661
2015-07-31 13:51:39 +02:00
Johannes Meyer fe41d312ca RepositoryQuery: Do not bypass the query's own iterator
refs #9661
2015-07-31 13:12:41 +02:00
Johannes Meyer 16e54d3987 DbQuery: Be less error-prone while calling array_search 2015-07-31 11:05:23 +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
Johannes Meyer 316a4d8b82 Merge branch 'master' into bugfix/allow-to-configure-how-to-manage-groups-9609 2015-07-30 16:16:04 +02:00
Eric Lippmann a234852f32 Merge branch 'feature/basic-auth-9660'
resolves #9660
2015-07-30 15:05:07 +02:00
Eric Lippmann feed927fd2 Let external auth win over session auth and session auth over http auth
refs #9660
2015-07-30 14:50:05 +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 55ad2dd65f Don't fail if password contains a colon on basic auth
refs #9660
2015-07-30 13:59:47 +02:00
Eric Lippmann c594d6db33 Challenge client on invalid basic access auth credentials
refs #9660
2015-07-30 13:59:18 +02:00
Eric Lippmann 42d698a6b3 lib: Add Web::getResponse()
Use this method for retrieving the response object outside a controller.

refs #9660
2015-07-30 13:47:54 +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 3aae37aff3 Don't redirect on external auth
refs #9660
2015-07-30 12:02:42 +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 36ff2d8914 lib: Set User::$isHttpUser in Auth
refs #9660
2015-07-30 09:32:24 +02:00
Eric Lippmann 775f8cced6 lib: Introduce User::$isHttpUser
refs #9660
2015-07-30 09:31:58 +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
Eric Lippmann cf8c680482 lib: Add basic access authentication (WIP)
refs #9660
2015-07-29 17:22:55 +02:00
Eric Lippmann ce2a196c4a lib/Web: Set up request before setting up the user
refs #9660
2015-07-29 17:22:10 +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 db48a944e3 lib: Introduce Web::getRequest()
Basic auth will need the request before we set up the front controller.

refs #9660
2015-07-29 16:27:48 +02:00
Johannes Meyer fb7666e6bd LdapUserGroupBackend: Adjust usage of LdapCapabilities::hasAdOid()
Usage search ftw..
2015-07-29 16:26:39 +02:00
Eric Lippmann c3a057dbdb lib: Add AuthChain::setSkipExternalBackends() in favor of setIteratorMode()
There's only one mode.

refs #9660
2015-07-29 16:18:30 +02:00
Eric Lippmann 3ca85f9daa lib: Add Auth::getRequest()
Basic auth will require the request.

refs #9660
2015-07-29 15:56:45 +02:00
Eric Lippmann 96e3111f58 lib: Reorder functions in Auth
refs #9660
2015-07-29 15:52:56 +02:00
Eric Lippmann e7c7486097 lib: Fix PHPDoc in User
refs #9660
2015-07-29 15:46:53 +02:00
Eric Lippmann 37ef87b9ab lib: Fix PHPDoc in ExternalBackend
refs #9660
2015-07-29 15:46:40 +02:00
Eric Lippmann 1b5c5deace lib: Rename remote user to external user
We renamed our backend. Code now reflects this.

refs #9660
2015-07-29 15:44:32 +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
Johannes Meyer 3f7081296b Merge branch 'master' into bugfix/allow-to-configure-how-to-manage-groups-9609 2015-07-29 15:02:20 +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 ae4b7144cd lib: Implement Auth::getAuthChain()
Saves one use statement for auth chain usages.

refs #9660
2015-07-29 14:14:19 +02:00
Eric Lippmann 745e30259d lib: Implement AuthChain::authenticate()
Right now the LoginController has all the authentication which is kind of a mess. Further, the upcoming basic access authentication has to reuse this code.
Thus AuthChain::authenticate() is introduced to handle both cases.

refs #9660
2015-07-29 14:11:54 +02:00
Johannes Meyer 13edbf901d UserBackend: Implement interface ConfigAwareFactory
refs #9609
2015-07-29 13:44:26 +02:00
Johannes Meyer 83aafe8cda Allow to discover LDAP connections in the wizard as well
...
2015-07-29 09:26:53 +02:00
Eric Lippmann 4d44a0625c lib: Move UserBackendInterface::authenticate() to new interface Authenticatable
refs #9660
2015-07-29 09:25:14 +02:00
Eric Lippmann 2a4e614b5e Fix code style in AuthChain
refs #9660
2015-07-28 19:55:26 +02:00
Eric Lippmann 07849e0fea lib: Rename Authentication/Manager to Authentication/Auth
refs #9660
2015-07-28 17:08:55 +02:00
Eric Lippmann d2467fee16 Merge branch 'feature/secure-modules-9644'
resolves #9644
2015-07-28 14:00:27 +02:00
Eric Lippmann 47925d0fa0 lib: Make BaseTestCase abstract
Else phpunit tries to run the "test" though it shouldn't :)
2015-07-28 13:58:23 +02:00
Eric Lippmann fe73d6de83 Remove superfluous whitespaces in IcingaException
refs #9644
2015-07-28 13:46:32 +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
Matthias Jentsch c8d065b3e0 Accept DbUserBackends with only one single user
fixes #9739
2015-07-28 12:41:08 +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
Johannes Meyer d0dd4b09a0 Repository: It's "sort rules" in general, not "default sort rules" 2015-07-28 11:42:13 +02:00
Johannes Meyer 05af310e4c RepositoryQuery: Implement interface SortRules
refs #6644
2015-07-28 11:41:07 +02:00
Johannes Meyer cdc2182430 Introduce interface SortRules
refs #6644
2015-07-28 11:40:27 +02:00
Eric Lippmann b84650dd4b Document variadic function IcingaException::__construct properly
refs #9644
2015-07-28 10:45:00 +02:00
Eric Lippmann a68c05da7f lib: Require a message when throwing IcingaExceptions
refs #9644
2015-07-28 10:43:17 +02:00
Eric Lippmann 78285b95a3 Make Controller::httpNotFound() variadic
refs #9644
2015-07-28 10:40:02 +02:00
Eric Lippmann 2c8235d486 lib: Introduce IcingaException::create()
refs #9644
2015-07-27 16:25:41 +02:00
Johannes Meyer 9cc7b45458 Merge branch 'master' into bugfix/separate-sort-controls-9421 2015-07-27 11:50:05 +02:00
Johannes Meyer 4d9aa54814 SortBox: Utilize a separate form for each control
refs #9421
2015-07-27 11:43:47 +02:00
Matthias Jentsch a14da1c558 Make sure to log inspection messages into message log too
refs #9641
2015-07-27 09:44:07 +02:00
Johannes Meyer 86ad6c48ff Form: Automatically remove query parameters only for GET forms
refs #9421
2015-07-27 08:52:33 +02:00
Johannes Meyer 982e226db0 IcingaException: Add utility method to format exceptions as one-liner 2015-07-24 16:19:20 +02:00
Johannes Meyer c1a3d205bc Show more details about unhandled exceptions in the CLI
fixes #9646
2015-07-24 15:58:32 +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
Eric Lippmann 149a974a44 Fix coding style in Module.php
refs #9644
2015-07-24 15:06:25 +02:00
Eric Lippmann 519d025de5 Allow to get permissions and restrictions from unloaded modules
refs #9644
2015-07-24 14:24:48 +02:00
Eric Lippmann 444fdadf13 Allow to get unloaded modules via Manager::getModule()
refs #9644
2015-07-24 14:23:48 +02:00
Eric Lippmann ec1ddd82b3 Move Module::__construct to the top of the function list
refs #9664
2015-07-24 14:19:17 +02:00
Johannes Meyer 56759e7f21 Merge branch 'master' into feature/ldap-auth-backend-discovery-9602 2015-07-24 10:52:14 +02:00
Eric Lippmann 12856da971 Merge branch 'bugfix/filter-custom-variables-9692'
fixes #9692
2015-07-24 09:27:05 +02:00
Johannes Meyer f06be5c9bc LdapConnection: Let self::bind() return $this 2015-07-23 17:34:09 +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 5dcc307e87 Add namespace for module permissions to the module manager
refs #9644
2015-07-22 14:59:35 +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
Eric Lippmann 15cb24c6dc Throw an exception in IdoQuery::getCustomvarColumnName() in case the custom variable has not been joined
Queries extending IdoQuery and using the method getCustomvarColumnName() must be notified in case the custom variable has not been joined.

refs #9692
2015-07-22 12:03:34 +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
Matthias Jentsch 5478027855 Bring back user count in ldap backend inspection
We already use count later in the wizard anyways.

refs #9630
2015-07-16 16:52:56 +02:00
Matthias Jentsch e357960d1e Add Inspection API to DB backend
refs #9641
2015-07-16 16:16:55 +02:00
Matthias Jentsch f4054d575b Add Inspection API to db connection
refs #9641
2015-07-16 15:29:45 +02:00
Matthias Jentsch c55ba6dff4 fix coding guideline violations 2015-07-16 13:51:35 +02:00
Matthias Jentsch ffe672c252 Improve message texts and scalabillity
Always start uppercase and don't use count() function until we've got a more scalable implementation in the LdapConnection.

refs #9630
2015-07-16 13:51:26 +02:00
Matthias Jentsch 6b8e5da76d Move all assertion functions into the inspect functions
Reduce code duplication and add class Inspection

refs #9630
2015-07-16 12:21:11 +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
Matthias Jentsch 59c4f8d056 Use Inspection API in User Backend Form
refs #9630
2015-07-15 19:35:25 +02:00
Matthias Jentsch cf8b760ade Use Inspection API in LdapResourceForm
refs #9630
2015-07-15 19:33:47 +02:00
Matthias Jentsch 276aa43aa2 Upgrdae Inspection API again
Do not use InspectionException any more to reduce complexity of nested inspections, but keep error states
in the Inspection object itself.

refs #9630
2015-07-15 18:39:09 +02:00
Matthias Jentsch 6762ef053e Upgrade Inspection API
Reduce code duplication and stateffullnes by using InspectionException to indicate that an error was thrown, and only using one inspect function.

refs #9630
2015-07-15 17:51:18 +02:00
Matthias Jentsch 774d6ce94a Fix invalid function call in getCapabilities caused by refactoring 2015-07-15 15:36:32 +02:00
Johannes Meyer f3c8f2229f ErrorLabeller: Provide localized output for the MimeType validator
refs #8758
2015-07-15 15:15:15 +02:00
Matthias Jentsch af58d6964b Fix isEncrypted function broken by refactaring
refs #9608
2015-07-15 12:23:30 +02:00
Matthias Jentsch 7daa97a166 Clean up unneded code
Remove the now useless error handling cases in case encryption wasn't successful.

refs #9608
2015-07-15 11:31:56 +02:00
Matthias Jentsch 3b8b5b0022 Revert accidentally commited unneded changes 2015-07-15 11:16:06 +02:00
Matthias Jentsch 212111511a Fix violations of coding guidelines 2015-07-15 10:32:54 +02:00
Matthias Jentsch 84899e3e56 Revert some unneeded changes
refs #9605
2015-07-15 09:56:18 +02:00
Matthias Jentsch f4d8bfc309 Display connection test info when inspecting LdapConnections
refs #9605
2015-07-14 18:36:26 +02:00
Matthias Jentsch 3ddb8ca1bd Add abillity to discover AD version and vendor name to discovery
refs #9605
2015-07-14 18:32:44 +02:00
Matthias Jentsch 40d432100b Add a function to test the connection health
refs #9605
2015-07-14 18:29:58 +02:00
Matthias Jentsch 6599940e6c Introduce Interface for inspecting ldap connections
refs #9605
2015-07-14 12:30:16 +02:00
Johannes Meyer 23f7570ce0 LdapConnection: Don't run a discovery when preparing a new connection
fixes #9179
2015-07-10 10:45:10 +02:00
Johannes Meyer a8ac420897 LdapConnection: Establish a connection lazily 2015-07-10 09:51:39 +02:00
Johannes Meyer f5089dab1a DbUserGroupBackend: Use is_numeric() instead of is_int()
Using MySQL fetchColumn() returns integers for id fields, using MariaDB
though, fetchColumn() returns strings..

fixes #9572
2015-07-07 14:07:55 +02:00
Johannes Meyer caca219aa1 DbRepository: Consider table aliases while handling statement columns
Usually not required as there are no aliases for statements possible
but since we cannot differentiate everywhere what type of column
we're processing it is safer to always handle such.

fixes #9553
2015-07-03 13:06:10 +02:00
Johannes Meyer 066b3d9e28 ApplicationConfigForm: Make preference options be global options
refs #8709
2015-07-01 15:41:45 +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 cfd43f251e Revert "Sortable: Allow to check for a particular sort rule"
This reverts commit ae21baa41e.
2015-06-26 15:13:46 +02:00
Johannes Meyer 0fc8e6046c RepositoryQuery: Update sort order when converting sort rules in fetchAll 2015-06-26 15:13:31 +02:00
Johannes Meyer 0bcf7907d4 RepositoryQuery: Optimize value conversion in fetchColumn & -Pairs 2015-06-26 15:11:15 +02:00
Johannes Meyer ae21baa41e Sortable: Allow to check for a particular sort rule 2015-06-26 14:54:15 +02:00
Johannes Meyer 9055eb9cb7 RepositoryQuery: Do not sort by converted columns for limited queries
A limited query with conversion rules makes it impossible to sort
the result.
2015-06-26 14:24:03 +02:00
Johannes Meyer 56c506c8af SimpleQuery: Do not report to have a limit if there is none 2015-06-26 14:21:09 +02:00
Johannes Meyer 5d3eb5e8cb Repository: Allow to check for conversion rules of a specific column 2015-06-26 14:20:35 +02:00
Johannes Meyer 4ba84903f1 Repository: Accept already resolved columns as well
If a column was aliased, one was required to use the alias when
selecting, sorting or filtering. This is now not necessary anymore
as it's now possible to use the actual column name as well.
2015-06-26 13:07:21 +02:00
Johannes Meyer f956d09597 LdapConnection: Fetch attributes required for sorting the results 2015-06-25 15:51:19 +02:00
Johannes Meyer 6ff15acc1b LdapConnection: Fix that fetchColumn() returns results unordered 2015-06-25 15:50:15 +02:00
Johannes Meyer ca112af9ad RepositoryQuery: Allow to ignore any default sort rules 2015-06-25 15:49:09 +02:00
Johannes Meyer 3dddee8b7d Setup: Fix authentication backend validation
This is a ridiculous dirty fix. We'll definitely need to
improve how we create authentication backends...

fixes #9509
2015-06-25 14:36:51 +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 98b01207cf Show intersecting ok-states as well in the default servicegrid view
fixes #9360
2015-06-24 14:37:07 +02:00
Johannes Meyer 9595809dfa SimpleQuery: Deep clone the filter when cloning the query 2015-06-24 14:33:11 +02:00
Johannes Meyer 3c47ef6826 Ldap\Exception: Rename to LdapException
refs #8954
2015-06-24 09:19:41 +02:00
Johannes Meyer 5dea14f04b Ldap\Query: Rename to LdapQuery
refs #8954
2015-06-24 09:14:25 +02:00
Johannes Meyer c3ad7b211a Ldap\Connection: Rename to LdapConnection
refs #8954
2015-06-24 09:05:29 +02:00
Johannes Meyer 7921e62a0c Ldap\Connection: Fix existing documentation
Part #2

refs #8954
2015-06-23 17:38:19 +02:00
Johannes Meyer f234b3b768 Ldap\Connection: Re-organize some methods..
..and add some missing documentation.

refs #8954
2015-06-23 17:37:10 +02:00
Johannes Meyer 372ca8859e Ldap\Connection: Some coding style fixes
refs #8954
2015-06-23 17:27:30 +02:00
Johannes Meyer 7640284564 Ldap\Connection: Add missing documentation
Part #2

refs #8954
2015-06-23 17:23:47 +02:00
Johannes Meyer b25bf4838b Ldap\Connection: Re-organize some properties
lowerCamelCase, initialisation in __construct, and stuff..

refs #8954
2015-06-23 17:22:26 +02:00
Johannes Meyer 9b0ac3000a Ldap\Connection: Drop unused property $count
refs #8954
2015-06-23 17:17:53 +02:00
Johannes Meyer 02ee460c08 Ldap\Connection: Fix existing documentation
Part #1

refs #8954
2015-06-23 17:12:24 +02:00
Johannes Meyer 778bf376b2 Ldap\Connection: Add missing documentation
Part #1

refs #8954
2015-06-23 17:06:35 +02:00
Johannes Meyer c32f9ae735 Ldap\Connection: Drop parameter $fields from method fetchDn() 2015-06-23 15:56:29 +02:00
Johannes Meyer 87e31f497e Ldap\Connection: Rename method deleteDN() to deleteDn() 2015-06-23 15:21:32 +02:00
Johannes Meyer 3f5cd4b670 Ldap\Connection: Rename method getDN() to getDn() 2015-06-23 15:16:53 +02:00
Johannes Meyer 56cb4c28c4 Ldap\Connection: Rename method hasDN() to hasDn() 2015-06-23 15:11:11 +02:00
Johannes Meyer 759e243d90 Ldap\Connection: Add method fetchPairs() 2015-06-23 15:05:47 +02:00
Johannes Meyer ac7a7e6674 Ldap\Connection: Add method fetchColumn() 2015-06-23 15:05:03 +02:00
Johannes Meyer 197861efda Ldap\Connection: Do not suppress errors for failed credential tests 2015-06-23 14:12:01 +02:00
Johannes Meyer 9d6d76a26d Ldap\Connection: Return false if nothing is found for fetchOne()
This should behave like DbConnection::fetchOne().

refs #8954
2015-06-23 12:41:50 +02:00
Johannes Meyer 6d8c56a12f Ldap\Connection: Return false if nothing is found for fetchRow()
This should behave like DbConnection::fetchRow().

refs #8954
2015-06-23 10:49:51 +02:00
Johannes Meyer 15220da645 Automatically strip unnecessary parentheses from custom ldap filters
fixes #9348
2015-06-23 10:32:45 +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 6d48de6cf5 DbConnection: Do not accept configuration for table prefixes
fixes #9418
2015-06-22 13:32:34 +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
Johannes Meyer d5ae135415 DbQuery: Add select() method to access self::$select publicly 2015-06-19 14:05:12 +02:00
Johannes Meyer fb9641fb3c Controller: Validate restriction columns 2015-06-18 16:43:20 +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
Johannes Meyer 2bffe56bd5 Merge branch 'master' into feature/monitoring-restrictions-9009 2015-06-18 14:54:01 +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 c069414b1b LdapQuery: fix forgotten connection property rename 2015-06-18 11:31:32 +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 1169793213 IdoQuery: Add prototype for dynamic GROUP BY clauses 2015-06-18 09:36:04 +02:00
Johannes Meyer 386447b847 DbQuery: Add getter for GROUP BY clauses
Allows to override this in a child to provide group by clauses not
until they are actually required.

refs #9009
2015-06-18 09:29:58 +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 e8058c09c5 Merge branch 'master' into feature/monitoring-restrictions-9009
Conflicts:
	modules/monitoring/application/controllers/ShowController.php
	modules/monitoring/library/Monitoring/Web/Controller/MonitoredObjectController.php
2015-06-16 17:12:51 +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
Matthias Jentsch 42de13a2b9 Merge branch 'feature/ssh-remote-connection-resource-configuration-7595'
resolves #7595
2015-06-15 17:30:42 +02:00
Johannes Meyer b8efe314a0 DbQuery: Ignore wildcard only filters
This increases query performance vastly, since LIKE '%' comparisons
prevent the dbms from utilizing an index.
2015-06-15 13:59:46 +02:00
Paul Richards aac5d49eed IIS: use 'config' folder within icingaweb root instead of '/etc/icingaweb2' on Windows
Signed-off-by: Alexander A. Klimov <alexander.klimov@netways.de>
with the following changes:

Make use of Platform::isWindows()
Call ::setupAutoloader() before that

fixes #8916
2015-06-12 14:46:00 +02:00
Paul Richards edd8f5738f Windows: Fix webrouter on IIS
Signed-off-by: Alexander A. Klimov <alexander.klimov@netways.de>
with the following changes:

Remove unneeded whitespace

fixes #8914
2015-06-12 14:05:40 +02:00
Paul Richards e8cdcce61d Fix PHP warning on Windows due to LC_MESSAGES not defined
Signed-off-by: Alexander A. Klimov <alexander.klimov@netways.de>
with the following changes:

Don't define LC_MESSAGES globally as only 2 methods would need that
Use LC_ALL rather than 6

fixes #8912
2015-06-12 13:49:38 +02:00
Alexander A. Klimov 7ea6eeb20d Revert "Don't use /etc/icingaweb2 as config path on Windows"
This reverts commit 48870bb7e2.
2015-06-12 13:29:36 +02:00
Alexander A. Klimov b58ffbe034 Revert "Translator: fall back to LC_ALL if LC_MESSAGES is not defined"
This reverts commit 9fe2d4928d.
2015-06-12 13:29:31 +02:00
Alexander A. Klimov 9fe2d4928d Translator: fall back to LC_ALL if LC_MESSAGES is not defined
fixes #8912
2015-06-12 12:28:30 +02:00
Alexander A. Klimov 48870bb7e2 Don't use /etc/icingaweb2 as config path on Windows
fixes #8916
2015-06-12 11:57:44 +02:00
Alexander A. Klimov 0bce5e83ad Revert "Fix PHP warning on windows due to LC_MESSAGES not defined."
This reverts commit 5b18ff7965.
2015-06-12 10:38:25 +02:00
Alexander A. Klimov 1e0219f697 Revert "IIS: use 'config' folder within icingaweb root on windows"
This reverts commit 4607a85cf5.
2015-06-12 10:38:11 +02:00
Paul Richards 4607a85cf5 IIS: use 'config' folder within icingaweb root on windows
fixes #8916
2015-06-11 18:10:37 +02:00
Paul Richards 5b18ff7965 Fix PHP warning on windows due to LC_MESSAGES not defined.
fixes #8912
2015-06-11 17:28:50 +02:00
Alexander A. Klimov 392047b2ee Add support for command line arguments in the format --arg=<value>
refs #8472
2015-06-10 17:19:49 +02:00
Johannes Meyer d5dffe9a7a Merge branch 'master' into feature/monitoring-restrictions-9009 2015-06-09 09:22:50 +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
Matthias Jentsch 3600e1088c Fix key and value sanitazion in ini writer 2015-06-08 13:11:40 +02:00
Matthias Jentsch ddba1d86fa Fix spacing in ini files
refs #8706
2015-06-08 13:11:40 +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
Alexander A. Klimov 6a914dc25b Merge branch 'bugfix/Show-all-shell-commands-required-to-get-ready-in-the-setup-wizard-8705'
fixes #8705
2015-06-05 18:40:07 +02:00
Alexander A. Klimov 76e748c483 Don't throw any exception
refs #8705
2015-06-05 17:12:32 +02:00
Johannes Meyer 24cb6bfc6e Form: Preserve defaults for subforms as well 2015-06-05 16:01:52 +02:00
Eric Lippmann 8cbb83d630 Merge branch 'master' into feature/monitoring-restrictions-9009 2015-06-05 15:29:16 +02:00
Johannes Meyer 5688f0cb85 Allow to configure user group backends of type LDAP
refs #7343
2015-06-05 14:53:29 +02:00
Thomas Gelf edeb24792e CSS: move monitoring styles to monitoring module 2015-06-05 12:49:07 +02:00
Johannes Meyer cacd97fb46 LdapUserGroupBackend: Make default configuration providers public
I'd like to access these when preparing a config form.

refs #7343
2015-06-05 11:09:31 +02:00
Johannes Meyer 02d2ea682e LdapUserGroupBackend: Do not permit to link different directories
I cannot think of a valid usecase right now. In case someone got one,
revert this commit and make use of the backend itself and not only
its configuration.

refs #7343
2015-06-05 10:51:54 +02:00
Johannes Meyer 0ab192cd1f LdapUserGroupBackend: Allow to link a user backend
refs #7343
2015-06-05 10:41:47 +02:00
Johannes Meyer 127489ca20 UserBackend: Allow to only pass a backend's name 2015-06-05 10:40:47 +02:00
Alexander A. Klimov cbc731034a Don't throw any exception
refs #9247
2015-06-05 10:23:17 +02:00
Johannes Meyer ee2462a6b2 LdapUserGroupBackend: Let the backend decide which defaults to use
refs #7343
2015-06-05 10:19:28 +02:00
Alexander A. Klimov 602f0cf755 Move Version to Icinga\Application\
refs #9247
2015-06-05 10:18:24 +02:00
Johannes Meyer 3fd0d99db2 LdapUserGroupBackend: Add support for custom query filters
refs #7343
2015-06-05 09:57:40 +02:00
Alexander A. Klimov 7577b37cdb Change VERSION's format
refs #9247
2015-06-03 18:08:54 +02:00
Johannes Meyer 90d946f149 LdapUserGroupBackend: We need a datasource, actually
Forgot to add this when disabling LdapRepository inheritance...

refs #7343
2015-06-03 16:40:14 +02:00
Johannes Meyer d9eb8f9e8d LdapUserGroupBackend: Do not extend LdapRepository
Selecting groups works, but not memberships. Does not make sense
until both things work...

refs #7343
2015-06-03 16:33:22 +02:00
Johannes Meyer 89d992278b Introduce class LdapUserGroupBackend
refs #743
2015-06-03 16:27:50 +02:00
Johannes Meyer e65cf954e6 LdapRepository: Add normed attribute `gid'
refs #7343
2015-06-03 16:08:29 +02:00
Johannes Meyer 86c63ec913 Introduce class LdapRepository
refs #7343
2015-06-03 15:28:07 +02:00
Alexander A. Klimov 757e993871 Outsource version-getting logic to Version::get()
refs #9247
2015-06-03 15:23:05 +02:00
Johannes Meyer 96f5f8fd49 LdapUserBackend: Do not fetch a user's groups
refs #7343
2015-06-03 15:16:54 +02:00
Johannes Meyer e0c0e9c874 LdapUserBackend: Move function retrieveGeneralizedTime into its parent
refs #7343
2015-06-03 14:36:46 +02:00
Johannes Meyer 5dd3950594 Ldap\Connection: Disable server side sorting as it's not working
refs #9364
2015-06-03 14:24:48 +02:00
Johannes Meyer 1a0d1702c9 Ldap\Connection: Do not sort *after* the result has been limited
fixes #9352
2015-06-03 14:22:38 +02:00
Eric Lippmann ae78613443 lib: Add sub query mode to the DbQuery
refs #9009
2015-06-03 14:13:15 +02:00
Matthias Jentsch e7a875da26 Merge branch 'bugfix/perfdata-details-hidden-8334'
fixes #8334
2015-06-02 17:51:57 +02:00
Alexander A. Klimov 5b8de49cdf Link to the about page
refs #9247
2015-06-02 17:16:27 +02:00
Matthias Jentsch 1e8151bed3 Limit perfdata label size
Add paratentheses when perfdata label size exceeds a certain limit. Display the full label as tooltip.

refs #8334
2015-06-02 17:09:40 +02:00
Johannes Meyer 28a28a89d3 Merge branch 'master' into feature/user-and-group-management-8826
Conflicts:
	library/Icinga/Data/SimpleQuery.php
2015-06-02 14:54:13 +02:00
Johannes Meyer 06fb6ff6fc SimpleQuery: Re-add method paginate but flag it as deprecated 2015-06-02 14:47:29 +02:00
Johannes Meyer 267e71f38b User: Consider the required permission more important if it has a wildcard
refs #9202
2015-06-02 12:01:02 +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 5d50eabb44 FileReader: Mimic cursor capability 2015-06-02 10:39:49 +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
Matthias Jentsch 6661d49bd2 Use ltrim instead of a manual loop to remove trailing lines in ini writer
refs #8706
2015-06-01 17:00:43 +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
Matthias Jentsch 1901f0af98 Improve .ini file formatting
End every file with a newline, and only display 1 empty line between each section, to improve readabillity.

fixes #8706
2015-06-01 16:12:02 +02:00
Johannes Meyer c7ce1498bf Introduce menu entry "Configuration" 2015-06-01 16:10:23 +02:00
Johannes Meyer e936c76ca9 DbUserGroupBackend: Really clear memberships and parent relations...
...when removing a group.

refs #8826
2015-06-01 15:34:38 +02:00
Johannes Meyer 1385295e4e DbUserGroupBackend: Properly handle sequences of group names
refs #8826
2015-06-01 15:33:35 +02:00
Johannes Meyer 62fff94808 DbUserGroupBackend: Do not try to fetch a group id for null
refs #8826
2015-06-01 15:16:03 +02:00
Johannes Meyer beb5bd7370 Repository: Clone a filter implicitly in self::requireFilter($clone = true)
refs #8826
2015-06-01 15:03:08 +02:00
Johannes Meyer 601b720a03 LdapUserBackend: Fetch and interpret the correct attributes (OpenLDAP)
refs #8826
2015-06-01 14:05:44 +02:00
Johannes Meyer d1a5321d02 LdapUserBackend: Fetch and interpret the correct attributes (ActiveDirectory)
refs #8826
2015-06-01 12:23:16 +02:00
Johannes Meyer 7127d5eb39 Ldap\Connection: Connect automatically in case capabilities are not set yet 2015-06-01 12:20:36 +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
Johannes Meyer c8e8a39f5a DbRepository: Relax check in providesValueConversion()
Would otherwise conflict when tables are joined in.

refs #8826
2015-05-29 11:58:21 +02:00
Johannes Meyer cc779024fe Repository: providesValueConversion() should not be required being called
refs #8826
2015-05-29 11:57:38 +02:00
Johannes Meyer b82d7d7cc0 DbRepository: split() is deprecated, use explode() instead
Why php, why? :'(

refs #8826
2015-05-29 11:37:42 +02:00
Johannes Meyer 3959dc27d7 Repository: Do not return filter columns when requiring all query columns
I really wonder why I did not notice this until now...

refs #8826
2015-05-29 11:36:08 +02:00
Johannes Meyer a88037f45d DbUserGroupBackend: Fetch and persist a group's id when it's name is given
refs #8826
2015-05-29 11:33:35 +02:00
Johannes Meyer bb285db05b Differentiate the source or destination of a column when converting values
refs #8826
2015-05-29 11:32:15 +02:00
Johannes Meyer 60ce78c958 DbUserGroupBackend: Adjust how to load the name of a group's parent
refs #8826
2015-05-29 08:57:49 +02:00
Johannes Meyer c94e6a3292 Db/IniUserGroupBackend: Drop column parent_name, it's not a name anymore
refs #8826
2015-05-29 08:56:58 +02:00
Johannes Meyer 5e0ae6410b DbRepository: Consider a filter column without query context as a statement column
Feels wrong..somehow, but it works.

refs #8826
2015-05-29 08:02:12 +02:00
Johannes Meyer 32b99be8ab DbUserGroupBackend: Adjust to fit the new database schema
refs #8826
2015-05-28 15:22:15 +02:00
Johannes Meyer fd931e4232 RepositoryQuery: getQuery() might be called during prepareQueryColumns() 2015-05-28 14:26:48 +02:00
Johannes Meyer 08f8fe6f49 DbRepository: Add support for joining tables based on query/filter columns
refs #8826
2015-05-28 13:53:49 +02:00
Johannes Meyer 119b2fdddb DbQuery: Allow to join additional tables
This should just be the beginning of such additions, there is still a group(),
distinct(), etc missing..
2015-05-28 13:52:00 +02:00
Johannes Meyer 58d78f59f3 DbQuery: Initialize self::$select as early as possible
I'd like to use Zend's implementation instead of re-inventing the wheel just
because someone decided to only work with a copy of it in the frameworks
query but do exactly the opposite in the monitoring module's IDO query...
2015-05-28 13:49:36 +02:00
Johannes Meyer 5326ce6bca DbRepository: Add support for table specific aliases
This was previously only possible for the base table and in case one wanted
to use table aliases in the query column definition for non-base tables as
well, it did not work well due to not being explicitly supported. Now, to use
such table aliases one must initialize DbRepository::tableAliases.

refs #8826
2015-05-28 13:44:51 +02:00
Johannes Meyer 647dd9d425 RepositoryQuery: Pass through the query when requiring a table or column
This allows now to adjust the query in custom repository implementations.

refs #8826
2015-05-28 13:25:26 +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
Alexander Fuhr bf21f55656 Add a new ssh resource form
refs #7595
2015-05-28 10:44:58 +02:00
Alexander A. Klimov cba36ec017 Ignore the preferences' loadability during authentication
fixes #8956
2015-05-27 15:13:53 +02:00
Johannes Meyer 23b7ab0764 DbRepository: Remove COLLATE from a query column in case of a pgsql connection
refs #8826
2015-05-27 11:47:18 +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
Alexander A. Klimov b842a39650 Implement ::getLinuxDistro()
refs #8705
2015-05-26 18:23:26 +02:00
Johannes Meyer 237b50f953 RepositoryQuery: Ensure that we'll adjust a copy of a filter 2015-05-26 14:32:47 +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 54354b17bf DbConnection: Replicate the fix for #9211 2015-05-26 09:26:55 +02:00
rbelinsky b0f7773260 lib: Fix sprintf format strings used in Format::seconds()
fixes #9291

Signed-off-by: Eric Lippmann <eric.lippmann@netways.de>
2015-05-22 16:06:11 +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 83a6e85b5d lib: Don't render empty filters to SQL
Else we are presented with syntax errors.

fixes #9211
2015-05-22 13:53:57 +02:00
Eric Lippmann 53ca68903a Merge branch 'bugfix/time-formatting-6778'
fixes #6778
2015-05-22 11:34:43 +02:00
Eric Lippmann 3fced8472b lib: Remove unused function from our format util
refs #6778
2015-05-22 10:27:50 +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 edd386e14b lib: Add DateFormatter::formatDuration()
refs #6778
2015-05-22 09:49:06 +02:00
Eric Lippmann dd298edb81 lib: Only invert relative partial times if necessary
refs #6778
2015-05-22 09:33:51 +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 fde60f4a00 lib: Add HttpMethodNotAllowedException
At the moment we throw a Zend_Controller_Action_Exception when the HTTP method is not allowed.
I'll replace this w/ the exception introduced.

refs #6281
2015-05-21 17:19:07 +02:00
Eric Lippmann fcd7aaef87 lib: Add HttpException as base class for HTTP exceptions
refs #6281
2015-05-21 17:18:29 +02:00
Eric Lippmann dd1025119d Throw HttpNotFoundException on Controller::httpNotFound()
refs #6281
2015-05-21 16:54:00 +02:00
Eric Lippmann c4ed49cb1a lib: Add HttpNotFoundException
The HttpNotFoundException should be used for sending a HTTP 404 response w/ a custom message.

There's also Zend_Controller_Action_Exception but this exception will always show 'Page not found' because we
want to hide messages generated by Zend, like 'Action "foobar" does not exist and was not trapped in __call()'.

refs #6281
2015-05-21 16:43:58 +02:00
Johannes Meyer fac2ebce80 RepositoryQuery: Fix handling of queries returning no results in fetchColumn()
refs #8826
2015-05-21 15:02:56 +02:00
Johannes Meyer 4833ff109c RepositoryQuery: Validate the table passed when calling from()
refs #8826
2015-05-21 15:01:13 +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
Marius Hein 0002c0be26 Provide default config name for Module::getConfig() 2015-05-21 14:40:52 +02:00
Eric Lippmann c47465a732 lib/filter: Fix check against unset search columns
refs #8241
2015-05-21 14:04:04 +02:00
Johannes Meyer 10b158a182 LdapUserBackend: Fix sorting when sorting by user_name
refs #8826
2015-05-21 13:53:27 +02:00
Johannes Meyer 4d79731646 DbUserBackend: Fix sorting when sorting by user_name
refs #8826
2015-05-21 13:53:18 +02:00
Johannes Meyer ba31be9695 RepositoryQuery: Disim.. Fix sort order handling
refs #8826
2015-05-21 13:52:43 +02:00
Johannes Meyer 9278d708d7 IniUserGroupBackend: Do not sort by parent when sorting by group_name
refs #8826
2015-05-21 13:51:24 +02:00
Johannes Meyer 6369643145 DbUserGroupBackend: Do not sort by parent when sorting by group_name
refs #8826
2015-05-21 13:51:15 +02:00
Eric Lippmann 970d4d7a4a Fix that time-until doesn't show negative partial time in the dashboard
refs #6778
2015-05-21 10:19:07 +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 0dda19dc7a DbRepository: Remove the table prefix when resolving statement columns
refs #8826
2015-05-20 11:50:09 +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 338fad5da9 cli: Add Params::shiftRequired() 2015-05-20 10:30:00 +02:00
Eric Lippmann ccaebd1d73 cli: Rename Params::req() to ::getRequired() 2015-05-20 10:30:00 +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
Johannes Meyer 093857641a DbConnection: Cast a queries count to integer forcefully 2015-05-20 09:30:23 +02:00
Johannes Meyer a3d5cfc28a RepositoryQuery: Properly handle queries returning no results
refs #8826
2015-05-20 09:11:46 +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
Eric Lippmann 2715e8ed2b Revert "Set default locale for the intl extension upon locale detection"
This reverts commit 06830e035e.

We don't use the intl extension at the moment.

refs #6778
2015-05-19 16:21:57 +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
Johannes Meyer 73e8c51fd1 Ldap\Query: Remove method paginate() 2015-05-19 13:57:20 +02:00
Eric Lippmann 14b24ff57d Use international standard date and time notation ...
... instead of depending on the locale.
We hardcode date and time formats all over the place anyway.

refs #6778
2015-05-19 13:26:46 +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 f028c74a5e Improve parameter names for the date formatting functions
refs #6778
2015-05-19 11:25:54 +02:00
Eric Lippmann 603dcbde92 Drop the DateTimeFactory
refs #6778
2015-05-19 11:25:32 +02:00
Eric Lippmann 1d6ef5ec3a Don't setup the DateTimeFactory in our tests
DateTimeFactory will be removed soon.

refs #6778
2015-05-19 11:25:06 +02:00
Eric Lippmann ba258524a8 Don't setup the DateTimeFactory when bootstrapping Icinga Web 2
DateTimeFactory will be removed soon.

refs #6778
2015-05-19 11:23:50 +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 e87067db3b lib/chart: 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:10:35 +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 2eb93d0309 Remove time formatting functions from the format util
The DateFormatter class now has these functions.

refs #6778
2015-05-19 09:56:48 +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
Eric Lippmann bf8c4f1e9d Replace DateFormatter format constants w/ format functions
refs #6778
2015-05-19 09:55:21 +02:00
Johannes Meyer f305a334d5 DbConnection: Drop param $columnIndex in fetchColumn(), it's unused 2015-05-19 09:48:20 +02:00
Johannes Meyer cf989a0f7f SimpleQuery: Implement interface Iterator to benchmark result iteration 2015-05-19 09:41:55 +02:00
Johannes Meyer a1276fd709 Benchmark all queries by default, not only db queries 2015-05-19 09:41:18 +02:00
Johannes Meyer 7b6ca0826b DbQuery: Let the DbConnection do the count query 2015-05-19 09:34:22 +02:00
Johannes Meyer 9af25acf38 RepositoryQuery: Benchmark when iterating a query's result
refs #8826
2015-05-18 16:02:55 +02:00
Johannes Meyer 0e0341f78a It's the connection which provides a cursor, not the query 2015-05-18 16:01:58 +02:00
Matthias Jentsch 592d5eadc1 Merge branch 'feature/improve-multi-select-view-8565' 2015-05-18 16:00:52 +02:00
Johannes Meyer 742dfcaf41 Revert "Fetchable: Add method fetch() which returns an iterator"
This reverts commit 7a6837de0e.
2015-05-18 15:17:22 +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
Johannes Meyer be36809552 RepositoryQuery: Implement interface Iterator
refs #8826
2015-05-18 14:05:02 +02:00
Johannes Meyer 3f25cf560e RepositoryQuery: Remove method paginate()
refs #8826
2015-05-18 14:03:22 +02:00
Johannes Meyer d39c697d0e Repository: QueryInterface is _not_ queryable anymore...
refs #8826
2015-05-18 14:01:17 +02:00
Johannes Meyer 7a6837de0e Fetchable: Add method fetch() which returns an iterator 2015-05-18 13:59:16 +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
Johannes Meyer 130fea3146 Revert "Merge Queryable into QueryInterface"
This reverts commit ca5ef2da2b.
A perfect example of a change as a result of being mentally deranged.
2015-05-18 11:25:02 +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 fbf0ad4339 Drop interface Browsable
We're not required to handle objects of Zend_Paginator in any way, so
creating such as part of a query is not necessary since QueryAdapter
accepts any instance of QueryInterface. (gets enforced in the near future)

refs #8339
2015-05-15 14:37:41 +02:00
Johannes Meyer ed5f646b6f SimpleQuery: Implement interface IteratorAggregate
I'd like to foreach such.
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 e9fee2dad6 Repository: Handle column name ambiguousness automatically
refs #8826
2015-05-13 13:27:08 +02:00
Johannes Meyer 0a387573f3 Logger: Fix substitution of exception messages 2015-05-13 10:46:34 +02:00