Commit Graph

1726 Commits

Author SHA1 Message Date
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
Eric Lippmann 3122a75e73 Framework/User: getTimeZone now returns a DateTimeZone object instead of a string
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 1f10cb3124 Framework: Rename DateTime form element to DateTimePicker
refs #4440
2013-08-12 16:43:08 +02:00
Johannes Meyer 94ea09b552 Remove Date and Time form elements
Drops the Date and Time form element as they are redundant.

refs #4440
2013-08-12 16:43:08 +02:00
Eric Lippmann c0e3712e1b Framework/Elements: Implement DateTime form element
refs #4440
2013-08-12 16:42:51 +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 9170523afa Application/Bootstrap: Throw Exception if timezone isn't valid
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 07717e9119 Fix codestyle
- return self insteead of return $this
- missing licence header in Dimension.php

refs #4192
2013-08-09 10:32:57 +02:00
Jannis Moßhammer 886da7d0cb Fix codestyle, change wrong 'dashboard' parameter to pane causing pane switching to fail
- Fixed concatenation
- Added license header where missing
- Fixed the index controller fetching the wrong parameter ('dashboard' instead of 'pane')

 refs #4192
2013-08-08 17:42:34 +02:00
Jannis Moßhammer 6e68826da6 Fix PSR compliance of code
refs #4192
2013-08-07 18:10:39 +02:00
Jannis Moßhammer 488310df37 Fix style and docstrings, exception when removing the last tab
refs #4192
2013-08-07 17:45:09 +02:00
Jannis Moßhammer 2b25757e20 Add documentation, add errorhandling and sizing
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
2013-08-07 17:44:30 +02:00
Jannis Moßhammer f8bb478f0e Update dashboard implementation
fix javascript naming (icinga-url to icingaurl), fix add form, add remove
button, code style changes

refs #4192
2013-08-07 17:43:37 +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 57257d1af3 Fix coding standard violations
resolves #4352
2013-08-07 16:19:15 +02:00
Matthias Jentsch 76d7753860 Split up functions in PreservingIniWriter for better readabillity and add better comment handling
Split up the function diffPropertyUpdates into two single functions. Change the
IniEditor to "glue" comments to section declarations.

resolves #4352
2013-08-07 15:58:51 +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
Matthias Jentsch edebbf93ab Add an IniWriter that preserves the comments in already existing files
Add a function to create diffs between two object, add a
FileEditor to edit files line-by-line and add the class PropertyDiff to
describe a single property change.

refs #4352
2013-08-07 15:56:42 +02:00
Eric Lippmann 290c8c5225 CC: Add newline to end of file where missing
Following command was used:
    $ find application/ library/Icinga/ modules/ -name *.php | xargs sed -i -e :a -e '/./,$!d;/^\n*$/{$d;N;};/\n$/ba;$a\'
2013-08-07 10:27:50 +02:00
Jannis Moßhammer ff62a82895 Fix dynamic form validation behaviour, fix documentaion, fix correct isValid() call
- When a dynamic form is modified, no validation is performed, but
  the form is being populated with $this->populate.
- changed parent::isValid to $this->isValid, otherwise no custom validation
  logic could be implemented
- Updated documentation
- Fix CSRF protection by removing the time

refs #4439
2013-08-06 15:08:54 +02:00
Johannes Meyer 66592ecabf Enable dynamic form elements
Expire time of the AcknowledgeForm and hours as well as
minutes of the ScheduleDowntimeForm are now dynamic.

refs #4439
2013-08-06 15:06:20 +02:00
Johannes Meyer f5162189dd 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 15:03:25 +02:00
Marius Hein 584198f00c Fix hostlist test
refs #4516
2013-08-06 14:06:25 +02:00
Marius Hein 15999eb880 Change _forward to redirect() to keep url history updates
refs #4382
2013-08-06 13:39:10 +02:00
Johannes Meyer 4befc9be94 Merge branch 'feature/preferences-backend-4069'
resolves #4069
2013-08-06 12:04:16 +02:00
Johannes Meyer 5533b632ed Fix code style and make form name non mandatory
refs #4439
2013-08-06 11:11:29 +02:00
Johannes Meyer f26af0eb12 Update command form tests
Update command form tests so that they reflect the new dynamic
functionality and the correct purpose of "isSubmittedAndValid".

refs #4439
2013-08-06 11:11:28 +02:00
Johannes Meyer 8efbe6f613 Move submit and cancel handling
Move submit and cancel handling from ConfirmationForm to Form.

refs #4439
2013-08-06 11:11:28 +02:00
Johannes Meyer fa7379adc7 Enable dynamic form elements
Expire time of the AcknowledgeForm and hours as well as
minutes of the ScheduleDowntimeForm are now dynamic.

refs #4439
2013-08-06 11:09:42 +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
Marius Hein c9c5e6ef3c Send commands: Review fixes
refs #4441
2013-08-06 09:32:27 +02:00
Jannis Moßhammer a58c933a29 Code style and comment fixes
refs #4441
2013-08-06 09:32:27 +02:00
Jannis Moßhammer 7675ea0514 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:31:13 +02:00
Jannis Moßhammer 1894054929 Implement first commands, fix obsessing state
refs #4441
2013-08-06 09:30:25 +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 2091f63c3b Implement first commands, fix obsessing state
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 512676ec1a User preferences: Review fixes
refs #4069
2013-08-05 16:56:03 +02:00
Marius Hein 8f1a3b228b User preferences: remove test code
refs #4096
2013-08-05 16:56:03 +02:00
Marius Hein cc9b18376d User preferences: Add doc, fix initial session write
refs #4069
2013-08-05 16:56:03 +02:00
Marius Hein 6112189b0c User preferences: Add database store
refs #4069
2013-08-05 16:56:03 +02:00
Marius Hein f3ed73175b User preferences: Session store and glue to build instance
refs #4069
2013-08-05 16:56:02 +02:00
Marius Hein 6d1f349616 User preferences: Implement interfaces and ini store
refs #4069
2013-08-05 16:56:02 +02:00
Thomas Gelf 06fc3e395e NO_ZERO_IN_DATE is available since MySQL 5.0.2
refs #4255
2013-08-02 15:10:09 +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 5ade338632 Fix wrong getter after renaming
refs #4066
2013-07-30 14:06:46 +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
Eric Lippmann 457f9b8f50 Db: Set MySQL server SQL modes to behave closer to ANSI SQL
refs #4413
2013-07-29 18:37:59 +02:00
Thomas Gelf f2c6a66de7 Code cleanup, fixed and extended MySQL SQL_MODE 2013-07-29 13:24:25 +00: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 845654b77f Fix strict error on ldap auth-fail, ldap is default auth now
refs #3769
refs #4463
2013-07-26 15:29:13 +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 ce95511890 Change default database to "icingaweb" and add installation instructions
Set the default database and user to "icingaweb" in the authentication.ini. Add
instructions about how to set up the databases to authentication.ini.

refs #3769
2013-07-26 13:10:00 +02:00
Matthias Jentsch fd4cbf1c5b Add default login to the authentication database
refs #3772
2013-07-26 13:10:00 +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 Moßhammer 6900507ebc Merge branch 'feature/command-masks-4355' of ssh://git.icinga.org/icinga2-web 2013-07-24 12:49:43 +02:00
Marius Hein 2b3bef457d Command masks: Small PSR fix, drop unused core, fix lazy render
refs #4355
2013-07-24 12:43:26 +02:00
Jannis Moßhammer ddfbf915ed Implement isPostAndValid, fix CSRF in forms, update tests
Form provides isPostAndValid for validation, using the
request for fetching POST data.
The tests are now updated to use the CSRF protection and
are cleaner now

refs #4355
2013-07-24 10:56:41 +02:00
Marius Hein 849eee2cf2 Command masks: Review changes [WIP]
refs #4355
2013-07-23 17:09:06 +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 89e7fa6b2d Command masks: Add validator and change validation flow
refs #4355
2013-07-23 14:47:40 +02:00
Marius Hein e9c9c9de87 Command masks: Fix lazy initialization of forms
refs #4355
2013-07-23 14:47:40 +02:00
Marius Hein 03f4a8eceb Command masks: Implement missing forms [WIP]
Fixes phpcs issues, missing features, fix controller using
new config interface.

refs #4355
2013-07-23 14:47:40 +02:00
Marius Hein 0de38c25eb Command masks: Refactor and implement masks
refs #4355
2013-07-23 14:47:40 +02:00
Marius Hein d5b8a850ea Forms: New form system
Move new form parts arround and add new LoginForm.

refs #4355
2013-07-23 14:46:26 +02:00
Marius Hein dc878de275 Forms: Move class to the right place
Drop some methods we do not need anymore (all model related).

refs #4355
2013-07-23 14:46:25 +02:00
Marius Hein 2469e3652c Forms: Drop old form class 2013-07-23 14:46:25 +02:00
Marius Hein 576124a827 Forms: Move Icinga\Form to Icinga\Web\Form 2013-07-23 14:46:25 +02:00
Johannes Meyer b351cf61a7 Refactor Form-builder [WIP]
Refactor Form-builder so that it is an abstract extension class of
Zend_Form.

refs #4355
2013-07-23 14:46:25 +02:00
Johannes Meyer 56b8b398c2 Add Number functionality to Icinga\Form\SendCommand 2013-07-23 14:46:25 +02:00
Johannes Meyer 087e4dfe90 Add choice functionality to Icinga\Form\SendCommand 2013-07-23 14:46:25 +02:00
Johannes Meyer 23e15e3f54 Add textbox functionality to Icinga\Form\SendCommand 2013-07-23 14:46:25 +02:00
Johannes Meyer 4b8643dc56 Add a date and time form-element.
Added a date and time form-element which are implemented based on the
new "date" and "time" input-types introduced with html5. If those are not
available two bootstrap javascript-modules will be enabled.

refs #4355
2013-07-23 14:46:24 +02:00
Johannes Meyer 15ab7f188a Implement schedule host/service check action
Refactored existing schedule action and fixed selectCommandTargets.

refs #4355
2013-07-23 14:46:24 +02:00
Johannes Meyer aa241865b4 Replace custom formNote element with the one from Zend
Replaced custom form element "Note" as
Zend already provides such an element.
2013-07-23 14:46:24 +02:00
Johannes Meyer abda65f4bd Refactor command controller and implement restart action.
Refactored existing command controller so that it reflects the
correct coding style, rewritten the icinga restart command and
added a very simple form for it.

refs #4355
2013-07-23 14:46:24 +02:00
Marius Hein 8d3ff94696 Remove php strict errors
refs #4448
2013-07-23 12:18:27 +02:00
Jannis Moßhammer a0839ea0da Add service detail view
refs #4181
2013-07-22 16:03:36 +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 5e4adcfea2 Add Service overview and fixes for Statusdat
The service overview required a few fixes for issues that
occured because the StatusDat Query class now inherits from
Data/AbstractQuery.

refs #4178
2013-07-19 17:45:51 +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
Jannis Moßhammer cea7cdbcaf Move Statusdat to backend, remove old backend from library
Except for statusdat, the library/Icinga/Backend classes were unused

refs #4417
refs #4179
2013-07-18 17:20:12 +02:00
Jannis Moßhammer c1860e7d5d Merge branch 'master' of ssh://git.icinga.org/icinga2-web into feature/host-overview--4179
Conflicts:
	modules/monitoring/application/controllers/ListController.php
	modules/monitoring/application/controllers/ShowController.php
	modules/monitoring/library/Monitoring/Backend/AbstractBackend.php
2013-07-15 13:52:26 +02:00
Jannis Moßhammer e83526be08 Make form folder optional
When the form folder didn't exist, an exception was thrown that
froze the frontend without any error message. Now it is tested
whether the form folder in a module is available and only registered
in the auotoloader if so.

refs #4407
2013-07-15 13:37:43 +02:00
Jannis Moßhammer 705127a95e Make sql-queries more standard compliant
The connection now uses ONLY_FULL_GROUP_BY when connecting and
also forces ANSI SQL, this is reflected in the query codebase.
Also the comment count fields are added in this commit.

refs #4179
2013-07-15 13:21:48 +02:00
Marius Hein 5489c2fa2e Update license header
refs #4407
2013-07-15 12:26:10 +02:00
Marius Hein 6742696e09 Autoloader: Rename module namespace 2013-07-15 12:16:14 +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 e27c73fe15 Autoloader: Move builder to new location [WIP]
refs #4407
2013-07-15 11:07:22 +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 2fffb892d3 Enable registerMenuEntries for modules since this works now
refs #4354
2013-07-12 15:44:55 +02:00
Eric Lippmann 51755209b6 Adapt usage of config class
refs #4354
2013-07-12 15:43:23 +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 297b621bf6 Add view helper url 2013-07-12 14:45:25 +02:00
Eric Lippmann ca09dc084d Add Icinga\Web\ViewStream.php 2013-07-12 14:35:14 +02:00
Eric Lippmann d871b3c287 Update the monitoring module 2013-07-12 14:33:17 +02:00
Eric Lippmann be3193a0d7 Update LDAP and Livestatus protocol 2013-07-12 13:41:48 +02:00
Eric Lippmann e66d17dbf8 Use class Url in mixedPagination.phtml 2013-07-12 13:40:21 +02:00
Eric Lippmann df1e595604 Make retrieval of module config static 2013-07-12 12:11:59 +02:00
Eric Lippmann 78cbeadff2 Add remove and without functions to Url class
refs #4381
2013-07-12 12:06:30 +02:00
Eric Lippmann 7a075ca52a Add link to csv output to tabs
There is currently no controller implementing this output type
but the monitoring module will provide that.
2013-07-12 12:02:51 +02:00
Eric Lippmann 58ce815361 Rename Pdf/File to File/Pdf and adapt usage in the ActionController 2013-07-12 11:58:58 +02:00
Eric Lippmann 63a8854f40 Notification: Add todo that we do not want singleton usage of this class 2013-07-12 11:53:05 +02:00
Marius Hein 6be510b05e License writer
Update license headers

refs #4262
2013-07-03 14:17:49 +02:00
Eric Lippmann a90a19eb60 Fix Icinga\web\Hook
refs #4301
2013-06-28 11:17:39 +02:00
Eric Lippmann 7579aeaf07 Replace Hook::all with Hook::get 2013-06-28 09:34:44 +02:00
Eric Lippmann 903c9db8a6 Add date/time helpers to class Icinga\Util\Format
refs #4301
2013-06-28 09:19:43 +02:00
Eric Lippmann d1253f8136 Add static function get to class Hook
refs #4301
2013-06-28 09:19:43 +02:00
Eric Lippmann 6eade9c023 Fix use of already replaced class Icinga\Web\Session
refs #4301
2013-06-28 09:13:08 +02:00
Marius Hein 543285017b Extensible configuration system
PSR fixes

refs #4300
2013-06-27 16:10:54 +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 934163dd04 Add PHP Documentation to Authentication
Documented all currently existing classes underneath the
Authentication package

refs #4350
2013-06-27 15:24:22 +02:00
Marius Hein f22ae52768 System settings
Add new configuration controller for the configuration
controllers later.

refs #4299
2013-06-27 12:45:18 +02:00
Eric Lippmann 46abb8a36e Add library/Icinga/Web/Widget from the incubator
refs #4301
2013-06-27 12:04:13 +02:00
Marius Hein 72bb02d390 Module administration
Rebase fix ldap auth for testing issue.

refs #4092
2013-06-26 16:48:07 +02:00
Jannis Moßhammer d1f4e9831a Fix empty module folder causing errors, fix var naming
Fix a wrongly named class causing ClassNotFound issues,
also added additional checks for empty module folder and
added en moduleFolder directive to configure module location

refs #4092
2013-06-26 16:41:07 +02:00
Jannis Moßhammer 81bbee7e24 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:39:55 +02:00
Jannis Moßhammer 8b84de934a Move ModuleController from incubator
The Notification dependency is removed and uses exceptions now,
otherwise it's mostly the same like in the incubator

refs #4092
2013-06-26 16:39:55 +02:00
Jannis Moßhammer d94d89e1cf Add javascript autoloading
the js/modules/%modulename%/%file% is now mapped to the module
path (if existing). To prevent name clashing, the modules folder
has been renamed to components.
2013-06-26 16:37:12 +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
Jannis Moßhammer 4f2fb49555 Move ModuleController from incubator
The Notification dependency is removed and uses exceptions now,
otherwise it's mostly the same like in the incubator

refs #4092
2013-06-26 16:36:36 +02:00
Jannis Moßhammer 5c167563fa Add SystemPermissionException
This exception should be fired when the OS restricts the web user
from executing certain actions. Also the template for errors has
been modified so it displays the action and the target that
was prevented.

refs #4092
2013-06-26 16:36:14 +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
Marius Hein c905b1f490 Test and move bootstrapping/web code to source tree
Move code from incubator to web. Only files needed to show
welcome moved.

refs #4249
2013-06-17 08:49:27 +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 f19934ef39 Evaluate, Test and Move the items und library/Icinga/Web to the source tree
Drop cookie class because implemented in auth

refs #4256
2013-06-13 11:59:48 +02:00
Marius Hein ee6d95b496 Evaluate, Test and Move the items und library/Icinga/Web to the source tree
Drop class Cookie because no implementation is made

refs #4256
2013-06-13 11:59:48 +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 ed53ab6c9d Refactor Authentication Code
Fix PSR, fix testing

refs #4265
2013-06-11 13:53:42 +02:00
Marius Hein 8797d3e095 Refactor Authentication Code
Drop empty files

refs #4256
2013-06-11 13:35:53 +02:00
Jannis Moßhammer 2fb6cd5b50 Moved refs to Authentication/Auth to Authentication/Manager
refs #4265
2013-06-11 13:33:16 +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 da43813de9 Update Backendpath for Authentication
Backends are now located in the Icinga/Authentication/Backend folder

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 06b7b9ee2e Add Auth/Manager.php, currently without tests
The Auth Manager class incorporates the functionality of the
Backend.php and Auth.php class and handles authentication. The
authorization parts from the Auth.php (hasPermission(), etc.) have
been removed and will be added to the user class

refs #4265
2013-06-11 13:27:53 +02:00
Jannis Moßhammer 9206b30254 Add basic, untested skeleton for Session and PHPSession
As we decided to remove Zend_Session due to locking issues,
we have to implement our session handling here. This is
the basic, untested code which will be tested in the next step

refs #4265
2013-06-11 13:27:53 +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 ea2ad1f8c0 Merge branch 'master' of ssh://git.icinga.org/icinga2-web into bugfix/psr-compliance-4246 2013-06-10 16:46:18 +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
Eric Lippmann 0098053187 Remove empty files from the Icinga library
refs #4257
2013-06-07 15:46:33 +02:00
Jannis Moßhammer 54ccb9b12a Move libraries from incubator to working tree for evaluation
Add all untested files from incubator's library/Icinga to working
tree library/Icinga

refs #4257
2013-06-07 15:46:33 +02:00
Marius Hein 2172937138 Fix PSR compliance
Add some inspection items to fix.

refs #4246
2013-06-07 13:35:03 +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 172c699c47 Fix PSR compliance
Commit first part of correction.

refs #4246
2013-06-06 16:52:54 +02:00
Jannis Moßhammer aab69a41e8 Add tested ldap and web libraries
refs #4212
2013-06-03 17:02:08 +02:00
Jannis Moßhammer 2a9d7aa187 Add tested commandpipe connector
refs #4212
2013-06-03 16:56:08 +02:00
Jannis Moßhammer f6b5f5d405 Add tested Backend ressource
Only statusdat is currently tested

refs #4212
2013-06-03 16:36:10 +02:00
Jannis Moßhammer ba38c89755 Add tested Statusdat Protocol
In order to run the tests, phpunit must be called in the
tests/php folder

refs #4212
2013-06-03 16:14:46 +02:00
Jannis Moßhammer 66b8f70e3e Add vendor libraries
we use the following vendor libraries:
- Markdown.php for on-the-fly creation of documentation
- htmlpurifier for sane HTML output
- lessphp for on-the-fly creation of css out of less files
- tcpdf for pdf generation in the backend

refs #4212
2013-06-03 15:37:30 +02:00