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.
This is nothing but a prototype right now but could become pretty
useful. We want to allow our users to control most of our developer
tools without deep knowledge about Icinga Web internals.
This first prototype allows allows one to toggle the JS UI debug
window.
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.
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
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
Drop external auth configuration from config.ini and move
implementation into a single backend provider named
'autologin'. This provider can strip realm names from
username with a custom regexp.
fixes#6081
Multiline strings are not considered being a valid title. This patch
strips all but the first line from the exception message when setting
the title attribute.
Add authentication backend type msldap with default values for user_class
and user_name_attribute. Backend type ldap now logs an error when user_class
and user_name_attribute ist not configured. Rename membership.ini to
memberships.ini since all our INI configuration files are in the plurar
where it makes sense. The AuthenticationController now handles
authentication
refs #5685
refs #5638fixes#5218
Provide a new settings authenticationMode and delegate the
authentication handling to the webserver when the external authentication mode
is set. Add a new view 'logout' that will be shown after logout from external
authentication as the regular redirect to login is not possible.
refs #5405
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
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
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
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
This has the reason that it's better to add a cache-buster via
requirejs, so only the main.js module must be modified in development
mode and we avoid an ugly bug in recent Chrome versions that prevents
<script> nodes from being correctly loaded in some cases (aborted
requests)
refs #4611 (not really, but kind of)
This commit introduces the following changes:
- Count is now performed after joins are added to the selection query,
therefore returning the correct number
- MonitoringControllerTest now needn't to mock ModuleActionController (which is now removed)
- handlesAuthentication is now requiresAuthentication
- Redirection to login is now directly handled in the ActionController constructor,
so we don't need to overwrite the preDispatch method
refs #4589
refs #4591
refs #4572
This commit summarizes the bugfixes made in this branch. As the frontend the fixes required a lot of stuff to be fixed afterwards and #4602 was used as a larger example regression test, this affects a few tickets:
- (Bug 4491) Frontend tests will hang randomly: CasperJS now operates on the installed version, so this shouldn't happen anymore
- (Bug 4602) Configuration Interface - Authentication: Backends moved when pushing enter: The authentication interface is reworked and does not persist a state over pages
- (Bug 4605) /tmp should not be the default log path: Now it is the application relative var/log path
- (Bug 4606) Configuration: Show message that changes were saved successfully: Implemented and tested with casperjs
- (Bug 4641) Installation/Testing fix configure/make: This has been reworked
- (Bug 4642) Allow Application placeholder in config: This was required for implementimg 4605
- (Bug 4643) Application doesn't work with older Zend Versions: A fallback __call has been implemented for this
refs #4491
refs #4602
refs #4605
refs #4606
refs #4641
refs #4642
refs #4643
the runner now supports --host, --port, --path, --user and --pass for
icingaweb access and doesn't spawn any servers by itself.
Also a login test has been added. Other tests are removed as they don't
apply anymore.
refs #4491
Add a component loader that finds components by searching for elements with the
"data-icinga-component" attribute and loads the corresponding JavaScript file
from the backend to render the component.
refs #4456
- Rename ConfigurationController to ConfigController
- ConfigController and PreferenceController are now subclasses of
BaseConfigController and BasePreferenceController
- Module and Application Config/Preference Tabs are detected via
the ControllerTabCollector
- Moved Controller classes to Icinga/Web/Controller (this is why
so many files are modified)
refs #4530
- Fixed concatenation
- Added license header where missing
- Fixed the index controller fetching the wrong parameter ('dashboard' instead of 'pane')
refs #4192
The optional width/height parameter can be set in the ini to change the dashboard components
size, documentation has been added and in the error case a message with the configuration is shown
refs #4192
As Widget's already denote an abstract concept, the name
'AbstractWidget' is redundant. Also this class didn't do anything except
fetching a view via a singleton (which is now injected into the render method)
and bypassing the PHP class properties by creating a 'properties' array which is
filled with magic getters and setters (which now are simply php class properties)
Further changes:
- toString is removed, as this incorporated a lot of
application logic which would cause unrecoverable
errors when throwing exceptions
- renderToHtml is now just render and the view dependency must be
passed, as a widget shouldn't be responsible for getting
view instance (this means that <?= $this->tabs ?> is now
<?= $this->tabs->render($this); ?> in the templates
- Controllers don't have $this->widget anymore as Widgets are
directly instanciated with their class, allowing better code completion
and avoiding hidden dependencies, also Widget::create is now removed
in favor of direct instanciation.
refs #4192
Add the downtime overview view, add the downtimes controller action, fix issues
with the the DowntimeQuery and add the new fields to the DowntimeView. Fix
issues in the ShowController that occur due to the changes in the DowntimeQuery.
refs #4188