Commit Graph

1183 Commits

Author SHA1 Message Date
Thomas Gelf da47c7fc7e Merge remote-tracking branch 'origin/master' into feature/redesign-7144 2014-11-14 21:32:57 +01:00
Johannes Meyer ddf2ef5cc9 Remove $request parameter from Form::onSuccess and Form::onRequest
fixes #7552
2014-11-14 14:59:29 +01:00
Eric Lippmann 49d66a7b73 Use lessphp from the include path
refs #6165
refs #6166
2014-11-14 13:27:02 +01:00
Eric Lippmann 6624b764cf Use JShrink from the include path
refs #6165
refs #6166
2014-11-14 11:55:06 +01:00
Johannes Meyer 1c4a5ce86f Leave it up to Icinga\Web\Form to instantiate our own form elements 2014-11-14 10:15:27 +01:00
Johannes Meyer 872dce2208 Prefer form elements of Icinga\Web\Form\Element in Form::createElement 2014-11-14 10:15:27 +01:00
Thomas Gelf 69fdc6a329 Chart/InlinePie: smaller, white border for hover
I roughly changed the piechart defaults to their original (icon-like)
size. However, this is NOT how we should handle such changes. We MUST
be able to style them via CSS and get rid of that incredible amount of
HTML attributes.

I want to be able to set the height directly in CSS as em/px. And I want
also be able to set it to 100% and size the outer container.

refs #7077
2014-11-14 09:54:20 +01:00
Thomas Gelf d55c2a4c87 Widget\Filter*: fix parse error, replace minus 2014-11-13 21:47:40 +01:00
Bernd Erk 903219b302 Merge branch 'master' into feature/redesign-7144
Conflicts:
	library/Icinga/Web/Menu.php
	public/css/icinga/menu.less
2014-11-13 21:11:36 +01:00
Bernd Erk 20be45e8da Enable icon font 2014-11-13 20:08:58 +01:00
Bernd Erk 6201858a68 Merge branch 'master' into feature/redesign-7144 2014-11-13 17:47:26 +01:00
Eric Lippmann ac2ec83852 Merge branch 'master' into feature/localization-form-6073
Conflicts:
	library/Icinga/Application/ApplicationBootstrap.php
	test/php/library/Icinga/User/Store/DbStoreTest.php
2014-11-13 17:03:41 +01:00
Thomas Gelf f86d3e7636 Web\StyleSheet: PCRE problem workaround, PHP5.3.7
Lines with embedded fonts where too long for lessphp's PCRE matches
unless PHP 5.3.7
2014-11-13 16:35:26 +01:00
Thomas Gelf 28c239c6fd Web\Controller: initial commit
* This is the controller all modules should inherit from.
* We will flip code with the ModuleActionController as soon as a couple
  of pending feature branches are merged back to the master.
2014-11-13 15:42:25 +01:00
Thomas Gelf 1c0e427d3b Web\StyleSheet: compile webfont too
refs #6936
2014-11-13 15:41:13 +01:00
Thomas Gelf 50869c783d MonitoringMenuItemRenderer: webfont icon support
refs #6936
2014-11-13 15:30:00 +01:00
Thomas Gelf b16959bc44 Widget\Tab: support webfont icons
refs #6936
2014-11-13 15:22:47 +01:00
Thomas Gelf 29c7c2e707 Web\MenuRenderer: support webfont icons
refs #6936
2014-11-13 15:21:49 +01:00
Thomas Gelf 1aa8858dca helpers/icon: support webfont shortcuts
* set icon class instead of icon image if no such is given
* fix TODO: merge parameter classes

refs #6936
2014-11-13 15:17:36 +01:00
Bernd Erk ef2ec0442c Merge branch 'master' into feature/redesign-7144 2014-11-13 14:40:26 +01:00
Johannes Meyer 6be51d1565 Use Icinga\Web\Form\Element\Button instead of Zend's button
Due to a bug in Zend prior to 1.12.2 we need our own button implementation
to support earlier versions of the Zend Framework. The side effect is, that
this button can also be used as submit button for our forms as isChecked
will do its job now properly.
2014-11-13 14:26:12 +01:00
Bernd Erk ac8cc0613c Merge branch 'master' into feature/redesign-7144
Conflicts:
	application/views/scripts/authentication/login.phtml
	public/css/icinga/login.less
2014-11-12 17:21:54 +01:00
Eric Lippmann 75475b1684 Rename getBootstrapDirecory() to getBootstrapDirectory() 2014-11-12 17:14:43 +01:00
Eric Lippmann b27d1d0058 Merge branch 'master' into feature/setup-wizard-7163 2014-11-12 14:48:15 +01:00
Alexander Fuhr 993390941a Add user account menu and move logout and preferences inside it 2014-11-12 13:22:14 +01:00
Thomas Gelf 5851886877 Widget\Tab: no underlined space after icon 2014-11-12 11:30:06 +01:00
Johannes Meyer 62aacce469 Place the noscript button next to the element it is supposed to apply 2014-11-12 10:48:52 +01:00
Johannes Meyer 7aae291f69 Merge branch 'master' into feature/setup-wizard-7163 2014-11-12 10:08:28 +01:00
Thomas Gelf f24b0e2a4e MonitoringBackend: a few more places, doesn't hurt 2014-11-12 00:20:37 +01:00
Thomas Gelf 0992f6cc15 Monitoring/MenuRenderers: unify logic, perftuning
This reduces duplicate code, query will be fired only once right now.

fixes #7554
2014-11-11 21:50:49 +01:00
Eric Lippmann 8e3394fd55 Merge branch 'master' into feature/redesign-7144 2014-11-11 13:54:13 +01:00
Johannes Meyer 9d292269b1 Merge branch 'master' into feature/setup-wizard-7163
Conflicts:
	application/forms/Config/Resource/LdapResourceForm.php
	test/php/application/forms/Config/Authentication/LdapBackendFormTest.php
2014-11-11 09:44:11 +01:00
Johannes Meyer 8f212018ec Move the setup wizard code to a dedicated module
refs #7163
2014-11-10 15:11:44 +01:00
Johannes Meyer 79493592bb Do not use Installer anywhere.
"It's setup."

refs #7163
2014-11-10 10:30:52 +01:00
Johannes Meyer 7b99b74ae1 Prefer Icinga\Application\Config instead of Zend_Config
refs #7147
2014-11-07 13:53:03 +01:00
Bernd Erk f9e8cc84b9 Design: headline and main menu 2014-11-06 00:09:14 +01:00
Eric Lippmann a06568ce41 security: Add menu entry for security
refs #5647
2014-11-04 16:19:20 +01:00
Eric Lippmann d2eddcbec6 Introduce Form::setOnSuccess() in favor of overriding the constructor
Zend_Form uses setters for options if a respective setter method exists.
It is not necessary to override the constructor for introducing new options.
2014-11-04 16:15:06 +01:00
Johannes Meyer 0db658b7f3 Fix that pgsql privileges were tested in case of mysql
refs #7163
2014-11-04 15:51:11 +01:00
Johannes Meyer 170ded6510 Merge branch 'master' into feature/setup-wizard-7163
Conflicts:
	library/Icinga/Authentication/Backend/LdapUserBackend.php
	library/Icinga/File/Ini/IniWriter.php
2014-11-04 14:22:53 +01:00
Johannes Meyer 581935c26f Fix database setup and add support for the new schema
refs #7163
2014-11-04 13:51:15 +01:00
Johannes Meyer 805cb9f079 Do not report whether files were skipped because they already exist
I've removed the summary earlier as a user does not configure this in any
way so it's not necessary to show him what should had happened to files
as well.

refs #7163
2014-11-04 13:47:37 +01:00
Eric Lippmann ea1f51ad9a Use callable as type hint instead of Callback
PHP 5.4 introduces callable for type hinting and PSR-5 proposes callable.
2014-10-31 15:59:45 +01:00
Eric Lippmann 16352fc10c Move Logger to the Application namespace
fixes #7148
2014-10-31 10:27:17 +01:00
Johannes Meyer 538bc8aec8 Drop unused method parameter in DbTool::checkPrivileges 2014-10-30 15:08:04 +01:00
Johannes Meyer 521a36e0af Fix method documentation of DbTool::checkPgsqlPriv() 2014-10-30 15:07:33 +01:00
Johannes Meyer e58520c3e6 Drop irritating and redundant docblock warning 2014-10-30 15:06:57 +01:00
Johannes Meyer 1bd1b58d46 Drop unused use statement 2014-10-30 15:06:14 +01:00
Johannes Meyer 9cd4aeec06 Fix MySQL login creation in DbTool::addLogin()
refs #7163
2014-10-29 15:45:57 +01:00
Johannes Meyer 33a64eb55a Do not throw an exception in DbTool due to an implementation detail
Throwing exceptions due to failing logic which is purely an implementation
detail must not affect the calling code in any way.

refs #7163
2014-10-29 15:45:26 +01:00
Johannes Meyer 47d9426a1f Use a hardcoded path where to look for modules
refs #7163
2014-10-29 15:43:08 +01:00
Johannes Meyer 6a3244d8df Do not show a summary for the MakeDirStep
The user does not configure anything this step will process so there is no
need to show the user a summary about something he can't control.

refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer 83cfcef85c Add EnableModuleStep
refs #7163
2014-10-29 08:38:59 +01:00
Johannes Meyer a899070606 Move MakeDirStep to Icinga\Web\Setup
refs #7163
2014-10-29 08:38:59 +01:00
Matthias Jentsch 2e8c0cffe6 Check privileges of database user accounts before continuing with the setup
Implement owner and privilege checks for postgresql, and fix some errors in
existing MySQL privilege checks.

resolves #7389
2014-10-27 15:08:52 +01:00
Johannes Meyer 851682cf18 Make page count assertion more sensitive
refs #7163
2014-10-24 14:06:31 +02:00
Johannes Meyer 03bbc2e2e6 Use a dedicated method to clear a wizard's session
Simplifies session removal in case a sub-class of Icinga\Web\Wizard
requires special session handling

refs #7163
2014-10-24 13:55:41 +02:00
Johannes Meyer 216c072024 Implement installation routines modularly
This allows us to "merge" module installation
routines with our main installer routines.

refs #7163
2014-10-23 11:41:16 +02:00
Johannes Meyer a5b10235d2 Add more detail to error messages when token validation fails
refs #7163
fixes #7410
2014-10-21 16:10:21 +02:00
Johannes Meyer 9f127be1dc Merge branch 'master' into feature/setup-wizard-7163
Conflicts:
	application/forms/Config/General/LoggingConfigForm.php
2014-10-17 13:04:59 +02:00
Johannes Meyer d1ea7e87a2 Improve form styling slightly 2014-10-15 15:46:07 +02:00
Johannes Meyer 38ee467603 Fix that the session is written too early when post-dispatching 2014-10-15 13:15:30 +02:00
Johannes Meyer 2c09ca1623 Fix that retrieving notifications causes them to be dropped entirely
I've broke this when doing some improvements while being
brainless, obviously.
2014-10-15 13:14:51 +02:00
Johannes Meyer 5d44a005a0 Fix that notifications are not registered 2014-10-15 13:02:56 +02:00
Matthias Jentsch 937dbe2c15 Add missing close buttons to views without tabs 2014-10-14 17:54:52 +02:00
Johannes Meyer b5798331db Wrap form notifications in <p> by default, not <div> 2014-10-13 09:41:36 +02:00
Johannes Meyer 437b41c6c1 Merge branch 'master' into feature/setup-wizard-7163 2014-10-13 08:18:43 +02:00
Johannes Meyer ca6eca6b67 Quote database names, usernames and passwords when setting up the db
refs #7163
2014-10-09 16:02:18 +02:00
Johannes Meyer c3404fdc67 Support prepared statements in DbTool::exec and DbTool::query
refs #7163
2014-10-09 15:03:51 +02:00
Johannes Meyer f8f27e046d Ensure that we advance a wizard when pushing ENTER
refs #7163
2014-10-09 13:41:06 +02:00
Eric Lippmann cc61dc2b01 Form: Don't override Zend_Form::setDefaults()
fixes #7315
2014-10-08 17:43:28 +02:00
Johannes Meyer 1cbe2451a8 Merge branch 'master' into feature/setup-wizard-7163
Conflicts:
	application/forms/Config/Resource/StatusdatResourceForm.php
2014-10-08 16:34:31 +02:00
Johannes Meyer 89ae05899b Query a particular login name and create database logins using the DbTool
refs #7163
2014-10-08 15:33:51 +02:00
Johannes Meyer abc34a5f1a Add database setup routines
refs #7163
2014-10-07 17:08:50 +02:00
Johannes Meyer b50c780bcf Let the setup's view scripts be a bit more generic
refs #7163
2014-10-06 16:04:58 +02:00
Johannes Meyer 83006c014c Wrap wizard buttons in a div
refs #7163
2014-10-06 11:07:21 +02:00
Eric Lippmann 2956d9e342 form: Correctly set our default element decorators 2014-10-06 10:42:24 +02:00
Eric Lippmann fa96a1cbbe Number: Extend our FormElement class 2014-10-06 10:21:17 +02:00
Eric Lippmann a3409b166d Note: Extend our FormElement class 2014-10-06 10:21:02 +02:00
Eric Lippmann 9be52a9148 DateTimePicker: Extend our FormElement class
fixes #7322
2014-10-06 10:20:26 +02:00
Eric Lippmann 9db76bf371 CsrfCounterMeasure: Save calls to `setRequired()' and `setIgnore()' 2014-10-06 10:19:36 +02:00
Eric Lippmann 8106fe4f79 form: Add `FormElement' as base class for our elements 2014-10-06 10:19:05 +02:00
Johannes Meyer a980184eb9 Move css instructions to dedicated stylesheet
refs #7163
2014-10-01 15:46:58 +02:00
Matthias Jentsch ed91e119d2 Add close-button to all containers
refs #6216
2014-10-01 14:51:51 +02:00
Johannes Meyer 8f79e0a713 Fix warning "references should be passed by variable only" 2014-10-01 09:17:48 +02:00
Johannes Meyer 08d259eccf Add database creation page
refs #7163
2014-10-01 09:16:53 +02:00
Eric Lippmann bbee06b57f form: Ignore note elments when retrieving values at form level 2014-10-01 08:18:34 +02:00
Johannes Meyer 7b01525456 Fix that navigation buttons have labels
refs #7163
refs #7320
2014-09-29 16:42:38 +02:00
Johannes Meyer 513d5e30a4 Merge branch 'master' into feature/setup-wizard-7163 2014-09-29 16:16:12 +02:00
Johannes Meyer ab8436dea8 Fix Icinga\Web\Form\Element\Note using its default decorators 2014-09-29 16:12:38 +02:00
Johannes Meyer cbadaa78d6 Merge branch 'master' into feature/setup-wizard-7163 2014-09-29 15:35:52 +02:00
Johannes Meyer 4a14dc5916 Add interface for setup wizards
refs #7163
2014-09-29 14:19:05 +02:00
Johannes Meyer 5d6391242c Add interface for installers
refs #7163
2014-09-29 14:18:50 +02:00
Johannes Meyer 929344e68b Add container to store and handle installation requirements
refs #7163
2014-09-29 12:25:29 +02:00
Johannes Meyer aa17f2828d Add utility to ease working with databases without the use of Zend
refs #7163
2014-09-29 12:24:56 +02:00
Johannes Meyer 7c53e6f7be Improve page permission handling
refs #7163
2014-09-29 11:31:59 +02:00
Johannes Meyer 5c13a19b1a Populate a wizard page in case the user moves backwards
refs #7163
2014-09-29 11:31:13 +02:00
Johannes Meyer 73b41769e7 __toString() should call __toString() as well if possible
There may be cases that an error occurs and another _toString()
implementation handles that appropriately. This is such a case.
2014-09-29 11:28:58 +02:00
Johannes Meyer 3107eb87bb Silence stat() call 2014-09-29 11:24:59 +02:00
Alexander Fuhr b2f12e1caa Revert "lib: Remove form element `Note'"
This reverts commit c21d7d1fdd.
2014-09-26 16:19:44 +02:00
Alexander Fuhr c8a24f72b8 Introduce getValue() in Preferences and fix the loading of values 2014-09-26 14:15:50 +02:00
Johannes Meyer 8e48853f4d Add Wizard
This is a container/controller for form based wizards. Can be used directly
or by using a subclass that allows for a more customized handling.

refs #7163
2014-09-24 10:46:36 +02:00
Johannes Meyer 028a6c442b Fix persisting notification messages in the session 2014-09-24 10:46:35 +02:00
Johannes Meyer 635b802a2b Add tests for hasChanged, set/getByRef and fix setByRef 2014-09-24 10:46:35 +02:00
Johannes Meyer 6f988cb94c Remove method write() from Icinga\Web\Session\SessionNamespace 2014-09-24 10:46:35 +02:00
Johannes Meyer c00dbf9f46 Write session on response
There should not be any necessity to write the session once changes are
being made to it. We now track whether changes were made and write
the session when responding to the user's request if so.
2014-09-24 10:46:35 +02:00
Johannes Meyer 7fcd665aaa Fix value invalidation in Icinga\Web\Session\SessionNamespace 2014-09-24 10:46:35 +02:00
Johannes Meyer efab6c7827 Add method set/getByRef to Icinga\Web\Session\SessionNamespace 2014-09-24 10:46:35 +02:00
Johannes Meyer c772787967 Re-add TokenValidator
refs #7163
2014-09-24 10:46:35 +02:00
Eric Lippmann cde3ec6bc8 Merge branch 'master' into bugfix/commands-6593
Conflicts:
	modules/monitoring/application/controllers/TimelineController.php
2014-09-23 22:54:17 -07:00
Alexander Fuhr 07a4b25560 Merge branch 'master' into bug/history-notification-time-format-6980 2014-09-23 11:38:24 +02:00
Alexander Fuhr e784aa34b6 Implement DateTimeRenderer and fix history time format
refs #6980
2014-09-23 11:36:09 +02:00
Matthias Jentsch 6c8f324dd4 Add filter widget to StateHistorySummary and fix some minor bugs
fixes #6979
2014-09-19 17:41:44 +02:00
Matthias Jentsch 4ce71ef2f2 Display a tooltip on days without events 2014-09-19 17:41:44 +02:00
Matthias Jentsch 6f1cb6f1f3 Adjust brightness for different event type colors 2014-09-19 17:41:44 +02:00
Matthias Jentsch 65203fddcf Add additional state history filters for time interval and event type 2014-09-19 17:41:44 +02:00
Matthias Jentsch ef2f332869 Do not refresh a container when form input was changed or a form element is focused
Listen for changes in form elements and abort all reloads that contain a form with
at least one changed form element. Do not refresh containers that contain a focused form
element, except of elements with autofocus, to preserve form elements with a dropdown.
Only focus autofocus elements when there is currently no other selection.

refs #7146
refs #5537
fixes #7162
2014-09-19 15:48:44 +02:00
Eric Lippmann 264d818133 Do not save config references in the `ActionController'
This is redundant because our `Config' class already caches loaded configs.
2014-09-19 14:44:21 +02:00
Eric Lippmann 119e23e79e Make `InlinePie's setters fluent 2014-09-19 14:43:25 +02:00
Eric Lippmann bea110d0c7 Fix `Form::isSubmitted()' for dynamic submit labels 2014-09-19 14:27:04 +02:00
Eric Lippmann 5b5f553d0d form: Fix dynamic submit label retrieval 2014-09-19 13:39:38 +02:00
Eric Lippmann c51b05296e Merge branch 'master' into bugfix/commands-6593 2014-09-19 13:18:47 +02:00
Eric Lippmann 3c9859a0f1 Call `Form::getSubmitLabal()' in `Form::addSubmitButton()'
This allows us to dynamically define submit labels in form subclasses.
2014-09-19 13:00:15 +02:00
Eric Lippmann 5ba96c32f9 `Form::setDefaults()' fix strict standards violation
Declaration of Icinga\Web\Form::setDefaults() should be compatible with that of Zend_Form::setDefaults().
2014-09-19 12:59:01 +02:00
Eric Lippmann 7eb51f6367 form/csrf: Set the csrf element decorators in the element not in the form 2014-09-19 12:57:53 +02:00
Eric Lippmann d091e2150c Fix `ActionController::prepareInit()' php doc 2014-09-16 18:43:14 +02:00
Alexander Fuhr b38ef9c0bd Implement plural and context based translation functionality
refs #6982
2014-09-16 15:19:23 +02:00
Eric Lippmann c21d7d1fdd lib: Remove form element `Note'
Zend already provides this.
2014-09-16 09:54:23 +02:00
Eric Lippmann 5c647719e4 lib/ModuleActionController: Fix stupid code 2014-09-16 09:29:03 +02:00
Eric Lippmann f8edb4f220 lib: Add method `ActionController::prepareInit()'
As it should not be required for controllers to call the parent's init() method, base controllers should use
prepareInit() in order to prepare the controller initialization.
2014-09-16 09:28:10 +02:00
Alexander Fuhr e2b5e05f21 Implement plural translation (testing) 2014-09-15 14:11:42 +02:00
Eric Lippmann 8bf66425d1 Merge branch 'master' into bugfix/commands-6593 2014-09-15 09:27:56 +02:00
Eric Lippmann 9e0d6657b7 Merge branch 'bugfix/rebuild-form-builder-5525' into bugfix/commands-6593
Conflicts:
	application/forms/Preference/GeneralForm.php
2014-09-15 09:27:07 +02:00
Alexander Fuhr f48094f01a Merge branch 'master' into feature/translation-plurals-6982 2014-09-15 08:34:19 +02:00
Matthias Jentsch 1932a912f8 Fix month-naming for different week arrangements
fixes #7179
2014-09-12 11:51:51 +02:00
Matthias Jentsch 6c3c466f92 Start history grid weeks at monday
Add configuration option for week-start and set the default to Monday.
2014-09-12 11:51:51 +02:00
Matthias Jentsch e42b7b3026 Display current weeks at the beginning of the history grid
fixes #7179
2014-09-12 11:51:51 +02:00
Thomas Gelf 8ceef96d28 Web\Hook: remove unused methods 2014-09-12 09:53:38 +02:00
Thomas Gelf 93777ac15e Web/Response: use & to encode XHR redirection URLs 2014-09-12 09:28:11 +02:00
Matthias Jentsch ad53f7ad3d Use EventEmitter class as a way to delegate events from behaviors to the dom 2014-09-12 09:09:21 +02:00
Thomas Gelf 0e926ba05e Revert "Revert "Web\Hook: register('grapher')
This reverts commit 65564cda65.

The test was wrong, not the code.
2014-09-12 09:02:23 +02:00
Alexander Fuhr 583fd46f15 Experimental Plural Translation Implementation
Personal BACKUP
2014-09-11 18:04:10 +02:00
Alexander Fuhr 65564cda65 Revert "Web\Hook: register('grapher') => GrapherHook"
This reverts commit 4a89c2e163.
2014-09-11 15:00:28 +02:00
Matthias Jentsch 9376ceed33 Add missing use-statement for Exceptions in MenuRenderer
fixes #7157
2014-09-10 17:12:19 +02:00
Matthias Jentsch f58da73e2d Move javascript behaviors into separate classes 2014-09-10 17:02:39 +02:00
Matthias Jentsch d99d50b3c4 Add stub for javascript behaviors 2014-09-10 17:02:38 +02:00
Thomas Gelf ea63dad087 viewHelpers: use the view
refs #7177
2014-09-10 16:56:26 +02:00
Thomas Gelf 631b3d9f6e viewHelpers: There is no $this, not before 5.4
refs #7177
2014-09-10 16:54:57 +02:00
Thomas Gelf c2fe0232ca helpers/attributes: escape value
refs #7177
2014-09-10 16:07:00 +02:00
Matthias Jentsch 27960fc628 Catch exceptions in MenuItemRenderers
fixes #7157
2014-09-10 14:38:11 +02:00
Johannes Meyer 83772c6684 Merge branch 'master' into bugfix/rebuild-form-builder-5525 2014-09-09 16:03:22 +02:00
Matthias Jentsch 71f55e388f Only display custom menu renders on XHR requests and not in regular HTML
The main navigation should be rendered without a working backend.

fixes #7143
2014-09-09 15:33:42 +02:00
Johannes Meyer e7c021845d Simplify subform usage
refs #5525
2014-09-09 15:00:33 +02:00
Johannes Meyer f7f6bcc447 Make Form base class more test friendly..
refs #5525
2014-09-09 09:31:15 +02:00
Johannes Meyer c8ce1088c9 Disable checking whether a form is sent when form identification is disabled
refs #5525
2014-09-09 09:30:33 +02:00
Matthias Jentsch a352131d65 Move charts.less into widgets.less
Don't use a separate less file for only two styles
2014-09-08 16:25:11 +02:00
Matthias Jentsch e8164c6da0 Show tooltips to describe menu badges 2014-09-08 10:38:02 +02:00
Eric Lippmann 0e7ca591ec Merge branch 'master' into bugfix/commands-6593
Conflicts:
	application/forms/Preference/GeneralForm.php
	application/views/helpers/FormDateTime.php
	modules/monitoring/application/forms/Command/CommandForm.php
2014-09-08 10:16:05 +02:00
Matthias Jentsch e39dd64a1b Fix layout of HistoryColorGrid
Use actual color for critical hosts and only display the first two letters of the weekday
2014-09-08 09:52:28 +02:00
Johannes Meyer 12b4865559 Fix incompatible declaration of Form::setDefaults()
PHP with strict standards: Declaration of Icinga\Web\Form::setDefaults()
should be compatible with that of Zend_Form::setDefaults()

refs #5525
2014-09-08 09:42:02 +02:00
Johannes Meyer 930e6e7d71 We shouldn't require Form::createElements() to return self
refs #5525
2014-09-08 09:24:53 +02:00
Johannes Meyer ae9e5a40cc Merge branch 'master' into bugfix/rebuild-form-builder-5525
Conflicts:
	application/forms/Preference/GeneralForm.php
2014-09-08 08:46:53 +02:00
Thomas Gelf 4a89c2e163 Web\Hook: register('grapher') => GrapherHook 2014-09-05 18:54:50 +02:00
Matthias Jentsch 51d14af154 Merge branch 'master' into feature/navigation-unhandled-badges-7114
Conflicts:
	library/Icinga/Web/Menu.php
2014-09-05 18:14:29 +02:00
Matthias Jentsch 19eca5f50b Show all unhandled host and services in a menu
Add the option to define custom renderers for menu items and implement renderers to
display all unhandled services and host in a badge in the navigation.

resolves #7114
2014-09-05 17:57:20 +02:00
Thomas Gelf 596800bd7d helpers/url: overwrite existing params 2014-09-05 17:56:55 +02:00
Thomas Gelf 4bb065d9bb Web\Menu: provide and render unique id
fixes #7083
2014-09-05 17:24:55 +02:00
Thomas Gelf b034028ff8 Menu: do not show application log when none exists
Added new functions to the logger to get rid of distributed logging config
"knowledge".

fixes #7062
fixes #7098
2014-09-05 15:31:30 +02:00
Marius Hein 3ce42489c6 Timezone detection: Client implementation
refs #6078
2014-09-05 15:24:13 +02:00
Thomas Gelf e205ca4d0b FilterWidget: remove icon titles
fixes #7105
2014-09-05 14:50:22 +02:00
Thomas Gelf 33d2175b77 Web\UrlParams: allow to merge single value 2014-09-05 13:35:51 +02:00
Thomas Gelf baa775dd74 Web\Url: document with() method 2014-09-05 11:40:43 +02:00
Thomas Gelf 1c2207f51d Web\Url: provide a with() function 2014-09-05 11:21:10 +02:00
Thomas Gelf 4c8407e2b6 Web\StyleSheet: outer #layout access for modules
fixes #7093
2014-09-05 10:56:26 +02:00
Thomas Gelf b14e7f5696 LessCompiler: remove obsolete cache-related comment 2014-09-05 10:56:25 +02:00
Johannes Meyer fc72ddfbc8 Adjust Preferences/GeneralForm to use handleRequest() &. Co.
refs #5525
2014-09-05 10:21:24 +02:00
Johannes Meyer d021747bde Fix form widgets
refs #5525
2014-09-05 09:17:09 +02:00
Johannes Meyer 8846f17ae1 Make it possible to disable form identification
refs #5525
2014-09-05 09:16:09 +02:00
Alexander Fuhr ba623d0544 SearchDashboard: adjust SearchDashboardTest and rename searchQuery to searchString 2014-09-04 22:54:41 +02:00
Thomas Gelf 0f7f2f2d8b SearchDashboard: rename ::load() to ::search()
Function signature didn't match parent factory function

fixes #7081
2014-09-04 19:35:31 +02:00
Thomas Gelf 0f8d5bddba Web\Menu: make use of Web\Url
refs #7083
2014-09-04 19:18:09 +02:00
Thomas Gelf f91892cb80 Web\Url: add matches() function
fixes #6992
2014-09-04 18:46:58 +02:00
Alexander Fuhr e4d1143870 Add SearchDashboardTest 2014-09-04 18:31:08 +02:00
Alexander Fuhr 1eacde0233 Implement modules self provided search configuration
refs #6495
2014-09-04 16:31:10 +02:00
Marius Hein c8eaf66823 GrapherHook: Rework hook
refs #6932
2014-09-04 14:00:48 +02:00
Marius Hein 4fb47ef768 Hook classes: Add class suffix if not exist
refs #7066
refs #7067
refs #7068
2014-09-04 14:00:48 +02:00
Eric Lippmann c3c0043307 Merge branch 'master' into bugfix/commands-6593 2014-09-03 23:23:20 +02:00
Eric Lippmann a4da3b61b3 Merge branch 'bugfix/rebuild-form-builder-5525' into bugfix/commands-6593 2014-09-03 23:23:02 +02:00
Matthias Jentsch da85112538 Merge branch 'master' into feature/svg-chart-tooltips-7024 2014-09-03 17:08:00 +02:00
Matthias Jentsch 37b168995b Rename tipsy stylesheet file type to css and add license 2014-09-03 17:01:07 +02:00
Matthias Jentsch b10b1ea034 Add jQuery tooltips 2014-09-03 15:53:56 +02:00
Eric Lippmann 2025fb3a2f lib: Let the date-and-time input control behave as defined in HTML5
refs #6593
2014-09-03 14:40:58 +02:00
Alexander Fuhr acbd2bd7c0 Merge branch 'master' into feature/dashboard-component-disabled-property-6986 2014-09-03 14:40:30 +02:00
Eric Lippmann 906de4e679 lib: Add the HTML5 attributes 'min', 'max' and 'step' to the number input control
refs #6593
2014-09-03 14:39:42 +02:00
Eric Lippmann 1a4e908461 lib: Let `DateTimeValidator' validate values as defined in HTML5
See http://www.w3.org/TR/html-markup/datatypes.html#common.data.datetime for the specification.

refs #6593
2014-09-03 14:36:18 +02:00
Alexander Fuhr 7cfc051228 Add tests for Dashboard and fix doc blocks
refs #6986
2014-09-03 14:36:04 +02:00
Johannes Meyer 54a834266c Form::createElements() should add elements instead of returning them
In case createElements() would still return the elements while requiring
the caller to add them to the form all form dependent configurations get
lost. (displaygroups, belongTo, ...) Wizards or parent forms can still
retrieve only input relevant fields by just calling createElements() and
getElements().

refs #5525
2014-09-03 12:21:31 +02:00
Thomas Gelf 3d352ba446 Filter: add FilterNotEqual and FilterMatch
fixes #6557
2014-09-02 19:51:56 +02:00
Eric Lippmann 5485ca8a25 lib: Use Zend's `Int' validator in the `Number' form element
Further disabled default decorators since our form sets them.

refs #5525
2014-09-02 16:54:43 +02:00
Johannes Meyer 95c839a8bd Remove remaining usages of the ElementWrapper- and HelpText-Decorator
refs #5525
2014-09-02 16:50:59 +02:00
Thomas Gelf 6faedf5733 ActionController: no benchmark for no renderer
Benchmarks should not be shown when the renderer is no longer available.
2014-09-02 16:49:28 +02:00
Thomas Gelf e4687a60f9 Web\JavaScript: use Cache and ETags
refs #6927
2014-09-02 16:25:44 +02:00
Johannes Meyer 1ba3df310c Remove BaseConfigController, User\Message and Widget\AlertMesageBox
refs #6758
2014-09-02 16:25:03 +02:00
Johannes Meyer 539ab91ffa Add the FormErrors decorator as default decorator for forms
This allows us to use Zend_Form::addError() to show error messages for
the entire form context.

refs #5525
2014-09-02 16:25:03 +02:00
Thomas Gelf f0d6cf994e Web\StyleSheet: use Cache and ETags 2014-09-02 16:24:55 +02:00
Thomas Gelf ff6483cec5 Web\FileCache: initial implementation
refs #6927
2014-09-02 16:22:48 +02:00
Johannes Meyer 338f549233 Add class ReadablePathValidator 2014-09-02 16:19:45 +02:00
Johannes Meyer 39bb01b433 Rename Icinga\Web\Form::onShow() to onRequest()
onShow() is misleading because at the time this method is being called the
form is neither shown nor created.

refs #5525
2014-09-02 16:19:45 +02:00
Eric Lippmann d4c4ab7b2c lib/form: Fix default element decorators but breaking noscript layout
Replaced `ElementWrapper' and `HelpText' with Zend's `HtmlTag' and `Label' respectively.

Instances of Zend_Form_Element returned by `Form::createElements()' now receive our desired default decorators.

refs #5525
2014-09-02 15:23:07 +02:00
Eric Lippmann 8478ef3fce lib: Remove `HelpText' form element decorator
Zend already has a `Description' decorator.

refs #5525
2014-09-02 15:05:47 +02:00
Eric Lippmann 7143837ae3 lib: Remove `ElementWrapper' form element decorator
Zend has a `Label' decorator already.

refs #5525
2014-09-02 15:04:23 +02:00
Thomas Gelf 62c0f0be03 Web\Session: implement lazy loading
fixes #7055
2014-09-02 13:23:15 +02:00
Alexander Fuhr 26339b128a Add disabled property and implement the functionality
refs #6986
2014-09-02 13:16:21 +02:00
Alexander Fuhr bb0e1dc105 Revert "Fixes unaccepted behavior in module configuration"
This reverts commit 236d384bab.
2014-09-02 10:23:41 +02:00
Johannes Meyer cd8015f41a Pass the current form instance to the callback as second argument
refs #5525
2014-09-01 14:58:16 +02:00
Eric Lippmann 0822aff293 library/form: Fix return value of `getName()' not being filterd the first time it's called
`Form::getName()' auto-detects the form's name if it's not set and sets the form's name using `Zend_Form::setName()'.
`Zend_Form::setName()' then filters the form name stripping backslash '\' characters. The first call to `Form::getName()'
did not regard the filtering and thus returned the unfiltered name which led to `Form::wasSent()' returning `false'.

refs #5525
2014-09-01 14:40:45 +02:00
Eric Lippmann f3e74f0f24 library/form: Append class 'autosubmit' in case the element to autosubmit has the class attribute set
Before, the class attribute would've been overwritten.

refs #5525
2014-09-01 09:44:04 +02:00
Johannes Meyer fb5685bac3 Merge branch 'master' into bugfix/rebuild-form-builder-5525
Conflicts:
	application/forms/Config/Authentication/BaseBackendForm.php
	application/forms/Config/Authentication/DbBackendForm.php
	application/forms/Config/Authentication/LdapBackendForm.php
	application/forms/Config/Authentication/ReorderForm.php
	application/forms/Config/LoggingForm.php
	application/forms/Config/ResourceForm.php
	application/forms/Preference/GeneralForm.php
	library/Icinga/Application/Config.php
	library/Icinga/Web/Form.php
	modules/monitoring/application/controllers/ConfigController.php
	modules/monitoring/application/forms/Config/Backend/CreateBackendForm.php
	modules/monitoring/application/forms/Config/Instance/CreateInstanceForm.php
	modules/monitoring/application/forms/Config/Instance/EditInstanceForm.php
	modules/monitoring/application/forms/Config/SecurityForm.php
2014-08-29 16:05:56 +02:00
Johannes Meyer 79b0ed64ec Make it possible to provide a closure to be called instead of onSuccess()
This allows us to write generic forms like the ConfirmRemoval form but to
utilize handleRequest() while providing a closure in the array that is passed
to a form's constructor.

refs #5525
2014-08-29 12:21:31 +02:00
Johannes Meyer bf23688e73 Make autosubmit work in non-JS enviroments
We require forms to set autosubmit=true on elements which are supposed
to be submitted automatically now. The base form then ensures that this
works in JS environments and non-JS environments as well by applying the
right changes to the HTML.

refs #5525
2014-08-29 09:08:53 +02:00
Johannes Meyer 486104d59e Check explictly for FALSE when calling onSuccess()
This allows us to just end onSuccess() without requiring it to return TRUE
to initiate redirection.

refs #5525
2014-08-29 09:04:20 +02:00
Matthias Jentsch 3642b7b6fc Adjust CSS for inlinePies to be centered on the current line 2014-08-28 18:27:30 +02:00
Alexander Klimov 45638b218c Throw IcingaException rather than Exception
fixes #7014
2014-08-27 16:03:15 +02:00
Alexander Klimov 7ff51caed0 Remove leading backslashes from the targets of use statements
- use \Exception;
+ use Exception;
2014-08-27 15:51:49 +02:00
Alexander Fuhr 236d384bab Fixes unaccepted behavior in module configuration
fixes #7011
2014-08-27 14:57:08 +02:00
Johannes Meyer e1329058db Do not hard code the name of the form identification element
Like the csrf element name the form identification element name should
be publicly accessible as well.

refs #5525
2014-08-27 13:14:40 +02:00
Eric Lippmann 1dea19504f Revert "Remove leading backslashes from the targets of use statements"
This reverts commit 87a5967501.

At least 'modules/doc/run.php' issues a warning about "The use statement with non-compound name 'Zend_Controller_Router_Route' has no effect"
2014-08-27 12:24:11 +02:00
Marius Hein 88698cb05d Hook/TopBar: Rework interface for monitoring top bar
refs #6929
2014-08-27 11:31:48 +02:00
Marius Hein b7ae66b496 Hook: Add web hook base class
refs #6929
2014-08-27 11:31:47 +02:00
Marius Hein e0d7c3855d Hook: Add class suffix for base class testing
refs #6928
2014-08-27 11:31:47 +02:00
Alexander Klimov 87a5967501 Remove leading backslashes from the targets of use statements
- use \Exception;
+ use Exception;
2014-08-27 11:16:44 +02:00
Marius Hein 5abf41edef Hook/ConfigurationTab: Remove deprecated implementation
ConfigurationTab hook is not used anywhere. Test is
removed also.
2014-08-27 10:29:04 +02:00
Johannes Meyer 6783d51f76 A form is "submitted" when it was "sent" but no submit label was set
This enables us to use handleRequest() as is when no specific submit button
is required.

refs #5525
2014-08-27 10:28:50 +02:00
Johannes Meyer 0ff79b0948 Replace Form::onFailure() with Form::onShow()
There is currently no usecase for onFailure() but for onShow() wherewith
the case is covered when a form needs to be prepared before showing it
to the user while the form was not submitted in any way.

refs #5525
2014-08-27 10:25:50 +02:00
Johannes Meyer d3c2fc858c Access formdata internally using a public helper method
This way concrete form implementations can also simply fetch form
dependent request values without referring to the form's submission
method.

refs #5525
2014-08-27 10:19:33 +02:00
Johannes Meyer 65dd3f9a5b Make the form in view scripts accessible using $form instead of $element
refs #5525
2014-08-27 10:10:55 +02:00
Johannes Meyer 98b2bce15e Icinga\Web\Form::onSuccess() must not return TRUE
When using Icinga\Web\Form directly without creating a specific sub-class
and calling handleRequest() one must not get redirected.

refs #5525
2014-08-27 10:09:29 +02:00
Marius Hein 7e5b5a0b30 Hook/Grapher: Rework hook interface
Rework interface based on specification and changed consumer calls.

refs #6932
2014-08-27 09:35:43 +02:00
Marius Hein 376e9aa160 Rename hook base classes
Adding suffix "Hook" to every base class. This simplifies development
because you don't need to alias bases classes in your concrete
hook classes

refs #6928
2014-08-26 14:29:55 +02:00
Johannes Meyer 45cbd3f067 We do not require the request being passed to handleRequest()
refs #5525
2014-08-26 12:31:05 +02:00
Johannes Meyer 5c7999fe9b Forms should be responsible for any redirection as well
If no specific url has been set with setRedirectUrl() a form redirects to the
current action it was posted to.

refs #5525
2014-08-26 12:30:37 +02:00
Alexander Klimov 1f7d4cb61b Merge branch 'master' into bugfix/exceptions-with-printf-params-6931 2014-08-26 11:24:33 +02:00
Alexander Klimov febb2d1ae2 ProgrammingError: extend IcingaException
refs #6931
2014-08-26 11:15:19 +02:00
Alexander Fuhr 42e2b34356 Implement self provided configuration for dashboard/dashlets in modules
refs #6639
2014-08-26 10:34:36 +02:00
Johannes Meyer 52534a2f46 It is a form's responsibility to process the request it was submitted with
How forms are being validated should not be a task that is part of the
controller action, but should be handled by the form base class as it is
most of the time the same procedure. Now a controller action just sets
up the form to use, calls handleRequest() and acts upon its return value.
(e.g. calling handleRequest() from another form or any redirection)

refs #5525
2014-08-25 17:06:45 +02:00
Johannes Meyer c93ab7951d Check whether a form's data was sent instead of whether it's complete
It is not sufficient to just check whether all required elements are being
submitted. We definetely need to check whether the submit button was
pressed. But doing this and providing a standard button with a static name
simultaneously will produce conflicts if forms are using the same action
urls. To fix this, we'll add an additional form-identification check by using
a form's name or class.

refs #5525
2014-08-25 16:49:54 +02:00
Johannes Meyer 7b221e2aba It should not be a form's responsibility how its submit button should look..
...in case it's a standard button. No need to be DRY here.

refs #5525
2014-08-22 15:20:54 +02:00
Johannes Meyer 2b879b344f Do not populate using createElements() and fix documentation blocks
refs #5525
2014-08-22 12:04:14 +02:00
Alexander Klimov 9c5878cbbe ConfigurationError: extend IcingaException
refs #6931
2014-08-22 11:46:11 +02:00
Alexander Fuhr 1886569174 Implement Module self provided configuration for menus
refs #6639
2014-08-22 11:35:42 +02:00
Johannes Meyer bb7972aa39 Merge branch 'master' into bugfix/rebuild-form-builder-5525
Conflicts:
	application/controllers/AuthenticationController.php
	application/controllers/ConfigController.php
	application/forms/Authentication/LoginForm.php
	application/forms/Preference/GeneralForm.php
	modules/monitoring/application/controllers/ChartController.php
2014-08-20 13:13:50 +02:00
Eric Lippmann 995355ec30 lib/Limiter: fix translate w/ sprintf 2014-08-19 16:29:11 +02:00
Thomas Gelf f49a34625e Url\Params: check for QUERY_STRING before using it
fixes #6957
2014-08-19 14:53:56 +02:00
Thomas Gelf db3ef8fbd0 ActionController: remove redirectToLogin default
The redirectOnLogin function now doesn't have any predefined default.
This also leads to the behaviour that "Logout" will not redirect you
anywhere on a new login while "forcibly being logged out" (e.g. by
logging out in another browser tab) will bring you back to where you
came from.
2014-08-19 12:28:24 +02:00
Thomas Gelf 9d4a4f49c9 ActionController: JS should redirect to __SELF__...
...once you lost your session. That's the only way to do this in a
smooth way. When the server get's an unauthenticated request for a
single container, redirecting to auth/login?redir=<that-container>
was not what you expect.

Together with JS handling __SELF__ in redirection URLs this will
play fine.

refs #6935
2014-08-19 09:57:24 +02:00
Thomas Gelf b9cc964e24 Url\Params: remove() should reindex on change
There was a small bug, fixed.

refs #6699
2014-08-19 09:49:53 +02:00
Thomas Gelf 344909dfcd Web\UrlParams: add() and set() should encode...
...while there is now a addEncoded function, mostly for internal use.

refs #6699
2014-08-19 09:45:58 +02:00
Thomas Gelf 217595dc15 Web/Url: more intuitive separator usage
One might not expect to get a URL with params separated by &amp; while
this is the correct way of writing them to HTML attributes. So default
behaviour is right now that all functions return URL params separated
by &, but if you cast a URL (or it's params) to a string, &amp; will be
used.

Additionally there are toString functions allowing you to choose the
separator "manually".

refs #6699
2014-08-19 09:42:16 +02:00
Thomas Gelf 7caccd7691 Web\Url: remove stripUrlFragment()
This function had an interesting history and seems to be a result of
missunderstanding of each others commits. Removed, as the fragment is
already there.

refs #6699
2014-08-19 09:36:15 +02:00
Johannes Meyer f2ed813c9a Fix that Icinga\Web\Url::fromPath drops fragments
fixes #6284
2014-08-14 14:23:31 +02:00
Johannes Meyer 666591beb7 Encode url before passing it to Icinga\Form\Dashboard\AddUrlForm
fixes #6611
2014-08-13 16:41:40 +02:00
Johannes Meyer 7311ab964e Do not set the full url from the request as action with form parameters
Setting an url with parameters named like form elements in a form with
method POST causes Zend to ignore any POST data because GET will be
processed with higher priority.

fixes #6806
2014-08-13 14:50:21 +02:00
Johannes Meyer e7da9c0a00 Make our anti CSRF logic being a form element
refs #5525
2014-08-12 14:43:10 +02:00
Johannes Meyer fe63ce664f Make use if 'ignore´ instead of explicitly unsetting array keys
refs #5525
2014-08-12 13:57:28 +02:00
Johannes Meyer 4b1169c0a1 Fix improper form submission
refs #5525
2014-08-12 10:41:19 +02:00
Thomas Gelf 8f729bfb65 ActionController: set a default window title
In case a controller action didn't set a view title this fix restores
the default title on XHR requests.

fixes #6797
2014-07-31 17:04:26 +02:00
Johannes Meyer c3731fa79e Adjust removeresource-action to suit the new resource form interface
refs #5525
2014-07-24 16:17:30 +02:00
Eric Lippmann a68ccecb28 Revert "Do not use htmlspecialchars in widgets"
This reverts commit 2ff43abcf5.

`Widget::escape()' does not exist. But `Widget::view()::espcae()' does.
2014-07-23 12:28:04 +02:00
Alexander Klimov 2ff43abcf5 Do not use htmlspecialchars in widgets
refs #6759
2014-07-23 12:12:05 +02:00
Johannes Meyer 8b2cc3a558 Do not consider <button type=submit> when checking form completion
refs #5525
2014-07-23 10:58:45 +02:00
Johannes Meyer 0bf0213547 Rename Form::addElement to Form::createElement
Since we are using mainly createElement and addElement is only an alias for
createElement if no object is passed our changes to addElement can safely
be moved to createElement.

refs #5525
2014-07-23 10:57:46 +02:00
Johannes Meyer 25c9ee567d Add missing use statement for Zend_View_Abstract 2014-07-23 10:54:22 +02:00
Johannes Meyer 75e09f2c69 Do not consider submit buttons when checking form completion
refs #5525
2014-07-21 15:25:00 +02:00
Matthias Jentsch 091ddbe552 Partiall revert bfc54b7e
Refactor Url->getParams() to return an instance of UrlParam instead of an array.

fixes #6760
2014-07-21 09:22:19 +02:00
Johannes Meyer f5ac592645 Do not consider disabled elements when checking form completion
Values of disabled inputs are not sent by browsers.

refs #5525
2014-07-21 08:57:41 +02:00
Johannes Meyer f4ff2c90f2 It's a form's responsibility how its submit button should look like
refs #5525
2014-07-18 09:54:36 +02:00
Johannes Meyer 6ac471c598 Also mention the viewscript functionality of Form::loadDefaultDecorators()
refs #5525
2014-07-18 09:52:50 +02:00
Johannes Meyer 8f0b9899a3 We cannot know what kind of data is passed to Form::isValid()
refs #5525
2014-07-18 09:52:05 +02:00
Johannes Meyer 78a6175acc Make form creation lazy and implement the new validation mechanism
Form creation must not depend on specific function calls. If a forms' elements are required and missing, create them. Form::isValid() must be
able to determine whether a form can be processed or not without to rely
on a particular button value.

refs #5525
2014-07-18 09:51:15 +02:00
Johannes Meyer 37fd3deb67 Rename initCsrfToken to addCsrfToken and move it upwards
Form::addCsrfToken() should be public and fluent to ensure more
flexibility.

refs #5525
2014-07-18 09:43:03 +02:00
Johannes Meyer 58188c5cc1 We only want to rely on Form::isValid() when about to process forms
As the new auto-submission implementation does not depend on whether
a submit button was pressed or not we need another way to determine
whether a form should be processed.

refs #5525
2014-07-18 09:33:09 +02:00
Johannes Meyer 802c095bf8 Configuration values need to be inserted to forms explicitly
It's the controllers' responsibility to ensure that forms are populated with
configuration values on GET requests.

refs #5525
2014-07-18 09:27:10 +02:00
Johannes Meyer 21cd503ee7 Form buttons need to be added explicitly
We either demand the user to add a submit button or provide a implicit
function call to be implemented by him, adding additional elements once
the form gets rendered.

refs #5525
2014-07-18 09:24:49 +02:00
Johannes Meyer 47ae4d79dc Forms do not need a special title property
As our upcoming wizard has no menu and our tabs are hardcoded we do not
need a special "title" property anymore.

refs #5525
2014-07-18 09:21:11 +02:00
Johannes Meyer 1de2d0c14f Merge branch 'master' into bugfix/rebuild-form-builder-5525
Conflicts:
	application/forms/Authentication/LoginForm.php
	library/Icinga/Test/BaseTestCase.php
	library/Icinga/Web/Form.php
	library/Icinga/Web/Form/Decorator/BootstrapForm.php
2014-07-17 13:15:42 +02:00
Matthias Jentsch bfc54b7e32 Fix array conversion of the Dashboard and its Components
Do not omit the parameters when converting the dashboard components to
an array. Add an array conversion to the UrlParams class.

refs #6691
2014-07-16 17:31:01 +02:00
Johannes Meyer 5c507d5d91 Fix notice that the session has been already started after retrieving its id 2014-07-16 15:39:40 +02:00
Johannes Meyer e6dee9fe89 Protect login against CSRF
refs #5626
2014-07-16 09:55:23 +02:00
Johannes Meyer 19f05256a0 Only call session_start() when reading from session
fixes #6383
2014-07-16 09:55:22 +02:00
Johannes Meyer 3105c2059e Remove license headers from all files
refs #6309
2014-07-15 13:43:52 +02:00
Johannes Meyer e567ad67c5 Display statehistory summary vertically
fixes #6636
2014-07-14 15:26:35 +02:00
Johannes Meyer 0dce204651 Refactor Icinga\Web\Form
We eagerly waited badly for a new approach to build forms, so here it is.
Should be the best compromise between the Zend_Form functionality and
our requirements regarding automatic submits.

refs #5525
2014-07-10 11:13:45 +02:00
Johannes Meyer 1a1263d9d8 Rename Icinga\Web\Form\Decorator\BootstrapForm
We do not use bootstrap anymore but do not want the default Zend
decorators either so this decorator got a more common name.

refs #5525
2014-07-10 11:09:48 +02:00
Thomas Gelf 49c679fe0f FilterEditor: hide "add" links
They where there to show how this should look like. Removed for now as
they are not implemented yet.

refs #6668
2014-07-08 17:21:36 +02:00
Johannes Meyer bb2c85f90b Remove forgotten ActionController::requiresConfig() call
Should have been reverted by last commit but was not.
2014-07-07 16:12:26 +02:00
Johannes Meyer 82d2f5ac9b Revert "Merge branch 'feature/install-wizard-6136'"
This reverts commit 88d4262e7c, reversing
changes made to 6fae333048.

Conflicts:

	application/controllers/InstallController.php
	library/Icinga/Web/Controller/ActionController.php
2014-07-07 15:09:03 +02:00
Thomas Gelf 0d4166b1bd ModuleActionController: fix reference, var removed 2014-07-04 12:39:23 +02:00
Thomas Gelf 3cfdf4c977 Web\Response: add redirection function
The response now provides redirectAndExit(). One more step to clean up
our action controller. Please not that this is still unused right now.
2014-07-04 12:35:33 +02:00
Thomas Gelf 3772b9c16f ActionController: set layout module name early
Didn't work correctly before
2014-07-04 12:33:49 +02:00
Johannes Meyer 143a1e44fe Add a HTML renderer for Icinga\Web\Menu
The menu was being rendered through recursive partials before. The
overhead this fact implicates is not as efficient as standard recursion
so there is now a special renderer for Icinga\Web\Menu utilizing
the RecursiveIteratorIterator

refs #6153
2014-07-03 15:46:46 +02:00
Johannes Meyer be18af7e7e Merge Icinga\Web\MenuItem into Icinga\Web\Menu
We do not need an additional class for the menu's root item just to
encapsulate our config handling, so these two classes were now merged
into a single one. Icinga\Web\Menu now also extends from
RecursiveIterator to be able to render the menu more efficient to html.

refs #6153
2014-07-03 15:14:47 +02:00
Johannes Meyer 7eb0f3c472 Remove @codingStandardsIgnoreStart/-Stop annotations
refs #6091
2014-06-30 13:59:58 +02:00
Johannes Meyer f2e5d8afa5 Remove @codeCoverageIgnoreStart/-Stop annotations
refs #6091
2014-06-30 13:58:37 +02:00
Thomas Gelf 62928c48b0 helpers/timeSince: fix c&p error 2014-06-27 23:37:39 +02:00
Thomas Gelf 7112ed23f4 Chart\InlinePie: locale-ignorant cast for floats
This has already been fixed with 92f454c3 and got broken again with be0c5d4b.
Time for a regression test I guess.

refs #6348
2014-06-25 22:13:19 +02:00
Thomas Gelf 10d1520711 Widget\Limiter: show "all"
In case we pass limit=0 we show this, still unsure whether we should
provide a link for "showing all" - might really hurt with millions of
history rows.
2014-06-25 20:39:10 +02:00
Thomas Gelf 59dd80ed32 ActionController: benchmark should measure rendering
We have been cheating a little bit, now the measurement should be more
precise.
2014-06-25 20:37:17 +02:00
Matthias Jentsch d49f30ff77 Improve InlinePie performance
Use str_replace instead of preg_replace
2014-06-25 15:24:53 +02:00
Matthias Jentsch 7b19bd1d99 Improve interface of InlinePie
Method setLabel can also accept a simple string and title is mandatory in constructor
2014-06-25 15:21:12 +02:00
Matthias Jentsch 8839166090 Add number format 'none' to InlinePie 2014-06-25 14:53:39 +02:00
Matthias Jentsch 35a5431512 Revert "Refractor InlinePie and Perfdata helper"
This reverts commit f003c38abd.
2014-06-25 14:29:17 +02:00
Matthias Jentsch f003c38abd Refractor InlinePie and Perfdata helper
Refractor InlinePie methods for better usability, fix several coding guideline
issues and fix some typos
2014-06-25 12:41:17 +02:00
Thomas Gelf 4591297e56 SortBox: use POST instead of GET
This avoids trouble with complex filter URLs

fixes #6556
2014-06-25 11:00:10 +02:00
Thomas Gelf 1dcf44b9cd FilterEditor: fix buggy dropdown boxes
There were some issues with option names. Also cleaned up HTML a
little bit and added autosubmission.
2014-06-25 10:37:06 +02:00
Thomas Gelf b40d0f6a1e FilterWidget: POST instead of GET
Might have been a JS issue, but instead of messing with the URL just
POSTing is easier here - and works. Filters from the search box are
now added flawlessly to the filter tree.
2014-06-25 10:34:09 +02:00
Thomas Gelf 2746b5ff9f ConfigController: switch over to new config tabs
Module configuration now takes place in module detail view and does no
longer pollute our config tabs. Modules are now able to provide a bunch
of own config tabs, we don't really care what they use them for.
2014-06-24 21:31:59 +02:00
Thomas Gelf b38bcfc19b Widget\FilterEditor: correct expression output
Filter expressions should be filled into form fields exactly as we
expect them at parse time.

fixes #6568
2014-06-24 21:00:01 +02:00
Thomas Gelf 47b893e1ea Widget\FilterEditor: handle custom vars
There was an issue with custom vars as they made only partially part
of the column dropdown. Sorted columns and tried to beautify column
names.

fixes #6569
2014-06-24 20:57:41 +02:00
Thomas Gelf 3f9f4bb9e1 ModuleActionController: module object shortcut
This helps modules with the need to know more about themselves. No
more App -> Module Manager -> Module voodoo.
2014-06-24 20:54:39 +02:00
Thomas Gelf b7b99cfd67 Widget\AlertMessageBox: fix broken widget
This widget is pretty useless as the error view script can to it's
job. Interestingly nobody missed it, even the render() call was wrong.

I guess we will remove this soon, but for now it's fixed. Looks ugly,
but works.
2014-06-24 20:30:41 +02:00
Thomas Gelf ba9a633b73 Web\Form: relax form submission check
We have to live with some badly designed forms right now. Some have
submit buttons but don't know about, others don't have such but link
to foreign controllers fiddling with the form and adding different
button AFTER the form got submitted - it's a mess.

Relaxing the submission check to "just check whether btn_submit has
a value" fixes most of this. However I do not consider this being a
solution for the long run.

fixes #6423
fixes #5967
refs #6540
2014-06-23 13:31:34 +02:00
Thomas Gelf ea44de8698 ActionController/translate: detect domain only once 2014-06-22 20:09:23 +02:00
Thomas Gelf 23ed744747 params/_render: replace it everywhere
Cleaning up controllers and JS, using headers only and respecting
history.
2014-06-22 20:07:44 +02:00
Thomas Gelf 61600ae2d4 ModuleActionController: fix typo 2014-06-22 19:39:54 +02:00
Thomas Gelf 997587d729 Chart\InlinePie: remove ugly default border 2014-06-22 16:38:12 +02:00
Thomas Gelf 216f0f3f55 isIframe: clean up, load less html and js
We use isIframe only when we have no JS, therefore it makes no sense
to load JS files in an iFrame. Also removed sidebar.
2014-06-22 16:30:06 +02:00
Thomas Gelf 3b84078b2f Params/_render: get rid of it, start with iframe 2014-06-22 16:18:23 +02:00
Thomas Gelf bb23d0636c ModuleActionController: use isXhr() 2014-06-22 16:04:55 +02:00
Thomas Gelf 3774eb6889 ActionController: add isXhr() method
Makes things easier as we use this a lot
2014-06-22 15:36:41 +02:00
Thomas Gelf 331d756a2a ActionController: isolate ignoreXhrBody
This function is only a workaround for broken forms not redirecting
after submission. Will hopefully be removed soon.
2014-06-22 15:33:38 +02:00
Thomas Gelf b4f8ef74fa ActionController: remove obsolete code 2014-06-22 15:20:55 +02:00
Thomas Gelf 631603aba3 ActionController: create postDispatchXhr
Moved XHR-specific stuff to a dedicated post-dispatch function
2014-06-22 15:17:28 +02:00
Thomas Gelf cf995b366b ActionController: cleanup postDispatch
Make XHR handling more readable, move module-related stuff to the
module controller
2014-06-22 15:11:08 +02:00
Thomas Gelf de19745eb2 ActionController: move moduleInit to Module controller 2014-06-22 13:54:02 +02:00
Thomas Gelf 2cd25b7376 ActionController: if/else should be easy to read 2014-06-22 13:52:40 +02:00
Thomas Gelf b7fc0b67a8 Web/controllers: use own Request/Response objects
* introduces Icinga\Web\Response
* uses ModuleActionController where necessary
* no module translationDomain voodoo in base ActionController
2014-06-22 13:49:21 +02:00
Thomas Gelf ef5e1b54fd Web\Window: fix it's usage, add helper function
Improved window handling, fixed controllers using it.
2014-06-22 13:21:21 +02:00
Thomas Gelf b350e3640d Web\Window: move window handle to dedicated class
One more step in cleaning up our ActionController
2014-06-22 13:01:48 +02:00
Thomas Gelf d69a6d1640 ActionController: remove getRequestUrl
Thie removes complexity and makes redirection to login less error-
prone.
2014-06-22 12:23:34 +02:00
Thomas Gelf 9608d8254d ActionController: remove addModuleContainer
This method was obsolete
2014-06-22 12:09:07 +02:00
Thomas Gelf 4980b700da ActionController: __construct() as first function 2014-06-22 12:07:50 +02:00
Thomas Gelf a4955df1a9 controller->Auth(): one more lazy-loading helper
Not sure about the capital A, but doesn't look so bad - and similar
to Config().
2014-06-22 12:06:09 +02:00
Thomas Gelf 373e1c5ecb Web\Controller: re-introduce ModuleActionController
This will help getting rid of a couple of if/else constructs
2014-06-22 12:03:37 +02:00
Thomas Gelf 469eb3dc98 Web\Url: remove forgotten "debug" line 2014-06-22 11:59:24 +02:00
Thomas Gelf b3cdeee35d monitoring/timeline: should benefit from new filter
Different changes have been applied:

* Allow integer unix timestamps as parameters for timestamp columns
* Remove alias-rewriting from Url class
* Remove all traces of raw_timestamp
* Use new filters
2014-06-21 03:09:40 +02:00
Thomas Gelf 216c2ca770 Autorefresh: should work also on initial page load
fixes #6296
2014-06-21 01:54:32 +02:00
Thomas Gelf c0c7a815f8 Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018 2014-06-20 19:18:38 +02:00
Thomas Gelf 3e24a2cbe4 Paginator/SlidingWithBorder: use less space
Showing less items right now. It would be great if we could steer
this by parameter. IMO we should also think about dropping ZF
pagination and use a custom tiny widget.
2014-06-20 17:31:32 +02:00
Thomas Gelf afd6b11b7b Web\Url: add set/mergeValues support 2014-06-20 15:50:55 +02:00
Thomas Gelf 2cf79fe9a7 Widget\SortBox: hardcode some styles
This is a quickfix, should be moved to CSS once we know how our HTML
elements will definitively look like
2014-06-20 14:55:43 +02:00
Thomas Gelf 916c9c027e forms: fix isSubmitted
Implementation made wrong assumptions. A form is submitted when the
submit button has been pressed. It's value is then filled, it also
is when you're just pressing "RETURN". RETURN triggers the FIRST
submit button in a form. This way we are also able to find out which
form button has been pressed.

Current implementation is still poor, however isSubmitted works as
expected right now - and so does autosubmission.

fixes #5967
2014-06-20 14:32:22 +02:00
Thomas Gelf 01631720cc Dashboard\Component: don't pass on limit
Dashlets might be limited to just a few line, we shoultn't pass on
this parameters when showing the "large" variant
2014-06-20 14:29:45 +02:00
Thomas Gelf ac7354295a Accessibiltiy: add alt tag for icons
Screen readers to not read title tags per default
2014-06-20 14:28:19 +02:00
Thomas Gelf 27e7839d1b Widget\Limiter: initial commit
This allows one to easily switch  row count shown on a single page
2014-06-20 13:48:17 +02:00
Thomas Gelf 07134cf931 JS/XHR: handle multiple notifications
As there seems to be problems with sending the same header multiple
times we put multiple notifications in one header.
2014-06-20 13:20:20 +02:00
Thomas Gelf 617741c62f helpers/widget: options are opional 2014-06-20 13:18:52 +02:00
Thomas Gelf dbf03ee647 ActionController: refine url handling on redirect 2014-06-20 13:18:03 +02:00
Thomas Gelf 7cad4de3be ActionController: allow to disable autorefresh 2014-06-20 13:17:11 +02:00
Thomas Gelf f498cd0c81 Web\Url: small fixes, allow override queryString 2014-06-20 12:41:16 +02:00
Thomas Gelf d504c27641 timeUntil/timeSince: add timestamp hover title
It's sometimes easier to read "full" timestamps.
2014-06-20 12:28:55 +02:00
Thomas Gelf 317094aed3 Widget\FilterWidget: ui cleanup 2014-06-20 12:16:33 +02:00
Thomas Gelf 644dd5e33e Widget\FilterEditor: improve the filter editor
This adds quite a bunch of changes. Part of the filter-modifying
complexity has been moved to the filter, the editor widget itself
now makes use of new filter capabilities such as changing operator
or expression type.
2014-06-20 12:03:22 +02:00
Matthias Jentsch aae49ce0c0 Do not show tooltips for piechart areas that indicate empty or free areas
refs #6117
2014-06-18 17:38:25 +02:00
Matthias Jentsch 6555d347a7 Escape InlinePie html and adjust chart size
fixes #6117
2014-06-18 14:43:14 +02:00
Matthias Jentsch be0c5d4b23 Add more meaningful tooltip labels to InlinePies
Show current title, a well-formated value and a label for each area in a
tooltip and add the ability to customize tooltip labels of InlinePies

refs #6117
2014-06-18 14:43:14 +02:00
Thomas Gelf 21febddad2 Widget\Filter*: rudimentary filter widgets
Initial implementation, more to come
2014-06-17 14:00:38 +00:00
Thomas Gelf 54e97f114d Widget\SortBox: hardcode element width
Temporarily added inline CSS, shall be removed soon
2014-06-17 13:54:32 +00:00
Thomas Gelf d63d8fe451 view/helpers: add $this->widget() 2014-06-17 13:53:05 +00:00
Thomas Gelf e3e6826d9d Icinga\Filter: remove 2014-06-17 13:26:57 +00:00
Thomas Gelf 992a8a276b Web/ActionController: provide $this->params
We always need params, this are our new URL params made accessible
this way. This is just for our query string, not for POST body params.
2014-06-17 12:58:04 +00:00
Thomas Gelf 468b290277 Monitoring\Controller: provide $this->backend
Every monitoring controller needs $backend, so why declaring it over
and over again. Created "moduleInit" dummy function in our base action
controller to allow such implementations without polluting init().
2014-06-17 12:55:43 +00:00
Thomas Gelf 5ea9b2be84 Web\Url: make use of the new UrlParams class
This makes a lot of things easier while trying to preserve compatibililty.
However, a few things like aliases are marked for removal (TODO).
2014-06-17 10:07:19 +00:00
Thomas Gelf de5bb56fb3 Web\UrlParams: new implementation
The URL query string parsing done by PHP/ZF doesn't suffice our needs.
This is an implementation preserving filter-related "strange" query
string components while still offering legacy behaviour.

Missing right now: support for [].
2014-06-17 10:00:49 +00:00
Thomas Gelf 44a7aa6adb JS/IE8: deliver legacy jQuery for IE8
This patch makes IcingaWeb deliver a legacy jQuery version for IE8
as it is no longer supported in jQuery 2.x. JS for IE8 will not be
delivered minified to ease troubleshooting on that buggy platform.

fixes #5866
refs #6417
2014-06-12 17:33:28 +00:00
Johannes Meyer 159d765f14 Fix that calling ActionController::translate() throws an exception
Translating strings must not throw an exception
even if the given domain is not valid.

fixes #6432
2014-06-11 13:39:22 +02:00
Marius Hein 06296f29d8 UI/Sparklines: Change sparkline code to serverside only
fixes #6124
2014-06-06 16:35:33 +02:00
Thomas Gelf e01629fe0b ActionController: fix initial redirect
refs #6419
2014-06-06 08:32:21 +00:00
Marius Hein 20b43a92f1 Dashboard: Better implementation of handling errors
refs #6412
2014-06-05 16:07:40 +02:00
Marius Hein 151f058286 Dashboard: Display error message on failure
When no (default) configuration is available for dashboards
application dies not very gracefully. Display error message
and guid the user to the solution is a better way.

fixes #6412
2014-06-05 15:20:54 +02:00
Thomas Gelf 1b3bb6cade Web\Url: add getQueryString() and without() 2014-06-05 03:44:12 +00:00
Thomas Gelf 99aae5a0d9 JS/XHR: get ready to get XHR redirect-aware
These are just the first steps, there is more to come
2014-06-05 03:37:36 +00:00
Thomas Gelf c592236258 vendorlibs: library/vendor to libary/IcingaVendor
This doesn't make it much better but allows to build a package
libicinga-vendor-php placing those files to /usr/share/php/IcingaVendor
or similar.

refs #4075
2014-06-05 00:10:49 +00:00
Marius Hein 79fb8b1e0d Config: Remove base path subsitution
Test for leading slash and prepend base path to allow
absolute configuration files.

fixes #5556
2014-06-02 14:54:31 +02:00
Eric Lippmann a379502b15 Preferences: Rename `showBenchmark' to `show_benchmark'
We use underscore_case notation for all configuration keys.

refs #4952
2014-06-02 13:33:55 +02:00
Gunnar Beutner 5cc69b53cf Remove superfluous space in prefixedTimeSince
refs #5981
2014-05-29 13:11:01 +02:00
Gunnar Beutner a66a1a4729 Refactor the timeSincePrefix and timeUntilPrefix functions
Instead of having two separate functions to get the prefix
and the formatted time interval the new functions return
both the prefix and the time interval.

refs #5981
2014-05-29 13:03:10 +02:00
Gunnar Beutner 7b0a48bef5 Rename timeUnless to timeUntil
refs #5981
2014-05-29 12:38:59 +02:00
Gunnar Beutner d01a98b7e6 Fix some of the time-related grammar mistakes
This updates some of the messages to use "For"
instead of "Since" where appropriate.

fixes #5981
2014-05-29 11:30:08 +02:00
Thomas Gelf 88460189cd Encoding: no ASCII chars > 127 in HTTP headers
Had quite some trouble with this, decided to URL-encode titles and
notifications.
2014-05-28 21:34:36 +00:00
Thomas Gelf 92f454c36d Chart\InlinePie: locale-ignorant casts for floats
PHP respects locales (LC_NUMERIC) when casting floats to string. That
affected the generated HTML for our inline pie charts. This patch is
not that beautiful - but fixes this.

fixes #6348
2014-05-28 10:20:34 +00:00
Thomas Gelf 360ac87550 Translation: add a module-aware translation helper
With this fix $this->translate works in our view scripts

refs #6338
2014-05-27 21:41:46 +00:00
Thomas Gelf 70ba36aad6 notifications: improve client- and serverside
This is just a first step, trying to catch a few gotchas:

* it doesn't send notifications to the browser when issueing a redirect
  as redirects can currently not be catched in jQuery response handlers
* it tries to find a better notification handling place in the response
  handler (JS) - still imperfect
* it explicitely stores sessions once modified by notifications. Still
  need to crosscheck whether this is really needed and how we can get
  rid of this.

refs #6280
2014-05-26 14:41:47 +00:00
Thomas Gelf 4e88a4e008 Web\Url: add a shift() method
This methods allows to retrieve an URL param while removing it from the
URL object
2014-05-20 13:49:35 +00:00
Thomas Gelf b447225512 Web\Form: Revert "Fix subForm functionality"
This reverts commit 51bac035ac.
The div element introduced by this commit breaks inline form layout
2014-05-20 13:10:18 +00:00
Johannes Meyer ef7bb0e794 It is a multistep page's responsibility whether it is shown to the user
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer 754f854dd0 Multistep pages should know about their multistep form
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer 1f942acd38 Fix multistep page creation
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer 33d4142664 Make it possible to recreate a form 2014-05-14 12:53:44 +02:00
Johannes Meyer 1637a19c23 Fix multistep form creation
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer 429e09aae2 Multistep pages should not have random generated names
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer 51bac035ac Fix subForm functionality 2014-05-14 12:53:44 +02:00
Johannes Meyer de169c7bf5 Make it possible to disable form submit buttons forcefully 2014-05-14 12:53:44 +02:00
Johannes Meyer 88e451402f Redirect to /install when the setup.token exists but no config.ini
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer 4cf5fe6fdd Add multistep form
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer e1230eb8ae Add style and view scripts for first prototype
refs #6136
2014-05-14 12:53:44 +02:00
Matthias Jentsch d0c56126b8 Fix inline pie reload.
refs #6124
2014-05-07 17:03:27 +02:00
Thomas Gelf 270181885c Fix Url error for emty baseUrl, less function calls 2014-04-29 12:27:19 +00:00
Johannes Meyer e2ba172a8e Make dashboard components using the ini writer class
fixes #5524
2014-04-29 11:30:53 +02:00
Johannes Meyer 98ca15d1fb Mark less important or non-testable code as skipped for code coverage
refs #6011
2014-04-28 14:06:41 +02:00
Johannes Meyer 07da92ee42 Rewrite test for Icinga\Web\Url and fix some bugs
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer 729c33c3cf Add helpful documentation to Icinga\Web\ViewStream 2014-04-28 14:06:40 +02:00
Johannes Meyer c5c375e72d Add test for Icinga\Web\MenuItem
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer 290fe9eeb5 Rewrite test for Icinga\Web\Hook
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer 2b15d35dec Rewrite test for Icinga\Web\Form
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer 21b949758f Refactor ResourceForm tests
refs #6011
2014-04-28 14:06:38 +02:00
Matthias Jentsch b16c6efa05 Add PieChart to display hosts and services, improve layout and fix flag
checkboxes

refs #5765
2014-04-28 09:48:06 +02:00
Matthias Jentsch 081b5072a6 Fix layout of MultiController views
refs #5765
2014-04-28 09:48:06 +02:00
Thomas Gelf d939e12ef9 Only XHR requests use the "inline" layout 2014-04-17 17:03:35 +00:00
Thomas Gelf 83b26bc595 JS-less iFrame rendering improvements 2014-04-17 16:20:03 +00:00
Johannes Meyer 4c8428423e Convert existing mocks to Mockery-mocks (Part 1)
refs #4639
2014-04-11 17:03:45 +02:00
Johannes Meyer 6056327c6d Fix that it's not possible to set non-existing values in a session with setAll()
refs #4639
2014-04-09 16:18:51 +02:00
Johannes Meyer a1649a1f22 Refactor PreferencesStore and IniStore
refs #5682
2014-04-07 15:13:28 +02:00
Thomas Gelf a857af60be Intendation 2014-04-07 12:03:53 +00:00
Thomas Gelf 88cdf99934 More code style 2014-04-07 12:03:53 +00:00
Johannes Meyer d109046bc0 Fix that the general and logging form cannot write configuration changes
fixes #5952
2014-04-07 09:27:37 +02:00
Johannes Meyer 8be3ccc527 Make it possible to save the session by its associated session namespaces 2014-04-04 11:13:07 +02:00
Johannes Meyer 98b640f1e0 Fix that removed values/namespaces remain in the session storage
fixes #5934
2014-04-04 11:10:45 +02:00
Johannes Meyer 21b9c1f4af Fix that filters are not preserved on timeline element urls
refs #4190
2014-04-01 14:26:10 +02:00
Johannes Meyer 3d658a664c Do not use logarithm base from session if the timeline is not being extended
refs #4190
2014-04-01 11:46:43 +02:00
Johannes Meyer b0709d8cba Revert postDispatch -> preDispatch change in ActionController
refs #4190
2014-04-01 11:44:25 +02:00
Johannes Meyer aade2ab7f6 Move timeline classes into the monitoring module
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer 0a146b4bb4 Clientside scrolling implementation [WIP]
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer 40f70eb572 Fix license header
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer ba541b402d Add timeline helper classes
#refs 4190
2014-04-01 11:44:23 +02:00
Thomas Gelf 056b8d5395 Coding style 2014-03-31 16:30:27 +00:00
Matthias Jentsch d3c4660c2d Fix colors of svg charts in Firefox 2014-03-31 12:35:39 +02:00
Thomas Gelf 5c89512e05 New router needs JavaScript and Stylesheet handlers fitting it's needs 2014-03-27 07:32:02 +00:00
Matthias Jentsch 2360f21b09 Fix InlinePie boundaries and use floats for the PieSlice path coordinates
Use floats as path coordinates in PieSlices, to
avoid that the start and ending position of the arc are at the exact same
position. This would cause buggy behavior, when displaying values like "99,999%".

refs #5863
2014-03-26 17:06:21 +01:00
Matthias Jentsch 15723f088b Include SVG piecharts in perfData helpers
When no JavaScript is available, SVG piecharts will be shown instead of the
jQuery sparklines.

fixes #5865
2014-03-26 14:56:35 +01:00
Thomas Gelf faec625912 Ship module JS files even with minified JS 2014-03-26 09:24:27 +00:00
Thomas Gelf eeaec20873 Add support for server-side triggered CSS reload 2014-03-26 07:58:00 +00:00
Thomas Gelf 87f90b6bdd Replace escaped ampersands in URLs with & for redirects
* NB: Icinga\Web\Url could provide a method for this
2014-03-26 07:56:30 +00:00
Johannes Meyer 18b825a24b Add missing keyword "new" in class SessionNamespace 2014-03-25 13:24:06 +01:00
Johannes Meyer f802b36ca9 Move session class files 2014-03-25 11:13:10 +01:00
Johannes Meyer 9ab53558f0 Add helper to get window-aware session namespaces 2014-03-25 11:13:10 +01:00
Thomas Gelf 9c5eb19af6 Re-add potentially obsolete dynamic Widget properties 2014-03-25 07:23:14 +00:00
Thomas Gelf 01f94c574d Handle window-id requests, allowing us to identify distinct windows 2014-03-21 13:27:44 +00:00
Thomas Gelf 3059228378 Fix JS support for modules 2014-03-20 09:55:29 +00:00
Johannes Meyer e355415164 Fix that queryfilters are being ignored by the parser 2014-03-19 09:11:25 +01:00
Thomas Gelf 58248c34a9 Remove width & height settings from dashboard components 2014-03-17 17:43:45 +00:00
Thomas Gelf ebbd4119c2 New approach for view helpers - register anonymous functions
* May be subject to change
* TODO: Find out how to phpDoc them
* Removed a bunch of "old-style" view helpers
* more to come
2014-03-17 17:14:16 +01:00
Thomas Gelf 757570cdc2 Improve Action Controller postDispatch readability 2014-03-17 17:11:08 +01:00
Thomas Gelf 4466053679 Widgets should inherit common base class
* Get rid of the pass-view-object-around approach
* Remove <i> tags
* Remove PHP_EOL where it doesn't make sense
* Fix small HTML issues
2014-03-17 17:04:09 +01:00
Thomas Gelf e964da9579 URL default encoding should match rules for href's. &nbsp; VS & 2014-03-17 16:59:22 +01:00
Thomas Gelf 11c44af35e Remove obsolete requestId 2014-03-09 23:21:27 +01:00
Thomas Gelf 93dc45241a Fix missplaced autosubmit in sort box 2014-03-09 18:02:12 +01:00
Thomas Gelf 4d48f4fb0e Filter form restyle dirty preview 2014-03-09 02:03:06 +01:00
Thomas Gelf e480ed7aad We have no data-icinga-component 2014-03-09 01:59:27 +01:00
Thomas Gelf 796265d304 Widget interface is useless, prepare for removal in favour of AbstractWidget 2014-03-09 01:58:42 +01:00
Thomas Gelf bd7280305a Cast widget render() result when casting to string 2014-03-09 01:57:25 +01:00
Thomas Gelf 0fe493b007 Allow us to have responses with no output not rendered in JS 2014-03-08 12:07:03 +01:00
Thomas Gelf 296d8c7969 Send notifications on site reload and via XHR 2014-03-07 23:15:51 +00:00
Thomas Gelf 4603219677 Undefined variable in Web\Notification 2014-03-07 23:15:16 +00:00
Alexander Klimov b410ebeed6 Remove unnecessary spaces at end of line 2014-03-06 13:08:11 +01:00
Thomas Gelf 6ed72e1565 Mess with PDF generation code
* Works more or less
* Rewrite image tags on the fly
* Sample header image (still ugly)
* Trying hard to find a way for CORRECT page footers and line numbers
2014-03-06 11:21:11 +00:00
Thomas Gelf 9971030965 Send PDF BEFORE we take care of custom headers 2014-03-06 11:15:28 +00:00
Thomas Gelf 063939b73a We don't die unless we're dead ;) 2014-03-06 11:14:21 +00:00
Thomas Gelf 294d8f87bf Move moduleContainer to a separate function as it will be removed 2014-03-06 11:13:07 +00:00
Thomas Gelf e4540a2cf3 Fix type/HTML error in HistoryColorGrid 2014-03-06 10:07:38 +00:00
Thomas Gelf e930df4c54 Provide a method to generate PDF CSS 2014-03-06 09:21:32 +00:00
Thomas Gelf c5ad14e781 Dashlet title links should not replace the dashlet 2014-03-06 09:20:40 +00:00
Matthias Jentsch 819e7e9806 Implement Widget to display problems as matrix over time
refs #5703
2014-03-05 20:19:09 +01:00
Thomas Gelf af7ca57b41 Clean up JavaScript and CSS loaders, prepare for minimized delivery 2014-03-04 15:15:08 +00:00
Thomas Gelf b09ea7c690 Sample ticket hook 2014-03-04 12:50:49 +00:00
Thomas Gelf 22e5ca34bc Autorefresh, custom headers and _render in ActionController 2014-03-04 11:37:54 +00:00
Thomas Gelf 215d9df111 Add Dashboard::getActivePane() and complain when asking for invalid one 2014-03-04 11:18:28 +00:00
Thomas Gelf 6d3db4732a Whitespace 2014-03-04 11:17:27 +00:00
Thomas Gelf 8c78600841 JS components are gone 2014-03-04 11:15:56 +00:00
Thomas Gelf 57caacb93f Merge branch 'feature/fanzzzy-5481' into feature/master-1
Conflicts:
	application/controllers/AuthenticationController.php
	application/controllers/ErrorController.php
	application/views/scripts/authentication/login.phtml
	library/Icinga/Application/ApplicationBootstrap.php
	library/Icinga/Web/Controller/ActionController.php
	library/Icinga/Web/Hook.php
	library/Icinga/Web/Widget/Dashboard.php
2014-03-04 09:42:25 +00:00
Eric Lippmann 07d04628cf Merge branch 'feature/installation-and-configuration-cleanup-5638'
Conflicts:
	config/config.ini.in
	library/Icinga/Application/ApplicationBootstrap.php
	library/Icinga/Application/Cli.php
	library/Icinga/Application/EmbeddedWeb.php
	library/Icinga/Application/Logger.php
	library/Icinga/Application/Modules/Manager.php
	library/Icinga/Application/Web.php
	library/Icinga/Authentication/Backend/DbUserBackend.php
	library/Icinga/Authentication/Manager.php
	library/Icinga/User/Preferences/IniStore.php
	test/php/library/Icinga/Application/LoggerTest.php
2014-03-03 19:03:39 +01:00
Matthias Jentsch b118e9679d When webserver setting is missing regular authentication will be used
Check if the remote user is set and use regular authentication when the key is missing.

refs #5405
2014-02-26 18:08:48 +01:00
Johannes Meyer 3555e66018 Make IcingaWeb using the new log wrapper
refs #5683
2014-02-26 11:19:52 +01:00
Thomas Gelf 6ebe723f7e Remove obsolete data attributes from filter box, add placeholder 2014-02-25 10:27:11 +00:00
Thomas Gelf 912b3a6478 Remove obsolete form classes 2014-02-25 10:05:14 +00:00
Thomas Gelf 1b4f055bfa Adjusted tab extensions to fit new URLs 2014-02-21 14:03:49 +00:00
Eric Lippmann 73dc6c3c27 Render "inline" layout if the view parameter is set to "compact" 2014-02-21 14:03:49 +00:00
Eric Lippmann 7033c41503 Fix Fatal error: Can't inherit abstract function Icinga\Web\Widget\Widget::render() 2014-02-21 14:03:49 +00:00
Eric Lippmann 94a900bb5c Remove deprecated code 2014-02-21 14:03:49 +00:00
Thomas Gelf f9f522d599 Re-allow dashboard to render itself 2014-02-21 14:03:49 +00:00
Thomas Gelf cea4923eae Temporarily re-added AbstractWidget, we should discuss this 2014-02-21 14:03:48 +00:00
Thomas Gelf b7de09f6ba Render 'inline' if xhr request, missing use added 2014-02-21 14:03:48 +00:00
Thomas Gelf db19ddca25 Added module container, may be dropped again 2014-02-21 14:03:47 +00:00
Thomas Gelf 6b308986d1 Small syntax changes 2014-02-21 14:03:47 +00:00
Thomas Gelf ac0faa26a8 Started to restructure less compiler:
* Combine all files and compile once
* Allow to collect module less files
* No recursion
2014-02-21 14:03:47 +00:00
Thomas Gelf 62ca46e9cd Re-added widget loader 2014-02-21 14:03:47 +00:00
Thomas Gelf 34316ccbca Lighter tab html, support casting to string 2014-02-21 14:03:47 +00:00
Thomas Gelf 73fdcdef47 use without backslash 2014-02-21 14:03:47 +00:00
Thomas Gelf 445c981d01 Tab extensions use imgs instead of icons 2014-02-21 14:03:47 +00:00
Thomas Gelf 3faf1ec725 Lighter HTML in the dashboard component, handle missing URLs 2014-02-21 14:03:47 +00:00
Thomas Gelf 9e66d22c76 One more TODO: Query-String handling in action controller 2014-02-21 14:03:47 +00:00
Thomas Gelf 69538270f7 Action controller example function: Config() 2014-02-21 14:03:47 +00:00
Johannes Meyer 68357e9ca2 Fix coding style 2014-02-21 14:07:32 +01:00
Eric Lippmann 7fa6668b64 Make Icinga Web 2 work without any config file
refs #5638
fixes #5523
2014-02-20 13:53:28 +01:00
Matthias Jentsch a2baf4217b Add php script to render dynamic svgs of inline charts
Add a php script to render dynamic SVGs as a fallback and add a widget to draw
inline charts.

refs #5679
2014-02-19 18:29:59 +01:00
Markus Frosch 971a87c608 Fixed executable flags on normal files.
Refs #5040
2014-02-18 09:42:13 +01:00
Eric Lippmann 35fc451115 Rework save preferences 2014-02-17 14:11:55 +01:00
Matthias Jentsch 342a9375de Move pdf.css into different directory to prevent it from being loaded during
regular requests.

refs #5644
2014-02-12 15:44:02 +01:00
Matthias Jentsch 4e5569371f Show only mainDetailGrid in pdf and move css fixes to less-directory
refs #4356
2014-02-12 12:11:49 +01:00
Matthias Jentsch a064ef520d Fix page-break on table rows
The dompdf library messes up the document layout, when page breaks reach over
several sites and will eventually even crash completely. Add a function to
split up tables in different chunks to fix this issue.

refs #4356
2014-02-12 12:11:49 +01:00
Matthias Jentsch db0f61fff1 Convert the opened view to pdf
refs #4356
2014-02-12 12:11:49 +01:00
Matthias Jentsch 80488644d4 Add pdf export functions
refs #4356
2014-02-12 12:09:33 +01:00
Marius Hein 1a6d1a20fb Fix: Simplify TopBar hook
refs #5597
2014-02-12 09:58:59 +01:00
Marius Hein 51188daa45 Implenent TopBar hook and status summary as hook in monitoring
refs #5597
2014-02-11 17:12:17 +01:00
Eric Lippmann 1caacbf20f Modules/Doc: Set rel="nofollow" on header links missing a user-specified id
refs #4820
2014-02-11 15:27:42 +01:00
Eric Lippmann 75577cec51 Modules/doc: Replace Michelf/Markdown with Parsedown
refs #4820
2014-02-11 15:09:03 +01:00
Thomas Gelf 3d636423c8 MenuItem renamed, small fixes
* One less namespace, better naming
* hasItem() added
* throws Exception when trying to access invalid Items
* Automagically creates missing parents when adding named childs
2014-02-03 14:16:17 +00:00
Johannes Meyer bd34669357 Refactor i18n implementation
One can now use $this->translate(msg) in a view or controller without the
need to pass the module domain (web&cli). Forms still need to be built
with _t(msg) and _mt(dom, msg).

refs #5533
2014-01-29 16:25:08 +01:00
Johannes Meyer f4a00d24e5 Fix exception when a module has no menu configuration 2014-01-29 12:09:35 +01:00
Eric Lippmann 77f7c9c1a6 Fix menu throwing an exception when a parent menu item does not exist
refs #3759
2014-01-28 14:43:43 +01:00
Eric Lippmann 48f5eebd53 Menu: Fix code compliance
refs #3759
2014-01-28 13:34:57 +01:00
Chris Rüll c4a00b8d31 Menu Configuration
Rework the Menu.Ini files and Include a new class to create a menu inside the project
2014-01-28 13:34:57 +01:00
Eric Lippmann 71c3fd831f Fix Call to a member function getPreferences() on a non-object when not logged in 2014-01-27 13:22:29 +01:00
Johannes Meyer 1b5b26c2bb Add window awareness
refs #5510
2014-01-24 14:44:19 +01:00
Johannes Meyer cf778d4609 Implement session namespaces
refs #5510
2014-01-24 14:44:19 +01:00
Johannes Meyer ac0b041523 Remove session handling from the authentication manager
refs #5510
2014-01-24 14:44:19 +01:00
Alexander Klimov fc1fb60b01 Re-add benchmark helper
Enable benchmark via user preferences

resolves #5508
2014-01-24 12:20:13 +01:00
Eric Lippmann 2242973568 XHR: Force redirect to login if session is expired
resolves #5507
2014-01-23 16:03:47 +01:00
Thomas Gelf 0f565aae6a Added permission handlers and related sample config reader
Please see feature #4108 for sample usage

refs #4108
2014-01-22 13:06:59 +00:00
Matthias Jentsch cd0194e20f Fetch and clean user messages lazily, to ensure that only shown messages are removed
This will make the code of the ConfigController way easier, as messages can be
send from everywhere and there is no need to consider consquences of
redirections.

refs #5100
2013-11-26 10:41:51 +01:00
Matthias Jentsch 2a0add3ec3 Fix messages in ConfigController
Store messages in the current user session to be able to fetch messages from
other controllers, so that the use can be redirected back to the index, instead
of staying in the original action

refs #5100
2013-11-20 19:10:38 +01:00
Matthias Jentsch 941ce6d68e Fix bug that caused ajax-request to override values written to the session
Authentication/Session.php and its Subclasses do not have a open/closed -state
anymore. Read will refresh the session, write will always write the changes,
and opening/closing will be handled internally.

refs #5101
2013-11-20 12:01:40 +01:00
Matthias Jentsch d65bd33205 Add configuration for resources
Add views and controller to handle resource configuration. Add form to edit
several resource types at once.

refs #4786
2013-11-13 18:12:00 +01:00
Eric Lippmann a9086c5388 Redirect to /index after login 2013-10-23 16:02:08 +02:00
Eric Lippmann ca1d50ae53 Rename Icinga 2 Web to Icinga Web 2 2013-10-23 15:11:06 +02:00
Jannis Moßhammer 1a95e48deb Fix row style, add dashboard as default route 2013-10-23 14:20:32 +02:00
Jannis Moßhammer 8eea09ab53 Add default dashboard, fix componentLoader issue introduced before 2013-10-23 13:06:09 +02:00
Jannis Moßhammer 16124989dd Various style fixes, changed icon size, fixed show/service 2013-10-22 15:58:24 +02:00
Jannis Moßhammer f7c0eaa7c4 Fix/Reimplement dashboard
refs #4532
2013-10-22 12:10:12 +02:00
Jannis Moßhammer c4f3e78c02 Fix filter behaviour, fix statusdat filter
refs #4469
2013-10-21 17:04:39 +02:00
Marius Hein 1a73747740 Implement bootstrap datepicker
refs #4929
2013-10-21 11:32:24 +02:00
Marius Hein a49691068e Add datepicker
refs #4929
2013-10-21 10:32:53 +02:00
Matthias Jentsch 6062d5f716 Add the html-anchor from the url to the login redirection
Change the Url class to support html anchors and add JavaScript to
fetch the anchor from the URL, as it is regularly not send to the
server.

refs #4833
2013-10-20 16:31:56 +02:00
Eric Lippmann 36e9cdb549 Monitoring/register: Add status summary to the top bar 2013-10-20 16:08:53 +02:00
Marius Hein 53ab6dbbf1 Implement global command toggle form in process view
refs #4918
2013-10-19 15:28:51 +02:00
Marius Hein 73e8d60060 Implement global commands
resolves #4142
2013-10-19 13:25:18 +02:00
Matthias Jentsch 1d07a766d9 Add form classes to handle the configuration
Add a tri-state form element to handle the configuration flags and add the form
to the controllers

refs #3788
2013-10-18 16:44:02 +02:00
Jannis Moßhammer 6095a71a8d CS Fixes
refs #4868
2013-10-17 21:40:02 +02:00
Jannis Moßhammer 4a95ba3468 Change url handling to detail on hashtag, add service filter
The url is now
http://%mainUrl%#%anchor%!detail=%detailUrl%
which allows us to better support IE and prevents
the detail url from appearing on the server side.

refs #4868
2013-10-17 19:55:00 +02:00
Jannis Moßhammer d33cec78de Semantic search implementation
- Only implemented for hosts as an example
- URL behaviour still has to be normalized

refs #4469
2013-10-17 19:52:52 +02:00
Jannis Moßhammer dac61eda19 Implement Filter to IDO Sql parser
refs #4469
2013-10-17 19:52:25 +02:00