Commit Graph

2216 Commits

Author SHA1 Message Date
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
Johannes Meyer f93c2de6be UserGroupBackend: Disable default backend type `ini'
We're not going to support this until a proper membership implementation
exists (or is required at all).

refs #8826
2015-05-13 10:45:54 +02:00
Johannes Meyer 223ecab991 DbUserGroupBackend: Make it possible to handle memberships
refs #8826
2015-05-13 10:34:39 +02:00
Johannes Meyer 47dfcf5e1d DbUserGroupBackend: Do not use the repository abstraction internally
That's overhead which is not necessary.

refs #8826
2015-05-13 10:34:00 +02:00
Johannes Meyer 7d982068a5 DbRepository: Ensure that we'll work with a instance of DbConnection
refs #8826
2015-05-13 09:52:29 +02:00
Johannes Meyer d5d0c67d2c IniRepository: Do not handle $target as a section's name
That's bullshit.

refs #8826
2015-05-13 09:48:46 +02:00
Johannes Meyer 104c1c6bba DbUserBackend: Utilize Zend_Db_Select when fetching the password hash 2015-05-13 09:16:24 +02:00
Johannes Meyer 7d08dd2765 DbConnection: Adjust insert and update to support custom type definitions
This strips the custom insert and update implementataions in
DbUserBackend down so that it does not need to do such low level stuff...

refs #8826
2015-05-13 09:15:18 +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
Johannes Meyer 053c9cdcb3 Repository: Check whether a column is queried from the correct table
refs #8826
2015-05-12 15:38:29 +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
Johannes Meyer 44bbd93cbc DbUserBackend: Provide a custom insert and update implementation
As we're transmitting password hashes which may contain special chars
and the like, we need to utilize prepared statements with explicit types.

refs #8826
2015-05-11 16:00:24 +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 b3957c556b DbUserGroupBackend: Properly utilize the insert and update capability
refs #8826
2015-05-11 13:28:01 +02:00
Johannes Meyer ca166b0175 DbRepository: Add insert, update and delete capabilities
refs #8826
2015-05-11 13:26:41 +02:00
Johannes Meyer 3aaa6d39a1 DbConnection: Make it possible to insert, update and delete table rows
refs #8826
2015-05-11 13:25:50 +02:00
Johannes Meyer 30bc1db6ee IniRepository: There is no need to fetch the results using a query
Icinga\Application\Config is iterable.

refs #8826
2015-05-11 07:46:36 +02:00
Johannes Meyer f1c82fc318 IniUserGroupBackend: Convert timestamps and arrays...
...to formatted datetime strings and comma separated strings respectively

refs #8826
2015-05-08 15:28:10 +02:00
Johannes Meyer 59ec11f047 IniUserGroupBackend: Extend IniRepository
We are now able to insert, update and delete user groups stored in INI files

refs #8826
2015-05-08 15:26:35 +02:00
Johannes Meyer 6ef4bbe210 Introduce class IniRepository
refs #8826
2015-05-08 15:22:51 +02:00
Johannes Meyer 8690056e1c Introduce interface Updatable
refs #8826
2015-05-08 15:18:56 +02:00
Johannes Meyer 2c1fac9da8 Introduce interface Reducible
refs #8826
2015-05-08 15:18:42 +02:00
Johannes Meyer 84f20ecb5f Introduce interface Extensible
refs #8826
2015-05-08 15:18:28 +02:00
Johannes Meyer 12ff708ac0 Introduce exception StatementException
refs #8826
2015-05-08 15:17:36 +02:00
Johannes Meyer 938da806ca Repository: Recurse a filter in the repository instead of in the query
This allows to recurse and adjust a filter outside the query context as well

refs #8826
2015-05-08 12:15:02 +02:00
Johannes Meyer f383ddd00a Repository: Add support for client side value conversion
refs #8826
2015-05-07 14:49:13 +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 eac5e398be Repository: Initialize the internal column and table maps lazily as well
refs #8826
2015-05-07 09:04:50 +02:00
Johannes Meyer 99be358714 Repository: Make it possible to initialize column properties lazily
refs #8826
2015-05-07 08:28:32 +02:00
Johannes Meyer ba4330de43 Repository: We do not overwrite properties, we're initializing them
refs #8826
2015-05-07 08:03:07 +02:00
Johannes Meyer 4d83b2f93d Authentication\Manager: Fix invalid class path in use statement
refs #8826
2015-05-06 12:18:57 +02:00
Johannes Meyer 16a7b010bc SimpleQuery: Ignore limit and offset when counting 2015-05-06 10:41:39 +02:00
Johannes Meyer 4044e56a03 LdapUserBackend: Provide filter column `user'
refs #8826
2015-05-06 10:27:26 +02:00
Johannes Meyer 108f55128f Ldap\Query: Fix access of a filter's expression 2015-05-06 10:24:50 +02:00
Johannes Meyer cfa9176192 ArrayDatasource: use array_shift in fetchRow() instead of index access
Since associative arrays are supported, the numeric index 0 might not be
the first entry in the result.
2015-05-06 10:10:29 +02:00
Johannes Meyer 7b2ed3bef7 ArrayDatasource: Create a new result when counting
There is usually no limit and offset when a query is going to be counted
so the cached result must not be used.
2015-05-06 10:08:07 +02:00
Johannes Meyer f2ad2838f4 ArrayDatasource: Apply a query's limit and offset when creating the result 2015-05-06 09:39:43 +02:00
Johannes Meyer d63381c002 ArrayDatasource: Add missing and fix existing documentation 2015-05-06 09:12:48 +02:00
Johannes Meyer 9c799dca22 IniUserGroupBackend: Automatically set section names on column `name'
refs #8826
2015-05-06 08:41:54 +02:00
Johannes Meyer b1cbc1422b ArrayDatasource: Add support for associative arrays
Keys are now preserved in case a non-numeric one is found. By using
setKeyColumn() it is now also possible to map such a key to a specific
column of a row generated by createResult().
2015-05-06 08:40:02 +02:00
Johannes Meyer f1f1710f47 Config: Add method getConfigObject to access the internal ConfigObject 2015-05-06 08:07:42 +02:00
Johannes Meyer 89029308ef IniUserGroupBackend: Extend Repository and implement UserGroupBackendInterface
Note that it was necessary to change the structure of ini files providing
the membership information. They need to be structured like our db
table rows now.

refs #8826
2015-05-05 15:24:18 +02:00
Johannes Meyer 5cc7f26728 ConfigObject: Extend ArrayDatasource
This makes it possible to use a ini file as repository!!!1
One thing is missing: Section names are currently ignored and should be
mapped to a virtual column.

refs #8826
2015-05-05 15:21:34 +02:00
Alexander Fuhr be696e5adf LogFileIterator: Fix missing closing bracket 2015-05-05 12:50:35 +02:00
Alexander Fuhr 612fefba9c Fix the permission wildcards assertion
fixes #9202
2015-05-05 12:36:26 +02:00
Johannes Meyer de68d78938 DbUserGroupBackend: Add case insensitive filter columns `group' and `parent'
refs #8826
2015-05-05 09:34:49 +02:00
Johannes Meyer 37e47f0d3f DbUserBackend: Add case insensitive filter column `user'
refs #8826
2015-05-05 09:34:23 +02:00
Johannes Meyer 58233b0072 DbUserGroupBackend: Extend DbRepository and implement UserGroupBackendInterface
refs #8826
2015-05-05 09:23:29 +02:00
Johannes Meyer b1454c199a Introduce interface UserGroupBackendInterface
refs #8826
2015-05-05 08:27:11 +02:00
Johannes Meyer 7b2fc1ba41 Make class UserGroupBackend being just a factory for user group backends
refs #8826
2015-05-05 08:26:38 +02:00
Johannes Meyer bd136d39f4 SimpleQuery: Make compare() alias aware
refs #8826
refs #7693
2015-05-05 07:31:50 +02:00