Commit Graph

1458 Commits

Author SHA1 Message Date
Johannes Meyer 2d24828230 Add web installer
Logic is still missing and follows later.

refs #7163
2014-09-29 14:23:42 +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
Johannes Meyer 5b3d549e5c Add some more platform related calls
refs #7163
2014-09-29 11:21:56 +02:00
Johannes Meyer 8fcf21a6b8 Make it possible to retrieve a list of available users for authentication
refs #7163
2014-09-29 11:21:40 +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 90dbcdbbfb The stupid `DbQuery::isTimestamp()' hack must return false
This a fix for modules using our query / filter combination since `return $this;' renders all columns as timestamps.
2014-09-19 14:29:29 +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 c13823d406 bootstrap: Fix error reporting level not including E_STRICT 2014-09-19 13:19:24 +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 f1d3b72f05 autologin: Fix externally-authenticated users still being authenticated after external authentication is disabled
The if condition for revoking authentication if the username changed relied on having the `$_SERVER' variable set which was used for authentication.
Authentication is now revoked if the username changed or external authentication is no longer in effect.

refs #6462
2014-09-18 15:20:46 +02:00
Eric Lippmann 854e284d42 autologin: Don't use `count()' for is empty checks
Using `count()' in favor of `empty()' for empty checks on arrays is bad habit.
While there's literally no performance gain in the "fixed" scenario, there's one on large arrays
and thus should be avoided everywhere.

refs #6462
2014-09-18 15:18:01 +02:00
Eric Lippmann 794910256a Use `User::can()' in `hasPermission()' of the authentication manager 2014-09-18 14:57:24 +02:00
Eric Lippmann af58732545 Introduce `User::can()' for checking whether a user has a given permission
The authentication manager already has the `hasPermission()' method but it lacks wildcard support
and uses stupid looping. Implementing this method on the user further saves a call to `User::getPermissions()'.
2014-09-18 14:37:18 +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
Eric Lippmann beecf16ad0 lib: Add `InvalidPropertyException' 2014-09-12 10:18:48 +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 9d8f810e10 Icinga\Web\Request::getParam() should be mocked as well by default 2014-09-09 13:01:09 +02:00
Johannes Meyer d6377ca00c Return bootstrap mock when calling BaseTestCase::setupIcingaMock() 2014-09-09 10:19:51 +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
Johannes Meyer 34bbe6508a Remove form test functionality from BaseTestCase
BaseTestCase::createForm() is not required as the Form base class does
not have that much bloat anymore to have the need for a form factory.
2014-09-09 09:29:29 +02:00
Johannes Meyer 1137c010a8 Provide global request and response mocks
Prior to this change one had to overwrite setupIcingaMock or setUp to set
a specific mock as request or response. Now it is possible to do this for a
specific test without overwriting any method.
2014-09-09 09:24:38 +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 40611659ed Fix disappearing tooltips on SVG reload
Use a unified linebreak in the chart controller, so the tooltip handling will recognize the titles as identical
2014-09-08 16:23:14 +02:00
Matthias Jentsch 0fd561928a Remove cached version of dompdf log.htm from source control 2014-09-08 16:22:15 +02:00
Alexander Fuhr 7386ae5ef5 Update Module img_ route to get image subfolders 2014-09-08 11:31:05 +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 a300877878 Time detection: Add receiever to bootstrap method
refs #6078
2014-09-05 15:24:13 +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
Alexander Klimov 52c1d98beb Icinga\Protocol\File\FileReader: use Icinga\Util\Enumerate 2014-09-05 13:49:28 +02:00
Alexander Klimov 982cda6805 Implement Icinga\Util\Enumerate 2014-09-05 13:49:27 +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 Klimov 70146c43e7 Icinga\Protocol\File\FileReader: implement Icinga\Data\Selectable, and Countable 2014-09-04 16:59:37 +02:00
Alexander Klimov 3c4a719feb Revert "Icinga\Protocol\File\FileReader: implement Icinga\Data\Selectable, ...\Fetchable and Countable"
This reverts commit 7edbb8f27216e6faa0d0dc5a71b407748e9dd535.
2014-09-04 16:55:02 +02:00
Alexander Klimov 876b94cccf Icinga\Protocol\File\FileReader: implement Icinga\Data\Selectable, ...\Fetchable and Countable 2014-09-04 16:54:14 +02:00
Alexander Klimov f0969e0b2e Split Icinga\Protocol\File\FileReader into ...\FileReader and ...\FileIterator 2014-09-04 16:37:26 +02:00
Alexander Klimov fcd12073f8 Rename Icinga\Protocol\File\Query to ...\File\FileQuery 2014-09-04 16:37:25 +02:00
Alexander Klimov 36a3c36c1b Rename Icinga\Protocol\File\Reader to ...\File\FileReader 2014-09-04 16:37:24 +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
Matthias Jentsch eeed030bb5 Do not use an invalid HTML attributes for rich titles 2014-09-04 13:32:30 +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
Alexander Klimov 2eccc6188f Merge branch 'master' into bugfix/rebuild-application-log-logic-7060 2014-09-03 19:08:40 +02:00
Alexander Klimov ede5b8f0b9 Icinga\Protocol\File\Reader::fetchPairs(): increase $index manually as the iterator's one makes trouble
refs #7060
2014-09-03 18:36:59 +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
Alexander Klimov e45f50408a Icinga\Protocol\File\Reader::fetchPairs(): rename variables
$skipLines -> $skip
$readLines -> $read

refs #7060
2014-09-03 16:14:14 +02:00
Matthias Jentsch b10b1ea034 Add jQuery tooltips 2014-09-03 15:53:56 +02:00
Alexander Klimov 88dde47b7a Foreach: add $value so that the value won't be assigned to $key
refs #7060
2014-09-03 15:39:25 +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 774db9a7c8 lib: Add function `isUnixTimestamp' to the `DateTimeFactory'
Before, the `DateTimeValidator' defined this function.

refs #6593
2014-09-03 14:37:33 +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
Alexander Klimov 33669f8969 Logger: add/update documentation
refs #7060
2014-09-03 13:53:46 +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
Alexander Klimov 1e06c20dcb FileWriter: implement getPath()
refs #7060
2014-09-03 12:09:38 +02:00
Alexander Klimov 6aeab59ead Logger: implement getWriter() and getInstance()
refs #7060
2014-09-03 12:02:11 +02:00
Alexander Klimov 70cf14f775 Logger: rename getWriter() -> createWriter()
refs #7060
2014-09-03 11:34:21 +02:00
Alexander Klimov 3ade6da44d FileReaderException: extend IcingaException 2014-09-03 11:14:22 +02:00
Thomas Gelf 3d352ba446 Filter: add FilterNotEqual and FilterMatch
fixes #6557
2014-09-02 19:51:56 +02:00
Eric Lippmann 0b1d2bf685 Merge branch 'bugfix/rebuild-form-builder-5525' into bugfix/commands-6593 2014-09-02 17:09:36 +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
Thomas Gelf b60b811335 ApplicationBootstrap: list "core" translations
Just to make application fit module capabilities. We might find a better
place for both later on.

refs #7054
2014-09-02 16:51:17 +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 4cef333add Modules\Module: implement listLocales
fixes #7054
2014-09-02 16:28:27 +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 9bcd861b1c Merge branch 'bugfix/rebuild-form-builder-5525' into bugfix/commands-6593 2014-09-02 15:27:27 +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
Matthias Jentsch 4b55bcf8b6 Add tooltips to bar charts
Add a class to format and populate tooltips from graph data sets and implement
those tooltips in the ChartController.
2014-09-02 12:24:29 +02:00
Alexander Fuhr bb0e1dc105 Revert "Fixes unaccepted behavior in module configuration"
This reverts commit 236d384bab.
2014-09-02 10:23:41 +02:00
Marius Hein ee6145a173 Ldap/Query: Remove __toString()
This is needed because of exception handling. Exceptions can now bubble
up for default handling. Method render() was renamed to create() because
the method create a query. Adjust the test for method create().

refs #5536
2014-09-02 10:17:01 +02:00
Marius Hein baf768040f LdapQuery: Use Ldap/Exception for errors
refs #5536
2014-09-02 09:55:57 +02:00
Marius Hein 6b6826f737 Bug7043Test: Fix test to run without ini configuration
fixes #7043
2014-09-01 15:53:32 +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 30965c247b Merge branch 'bugfix/rebuild-form-builder-5525' into bugfix/commands-6593 2014-09-01 14:50:32 +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
Marius Hein 30f391035c Postgres/DbQuery: Add orderfields to select
refs #6896
2014-09-01 10:00:04 +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
Eric Lippmann a01ee00c27 Merge branch 'bugfix/rebuild-form-builder-5525' into bugfix/commands-6593
Conflicts:
	library/Icinga/Protocol/Commandpipe/Transport/Transport.php
2014-08-29 17:24:44 +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 e020dd3541 Icinga\App..\Config: Rename __construct to fromIni and add setConfigPath
Prior to this change it was not possible to create an instance of Config
without passing a config file.
2014-08-29 12:23:48 +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
Matthias Jentsch a26370bb12 Adjust PieCharts that are rendered without labels
Center and resize PieCharts to use the full width and height of the available view port
2014-08-28 18:25:19 +02:00
Matthias Jentsch 00a2d225a2 Ensure that PieCharts are centered and that labels dont leave the viewBox
Add scaling and transformations to move the PieChart into a valid coordinate system and reduce the offset of the labels to make more efficient use of available space.
2014-08-28 16:42:31 +02:00
Matthias Jentsch c5cface661 Improve readability of small pie charts
Use a bigger font, to ensure that small pie charts still have readable labels.
2014-08-28 16:40:34 +02:00
Matthias Jentsch 98809a1447 Do not use width and height as width and height percentages in the outer SVG element
Height and width are solely used to define the SVGs ratio and should not cause side effects on the SVGs size in the site context.
2014-08-28 16:37:21 +02:00
Matthias Jentsch a9eec0d672 Remove useless width and height properties from PieChart 2014-08-28 16:33:38 +02:00
Matthias Jentsch f77cd9cafa Fix coding guidelines 2014-08-28 16:21:16 +02:00
Matthias Jentsch 573a4ea12f Fix spelling mistakes 2014-08-28 16:14:59 +02:00
Eric Lippmann 4ca1eaa7ce Merge branch 'bugfix/rebuild-form-builder-5525' into bugfix/commands-6593
Conflicts:
	library/Icinga/Web/Form.php
	modules/monitoring/application/forms/Config/SecurityForm.php
2014-08-28 13:58:02 +02:00
Marius Hein e345aa257a Platform: Drop *Available function
Create a function extensionLoaded and change usages.

refs #5514
2014-08-28 12:14:55 +02:00
Marius Hein 9d0037a53a ResourceFactory: Add function create(<name>)
The ConfigAwareFactory is an interface forcing "backend-type" classes to call
ResourceFactory::createResource() passing a config they got in the constructor.

That's kind of overdesigned, if the ResourceFactory wants to be something like
a service locator it's responsabilities should include object instantiation.

refs #5514
2014-08-28 12:14:54 +02:00
Marius Hein 35d11bd145 Class doc for Platform
refs #5514
2014-08-28 12:14:54 +02:00
Marius Hein 9b83074cc9 Class doc for ResourceFactory
refs #5514
2014-08-28 12:14:54 +02:00
Marius Hein 22e17e9901 ResourceFactory: Move available function to platform
refs #5514
2014-08-28 12:14:54 +02:00
Matthias Jentsch 947cd0c5d3 Merge branch 'master' of git.icinga.org:icingaweb2
fixes #7006
2014-08-27 17:22:09 +02:00
Alexander Klimov e6612fefe7 FilterParseException: extend IcingaException
refs #6931
2014-08-27 16:26:43 +02:00
Alexander Klimov afd0c20c42 FilterException: extend IcingaException
refs #6931
2014-08-27 16:23:44 +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
Matthias Jentsch 4a59ff6712 Support preserveAspectRatio in SVGRenderer
Add support for the preserveAspectRatio attributes in root SVG elements, to improve the handling of padding and automatic resizing of inline SVG.
2014-08-27 13:51:52 +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 89541f5727 Merge branch 'bugfix/hook-interface-6932'
fixes #6932
fixes #6928
2014-08-27 09:39:56 +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
Matthias Jentsch 1ff63dbf3f Support nested keys expressed as single strings in the PreservingIniWriter
Automatically convert keys with dots into nested configurations to avoid errors during the property diff, of the old and new configuration file.
2014-08-26 18:05:22 +02:00
Eric Lippmann 6b88f1c98e Move Commandpipe/* classes from Icinga Web 2's library to the monitoring module
refs #6593
2014-08-26 16:35:30 +02:00
Matthias Jentsch ff1d2e4fed Fix coding style 2014-08-26 15:20:15 +02:00
Goran Rakic 23aa57a5d7 Remove 100% pie slice hack
The getPieSlicePath primitive can draw it now.
2014-08-26 15:20:15 +02:00
Goran Rakic 2575634dec Draw full circle pie slice (100%) as a primitive
Allows getPieSlicePath to draw a full circle pie slice (100%) by slightly adjusting endpoint to have a valid arc. Also hides a central line as there will be no more pie slices.
2014-08-26 15:20:15 +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 a2011b1665 SystemPermissionException: extend IcingaException
refs #6931
2014-08-26 11:21:57 +02:00
Alexander Klimov febb2d1ae2 ProgrammingError: extend IcingaException
refs #6931
2014-08-26 11:15:19 +02:00
Alexander Fuhr d8bbd7a0a0 Merge branch 'bugfix/modules-dashlet-provider-6639'
fixes #6639
2014-08-26 10:57:37 +02:00
Alexander Klimov 4ec6dbe3f0 Prefer single quotes ' rather than double quotes " 2014-08-26 10:41:17 +02:00
Alexander Fuhr 42e2b34356 Implement self provided configuration for dashboard/dashlets in modules
refs #6639
2014-08-26 10:34:36 +02:00
Alexander Klimov f754531e4d Fix grammatical error 2014-08-26 10:22:14 +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
Alexander Klimov 7074fa1331 NotWritableError: extend IcingaException
refs #6931
2014-08-25 12:56:35 +02:00
Alexander Klimov 6c9947326d NotReadableError: extend IcingaException
refs #6931
2014-08-25 12:38:34 +02:00
Alexander Klimov f4dbb4df96 NotImplementedError: extend IcingaException
refs #6931
2014-08-25 12:21:59 +02:00
Alexander Klimov 013aad8f73 MissingParameterException: extend IcingaException
refs #6931
2014-08-25 12:14:18 +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 20cead67a6 Merge branch 'master' into bugfix/modules-menu-provider-6639 2014-08-22 11:44:10 +02:00
Alexander Fuhr 1886569174 Implement Module self provided configuration for menus
refs #6639
2014-08-22 11:35:42 +02:00
Johannes Meyer bc05d2ee64 Merge LoggingForm into GeneralForm
fixes #6933
2014-08-22 11:05:20 +02:00
Alexander Klimov b764993091 AuthenticationException: extend IcingaException
refs #6931
2014-08-22 10:59:52 +02:00
Alexander Klimov b55a313146 Implement IcingaException
refs #6931
2014-08-22 10:27:30 +02:00
Thomas Gelf 09412d03b6 Benchmark: hide timestamp on HTML output
Wastes space and is mostly useless, absolut and relative expired time
gives more than enough information.
2014-08-22 09:34:43 +02:00
Alexander Klimov 8733238a6e Loader::registerNamespace(): correct exception message 2014-08-21 12:40:41 +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
Eric Lippmann 1c74fd7028 Merge branch 'master' into feature/display-documentation-4820
Conflicts:
	modules/doc/library/Doc/DocParser.php
2014-08-19 13:39:48 +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