Commit Graph

3219 Commits

Author SHA1 Message Date
Eric Lippmann 755f361e4c Add behavior for dropdown navigation items
Dropdown navigation is not yet accessible. The added behavior listens for activity on dropdown-navigation-item for toggling the CSS class active.
2015-12-16 12:48:02 +01:00
Alexander A. Klimov d087ae2575 Make Service Grid working with host names that contain only digits
fixes #10790
2015-12-16 11:37:30 +01:00
Eric Lippmann 2d5bd3085f Don't send cookies on API requests 2015-12-10 13:34:54 +01:00
Eric Lippmann bcd1402123 CSS: Combine header-, footer-elements and layout-colors in layout.less 2015-12-10 13:34:53 +01:00
Eric Lippmann b193ea5d32 Fix print styles 2015-12-10 13:34:53 +01:00
Johannes Meyer 6679490f13 Merge branch 'master' into feature/theming-10705 2015-12-07 14:25:25 +01:00
Eric Lippmann a1bb4bb695 Merge branch 'master' into feature/theming-10705 2015-12-07 14:17:57 +01:00
Eric Lippmann cce6af9243 Don't load inaccessible themes
refs #10705
2015-12-07 13:51:30 +01:00
Eric Lippmann bf0b673640 Fix section for themes config in StyleSheet
refs #10705
2015-12-07 12:37:34 +01:00
Johannes Meyer d527ac2717 DbRepository: Handle columns of type Zend_Db_Expr #3 2015-12-07 12:06:27 +01:00
Johannes Meyer 8dd1ad869f DbQuery: Mark method renderFilter() deprecated 2015-12-07 10:31:25 +01:00
Johannes Meyer 4f8b6ffeb3 DbConnection: Transfer DbQuery::whereToSql() updates to renderFilterExpression() 2015-12-07 10:31:10 +01:00
Johannes Meyer 64f13f0512 DbRepository: Handle columns of type Zend_Db_Expr #2 2015-12-07 09:55:25 +01:00
Johannes Meyer 0d1d3c3b8f DbRepository: Handle columns of type Zend_Db_Expr 2015-12-04 08:22:48 +01:00
Johannes Meyer e7399c312f SortBox: Add support for sort defaults provided by the controller action 2015-12-04 07:44:55 +01:00
Johannes Meyer 4f5afb5ee2 SortBox: Fix "algorithm" to detect the opposite sort direction 2015-12-03 17:15:57 +01:00
Johannes Meyer 3d60e60842 SortBox: Fix too strict sort param check
One was able to produce invalid SQL or other
errors by adding "sort=" as parameter.
2015-12-03 15:17:09 +01:00
Johannes Meyer 43848989ae RepositoryQuery: Add method __toString() 2015-12-03 13:54:48 +01:00
Johannes Meyer acf732e760 RepositoryQuery: Add method __clone() 2015-12-03 13:54:38 +01:00
Johannes Meyer 5be48fc923 DbQuery: Do not call Zend_Db_Select::columns() unless it's necessary
This makes it possible to just use a DbQuery as "union container" without
ever calling from() on it.
2015-12-03 13:53:34 +01:00
Johannes Meyer 28cd9681c8 DbQuery: Add method union() 2015-12-03 13:50:01 +01:00
Eric Lippmann 3a22168b64 Handle no-cache control in JavaScript and StyleSheet, not in FileCache 2015-11-27 16:51:19 +01:00
Eric Lippmann bac09fd125 Fix void method result used in JavaScript 2015-11-27 16:48:38 +01:00
Eric Lippmann 1f467ecfaa Add theme to the stylesheet if set and ...
... revamp interface of LessCompiler and StyleSheet

refs #10705
2015-11-27 16:40:17 +01:00
Eric Lippmann e7262b7d14 Set up logging in EmbeddedWeb 2015-11-27 16:39:19 +01:00
Eric Lippmann 59b540cc12 lib: Implement cookie handling in Response
Cookies set via Response::setCookie() or Response::getCookies()::add() will be automatically sent to client.
2015-11-27 15:51:38 +01:00
Eric Lippmann 2a0d3412d1 lib: Add CookieSet for maintaining a set of cookies 2015-11-27 15:50:29 +01:00
Eric Lippmann 8fb9d94f46 lib: Allow to control reload CSS header in Response
Whenever the theme is switched, client side script code has to be instructed to reload CSS.

refs #10705
2015-11-27 15:44:40 +01:00
Eric Lippmann 5d4a628e2d Provide cookie implementation 2015-11-27 15:42:18 +01:00
Eric Lippmann 271b5f9d5c Move cookie support detection to a helper class
Icinga\Web\Cookie will become a real cookie implementation.
2015-11-27 15:42:18 +01:00
Johannes Meyer 9587c363f6 LdapConnection: Do not explicitly emit the bind password in the log 2015-11-27 08:13:35 +01:00
Eric Lippmann 64bed9867f lib: Add Web::getThemes()
refs #10705
2015-11-26 14:49:49 +01:00
Eric Lippmann 6e618300ec Guard the FileCache if the systemd private tmp directory for the web server has been removed
refs #10123
2015-11-26 12:13:02 +01:00
Eric Lippmann 045e4a99b5 Guard FileCache against an existing but not writeable runtime path
fixes #10123
2015-11-26 12:02:55 +01:00
Eric Lippmann 46363ace49 Fix HTMLPurifier packaging in our source tree
fixes #10166
2015-11-26 11:15:29 +01:00
Eric Lippmann e3c1734d1a doc: Use Util/DirectoryIterator 2015-11-24 16:10:45 +01:00
Eric Lippmann 076784f2c9 lib: Add util DirectoryIterator
refs #10705
2015-11-24 15:54:16 +01:00
Eric Lippmann 5c3089ae85 lib: Fix String::endsWith() complexity 2015-11-24 15:53:13 +01:00
Johannes Meyer 916c417666 LdapUserGroupBackend: Avoid inspecting a group with no members
fixes #10659
2015-11-24 09:45:49 +01:00
Eric Lippmann 91e576d530 lib: Add nl2br view helper
refs #10603
2015-11-20 15:17:38 +01:00
Thomas Gelf edcc698e1e Hook: throw exceptions for missing classes
We are otherwise not catching the resulting fatal errors right now
2015-11-17 17:04:04 +01:00
Thomas Gelf 94690f4fda Cli\Screen: fix tput for rows (it's lines) 2015-11-16 18:50:48 +01:00
Eric Lippmann fad52e0929 Update version 2015-11-16 15:34:47 +01:00
Eric Lippmann 96466241c2 Fix img helper not setting icon class 2015-11-16 15:27:59 +01:00
Eric Lippmann 0cc54ce34b Refresh session every 10 minutes
Quick and dirty fix.

fixes #10229
2015-11-16 14:19:33 +01:00
Eric Lippmann 5e5e9709a5 Show sort direction as toggle button 2015-11-16 10:20:21 +01:00
Thomas Gelf 9156e58329 Web: re-add duplicate ZF plugin loader paths
Not sure why we need both of them, my installation works with both,
one or the other. Re-adding the duplicate one as a related issue
has been reported.

refs #10634
2015-11-15 23:34:44 +01:00
Thomas Gelf 4b9607ad35 Module: we want to load from ProvidedHook
refs #10613
2015-11-13 17:37:02 +01:00
Thomas Gelf 8fa33cebc7 Hook: normalize names also for all() 2015-11-13 17:37:02 +01:00
Thomas Gelf 380f11d9c2 Module: add new provideHook method 2015-11-13 17:37:02 +01:00
Thomas Gelf b7189382fb Module: add getNamespace() method 2015-11-13 17:37:02 +01:00
Thomas Gelf 997c5a0a13 Hook: normalize names 2015-11-13 17:37:02 +01:00
Thomas Gelf b66e4dfdf2 Module: use Application\Hook instead of Web\Hook 2015-11-13 17:37:02 +01:00
Thomas Gelf 54db2c9afa Module::registerHook: use class as default key
refs #9685
2015-11-13 17:37:02 +01:00
Thomas Gelf a24bf32c5b Hook: allow hooks for old modules Web\Hooks
refs #10613
2015-11-13 17:37:02 +01:00
Thomas Gelf 52159c2627 Hook: switch base namespace checks 2015-11-13 17:37:02 +01:00
Thomas Gelf d903f850da Application\Hook: move existing ones, keep compat 2015-11-13 17:37:02 +01:00
Thomas Gelf 576747f792 Application\Hook is the new Hook loader 2015-11-13 17:37:02 +01:00
Eric Lippmann 8f8d251fd7 Use old class loader for tests (WIP)
:D
2015-11-13 17:33:23 +01:00
Johannes Meyer d7045a4c09 FilterExpression: Encode the expression when rendering the query string
fixes #10623
fixes #8713
2015-11-13 16:54:08 +01:00
Johannes Meyer a500937b7d Properly handle undefined configuration values
fixes #10597
2015-11-13 16:14:11 +01:00
Johannes Meyer d321b2de79 Merge branch 'master' into bugfix/hot-all-hostgroups-are-shown-10316 2015-11-13 15:37:53 +01:00
Johannes Meyer 5fcd65a05a Web: Fix that shared child menu entries were not displayed for non-owners
fixes #10319
2015-11-13 15:28:39 +01:00
Eric Lippmann d5fe0c9610 Merge branch 'feature/dope-layout-5543#2' 2015-11-13 15:21:07 +01:00
Johannes Meyer 26e6acf9af ListController: Fix servicegrid grouping when applying group restrictions #2
PostgreSQL had still issues with it. Quickfix only, again.

refs #10316
2015-11-13 14:42:28 +01:00
Bernd Erk 39aa888131 Adds new about page and dotted bottom lines in detail 2015-11-13 13:57:09 +01:00
Thomas Gelf 74f53725e1 ApplicationBootstrap: phpdoc-deprecate 2015-11-13 11:53:14 +01:00
Thomas Gelf a94662492b ApplicationBootstrap: wipe setupZendAutoloader() 2015-11-13 11:53:14 +01:00
Thomas Gelf d0ce9f86d8 Module: less stat calls, less work to do 2015-11-13 11:53:14 +01:00
Thomas Gelf 99a6bc12a9 ApplicationBootstrap: register global app dir 2015-11-13 11:53:14 +01:00
Thomas Gelf 9270ef6d6f Application\Web: less assistance for class loader 2015-11-13 11:52:13 +01:00
Thomas Gelf 05b7388a18 ClassLoader: completely refactored 2015-11-13 11:52:13 +01:00
Thomas Gelf a1832e1424 Modules/Manager: did we load all enabled modules? 2015-11-13 11:52:13 +01:00
Thomas Gelf f9a0e7dec6 Module: provide getApplicationDir() 2015-11-13 11:52:13 +01:00
Thomas Gelf 7a2824e070 ApplicationBootstrap: syntax 2015-11-13 11:51:41 +01:00
Johannes Meyer d0ab001437 PivotTable: Fix axis queries if only one is being filtered
refs #10316
2015-11-13 11:44:00 +01:00
Bernd Erk ecf929ec96 Fixes form decorator and uses sprintf 2015-11-12 23:11:07 +01:00
Johannes Meyer b182a31b90 DbQuery: Catch exceptions in __toString() 2015-11-12 16:32:29 +01:00
Bernd Erk d8d917ef5a Remove long required hint in forms 2015-11-12 16:01:20 +01:00
Eric Lippmann 47401ca4b2 Don't talk about panes
refs #5543
2015-11-12 15:53:38 +01:00
Eric Lippmann ad31f3fbdb CSS: Remove selection-toolbar
Not in use.

refs #5543
2015-11-12 13:08:05 +01:00
Eric Lippmann b64bf06df7 CSS: Move limiter and pagination styles to controls.less
refs #5543
2015-11-12 13:07:35 +01:00
Eric Lippmann 0abbe2583b Introduce a form the limiter control
refs #5543
2015-11-12 13:04:52 +01:00
Johannes Meyer dc7756c599 DbRepository: Fix that PostgreSQL queries do not apply LOWER on order cols
refs #10364
refs #9955
2015-11-12 09:13:46 +01:00
Johannes Meyer 439fc28d0f DbRepository: Add missing use statement for class FilterExpression
refs #10364
2015-11-12 08:23:35 +01:00
Johannes Meyer d2b8ed243f Repository: Accept parameter $filter in method requireFiltercolumn()
This allows to adjust more than the name of the column if necessary.

refs #10364
2015-11-11 16:05:54 +01:00
Eric Lippmann 75091d0eaa Reduce HTML for sparkline pie charts
refs #5543
2015-11-11 15:11:14 +01:00
Johannes Meyer 22f966db43 DbRepository: Fix that PostgreSQL queries use LOWER() on non-CI columns
refs #10364
refs #9954
2015-11-11 15:06:18 +01:00
Johannes Meyer d2cc854a61 LdapUserBackend: Set a query's base DN when a table gets required
This ensures that the query receives the correct base DN even if the table
gets adjusted by calling from() subsequently.

refs #10567
2015-11-11 12:55:17 +01:00
Johannes Meyer 8bf4e8d217 LdapUserGroupBackend: Set a query's base DN when a table gets required
This ensures that the query receives the correct base DN even if the table
gets adjusted by calling from() subsequently.

refs #10567
2015-11-11 12:54:49 +01:00
Johannes Meyer cf193f2c1b RepositoryQuery: Initialize property $query before requiring a new table
Since $this gets passed to Repository::requireTable() it may be possible
that some repository tries to access the underlying native query so we
need to ensure that we're able to actually provide it.

refs #10567
2015-11-11 12:48:01 +01:00
Johannes Meyer 31b584b338 LdapConnection: Fix method fetchOne()
The method suffered from multiple issues:
* Actual NULL values were interpreted as if the row does not have any cols
* Which attribute's value got returned was dependent on the result set instead of the desired columns

refs #10567
2015-11-11 12:44:08 +01:00
Johannes Meyer 2917f352b5 Merge branch 'master' into bugfix/unreliable-attribute-ambiguity-check-10567
Conflicts:
	library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php
	library/Icinga/Protocol/Ldap/LdapConnection.php
2015-11-11 11:53:19 +01:00
Johannes Meyer 453aa864cc LdapUserGroupBackend: Set the appropriate base dn when resolving dns
refs #10567
2015-11-11 11:38:32 +01:00
Johannes Meyer c85bce7211 LdapConnection: Add method ldapSearch()
This will now emit a debug message for each issued search operation.

refs #10567
2015-11-11 10:01:00 +01:00
Johannes Meyer 60a951a97d Logger: Add method getLevel()
refs #10567
2015-11-11 09:59:28 +01:00
Johannes Meyer a662fc9af0 Controller: Re-add "view" as preserved column
We're still utilizing this in the dashboard..
2015-11-10 16:08:02 +01:00
Eric Lippmann 8a26e81c1c Remove LogoutNavigationItemRenderer
refs #5543
2015-11-10 14:06:49 +01:00
Eric Lippmann 92e3895c94 Revert user menu to its original state
refs #5543
2015-11-10 14:05:48 +01:00
Johannes Meyer cee639d689 LdapConnection: Re-apply a query's filter on unfolded rows
refs #10370
2015-11-10 14:03:08 +01:00
Johannes Meyer e408630e34 LdapConnection: Do not require calling array_flip for method cleanupAttributes()
Seems to be a relict of an earlier implementation..

refs #10370
2015-11-10 13:41:08 +01:00
Johannes Meyer 666e67b405 LdapConnection: Prefer strict checks when utilizing in_array() 2015-11-10 13:17:30 +01:00
Johannes Meyer 6c07881466 FilterChain: Fix and document method listFilterColumns()
refs #10370
2015-11-10 13:16:40 +01:00
Johannes Meyer 72f3ba1161 LdapUserGroupBackend: Offer "user_name" as filter column instead of "user"
refs #10370
2015-11-10 11:52:06 +01:00
Johannes Meyer 8d04c8548a Do not hardcode action specific parameters to preserve in the FilterEditor
This should only happen for other control parameters or framework
specific stuff. This is still subject to improvement, as this solution is
rather ugly imho..

refs #10370
2015-11-10 11:51:26 +01:00
Johannes Meyer d56056bba7 LdapUserGroupBackend: Utilize $virtualTables 2015-11-10 09:56:58 +01:00
Johannes Meyer 505f5902c7 LdapUserBackend: Utilize $virtualTables 2015-11-10 09:56:27 +01:00
Johannes Meyer c416216822 LdapUserGroupBackend: Fix typo in method requireTable()
refs #10370
2015-11-09 16:00:55 +01:00
Johannes Meyer ffcc2ed56b LdapUserGroupBackend: Fix exception when searching for single chars
refs #10370
2015-11-09 16:00:24 +01:00
Johannes Meyer 4341eef4b1 LdapQuery: Add support for Icinga\Data\Filter
refs #10370
2015-11-09 15:59:48 +01:00
Eric Lippmann 802cba3fb8 CSS: Move variables from themes/icinga.less to base.less
refs #5543
2015-11-09 13:32:59 +01:00
Johannes Meyer 9b826e6e5f Drop class Ldap\Expression and introduce LdapQuery::$nativeFilter
I'm about to add support for our Data\Filter implementation, since it cannot
parse native LDAP filters and a user may have configured such, we need to
differentiate the two types of filter.

refs #10370
2015-11-09 13:04:02 +01:00
Johannes Meyer cfb26e22b3 LdapUserGroupBackend: Dynamically verify member attribute ambiguity
refs #10567
2015-11-09 11:41:11 +01:00
Johannes Meyer 6551a86d4d LdapRepository: Drop method isAmbiguous() and introduce isRelatedDn()
refs #10567
2015-11-09 11:40:30 +01:00
Eric Lippmann b5c8579d0e lib: Fix Url paramter encoding if parameter is a Url object
fixes #10321
2015-11-09 09:55:17 +01:00
Johannes Meyer 1e35a17ec1 DbQuery: Support not equal comparisons with arrays 2015-11-05 15:49:15 +01:00
Johannes Meyer ff61b8e696 Repository: Fix that conversion rules for statements are applied on queries..
..when calling RepositoryQuery::addFilter().
2015-11-05 14:07:54 +01:00
Eric Lippmann ba4256d983 Quick and dirty fix menu in FF
refs #5543
2015-11-04 17:49:43 +01:00
Johannes Meyer dd069288e9 DbRepository: Do not attempt to join virtual tables multiple times 2015-11-04 15:59:40 +01:00
Alexander A. Klimov 327cf37326 Command: make $config and $configs protected 2015-11-03 16:11:20 +01:00
Johannes Meyer 48e6bdd6ce RepositoryQuery: Fix that the query is not passed as context in fetchAll() 2015-11-03 14:42:32 +01:00
Johannes Meyer 477af43a2f RepositoryQuery: Properly handle custom aliases when applying value conversion rules 2015-11-03 14:42:32 +01:00
Alexander A. Klimov e170d5b79a Command::fail(): construct IcingaException printf-like
The first argument of IcingaException::__construct() must be a printf-like format string, but Command::fail() must accept any message string.
2015-11-03 10:45:39 +01:00
Johannes Meyer 71c5fd0bf7 DbRepository: Take virtual columns into consideration when applying aliases 2015-11-02 17:07:02 +01:00
Johannes Meyer 5db8d08729 Repository: Fix that column normalisation is not applied by requireAllQueryColumns() 2015-10-30 15:36:48 +01:00
Johannes Meyer 5dfaa89440 Repository: Pass some more details to conversion methods 2015-10-30 15:35:41 +01:00
Johannes Meyer a60ad3ecf0 DbRepository: Return the number of affected rows for cud operations 2015-10-30 15:34:57 +01:00
Johannes Meyer df7a2ee0a9 Repository: Add native support for virtual table names 2015-10-30 15:34:19 +01:00
Johannes Meyer 99719bec7d Merge branch 'master' into bugfix/broken-user-and-group-management-10367
Conflicts:
	library/Icinga/Authentication/User/LdapUserBackend.php
	library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php
2015-10-29 08:52:07 +01:00
Eric Lippmann 8cc96e61da Re-add time-ago, -since and -until CSS classes
refs #5543
2015-10-28 10:41:22 +01:00
Eric Lippmann bb33a43cb9 CSS: Don't pollute time related format helpers w/ text-small
fixes #10301
2015-10-27 16:23:32 +01:00
Eric Lippmann 4eb92438dd Add nav-level-$level CSS classes to navigation 2015-10-27 13:52:18 +01:00
Johannes Meyer 36340aafa6 Repository: Ensure that we'll internally only work with virtual table names
refs #10367
2015-10-27 13:31:47 +01:00
Thomas Gelf f88bd525f1 DbConnection: respect charset parameter
refs #10359
2015-10-27 13:21:35 +01:00
Eric Lippmann 6e5ba364fb CSS: Introduce badge-nav-item
refs #5543
2015-10-26 12:44:11 +01:00
Eric Lippmann 8341415d28 nav: Give item renderer a chance to set the CSS class of the outer li element
refs #5543
2015-10-26 12:32:49 +01:00
Eric Lippmann 4593c78d16 lib: Fix JSON response exception on form failure 2015-10-26 12:30:50 +01:00
Eric Lippmann e07e16d7a1 lib: Remove UserNavigationItemRenderer 2015-10-22 14:26:53 +02:00
Johannes Meyer 0b9a141591 LdapUserGroupBackend: Use the group_base_dn as user_base_dn..
..if neither the config nor the defaults provide a value.

refs #10402
2015-10-20 11:28:18 +02:00
Markus Frosch 33956e02f8 Fix collection of user_base_dn from the UserBackend
Currently the group_base_dn is used, unless a user_base_dn is configured in the group backend.

refs #10402
2015-10-20 10:02:42 +02:00
Johannes Meyer 878bd78587 LdapUserBackend: Unfold the user_name_attribute automatically
This is.. the currently easiest solution. As long as attribute unfolding
is not very performance intensive this solution suffices.

refs #10367
refs #10332
2015-10-16 17:25:42 +02:00
Johannes Meyer 8ed489c637 LdapUserGroupBackend: Add method persistUserName()
refs #10367
refs #10370
2015-10-16 15:28:44 +02:00
Johannes Meyer 58fc87b2e5 Repository: Ensure that we'll internally only work with virtual table names
refs #10367
2015-10-16 14:46:44 +02:00
Johannes Meyer 1b7dc1098c DbUserGroupBackend: Use LEFT JOIN to join the group_membership table
Fixes the issue that groups are not found if they do not have any members
even though they meet the where clause
2015-10-16 13:10:39 +02:00
Johannes Meyer 7ef76932d4 DbRepository: Validate the table when inserting, updating and deleting 2015-10-16 12:36:47 +02:00
Johannes Meyer 33037eebbb Revert "Fix group base DN is erroneously used in place of user base DN"
This reverts commit ac7546d9f2.
2015-10-16 10:08:14 +02:00
Johannes Meyer 34bf0c3cb0 Add method getUserBackendName() to UserGroupBackendInterface
refs #10367
refs #10373
2015-10-15 15:28:03 +02:00
Eric Lippmann 331822ad15 Merge pull request #47 from anenviousguest/master 2015-10-15 12:53:10 +02:00
Vladislav Ponomarev ac7546d9f2 Fix group base DN is erroneously used in place of user base DN
refs #10340
refs #10367

Signed-off-by: Eric Lippmann <eric.lippmann@netways.de>
2015-10-15 12:52:17 +02:00
Johannes Meyer d6432cd881 LdapUserGroupBackend: Fix invalid query column initialization, again
I've mistakenly reverted a change from Aaron Collins that would have
prevented this issue from occuring.

fixes #10318
2015-10-09 03:53:22 +02:00