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
Thomas Gelf
a38d71f17c
Cli\Command: provide Config()
...
This makes it feel more like action controllers
fixes #6954
2014-08-19 10:27:26 +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 & 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, & 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
4ddc0e718b
Report the default language also as being available for setting up the locale
...
fixes #6905
2014-08-14 10:48:52 +02:00
Johannes Meyer
dc8181cdc5
Escape linefeeds and carriage returns in commands and show them as html
...
fixes #6088
2014-08-14 10:23:04 +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
Marius Hein
56a29354d3
AutoLogin: Check the remote username against logged in user
...
fixes #6462
2014-07-30 12:54:08 +02:00
Marius Hein
e2c761a7aa
AutoLogin/Logout: Remove own session namespace
...
Store data in the user and implement interface to left
backends store remote information.
fixes #6461
2014-07-30 12:35:55 +02:00
Eric Lippmann
294728ac47
Revert "Autologin: Test logged session against remote user"
...
This reverts commit 64954e9924
.
If the strip_username_regex is configured on the autologin backend and applies on a user's name,
the authenticated user's username does never match the REMOTE_USER server variable.
Thus the application will logout/login on every request which results in a redirect loop.
refs #6462
2014-07-29 17:50:44 +02:00
Marius Hein
64954e9924
Autologin: Test logged session against remote user
...
fixes #6462
2014-07-29 12:06:43 +02:00
Marius Hein
8b9d446d2e
Autologin: Remove deprecated autologin methods
...
Remove methods from manager because autologin
is now handled with special backends (AutoLoginBackend).
The session is used to store the status about a remote
user authentication to send a 401 header to the client
upon logout.
refs #6461
2014-07-29 10:48:57 +02:00
Eric Lippmann
edc89d6ad6
lib: Remove `NodeRenderer'
...
`NodeRenderer' is superseded by `TocRenderer'.
2014-07-28 19:12:35 +02:00
Eric Lippmann
e26d360561
lib/Node: Remove method `findNodeBy()'
...
The new `DocTree' class provides `getNode()'.
2014-07-28 19:07:13 +02:00
Eric Lippmann
bbcdcb4609
lib: Add `Identifiable' interface for objects that are identifiable by an ID of any type
2014-07-28 19:05:37 +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
Eric Lippmann
e005333806
Merge branch 'master' into feature/display-documentation-4820
2014-07-22 12:25:58 +02:00
Matthias Jentsch
0eaaaf2f29
Make bar charts thicker
2014-07-22 11:32:52 +02:00
Matthias Jentsch
4b8bb99fa1
Fix svg text rotation in firefox
...
Use the SVG transform attribute instead of the writing-mode attribute to support firefox.
2014-07-22 11:26:35 +02:00
Matthias Jentsch
0a500efd8a
Determine the max value in LinearUnit dynamically
...
The range between min and max should always be divisable by the amount of
ticks, to ensure that the vertical lines are always at a full discrete value.
fixes #6769
2014-07-21 17:21:54 +02:00
Johannes Meyer
75e09f2c69
Do not consider submit buttons when checking form completion
...
refs #5525
2014-07-21 15:25:00 +02:00
Alexander Klimov
cebd71b2ff
Fix "Fatal error: Interface 'Icinga\Data\DatasourceInterface' not found in Icinga\Protocol\File\Reader"
...
fixes #6722
2014-07-21 14:14:13 +02:00
Alexander Klimov
c5ecbf250d
lib: add FileReaderException for file reader specific errors
...
refs #6722
2014-07-21 14:11:08 +02:00
Alexander Klimov
6df7be7ee5
File/Query: Fix `applyFilter' and `order' not matching SimpleQuery's interfaces
...
refs #6722
2014-07-21 14:09:40 +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
Alexander Klimov
5ea02b41ea
Optimize variable names and positions, cast array direct to object
2014-07-18 17:35:24 +02:00
Thomas Gelf
2a204897b4
DbQuery: improve method description
...
Not English mine this was, copy paste did I ;)
2014-07-18 16:48:52 +02:00
Thomas Gelf
209894d857
DbQuery: add dummy isTimestamp function
...
Not the best solution, but helps for now.
fixes #6675
2014-07-18 16:35:29 +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
eb977b7a55
Fix wrong variable assignment causing preferred languages not being set
2014-07-16 15:17:14 +02:00
Johannes Meyer
e5fdf78c98
Fix testing errors due to accessing the session id by using our container
2014-07-16 10:18:00 +02:00
Johannes Meyer
e6dee9fe89
Protect login against CSRF
...
refs #5626
2014-07-16 09:55:23 +02:00
Johannes Meyer
b40027b6c7
Purge session when logging out
...
fixes #6739
2014-07-16 09:55:22 +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
c7c2ad3790
Improve preference changeset calculation
...
The calculation is still subject to the concrete writer implementation as its
parent Icinga\User\Preferences\PreferencesStore is only an abstraction
layer without any knowledge how the data is actually stored so it is not able
to determine how to handle differences.
fixes #6220
2014-07-15 14:54:57 +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
Eric Lippmann
906c132dc0
Merge branch 'master' into feature/display-documentation-4820
2014-07-11 16:05:09 +02:00
Johannes Meyer
ab410de615
Make Icinga\Logger\Writer\FileWriter output more useful error messages
...
fixes #6464
2014-07-10 16:40:36 +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
Matthias Jentsch
3ed67c9af6
Determine the scale factor correctly
...
Fix error in the logic of the context renderer, that lead to a wrong scale factor
when the width was bigger than the height
2014-07-09 18:13:40 +02:00
Matthias Jentsch
8d697a3d8e
Fix coding style
2014-07-09 18:13:40 +02:00
Matthias Jentsch
ec3bafa026
Fix number formatting in chart classes
...
Use explizit number formatting instead of implicit type conversions when
rendering SVGs, to prevent a change of the locale from breaking the charts.
fixes #6585
2014-07-09 18:13:40 +02:00
Johannes Meyer
0fc2604af3
Use Icinga\Data\Db\DbConnection instead of Zend_Db_Select directly
...
fixes #6218
2014-07-09 10:41:54 +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
Johannes Meyer
b3cb29d804
Make Icinga\Util\Tranlsator not only return locale codes with encodings
...
refs #6602
2014-07-07 09:09:22 +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
Matthias Jentsch
485e2168c1
Fix coding style
2014-07-04 11:42:24 +02:00
Matthias Jentsch
05139ae684
Fix a bug in the section map creation of the IniEditor
...
Don't omit the first line when putting 'glued' comments into
the following section
2014-07-04 11:38:30 +02:00
Matthias Jentsch
57f3023ec4
Fix coding style
2014-07-03 16:20:45 +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
Eric Lippmann
545a153490
Merge branch 'master' into bugfix/test-fix-6542
2014-07-02 10:57:08 +02:00
Johannes Meyer
920c027990
Ensure that the ini writer deletes properties properly
...
The fix for #5958 introduced with commit 6aaff6b3
caused the property
deletion of the PreservingIniWriter be even more faulty than before. The
actual fix for this issue is an improved procedure for how properties are
deleted as the initial implementation suffered from a few
misunderstandings in how properties in Zend_Ini files need to be handled.
fixes #6599
fixes #6601
fixes #6600
fixes #6598
fixes #6614
2014-07-01 14:55:45 +02:00
Johannes Meyer
87e72961e8
Revert "Fix that the ini writer produces invalid configuration files"
...
This reverts commit 9bec8e3c27
.
2014-07-01 14:45:00 +02:00
Johannes Meyer
9bec8e3c27
Fix that the ini writer produces invalid configuration files
...
fixes #6614
2014-07-01 14:21:46 +02:00
Eric Lippmann
db5c6631d9
Merge branch 'master' into feature/display-documentation-4820
...
Conflicts:
modules/doc/library/Doc/Controller.php
2014-07-01 12:42:55 +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
Alexander Klimov
7ab984106a
Replace Exception with Icinga\Exception\ProgrammingError in Icinga\Application\Loader
...
refs #6542
2014-06-27 15:20:56 +02:00
Alexander Klimov
4b72e1b54f
Revert "Fix PHP Fatal error "Method Icinga\File\Csv::__toString() must not throw an exception in /vagrant/test/php/library/Icinga/File/CsvTest.php on line 35""
...
This reverts commit f2fdd7f39df759ff27c9c133f40bbcae14820708.
2014-06-27 14:30:57 +02:00
Alexander Klimov
22e13ce282
Replace DatasourceInterface with Selectable in Icinga/Protocol/Statusdat/Reader
...
refs #6542
2014-06-27 14:30:57 +02:00
Alexander Klimov
c0b44c3248
Revert "Fix PHP Fatal error "Interface Icinga\Data\DatasourceInterface not found in /vagrant/library/Icinga/Protocol/Statusdat/Reader.php on line 41""
...
This reverts commit 35e12c2053685a6951765a007a0e3f8c7999734f.
2014-06-27 14:30:57 +02:00
Alexander Klimov
b04f9b91be
Fix PHP Fatal error "Interface Icinga\Data\DatasourceInterface not found in /vagrant/library/Icinga/Protocol/Statusdat/Reader.php on line 41"
2014-06-27 14:30:57 +02:00
Alexander Klimov
0065cbe998
Fix PHP Fatal error "Method Icinga\File\Csv::__toString() must not throw an exception in /vagrant/test/php/library/Icinga/File/CsvTest.php on line 35"
2014-06-27 14:30:57 +02:00
Johannes Meyer
9c1ee57628
Icinga\Util\File: throw an ErrorException with file and linenumber details
2014-06-27 09:54:17 +02:00
Johannes Meyer
7f99be73fd
Adjust usages of Icinga\Util\File to suit the new interface introduced earlier
2014-06-26 15:57:14 +02:00
Johannes Meyer
3b191d36c4
Let Icinga\Util\File extend from SplFileObject
...
We should extend SplFileObject as it provides already some of the
functionality Icinga\Util\File had and adds even more on top of that.
2014-06-26 15:57:14 +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
c18b6f26f0
Throw Ldap\Exception when something goes wrong in a Ldap connection
2014-06-25 12:41:17 +02:00
Matthias Jentsch
e7548b6fc7
Return null for empty DNS query results
2014-06-25 12:41: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
Johannes Meyer
2fc793096a
Use the preferred language sent by the browser, not the configured one
...
refs #6074
2014-06-25 12:15:41 +02:00
Johannes Meyer
461b050718
Add locale negotiation to Icinga\Util\Translator
...
Translator::getPreferredLocaleCode($header) can now be used with the
HTTP "Accept-Language" header to return the best matching locale using
the user's preferations reported by the browser and our available locale
stack. Additionally Translator::getLocale and Translator::getLanguage were
replaced by Translator::splitLocaleCode to provide a more flexible
implemenation in order to identify specific parts of a particular locale or
the current one.
refs #6074
2014-06-25 12:15:41 +02:00
Alexander Klimov
53de3686a8
Bootstrap: Only replace config dir with its canonicalised absolute pathname when the dir exists
2014-06-25 11:59:09 +02:00
Alexander Klimov
ab1d8655f9
Config: Hard-code path to preferences INI files
2014-06-25 11:59:09 +02:00
Alexander Klimov
a18058e185
lib: Assume relative path for Config::resolvePath()
2014-06-25 11:59:09 +02:00
Alexander Klimov
ebca81b040
Revert "Make preferences INI path NOT be configurable"
...
This reverts commit f2693613d1
.
2014-06-25 11:59:08 +02:00
Alexander Klimov
fdf74c5e18
Revert "Make preferences INI path NOT be configurable"
...
This reverts commit 219869607d
.
2014-06-25 11:59:08 +02:00
Thomas Gelf
fac3c9f3a6
Util\Translator: fix language list
...
Reverted former redundant patch, got confused by legacy web modules
been translated with earlier versions. They had a different directory
structure and registered erraneous domain directories.
This patch fixes the list, does an additional safety check (dirname must
end with .UTF-8) and strips .UTF-8 from the locale name. Former regex
matched always and therefore blacklisted every translation.
2014-06-25 11:43:15 +02:00
Thomas Gelf
20cdb6e0b8
Revert "Util\Translator: show correct language list"
...
This reverts commit b7521f48b9
.
2014-06-25 11:37:37 +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
7ebdb2d378
FilterQueryString: add hidden debug feature
...
Might help to track down potential problems in the future, should
not be enabled by default
2014-06-25 10:47:03 +02:00
Thomas Gelf
9359f527db
FilterQueryString: fix issues with not
...
NOT is a "chain" with just one subfilter and therefore behaves a little
bit different. Should work fine now.
fixes #6554
2014-06-25 10:39:48 +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
b7521f48b9
Util\Translator: show correct language list
...
List was showing useless stuff such as LC_MESSAGES and no language
but the default one. We should have a look whether LC_MESSAGES is
really needed, it looks so ugly.
2014-06-25 10:31:03 +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
13ef06c700
Modules\Module: modules should register config tabs
...
This allows modules to register their config tabs and provides a
convenient way to fetch a modules fully instanced config tabs.
2014-06-24 20:47:03 +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
Alexander Klimov
219869607d
Make preferences INI path NOT be configurable
...
fixes #6567
2014-06-24 18:29:28 +02:00
Alexander Klimov
f2693613d1
Make preferences INI path NOT be configurable
...
refs #6567
2014-06-24 18:00:40 +02:00
Alexander Klimov
3e31ff65a4
Prefer dirname rather than pathinfo
2014-06-24 15:57:13 +02:00
Alexander Klimov
6daccae30e
Optimize IcingaConfig::resolvePath
2014-06-24 15:45:19 +02:00
Alexander Klimov
6e4bf73c36
Compute config file paths properly
...
fixes #6564
fixes #6534
2014-06-24 14:54:31 +02:00
Alexander Klimov
9bab7c0323
Signal that resolvePath doesn't support Windows
...
refs #6564
2014-06-24 13:22:43 +02:00
Alexander Klimov
ff87588d96
Don't let config path seem absolute where it isn't
...
refs #6534
2014-06-24 10:12:07 +02:00
Johannes Meyer
c563479888
Use Icinga\Util\File instead of fopen
2014-06-23 15:02:06 +02:00
Johannes Meyer
9066a0c2fa
Fix deadlock when writing to the command pipe while noone is listening
2014-06-23 15:02:06 +02:00
Johannes Meyer
2862c5667c
Make Icinga\Util\File an object
...
Was a class with just one static function beforehand and is now a fully
object oriented alternative for how files and pipes can be handled.
PHP warnings emitted by fopen, fwrite, fread and chmod are catched
and thrown as exceptions.
2014-06-23 15:02:06 +02:00
Matthias Jentsch
010466f8f9
Replace sizeof with count
...
Do not use sizeof to get the length of an array, as the function name 'sizeof'
is misleading
2014-06-23 14:19:55 +02:00
Matthias Jentsch
77a9dd1e6e
Throw exception on fetchDN, when no row exists
...
Instead of fetchDN, authentication now uses hasUser to check if the user
exists before querying the password, to prevent the exception from messing
up the whole authentication process
2014-06-23 14:02:45 +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
7d6fd45466
Application\Web: use same request everywhere
2014-06-22 14:13:00 +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
78193137f0
config/modules: show metadata, improve usability
...
Well... I didn't want to commit this before creating single-button
forms for enabling/disabling modules. However part of this accidentally
made it through, so let's finish it.
Still some work to do, but it already looks far better like this.
refs #4095
2014-06-21 02:27:27 +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
e2f7a1054e
CSV/JSON export: work with new query interfaces
...
NB: I do not like the fact that we have to do as follows:
DataView->getQuery()->fetchWhatever();
Guess this is worth a few more proxy functions.
2014-06-21 00:09:11 +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
a904ff51aa
monitoring/eventhistory: improve query performance
...
This takes care of timestamp columns, modifies queries in a way not
depending on db functions, filters are passed through to subqueries
for better performance.
2014-06-20 19:14:34 +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
262dcff3a5
Util\Translator: tell us current locale and lang
2014-06-20 13:12:23 +02:00
Thomas Gelf
ecbdb07bea
FilterQueryString: fix handling encoded <> signs
...
Those signs are URL-encoded and therefore not "seen" before decoding
the "key" part when the sit in front of the = sign. Same goes for
standalone ones. Fixed.
2014-06-20 13:06:07 +02:00