Marius Hein
9d4ca7739b
Bootstrap: Safe application start
...
Log exceptions and inform user if something goes wrong.
refs #4625
refs #4592
2013-08-23 17:28:13 +02:00
Marius Hein
afc302d45c
Bootstrap: Safe application start
...
Log exceptions and inform user if something goes wrong.
refs #4625
refs #4592
2013-08-23 17:28:13 +02:00
Eric Lippmann
d813ca62c5
Db: Set MySQL server SQL modes to behave closer to ANSI SQL
...
Was already implemented but someone dropped it accidentally
2013-08-21 14:40:37 +02:00
Jannis Moßhammer
a6ff6ecadd
Fix Codestyle/PHPDoc, fix configPath being Overwritten
...
Also removed possibility to disable debugging as there's no use case for this
refs #4525
refs #4598
2013-08-21 14:22:30 +02:00
Jannis Moßhammer
972bc9853e
Configuration interfaces for logging, authentication and general configuration
...
- Added HelpText decorator
- Added Time and DateFormatValidator
- Added tests
refs #3777
2013-08-21 14:22:30 +02:00
Jannis Moßhammer
17c1e5a449
Add tests, move BaseFormTest away from modules/monitoring
...
refs #3777
2013-08-21 14:18:53 +02:00
Marius Hein
d348477455
Fix user test case: DateTimeZone comparison
2013-08-20 11:27:25 +02:00
Marius Hein
3a8a3b8f2c
Monitoring backend: Change database objects to DbAdapterFactory
...
refs #4575
2013-08-19 18:29:26 +02:00
Eric Lippmann
329d63839b
Monitoring/Commands: Fix tests
...
refs #4524
2013-08-16 17:38:50 +02:00
Jannis Moßhammer
0b479e3796
Code style fixes, fix documentation, fix tab parameters not being overwritten
...
refs #4512
2013-08-16 15:08:28 +02:00
Jannis Moßhammer
49d56f1eab
Fix capitalization error in test require
...
refs #4512
2013-08-16 15:08:28 +02:00
Jannis Moßhammer
b28c7f2f4c
Refactor test, tabs and controller
...
- Remove unused methods,
- Code style
- Documentation for widgets
- Tabextensions instead of hardcoded tab actions
- Add tests for tabs
- Add missing phpdoc for touched files
- Fix tests
refs #4512
refs #4541
refs #4540
2013-08-16 15:08:28 +02:00
Matthias Jentsch
7f30b587be
Change the StoreFactory to work with the DbAdapterFactory and fix code styling
...
Change the StoreFactory configuration to reference to a resource instead of
defining the whole database. Additionally fix docstrings, fix imports and fix
function calls to comply to coding style standards.
refs #4503
2013-08-15 14:16:34 +02:00
Matthias Jentsch
f1040aad60
Add additional functionality and documentation for easier use through developers
...
Add functions to get information about currently available resources and add
documentation about class usage for developers.
2013-08-14 16:22:58 +02:00
Matthias Jentsch
3ce44b72e1
Change accepted exception type of unit test
...
Change the generic type Exception to a more specific one, to achieve
a more accurate test case.
resolves #4503
2013-08-14 16:22:58 +02:00
Matthias Jentsch
68deb735c0
Add the DbAdapterFactory to instanciate database adapters using resource names
...
Create the DbAdapterFactory to instanciate db adapters, add resources.ini to configure resources, change
the authentication Manager to fall back to backends with lower priority in case
of errors, update the current UserBackends to the changed environment. Also
adjust the documentation and existing unit tests.
resolves #4503
2013-08-14 16:22:58 +02:00
Jannis Moßhammer
be29b8ff8f
Make ConfigController and PreferenceController extensible by convention
...
- 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
2013-08-14 16:08:15 +02:00
Matthias Jentsch
eecbc233b9
Fix behavior of PreservingIniWriter that caused comments at the line end to be deleted
...
Implement a function to fetch comments at line end and use it to preserve
comments. Change the regular expressions used to parse lines to be more aware
of whitespaces between terms. Add automatic value and comment indentation
to produce cleaner output.
2013-08-14 15:05:10 +02:00
Eric Lippmann
bd140f2828
CC: Fix phpcs errors of files changed in feature/datetime-element-4440
...
refs #4440
2013-08-12 16:43:10 +02:00
Eric Lippmann
2c217d1d06
Framework/DateTime: No longer use the Unix timestamp format since this ignores the time zone
...
refs #4440
2013-08-12 16:43:10 +02:00
Eric Lippmann
9f22905837
Framework/DateTimePicker: Set element's value to Unix timestamp after the input is considered valid
...
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann
3d104474d9
Tests: Fix UserTest as getTimeZone now returns a DateTimeZone object
...
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann
ba00fd39df
Framework: Get DateTimePicker's value as timestamp and add input validation
...
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann
da7f619804
Framework: Implement DateFormat view helper
...
Support date, time and datetime formatting based on format strings
set either by the user or via config.ini. The view helper
FormDateTime uses the new helper already
refs #4440
refs #4424
2013-08-12 16:43:09 +02:00
Eric Lippmann
8af901e9ed
Framework/User: Implement getTimezone to retrieve the user's Timezone
...
refs #4440
2013-08-12 16:42:50 +02:00
Eric Lippmann
93ae6d6811
Framework: mv Icinga\Config\Config to Icinga\Application\Config
...
refs #4543
2013-08-12 15:02:25 +02:00
Jannis Moßhammer
ec17efe328
Add test for Dimension
...
refs #4192
2013-08-07 17:44:40 +02:00
Jannis Moßhammer
b3e0d5e8ce
Remove AbstractWidget and make Widget an interface
...
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
2013-08-07 17:41:43 +02:00
Matthias Jentsch
c1338898a6
Fix errors in function comments and move IniEditor into single class file
...
refs #4352
2013-08-07 15:58:51 +02:00
Matthias Jentsch
56e47fd084
Add an ini writer for configuration files
...
Add an ini writer that respects the file structure and the comments that may be
already present in the config file. Move Application/Config.php into
Config/Config.php.
refs #4352
2013-08-07 15:58:42 +02:00
Johannes Meyer
4befc9be94
Merge branch 'feature/preferences-backend-4069'
...
resolves #4069
2013-08-06 12:04:16 +02:00
Johannes Meyer
3ad4a4281d
Add missing form tests and update documentation
...
refs #4439
2013-08-06 11:11:29 +02:00
Jannis Moßhammer
4f1e6ec720
Code style and comment fixes
...
refs #4441
2013-08-06 09:27:37 +02:00
Jannis Moßhammer
b44de95caa
Call commandhandler from commandcontroller actions
...
The CommandController now implements the calls to the specific
command methods and sends commands to the icinga process
refs #4441
2013-08-06 09:27:37 +02:00
Jannis Moßhammer
d6bbed3a54
Extract the transport functions from the CommandPipe
...
- The CommandPipe class now delegates submission of commands to
the Transport classes (LocalPipe or SecureShell)
- Added SSH options for non-interactive mode
- Refactored tests
refs #4441
2013-08-06 09:27:37 +02:00
Marius Hein
6112189b0c
User preferences: Add database store
...
refs #4069
2013-08-05 16:56:03 +02:00
Marius Hein
6d1f349616
User preferences: Implement interfaces and ini store
...
refs #4069
2013-08-05 16:56:02 +02:00
Jannis Moßhammer
5a82c37ed1
Fix session test save path not being writable for vagrant user
...
The tests now try to write to /tmp and are skipped if this folder
is not writable. Also the test has been refactored a bit (comments,
assertion messages)
regs #4461
2013-08-02 15:35:05 +02:00
Jannis Moßhammer
5c3eb1d796
Style fixes and addParam test
...
refs #4381
2013-08-02 13:14:56 +02:00
Jannis Moßhammer
50ca1aec1a
Refactor URL class and test
...
The constructor of the class is now private, instantiation happens
with Url::fromRequest and Url::fromPath. Also updated all occurences
of Url and fixed the Qlink helper to not overwrite the baseUrl with null
values
refs #4381
2013-08-02 13:14:55 +02:00
Marius Hein
a1a8d4c157
Code compliance change and rename refs to User
...
refs #4066
2013-07-30 14:06:46 +02:00
Marius Hein
8510d57cf8
Prepare user settings api
...
Rework application bootstrap, move user object to its new location, implement web
request class to handle the user object.
refs #4066
2013-07-30 14:06:46 +02:00
Matthias Jentsch
d5d0da6b1b
Add missing property comments in DbUserBackendTest
...
refs #3769
2013-07-29 12:47:15 +02:00
Matthias Jentsch
e51737f42a
Fix the installation manual, comments and give the unit-test functions a more
...
verbose name
refs #3769
2013-07-29 11:42:31 +02:00
Matthias Jentsch
94e9ffc7b3
Fix comments
...
refs #3769
2013-07-26 15:57:37 +02:00
Jannis Moßhammer
306a51271b
Change 'user' table to 'account', error handling and docs
...
Fix installation instructions for postgresql, the user table is now
'account', as user is a keyword in some rdbms, now catching exceptions
and returning auth failed while logging errors
refs #3769
2013-07-26 15:01:52 +02:00
Matthias Jentsch
fd4cbf1c5b
Add default login to the authentication database
...
refs #3772
2013-07-26 13:10:00 +02:00
Matthias Jentsch
b013966464
Fix unit tests and add documentation
...
Add functionality to check if a certain database type like psql or mysql is
available and skip the tests accordingly.
Add documentation for backend authentication.
refs #3769
2013-07-26 13:09:59 +02:00
Matthias Jentsch
2807982f72
Remove crypto-module and use libraries instead
...
Remove the crypto-module to reduce amount of dependencies and use hash_hmac
with SHA256 instead.
refs #3769
2013-07-26 13:09:59 +02:00
Matthias Jentsch
3ff0c0f02a
Adds DbUserBackend to handle the authentication against a sql db.
...
Users should be able to authenticate against an internal DB without setting up
additional authentication domains.
refs #3769
2013-07-26 13:09:59 +02:00
Jannis Mosshammer
e8204f4755
Merge branch 'feature/service-detail-view-4181' of ssh://git.icinga.org/icinga2-web
...
Conflicts:
library/Icinga/Application/Logger.php
library/Icinga/Application/Web.php
library/Icinga/Authentication/Backend/LdapUserBackend.php
library/Icinga/Authentication/Credentials.php
library/Icinga/Authentication/Manager.php
library/Icinga/Authentication/PhpSession.php
library/Icinga/Authentication/Session.php
library/Icinga/Authentication/User.php
library/Icinga/Authentication/UserBackend.php
library/Icinga/Backend/AbstractBackend.php
library/Icinga/Backend/DataView/ObjectRemappingView.php
library/Icinga/Backend/Query.php
library/Icinga/Backend/Statusdat/DataView/StatusdatHostView.php
library/Icinga/Backend/Statusdat/HostgroupsummaryQuery.php
library/Icinga/Backend/Statusdat/HostlistQuery.php
library/Icinga/Backend/Statusdat/ServicegroupsummaryQuery.php
library/Icinga/Backend/Statusdat/ServicelistQuery.php
library/Icinga/Exception/ConfigurationError.php
library/Icinga/Exception/MissingParameterException.php
library/Icinga/Exception/NotImplementedError.php
library/Icinga/Exception/ProgrammingError.php
library/Icinga/Exception/SystemPermissionException.php
library/Icinga/Protocol/AbstractQuery.php
library/Icinga/Protocol/Commandpipe/Acknowledgement.php
library/Icinga/Protocol/Commandpipe/CommandPipe.php
library/Icinga/Protocol/Commandpipe/Comment.php
library/Icinga/Protocol/Commandpipe/Downtime.php
library/Icinga/Protocol/Commandpipe/Exception/InvalidCommandException.php
library/Icinga/Protocol/Commandpipe/IComment.php
library/Icinga/Protocol/Commandpipe/PropertyModifier.php
library/Icinga/Protocol/Ldap/Connection.php
library/Icinga/Protocol/Ldap/Exception.php
library/Icinga/Protocol/Ldap/LdapUtils.php
library/Icinga/Protocol/Ldap/Node.php
library/Icinga/Protocol/Ldap/Query.php
library/Icinga/Protocol/Ldap/Root.php
library/Icinga/Protocol/Statusdat/Exception/ParsingException.php
library/Icinga/Protocol/Statusdat/IReader.php
library/Icinga/Protocol/Statusdat/ObjectContainer.php
library/Icinga/Protocol/Statusdat/Parser.php
library/Icinga/Protocol/Statusdat/Query.php
library/Icinga/Protocol/Statusdat/Query/Expression.php
library/Icinga/Protocol/Statusdat/Query/Group.php
library/Icinga/Protocol/Statusdat/Query/IQueryPart.php
library/Icinga/Protocol/Statusdat/Reader.php
library/Icinga/Protocol/Statusdat/RuntimeStateContainer.php
library/Icinga/Protocol/Statusdat/View/AccessorStrategy.php
library/Icinga/Web/ActionController.php
library/Icinga/Web/Form.php
library/Icinga/Web/Hook/Configuration/ConfigurationTab.php
library/Icinga/Web/Hook/Configuration/ConfigurationTabBuilder.php
library/Icinga/Web/Hook/Configuration/ConfigurationTabInterface.php
library/Icinga/Web/Hook/Grapher.php
library/Icinga/Web/Hook/Toptray.php
library/Icinga/Web/ModuleActionController.php
library/Icinga/Web/Notification.php
library/Icinga/Web/Paginator/Adapter/QueryAdapter.php
library/Icinga/Web/Paginator/ScrollingStyle/SlidingWithBorder.php
library/Icinga/Web/Widget.php
modules/monitoring/application/views/helpers/MonitoringCommands.php
modules/monitoring/application/views/helpers/MonitoringFlags.php
modules/monitoring/application/views/helpers/MonitoringProperties.php
modules/monitoring/application/views/scripts/show/components/comments.phtml
modules/monitoring/application/views/scripts/show/components/downtime.phtml
modules/monitoring/application/views/scripts/show/components/flags.phtml
modules/monitoring/application/views/scripts/show/components/properties.phtml
modules/monitoring/application/views/scripts/show/header.phtml
modules/monitoring/application/views/scripts/show/host.phtml
modules/monitoring/application/views/scripts/show/service.phtml
modules/monitoring/library/Monitoring/Backend/AbstractBackend.php
modules/monitoring/library/Monitoring/Backend/Ido/Query/DowntimeQuery.php
modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php
modules/monitoring/library/Monitoring/Backend/Statusdat.php
modules/monitoring/library/Monitoring/Backend/Statusdat/Criteria/Order.php
modules/monitoring/library/Monitoring/Backend/Statusdat/DataView/StatusdatServiceView.php
modules/monitoring/library/Monitoring/Backend/Statusdat/Query/GroupsummaryQuery.php
modules/monitoring/library/Monitoring/Backend/Statusdat/Query/Query.php
modules/monitoring/library/Monitoring/Command/Meta.php
modules/monitoring/library/Monitoring/View/DowntimeView.php
modules/monitoring/test/php/application/views/helpers/MonitoringCommandsTest.php
modules/monitoring/test/php/application/views/helpers/MonitoringPropertiesTest.php
modules/monitoring/test/php/library/Command/MetaTest.php
2013-07-23 16:33:07 +02:00
Marius Hein
8d3ff94696
Remove php strict errors
...
refs #4448
2013-07-23 12:18:27 +02:00
Jannis Moßhammer
07f7e7ef23
Fix interface changes of statusdat in tests
...
The StatusDat tests didn't run as they were outdated, now a
newer version is added
refs #4178
refs #4179
2013-07-22 13:47:09 +02:00
Jannis Moßhammer
dac9b7be4b
Fix mixedPagination property typo, Statusloader libraries missing and getter for Abstractquery
...
refs #4178
2013-07-19 17:48:24 +02:00
Jannis Moßhammer
76a3ef86c1
Fix QueryAdapter and SlidingWithBorderTest, remove --strict
...
QueryAdapter and SlidingWithBorder used the statusdat backend and
must therefore be modified.
The --strict parameter stores controller tests because of the 1s timeout
and offers now advantages for us at this time.
refs #4417
2013-07-19 11:36:11 +02:00
Jannis Moßhammer
5827cb37cb
Fix statusdat tests and implementation
...
After moving StatusDat to monitoring/Backends and changing the
inheritance to Library/Icinga/Data, a few changes must be reflected in the tests:
- Move tests to monitoring module
- Change $this->backend references in StatusDat Queries to $this->ds
- Added LibraryLoader to ease requiring of libaries (to be discussed)
refs #4417
refs #4179
2013-07-19 11:36:05 +02:00
Marius Hein
e049d8f3c4
Autoload: Fix test before rename namespaces
...
Drop builder test, it is not needed anymore. Skip all notification
tests. Test includes bootstrapping and throw errors with ldap auth.
refs #4407
2013-07-15 11:20:12 +02:00
Marius Hein
316893ad2c
Add new autoloader implementation
...
New namespace implementation created to load application code
like forms with this autoloader. Consumpting services can register
their own, multiple namespaces. Overlapping namespaces matched
by closest name.
refs #4407
2013-07-12 16:11:03 +02:00
Eric Lippmann
6eefa2bacb
Use require_once instead of require in ConfigTest
...
refs #4354
2013-07-12 15:52:35 +02:00
Eric Lippmann
8c6f2a07ae
Remove magic retrieval of configuration files
...
This change leads to expected exceptions when bootstrapping the
application since the \Icinga\Application\Config class was
refactored but its usage not.
refs #4354
refs #4353
2013-07-12 15:41:35 +02:00
Eric Lippmann
d51b00b508
Update Livestatus tests
2013-07-12 14:02:43 +02:00
Marius Hein
1ede8df2af
Extensible configuration system
...
Add configuration tab builder parts to register
free configuration tab items
refs #4300
2013-06-27 16:10:54 +02:00
Marius Hein
b403721c11
Extensible configuration system
...
Add object registration for hooks.
refs #4300
2013-06-27 16:10:54 +02:00
Jannis Moßhammer
3490469727
Add clearstatcache and tests for ModuleManager
...
Added the clearstatcache call before enabling or disabling modules,
as this prevents a 'File exists' error that occurs sometimes on
symlink creation (even when the folder is empty). Also added tests
for teh moduleManager
refs #4092
2013-06-26 16:36:36 +02:00
Marius Hein
a1327a384c
Fix Authentication workflow
...
Fix ldap backends to use Credentials to work with. Fix
some tests to use include right files.
refs #4340
2013-06-25 12:24:52 +02:00
Jannis Moßhammer
8192c19424
Fix Authentication workflow
...
- The authentication controller now uses the Authentication/Manager class,
also there were some issues in the Session creation, this has been removed
from the Bootstrap now, as the Controller must decide how to open a session
(read-only or read/write).
- The tests reflect a few chagnes, as the move from the CSRF token generation
to the Formbuilder.
- Notificaiton now doesn't use Zend Session
refs #4340
2013-06-25 11:54:42 +02:00
Marius Hein
8d1038e622
Refactor and test \Icinga\Web\Form
...
Fix inspection issues, added some other code for testing to
have more coverage, fix test for QLink view helper.
refs #4302
refs #4341
2013-06-25 09:43:55 +02:00
Jannis Moßhammer
5cddbd1162
Add Form\Builder
...
The builder class allows to create forms and bind them to
models. The tests are currently failing because of the zend
pluginloader, this must be evaluated
refs #4302
2013-06-24 18:48:32 +02:00
Jannis Moßhammer
9563541814
Fix ManagerTest's invaldi @expectedException annotation
...
The annotation catched the generic \Exception, which PHPunit
forbids. Now the tests directly catches and asserts this
exception
refs #4310
2013-06-14 09:39:34 +02:00
Jannis Moßhammer
780ea68f2f
Remove abandoned files from tests
...
The deleted files were incomplete tests for non-existing files,
so they don't affect the build process
refs #4310
2013-06-14 09:38:11 +02:00
Marius Hein
5e14f828ba
Evaluate, Test and Move the items und library/Icinga/Web to the source tree
...
Fix PSR compliance.
refs #4256
2013-06-13 11:59:48 +02:00
Marius Hein
56844306c3
Evaluate, Test and Move the items und library/Icinga/Web to the source tree
...
Add test for Icinga_Web_Paginator_ScrollingStyle_SlidingWithBorder
refs #4256
2013-06-13 11:59:48 +02:00
Marius Hein
9657ba565e
Evaluate, Test and Move the items und library/Icinga/Web to the source tree
...
Add test for paginator/QueryAdapter
refs #4256
2013-06-13 11:59:48 +02:00
Marius Hein
c13208a0f8
Evaluate, Test and Move the items und library/Icinga/Web to the source tree
...
Add AbstractWidgetTest
refs #4256
2013-06-13 11:59:47 +02:00
Marius Hein
c98be3ef73
Evaluate, Test and Move the items und library/Icinga/Web to the source tree
...
Add test for Widget.
refs #4256
2013-06-13 11:59:47 +02:00
Marius Hein
ccd5564a37
Evaluate, Test and Move the items und library/Icinga/Web to the source tree
...
Modify test for hook, add test for notification
refs #4256
2013-06-13 11:59:47 +02:00
Marius Hein
521baeba5e
Add extcmd.c compilation to test/php/runtests.sh
...
Add binary to .gitignore and fix test path generation of cache
dir.
refs #4258
2013-06-11 18:05:17 +02:00
Marius Hein
ed53ab6c9d
Refactor Authentication Code
...
Fix PSR, fix testing
refs #4265
2013-06-11 13:53:42 +02:00
Jannis Moßhammer
3199f21f29
Added License header, removed deprecated or empty files
...
refs #4265
2013-06-11 13:33:16 +02:00
Jannis Moßhammer
e325ad3417
Add LdapUserBackend and (skipping) test
...
The test is skipped due to the tight coupling of the Ldap Protocol
Backend to the rest of the application, this has to be addressed
as soon as the Connection is cleaned up
refs #4265
refs #4250
2013-06-11 13:33:15 +02:00
Jannis Moßhammer
70e8562814
Add PhpSession with tests
...
PhpSession handles file based sessions as supported by PHP
refs #4265
refs #4250
2013-06-11 13:32:33 +02:00
Jannis Moßhammer
db61cfafe1
Update and test Auth/Manager implementation
...
- remove Storable inheritance from User and make it a plain DAO
- remove Authorization methods from User
refs #4265
refs #4250
2013-06-11 13:32:33 +02:00
Jannis Moßhammer
d1f6668fe7
Add library from incubator and teststubs
...
This commit only contains the untested libaries from the incubator
and autogenerated teststubs and is the basis for writing the tests
refs #4250
2013-06-11 13:23:59 +02:00
Jannis Moßhammer
f898e2e367
Fix broken files in Statusdat Expression handler
...
The function tokens in the Expression handler didn't
work after they were rewritten, as the rewrite was
missing in certain files. This is fixed now
refs #4246
2013-06-10 16:44:58 +02:00
Marius Hein
e05ca449ae
Fix PSR compliance
...
Alter files to follow PSR standards.
refs #4246
2013-06-07 13:29:11 +02:00
Marius Hein
9b907e3cd3
Move tested existing resources to new productive repository
...
Rename docs, tests and test/ui to doc, test and test/frontend to
suite skeleton definition.
refs #4212
2013-06-04 10:20:51 +02:00