Commit Graph

233 Commits

Author SHA1 Message Date
Matthias Jentsch 59d4baff0b Fix remaining references to DbUserBackend and refresh the documentation.
refs #4786
2013-11-06 13:31:07 +01:00
Matthias Jentsch ad08691362 Extend resources.ini to contain all resources, including ldap
Remove the old calls to DbAdapterFactory and use ResourceFactory instead. Remove
the DbAdapterFactory and fix all unit tests that have been broken due to the changes.
Change the functionality of the ResourceFactory to also handle LdapConnections

resolves #4587
2013-11-06 10:20:15 +01:00
Eric Lippmann ca1d50ae53 Rename Icinga 2 Web to Icinga Web 2 2013-10-23 15:11:06 +02:00
Marius Hein b071160cdc Fix tests for ldap and login mask
refs #4941
2013-10-22 17:50:21 +02:00
Jannis Moßhammer b553b4b61e Fix tests reflecting removed 'OR' queries and array operator 2013-10-21 17:15:39 +02:00
Jannis Moßhammer f3bbf09bae Status.dat query fixes and documentation after rebase
refs #3801
2013-10-20 15:16:44 +02:00
Jannis Moßhammer f350011028 Add Status.dat backend
refs #3801
2013-10-20 15:16:44 +02:00
Marius Hein 23de93e400 Fix TabTest used with icon class
fixes #4915
2013-10-18 11:32:53 +02:00
Jannis Moßhammer 7a7c10e8df Fix EventHistory Query and tests
refs #4868
2013-10-17 20:53:11 +02:00
Jannis Moßhammer 4a95ba3468 Change url handling to detail on hashtag, add service filter
The url is now
http://%mainUrl%#%anchor%!detail=%detailUrl%
which allows us to better support IE and prevents
the detail url from appearing on the server side.

refs #4868
2013-10-17 19:55:00 +02:00
Jannis Moßhammer c034a5eff8 Fix tests and a few member access issues
refs #3801
2013-10-17 19:55:00 +02:00
Jannis Moßhammer 44be5e85da Refactoring and Query and IDO code,
the Monitoring/View code was completly dropped in favor of
the DataView implementations, as new Backends otherwise
would require to implement two seperate query logics

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

refs #4469
2013-10-17 19:52:52 +02:00
Jannis Moßhammer 24da98be83 Implement base filter library and tests
refs #4469
2013-10-17 19:52:25 +02:00
Eric Lippmann a42668edb8 Fix tests
refs #4663
2013-10-09 09:20:17 +02:00
Jannis Moßhammer 7690b0ec7f Add basic tests and meta attributes for graphs
refs #4614
2013-09-25 14:24:26 +02:00
Eric Lippmann 24f64e6d30 Fix conflicts from rebase, using inet_aton with pgsql, PHP strict standards violations, CS compliance
refs #4255
2013-09-17 15:12:18 +02:00
Thomas Gelf bb99358a21 Renamed MonitoringView to AbstractView 2013-09-17 10:41:02 +02:00
Eric Lippmann a47db3497e Rename BaseCommand to Command
refs #4580
2013-09-16 14:44:59 +02:00
Eric Lippmann bf012fbd7e Remove CommandType interface
Moved BaseCommand from the monitoring module to the application's library.

refs #4580
2013-09-16 14:39:14 +02:00
Johannes Meyer 4964d84e78 Doc fixes
refs #4580
2013-09-16 13:14:29 +02:00
Johannes Meyer 8e60e2dcd9 Fix group and children handling of ScheduleDowntimeCommand
refs #4580
2013-09-16 13:14:29 +02:00
Johannes Meyer 7045148f93 Adjust submitpassivecheckresult command handling
refs #4580
2013-09-16 13:14:29 +02:00
Johannes Meyer fef8370d5f Adjust reschedulecheck command handling
refs #4580
2013-09-16 13:14:28 +02:00
Johannes Meyer e9dc895b37 Adjust delay notification handling
refs #4580
2013-09-16 13:14:28 +02:00
Johannes Meyer 36424b508b Adjust custom notification handling
refs #4580
2013-09-16 13:14:28 +02:00
Johannes Meyer 52079b2e73 Adjust schedule downtime handling
refs #4580
2013-09-16 13:14:28 +02:00
Johannes Meyer ba7f455643 Adjust schedule downtime handling (WIP)
refs #4580
2013-09-16 13:14:28 +02:00
Eric Lippmann a5908c9553 CS: Replace multiple empty lines with one
find application/ library/Icinga/ test/ modules/ -name *.php | xargs sed -i '/^$/N;/^\n$/D'
2013-09-04 18:36:10 +02:00
Eric Lippmann b5e93afd86 CS: Add newline at end of file
find application/ library/ test/ modules/ -name *.php | xargs sed -i '$a\'
2013-09-04 18:28:35 +02:00
Eric Lippmann 35fd9fd391 CS: Remove whitespaces at end of line
find application/ library/ test/ modules/ -name *.php | xargs sed -i 's/\s\+$//'
2013-09-04 18:27:16 +02:00
Johannes Meyer b74e264f01 Refactor comment command handling
- Refactored Comment class
- Dropped IComment interface
- Added AddCommentCommand class
- Updated CommentForm

refs #4580
2013-09-04 18:08:00 +02:00
Johannes Meyer 9a476f16f4 Re-refactor dispatch process of commands and acknowledgement handling
refs #4580
2013-09-04 18:08:00 +02:00
Jannis Moßhammer d27e34cef8 Codestyle and Test fixes for SortBox
refs #4601
2013-09-04 15:22:00 +02:00
Eric Lippmann 1b858cbdb4 Monitoring: Fix remaining usages of namespace Monitoring without Icinga\Module prefix
refs #4586
2013-09-04 11:21:12 +02:00
Eric Lippmann 3e4d1aa2fb Monitoring/Tests: Replace BaseFormTest with BaseTestCase
refs #4586
2013-09-04 11:21:12 +02:00
Eric Lippmann 74b9731df5 Remove auto class requirement from BaseTestCase::createForm()
The tests for the respective forms must require the form class.

refs #4586
2013-09-04 11:21:12 +02:00
Eric Lippmann c86874d4ba Rename namespace Monitoring to Icingæ\Module\Monitoring
refs #4586
2013-09-04 11:21:11 +02:00
Jannis Moßhammer a0e63a1320 Fix error message and move validation in own DateTimeValidator
refs #4581
refs #4632
2013-09-04 11:06:36 +02:00
Johannes Meyer 4d040fd761 Adjust command forms and tests
Made those command forms using the DateTimePicker
element compatible with its new validation.

refs #4581
2013-09-04 11:06:36 +02:00
Johannes Meyer 14b56151aa Move configuration and preference handling to Form base class
Moved setConfiguration, setUserPreferences and getUserPreferences
to our Form base class due to some redundancies.

refs #4581
2013-09-04 11:06:24 +02:00
Johannes Meyer 23f0962da1 Adjust command forms and tests
Made those command forms using the DateTimePicker
element compatible with its new validation.

refs #4581
2013-09-03 09:27:02 +02:00
Johannes Meyer 368bd3c9c7 Refactor datetime validation
The DateTimePicker form element needs to know from now on,
how user input can be formatted when validating.

refs #4581
2013-09-03 09:27:02 +02:00
Johannes Meyer 1a003f8c8b Move configuration and preference handling to Form base class
Moved setConfiguration, setUserPreferences and getUserPreferences
to our Form base class due to some redundancies.

refs #4581
2013-09-03 09:27:02 +02:00
Jannis Moßhammer 18d021d104 Fix logger not testing if it's disabled
refs #4595
2013-09-02 12:16:05 +02:00
Jannis Moßhammer 4d9ecd2b3b Fix FormTest breaking after onchange modification
refs #4622
2013-09-02 10:59:05 +02:00
Marius Hein 446da85a88 UserBackend: Fix interface in test
refs #4593
2013-08-30 15:32:06 +02:00
Marius Hein 7c8252a983 Rename class Credentials to Credential
refs #4641
2013-08-30 12:50:57 +02:00
Marius Hein 83d20a6175 AuthManager: Fix tests
refs #4641
2013-08-30 12:50:28 +02:00
Johannes Meyer bf5849a769 Fix GeneralForm tests
refs #4609
2013-08-29 15:08:31 +02:00
Jannis Moßhammer 2c97ab26a4 Code style, Form tests and bugfixes
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
2013-08-29 11:48:33 +02:00
Jannis Moßhammer 0b515e39ac Implement {app} placeholder and Icinga\Config::resolvePath()
refs #4642
2013-08-29 11:48:32 +02:00
Jannis Moßhammer 51d9f8eaa7 Remove original authenticationFormTest
refs #4606
2013-08-29 11:48:32 +02:00
Matthias Jentsch 874b163009 Fix comment padding and some coding-style issues in the test classes
refs #4615
2013-08-27 18:28:21 +02:00
Matthias Jentsch 5b58d5488b Add support for section reordering and formatting options to the PreservingIniWriter
The PreservingIniWriter needs to be aware of the the order of the sections and
update the section declarations in the configuration file when the order has
changed. Therefore add functions to correctly reorder sections.

refs #4615
2013-08-27 18:28:21 +02:00
Marius Hein c5bea04909 BaseTestCase: User response, CS and typo
refs #4608
2013-08-27 10:37:35 +02:00
Marius Hein dc71885eac Fix icinga application forms using BaseTestCase now
refs #4608
2013-08-26 13:25:20 +02:00
Marius Hein 1dfc578c00 Fix provider for Authentication/DbUserBackendTest
refs #4608
2013-08-26 12:36:49 +02:00
Marius Hein 69aa6e3d22 Test: Fix provider for Preferences/DbStoreTest
refs #4608
2013-08-26 11:41:35 +02:00
Marius Hein 1130376ad6 BaseTest: Create class and tests
refs #4608
2013-08-26 11:15:27 +02:00
Matthias Jentsch 49cf62a9dc Fix database related bugs
Fix coding standards in database schemes. Use DbAdapterFactory in all unit
tests instead of creating own adapters. Fix DbUserBackend and DbStore to use
FETCH_OBJ, instead of FETCH_ASSOC, to handle it consistently in the whole
application. Remove unnecessary table columns from the "account" scheme.

refs #4577
refs #4578
refs #4596
refs #4599
refs #4627
2013-08-26 11:09:37 +02:00
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 9cd4c2f856 Fix codestyle, add basic tests
refs #4525
2013-08-21 14:22:30 +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
Marius Hein 71603ccd70 Fix factory resource mock structure
refs #3777
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 4810a0d47e Code style and test fixes
refs #3777
2013-08-21 14:22:29 +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
Johannes Meyer 98e7ab02db Implement dynamic form elements
Rename "isPostAndValid" to "isSubmittedAndValid" and refactor it.
Add possibility for specific form elements to auto-submit their form.

refs #4439
2013-08-06 11:09:42 +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