Commit Graph

315 Commits

Author SHA1 Message Date
Jannis Moßhammer 57e66c247a Add sort widget, change js path from module to app, small style fixes
refs #4601
2013-09-04 15:22:00 +02:00
Eric Lippmann 6afeaac6b2 Make 'ini' in descriptions uppercase, add comment to index.php about date_default_timezone_set
refs #4529
2013-09-04 14:56:55 +02:00
Jannis Moßhammer c9673bfea3 Catch database errors, set fallback tz
The fallback timezone is set in case an error occurs
before setupTimezone() is entered. In this case the user
is presented with an warning about missing timezone settings
if the php.ini doesn't contain timezone information

refs #4529
2013-09-04 14:27:37 +02:00
Jannis Moßhammer 95bc8a2f4f Add NullStore as preference fallback
refs #4529
2013-09-04 14:27:37 +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 6f383abdd1 Tests: Let the BaseTestCase require db and form libraries once it's being required
Further add function t() and mt() to the global namespace when requiring 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 092c5780ea CS: Fix violations for overdue files
refs #4586
2013-09-04 11:21:12 +02:00
Eric Lippmann 03f081ce33 Module/Autoloader: Register Icinga\Module\<module> namespace
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 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
Eric Lippmann b09b3676de Rename determineAuthenticationState to requiresLogin
refs #4572
2013-09-02 18:42:05 +02:00
Jannis Moßhammer 9f923b4940 Fix pagination and remove ModuleController, rename handlesAuth
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
2013-09-02 18:42:05 +02:00
Jannis Moßhammer aac1d69ed2 Fix count query ignoring joins
Count queries were created before the required columns were added,
so they often returned more values than a resultset really offers

refs #4589
2013-09-02 18:42:05 +02:00
Marius Hein b99b9a7ca8 ModuleManager: Throw module dir exceptions later
This is important for bootstrap to detect configuration
errors.

refs #4604
2013-09-02 12:52:51 +02:00
Marius Hein b6eb19ce6a Module enable/disable: Better error messages
refs #4604
2013-09-02 12:52:51 +02:00
Marius Hein 439fade88d Simplify SystemPermissionException
refs #4606
2013-09-02 12:52:51 +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 c5fde2324e Generalize form handling in Icinga\Web Form & Tests
configForm.js is now form.js and applied on all forms,
the autosubmit is now a special attribute for input fields,
so the PHP code doesn't create JS snippets anymore

refs #4622
2013-09-02 10:59:05 +02:00
Jannis Moßhammer 978b3519f6 Add configform js component (will be renamed later)
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 e2e744a424 Fix authentication chain
refs #4593
2013-08-30 14:46:52 +02:00
Marius Hein 845f181001 CS: Fix UserBackend interface
refs #4641
2013-08-30 12:50:57 +02:00
Marius Hein bed759d597 CS: Fix session classes
refs #4641
2013-08-30 12:50:57 +02:00
Marius Hein 7765877318 CS: Fix LdapUserBackend
refs #4641
2013-08-30 12:50:57 +02:00
Marius Hein c77a48ff1f CS: Fix DbUserBackend
refs #4641
2013-08-30 12:50:57 +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
Marius Hein dfb7238b81 AuthManager: Implement backend chain
refs #4641
refs #4590
refs #4593
2013-08-30 12:50:28 +02:00
Johannes Meyer 28bd27d904 Fix user preference access when not authenticated
refs #4609
2013-08-29 15:08:31 +02:00
Johannes Meyer f4272f482d Apply user defined timezone during bootstrap
refs #4609
refs #4552
2013-08-29 15:08:31 +02:00
Johannes Meyer a82abbe2f6 Fix misplaced/redundant imports
refs #4648
2013-08-29 14:45:02 +02:00
Marius Hein 7be7335bdd Preferences: Fix error messages and convenience configuration
refs #4648
2013-08-29 14:45:02 +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 ec359c76d8 Chmod after file creation
This allows the www-group to edit logs and preferences

refs #4491
2013-08-29 11:48:33 +02:00
Jannis Moßhammer 3d3fa45838 Fix ActionController compatibility with older Zend Versions
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 d0ac97f335 Configure fixes, regression test for 4606
The configure routine still has to be improved, right now unused
authentication backends are commented out

refs #4491
refs #4606
refs #4640
2013-08-29 11:48:32 +02:00
Jannis Moßhammer 4e41ce5cdc Add logic validation for database authentication backends
refs #4546
2013-08-29 11:48:32 +02:00
Jannis Moßhammer 17e6402aa9 Split up authentication form, logic connectivity check
refs #4606
refs #4622
refs #4602
refs #4546
2013-08-29 11:48:29 +02:00
Jannis Moßhammer 4527aaf57a Smaller fixes in phpdoc style
refs #4566
2013-08-28 14:42:31 +02:00
Johannes Meyer 7fab739efd Fix styles in Form.php
refs #4566
2013-08-28 09:08:37 +02:00
Johannes Meyer 13e4efa221 Make use of the helptext decorator if suitable
Refactored some uses of the form element Note so that
each one is properly attached to its input element.

refs #4566
2013-08-28 08:57:46 +02:00
Jannis Moßhammer e3f9d1b6bd Replace "\n" with PHP_EOL
refs #4615
2013-08-27 18:49:30 +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 1130376ad6 BaseTest: Create class and tests
refs #4608
2013-08-26 11:15:27 +02:00
Marius Hein 0c69dbf482 CS: Fix for DbAdapter, Auth/Manager and Preferences/DbStore
refs #4596
2013-08-26 11:09:37 +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 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
Marius Hein 2debc7826b Deactivate group backend initializing
refs #4624
2013-08-23 17:28:12 +02:00
Marius Hein c65f9d51ee Fix static preferences path overwriting configuration path
refs #4598
2013-08-23 17:28:12 +02:00
Jannis Moßhammer 895976550c Fix templates, capitalization and icons in php files
refs #4550
refs #4584
2013-08-23 10:28:48 +02:00
Jannis Moßhammer 015a914aab Fix template code style, use Bootstrap 3, remove icons
- Icons have now the {{XY_ICON}} format
- custom classes are removed
- A few typos are fixed
- Capitalization

refs #4550
refs #4621
refs #4584
2013-08-23 10:28:48 +02:00
Jannis Moßhammer dc2aad75d1 Modify application templates for proper bootstrap usage
refs #4550
2013-08-23 10:27:16 +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
Eric Lippmann cd2ae0450a Config: Hint that moduleFolder directive is currently not in use
refs #3776
2013-08-21 14:22:31 +02:00
Eric Lippmann 8ac914b29a Fix ActionController missing use Icinga\Web\Url
refs #3776
2013-08-21 14:22:31 +02:00
Eric Lippmann edb06ea8ea CS: Fix viloations for touched files in branch feature/backend-configuration-ui-3776
refs #3776
2013-08-21 14:22:31 +02:00
Jannis Moßhammer 83d053965f Implement monitoring instance and backend configuration forms
refs #3776
2013-08-21 14:22:30 +02:00
Jannis Moßhammer 4c5d26fe9a 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 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 4810a0d47e Code style and test fixes
refs #3777
2013-08-21 14:22:29 +02:00
Jannis Moßhammer c705f5d475 Implement Authentication form
- Allow creation of authentication providers
- Allow modification of authentication providers
- Allow reordering of authentication providers

refs #3777
2013-08-21 14:18:54 +02:00
Jannis Moßhammer 9ddc03d571 Implement General configuration form
Missing:
- Logical validation (check for writable paths)
- DB Resource selection (see #4503)

refs #3777
2013-08-21 14:18:53 +02:00
Jannis Moßhammer 26a5018d16 Add Forms and conditional hidden
refs #3777
2013-08-21 14:18:53 +02:00
Marius Hein dbae055e8e Fix redirector to use relative url
refs #4516
2013-08-21 09:44:01 +02:00
Marius Hein 4cdab8d904 Fix phpcs errors for Icinga\Web\Hook 2013-08-20 19:33:15 +02:00
Marius Hein 0581d9a130 Fix phpcs errors for Icinga\Web\View 2013-08-20 19:26:44 +02:00
Marius Hein df6ccce6f2 Fix phpcs errors 2013-08-20 17:34:47 +02:00
Marius Hein 3a8a3b8f2c Monitoring backend: Change database objects to DbAdapterFactory
refs #4575
2013-08-19 18:29:26 +02:00
Marius Hein 1b94eed945 Remove \Icinga\Backend class
refs #4575
2013-08-19 18:29:26 +02:00
Eric Lippmann 3d3fbb123d Monitoring/Commands: Add help messages to the custom notification form
refs #4524
2013-08-16 17:38:50 +02:00
Eric Lippmann 7dc2f78b63 CS: Fix docstrings in Icinga/Web/Widget/* and Icinga/Web/Controller/ActionController.php
refs #4512
2013-08-16 15:08:28 +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 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 e6c57f029d Fix code styling to comply with coding standard
refs #4503
2013-08-15 14:58:08 +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 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
Eric Lippmann 6d98b923ca CS: Fix docstrings in Icinga/Application/Modules/Module.php and Manager.php
refs #4530
2013-08-14 16:08:15 +02:00
Jannis Moßhammer d604b01349 Fix missing Icinga\Application\Logger import in module manager
refs #4530
2013-08-14 16:08:15 +02:00
Jannis Moßhammer 392e568bf8 Code style fixes: License header, phpdoc tags, psr-2 compliance
refs #4530
2013-08-14 16:08:15 +02:00
Eric Lippmann 8c91410680 CS: Fix phpdoc tags indent in Icinga/Application/Modules/Module.php
refs #4530
2013-08-14 16:08:15 +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 7c1b11baa4 Fix a bug that causes a warning to be displayed when a section
declaration at line 0 is present
2013-08-14 15:05:10 +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 4585bf2555 CC: Add missing docstrings to DateTimeFactory and DateTimePicker
refs #4440
2013-08-12 17:27:23 +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 5cb9c67443 Framework: Fix Form's docstrings
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann e95c604084 Framework: Fix typo in DateTimeFactory::setConfig
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann b4b51b9d46 Framework: Implement time zone aware DateTimeFactory
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