Commit Graph

1275 Commits

Author SHA1 Message Date
Gunnar Beutner 7b0a48bef5 Rename timeUnless to timeUntil
refs #5981
2014-05-29 12:38:59 +02:00
Gunnar Beutner d01a98b7e6 Fix some of the time-related grammar mistakes
This updates some of the messages to use "For"
instead of "Since" where appropriate.

fixes #5981
2014-05-29 11:30:08 +02:00
Thomas Gelf 88460189cd Encoding: no ASCII chars > 127 in HTTP headers
Had quite some trouble with this, decided to URL-encode titles and
notifications.
2014-05-28 21:34:36 +00:00
Eric Lippmann 9edaaa82e8 lib: Add TreeIterator 2014-05-28 17:14:33 +02:00
Eric Lippmann 040473f986 lib: Add NodeInterface 2014-05-28 17:13:42 +02:00
Eric Lippmann c12c4a9e4c Modules: Call `Module::registerWebIntegration()' after including the run script
Routes added via a module's run script were not respected since
`Module::registerRoutes()' is called from `Module::registerWebIntegration()'.

refs #6303
2014-05-28 13:29:02 +02:00
Thomas Gelf 92f454c36d Chart\InlinePie: locale-ignorant casts for floats
PHP respects locales (LC_NUMERIC) when casting floats to string. That
affected the generated HTML for our inline pie charts. This patch is
not that beautiful - but fixes this.

fixes #6348
2014-05-28 10:20:34 +00:00
Thomas Gelf 360ac87550 Translation: add a module-aware translation helper
With this fix $this->translate works in our view scripts

refs #6338
2014-05-27 21:41:46 +00:00
Eric Lippmann b58ec5f445 Add Module::addRoute() to add a route to the route chain
refs #6303
2014-05-27 15:11:33 +02:00
Thomas Gelf 70ba36aad6 notifications: improve client- and serverside
This is just a first step, trying to catch a few gotchas:

* it doesn't send notifications to the browser when issueing a redirect
  as redirects can currently not be catched in jQuery response handlers
* it tries to find a better notification handling place in the response
  handler (JS) - still imperfect
* it explicitely stores sessions once modified by notifications. Still
  need to crosscheck whether this is really needed and how we can get
  rid of this.

refs #6280
2014-05-26 14:41:47 +00:00
Thomas Gelf 8a770007ff Modules\Module: provide a lighter header sample
We should get rid of the current way of copying license snippets to
every single file. This is a first example of how a lighter header
could look like. I'd add a short slogan to the title and place a
copy of the license to icinga.org, so our links could point there
instead of gnu.org.

refs #6309
2014-05-26 14:17:46 +00:00
Thomas Gelf 7c68d0a30f Modules\Module: clean up phpdoc blocks 2014-05-26 14:14:34 +00:00
Thomas Gelf 5b87d6238b Modules\Module: improve provided metadata
refs #4095
2014-05-26 14:11:43 +00:00
Eric Lippmann 6ff5a986dd Modules: Don't call `FrontController::getRoute()' twice
refs #6303
2014-05-26 13:08:47 +02:00
Thomas Gelf 6a33f4e5e0 vendor/dompdf: fix typo 2014-05-20 23:59:49 +00:00
Thomas Gelf 8ff757f6df Inline\PieChart: code style 2014-05-20 23:29:13 +00:00
Thomas Gelf 12b57c6d95 Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018
Conflicts:
	modules/monitoring/library/Monitoring/Backend/Ido/Query/ContactgroupQuery.php
	modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php
	modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php
	modules/monitoring/library/Monitoring/Controller.php
2014-05-20 23:15:11 +00:00
Thomas Gelf cf42ffbafa Parsedown: version 1.0 released 2014-05-20 22:56:01 +00:00
Thomas Gelf 24f2ae607f Pdf/Charts: add initial chart support to PDFs
Problem: TCPDF had SVG support, dompdf hasn't. This patch adds a
first rudimentary PNG conversion and a sample implementation making
use of such.
2014-05-20 22:48:06 +00:00
Thomas Gelf 78bc2b4ec7 Modules\Manager: no warning for duplicate modules
Formerly we logged a warning if a module was found in multiple module
paths. This is pointless, because as soon as you got a default module
installed by your distribution and "upgraded" it via your web frontend
this "error" will be the default. Logging at debug level right now.
2014-05-20 22:39:32 +00:00
Thomas Gelf 51c3fed743 File\Pdf: remove obsolete code 2014-05-20 22:39:03 +00:00
Thomas Gelf 4e88a4e008 Web\Url: add a shift() method
This methods allows to retrieve an URL param while removing it from the
URL object
2014-05-20 13:49:35 +00:00
Thomas Gelf e6d80ae1f6 IDO Queries: performance quickfixes
Will be obsoleted by the new filter implementation, but for now it
helps a little bit
2014-05-20 13:27:58 +00:00
Thomas Gelf b447225512 Web\Form: Revert "Fix subForm functionality"
This reverts commit 51bac035ac.
The div element introduced by this commit breaks inline form layout
2014-05-20 13:10:18 +00:00
Johannes Meyer ef7bb0e794 It is a multistep page's responsibility whether it is shown to the user
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer 754f854dd0 Multistep pages should know about their multistep form
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer 1f942acd38 Fix multistep page creation
refs #6136
2014-05-14 12:53:45 +02:00
Johannes Meyer 33d4142664 Make it possible to recreate a form 2014-05-14 12:53:44 +02:00
Johannes Meyer 1637a19c23 Fix multistep form creation
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer 429e09aae2 Multistep pages should not have random generated names
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer 51bac035ac Fix subForm functionality 2014-05-14 12:53:44 +02:00
Johannes Meyer de169c7bf5 Make it possible to disable form submit buttons forcefully 2014-05-14 12:53:44 +02:00
Johannes Meyer 88e451402f Redirect to /install when the setup.token exists but no config.ini
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer 4cf5fe6fdd Add multistep form
refs #6136
2014-05-14 12:53:44 +02:00
Johannes Meyer e1230eb8ae Add style and view scripts for first prototype
refs #6136
2014-05-14 12:53:44 +02:00
Thomas Gelf 339460fee4 Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018 2014-05-09 16:29:54 +00:00
Thomas Gelf 1190a8959f Upgrade Parsedown to 1.0.0-rc.4
Please note that this invalidates my img size patch, I forgot to bring
it upstream. Still TBD.

refs #6165
2014-05-09 15:36:46 +00:00
Thomas Gelf dcf6b998bf Upgrade lessphp
* Upgrade from 0.3.9 to 0.4.0
* Document package source
* Remove overhead

refs #6165
refs #6166
2014-05-09 10:53:54 +00:00
Thomas Gelf d93c060e6a Upgrade htmlpurifier to 4.6.0
refs #6165
2014-05-09 10:41:20 +00:00
Thomas Gelf 64dd91e457 Upgrade JShrink to 1.0
refs #6165
2014-05-09 10:37:38 +00:00
Thomas Gelf e04ca8c29a Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018 2014-05-07 15:53:48 +00:00
Matthias Jentsch d0c56126b8 Fix inline pie reload.
refs #6124
2014-05-07 17:03:27 +02:00
Thomas Gelf 820b6b7a8d Data\BaseQuery: rename to Data\SimpleQuery
BaseQuery should no longer be abstract but be usable as is as soon as
we stripped ResultSet-specific tasks. As "Base" suggests something that
must be extended, the name no longer fits. So this is SimpleQuery right
now.
2014-05-07 11:55:35 +00:00
Thomas Gelf ab32a91a6e File\Csv: use Fetchable instead of BaseQuery 2014-05-07 11:33:48 +00:00
Eric Lippmann ecbd9b8616 Sortable: Fix PHPDoc for parameter `$direction'
`$direction' must be a string instead of an integer because
the direction constants `SORT_ASC' and `SORT_DESC' are strings.
2014-05-07 10:00:41 +02:00
Eric Lippmann d87788b9c1 Merge branch 'master' into feature/query-interfaces-6018
Conflicts:
	modules/monitoring/library/Monitoring/Backend/Ido/Query/ContactgroupQuery.php
2014-05-06 18:45:12 +02:00
Johannes Meyer 2f911f75a1 Fix division by zero in Icinga\Util\Format
refs #6125
2014-05-06 08:32:42 +02:00
Johannes Meyer c711e3405d Fix cli default log configuration and js-loader debug message 2014-05-05 16:17:21 +02:00
Johannes Meyer 0627d954ac Fix usages of Icinga\Module\Monitoring\Plugin\*
refs #5973
2014-05-05 16:16:45 +02:00
Thomas Gelf 6a1602a499 Exception messages should be single-line strings
fixes #6095
2014-05-02 11:19:35 +02:00
Marius Hein 6c698c1543 Tests: Remove Zend Controller Test from base test
fixes #6106
2014-05-02 09:46:01 +02:00
Marius Hein 6aaff6b399 IniWriter: Delete nested properties
fixes #5958
2014-05-02 09:26:17 +02:00
Johannes Meyer 4cf3044a53 Rename Icinga\Logger\Writer\StreamWriter to FileWriter
refs #6038
2014-04-30 11:59:22 +02:00
Thomas Gelf 270181885c Fix Url error for emty baseUrl, less function calls 2014-04-29 12:27:19 +00:00
Johannes Meyer e2ba172a8e Make dashboard components using the ini writer class
fixes #5524
2014-04-29 11:30:53 +02:00
Matthias Jentsch 085025ba7d Icingaweb shoul work without optional extensions when they are not used
When optional classes and php extensions like pgsql and additonal Zend-Pdos are
actually required by creating a new resource or authentication backend,
perform a check and display a warning instead of just throwing an exception.

refs #4788
2014-04-28 17:13:40 +02:00
Johannes Meyer 98ca15d1fb Mark less important or non-testable code as skipped for code coverage
refs #6011
2014-04-28 14:06:41 +02:00
Johannes Meyer 07da92ee42 Rewrite test for Icinga\Web\Url and fix some bugs
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer 729c33c3cf Add helpful documentation to Icinga\Web\ViewStream 2014-04-28 14:06:40 +02:00
Johannes Meyer c5c375e72d Add test for Icinga\Web\MenuItem
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer 290fe9eeb5 Rewrite test for Icinga\Web\Hook
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer 2b15d35dec Rewrite test for Icinga\Web\Form
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer 87863d3212 Add test for Icinga\File\Csv
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer e8ed7c7166 Rewrite test for Icinga\Config\PreservingIniWriter
refs #6011
2014-04-28 14:06:40 +02:00
Johannes Meyer fe44f8ed7c Remove empty file library/Icinga/File/Csv/Query.php 2014-04-28 14:06:40 +02:00
Johannes Meyer 54a5e996bb Add test for Icinga/Logger/Writer/StreamWriter
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer 45d7864198 Refactor test for Icinga\Test\BaseTestCase
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer c93159d287 Add test for Icinga\User\Preferences\Store\IniStore
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer 9efe71441a Add test for Icinga\User\Preferences\Store\DbStore
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer d44aaeb8d7 Add test for Icinga\User\Preferences
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer be410a685b Add test for Icinga\User
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer e10193f570 Add test for Icinga\Util\DateTimeFactory
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer 891d36dbd7 Make DateTimeFactory expecting a string instead of a DateTimeZone 2014-04-28 14:06:39 +02:00
Johannes Meyer 1db9b1ede4 Move non-factory functions from DateTimeFactory to Icinga\Util\Format 2014-04-28 14:06:39 +02:00
Johannes Meyer e27e538bd9 Add test for Icinga\Util\Translator
refs #6011
2014-04-28 14:06:39 +02:00
Johannes Meyer 21b949758f Refactor ResourceForm tests
refs #6011
2014-04-28 14:06:38 +02:00
Johannes Meyer aaa6a56146 Refactor authentication config form tests and fix auth backend validation
refs #6011
fixes #5712
2014-04-28 14:06:38 +02:00
Matthias Jentsch b16c6efa05 Add PieChart to display hosts and services, improve layout and fix flag
checkboxes

refs #5765
2014-04-28 09:48:06 +02:00
Matthias Jentsch 081b5072a6 Fix layout of MultiController views
refs #5765
2014-04-28 09:48:06 +02:00
Alexander Klimov 6973b04211 Don't throw exception if logfile is not found
fixes #6035
2014-04-23 12:21:42 +02:00
Michael Friedrich f510130797 Look for ICINGAWEB_CONFIGDIR in $_ENV too.
Refs #5638
2014-04-23 11:23:29 +02:00
Thomas Gelf a7b5893918 Detect TTY support and avoid ANSI colors if none
fixes #5992
2014-04-18 14:36:46 +00:00
Thomas Gelf fa3e7f9fc2 Module list should not throw Exceptions if no config is present 2014-04-17 21:16:51 +00:00
Thomas Gelf 0d6aeb3877 Make CLI logging robust against missing config 2014-04-17 21:09:30 +00:00
Thomas Gelf 3f9bc5dea6 Use no space in syslog application name 2014-04-17 21:04:15 +00:00
Thomas Gelf f04d765365 Fix routing for static content with internal webserver 2014-04-17 20:59:37 +00:00
Thomas Gelf d939e12ef9 Only XHR requests use the "inline" layout 2014-04-17 17:03:35 +00:00
Thomas Gelf 6f9c187d47 Default configDir in App bootstrap related to last commit 2014-04-17 17:01:23 +00:00
Thomas Gelf 5fdec39475 More consistent default config dir handling, less configuration 2014-04-17 16:59:10 +00:00
Thomas Gelf 3b20833495 Cosmetic web router changes 2014-04-17 16:47:01 +00:00
Thomas Gelf 83b26bc595 JS-less iFrame rendering improvements 2014-04-17 16:20:03 +00:00
Alexander Klimov 070e608236 Read log file chunkwise
resolves #6021
2014-04-17 18:01:24 +02:00
Eric Lippmann 026145356b Add interface "QueryInterface" implementing Browsable, Fetchable, Filterable, Limitable, Sortable, Countable (WIP)
This interface is intended to be used within the data views and monitoring controllers. The monitoring list
and show controllers should only query data views instead of the actual query. Thus a data view is required to
implement the QueryInterface, which will be changed later.
The name is not final because it somehow conflicts with the Queryable interface which is also marked as work in progress.
2014-04-17 14:21:01 +02:00
Eric Lippmann 8532622fab Db: Implement missing fetch*() functions on connection level
The BaseQuery forwards fetch*() function calls to its datasource with the
query as first parameter since the datasource implements the actual fetching functionality.
There's no interface for fetch*() functions on the datasource level yet.
2014-04-15 17:44:34 +02:00
Eric Lippmann e525688383 Replace DatasourceInterface with Selectable 2014-04-15 17:43:45 +02:00
Eric Lippmann 1a2577dd47 Db/Connection: Replace getConnection() with getDpAdapter()
For readability getConnection() is deprecated in favor of getDpAdapter()
since Db/Connection is already the connection.
2014-04-15 17:37:44 +02:00
Eric Lippmann c85ade39c0 Create count and select database queries separately
The previous implementation always created both the count
and the select query.
For readability the property baseQuery has been renamed to select which the
IDO queries must take into account.
2014-04-15 17:21:10 +02:00
Eric Lippmann d94170372d Let the BaseQuery implement the query interfaces and remove filter functionality
This commit breaks the application as it introduces incompatible changes which
will be adopted bit by bit.

Since the filter functionality is subject to change it's removed from the BaseQuery.
The functions setOrderColumns() and getOrderColumns() are deprecated because they're
replaced by functions in the Sortable interface.
Further the Sortable interface now defines the sort constants ASC and DESC and are
thus removed from the BaseQuery. In addition the sort constants are no longer integers
but strings.
The distinct() and isDistinct() functions are removed because they're database specific.
They have been introduced with changes in the PivotTable implementation which should
actually not call distinct blindly anyway.
2014-04-15 16:40:25 +02:00
Eric Lippmann 659e6f774e Add interface "Queryable" (WIP)
Interface for classes which act as a data source and thus return or are a Fetchable.
The name of the interface is not yet final though.
2014-04-15 16:23:17 +02:00
Eric Lippmann 0f3d70c437 Add interface "Filterable" (WIP)
This interface is empty yet. It's meant to define how to filter a result set.
2014-04-15 16:20:11 +02:00
Eric Lippmann e5e3dc9c43 Add interface "Sortable" defining how a result set can be sorted
This interface should be used to ensure that sorting a result set
is standardized among the different query implementations.
2014-04-15 16:07:27 +02:00
Eric Lippmann 3e0d254dfd Implement "Limitable" interface for retrieving just a portion of a result set
Defines how to set a limit count and offset and should be used everywhere
where setting limit and offset is supported.
2014-04-15 15:48:51 +02:00
Eric Lippmann c083747f67 Add "Fetchable" interface for classes providing data retrieval
Classes for retrieving data must implement the Fetchable interface
which defines the usual fetch*() functions.
2014-04-15 15:40:07 +02:00
Eric Lippmann 2cc3823a95 Implement interface "Browsable" for classes providing page turning
This interface is intended to be used everywhere a Zend_Paginator
is returned within our code.
2014-04-15 15:36:13 +02:00
Johannes Meyer 1ed1c0bc3c Remove user auth and backend tests
refs #4639
2014-04-14 11:44:02 +02:00
Johannes Meyer a844d33735 Do not create alias mock for Icinga\Application\Icinga
refs #4639
2014-04-14 08:31:46 +02:00
Johannes Meyer 4c8428423e Convert existing mocks to Mockery-mocks (Part 1)
refs #4639
2014-04-11 17:03:45 +02:00
Johannes Meyer 927772578d We do not want to use "@backupStaticAttributes enabled"
refs #4639
2014-04-11 15:31:29 +02:00
Johannes Meyer 1e69169bab Fix database tests
refs #4639
2014-04-10 11:33:24 +02:00
Johannes Meyer ccae70bc80 Make all tests inherit from BaseTestCase and fix license headers and style
refs #4639
2014-04-10 10:32:50 +02:00
Johannes Meyer 6056327c6d Fix that it's not possible to set non-existing values in a session with setAll()
refs #4639
2014-04-09 16:18:51 +02:00
Johannes Meyer f9324032cb Fix autoloader not ignoring vendor prefixed class names
refs #4639
2014-04-09 14:20:05 +02:00
Marius Hein 7708b9901f Drop BaseTestCase static class loader
refs #4639
2014-04-09 09:27:01 +02:00
Marius Hein 746cc4b5d9 Drop obsolete test cases
refs #4639
2014-04-09 09:26:11 +02:00
Johannes Meyer 3195e6a897 Rewrite preference DbStore
refs #5682
2014-04-08 13:28:45 +02:00
Johannes Meyer a1649a1f22 Refactor PreferencesStore and IniStore
refs #5682
2014-04-07 15:13:28 +02:00
Thomas Gelf a857af60be Intendation 2014-04-07 12:03:53 +00:00
Thomas Gelf 88cdf99934 More code style 2014-04-07 12:03:53 +00:00
Johannes Meyer d109046bc0 Fix that the general and logging form cannot write configuration changes
fixes #5952
2014-04-07 09:27:37 +02:00
Johannes Meyer ea44ae3693 Improve failure handling when setting the locale 2014-04-04 15:34:46 +02:00
Johannes Meyer 8be3ccc527 Make it possible to save the session by its associated session namespaces 2014-04-04 11:13:07 +02:00
Johannes Meyer 98b640f1e0 Fix that removed values/namespaces remain in the session storage
fixes #5934
2014-04-04 11:10:45 +02:00
Alexander Klimov cdf1a0b683 Write more class documentation 2014-04-02 13:47:02 +02:00
Alexander Klimov 241fda1196 Small cleanup 2014-04-02 13:47:02 +02:00
Alexander Klimov 2a10f6184a Write class documentation 2014-04-02 13:47:02 +02:00
Alexander Klimov 7c599e206e Make it working
refs #4514
2014-04-02 13:47:01 +02:00
Alexander Klimov 933a851f65 Initial commit
refs #4514
2014-04-02 13:47:01 +02:00
Johannes Meyer ae2d61682f Fix how the timeline processes dates
refs #4190
2014-04-02 10:53:39 +02:00
Johannes Meyer 21b9c1f4af Fix that filters are not preserved on timeline element urls
refs #4190
2014-04-01 14:26:10 +02:00
Johannes Meyer c19791fdd7 Fix brightness calculation in Icinga\Utils\Color 2014-04-01 11:46:44 +02:00
Johannes Meyer 3d658a664c Do not use logarithm base from session if the timeline is not being extended
refs #4190
2014-04-01 11:46:43 +02:00
Johannes Meyer f5e4331d71 Add timeline view script and styles
refs #4190
2014-04-01 11:46:43 +02:00
Johannes Meyer b0709d8cba Revert postDispatch -> preDispatch change in ActionController
refs #4190
2014-04-01 11:44:25 +02:00
Johannes Meyer 862b50264a Fix that the queryfilter parser cannot handle integer values 2014-04-01 11:44:24 +02:00
Johannes Meyer aade2ab7f6 Move timeline classes into the monitoring module
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer 0a146b4bb4 Clientside scrolling implementation [WIP]
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer fd07393e44 Fix event interpolation
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer 9d3935f15b Improve timeline layout
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer 25f4b50ce7 Implement timeline rendering
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer 103d43ea77 Implicitly add an TimeEntry's weight when calling getValue()
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer 34f25c6009 Return timeframes when iterating over TimeRange objects
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer 40f70eb572 Fix license header
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer 86839e757d Add interval selectbox and group legend
refs #4190
2014-04-01 11:44:24 +02:00
Johannes Meyer a589460de3 Make TimeEntry creation more flexible
TimeEntry objects are now created with the fromArray
constructor instead of the default one.

refs #4190
2014-04-01 11:44:23 +02:00
Johannes Meyer b168cf878d Fix type specification in DowntimestarthistoryQuery
refs #4190
2014-04-01 11:44:23 +02:00
Johannes Meyer ba541b402d Add timeline helper classes
#refs 4190
2014-04-01 11:44:23 +02:00
Thomas Gelf 1beb837783 A few little code cleanups 2014-03-31 16:35:28 +00:00
Thomas Gelf 056b8d5395 Coding style 2014-03-31 16:30:27 +00:00
Matthias Jentsch d3c4660c2d Fix colors of svg charts in Firefox 2014-03-31 12:35:39 +02:00
Thomas Gelf 947ad34153 Get web router ready for .htaccess removal 2014-03-28 19:46:58 +00:00
Johannes Meyer bafa8cc032 Fix authentication error handling 2014-03-28 14:45:03 +01:00
Thomas Gelf ade2121302 Router, once again 2014-03-27 20:00:43 +00:00
Thomas Gelf ff6859d1d1 One more router fix 2014-03-27 19:47:11 +00:00
Thomas Gelf fcde513c24 Router fixes for SVG images 2014-03-27 19:39:38 +00:00
Johannes Meyer 3beec6e102 Fix exception thrown during re-routing without parameters 2014-03-27 12:04:10 +01:00
Thomas Gelf 08945257dc Add alias detection to web router script 2014-03-27 09:33:45 +01:00
Thomas Gelf 5c89512e05 New router needs JavaScript and Stylesheet handlers fitting it's needs 2014-03-27 07:32:02 +00:00
Thomas Gelf cb5d90ad41 Simplify pre-bootstrapping web routing 2014-03-27 07:25:53 +00:00
Matthias Jentsch 2360f21b09 Fix InlinePie boundaries and use floats for the PieSlice path coordinates
Use floats as path coordinates in PieSlices, to
avoid that the start and ending position of the arc are at the exact same
position. This would cause buggy behavior, when displaying values like "99,999%".

refs #5863
2014-03-26 17:06:21 +01:00
Matthias Jentsch 15723f088b Include SVG piecharts in perfData helpers
When no JavaScript is available, SVG piecharts will be shown instead of the
jQuery sparklines.

fixes #5865
2014-03-26 14:56:35 +01:00
Thomas Gelf faec625912 Ship module JS files even with minified JS 2014-03-26 09:24:27 +00:00
Thomas Gelf eeaec20873 Add support for server-side triggered CSS reload 2014-03-26 07:58:00 +00:00
Thomas Gelf 87f90b6bdd Replace escaped ampersands in URLs with & for redirects
* NB: Icinga\Web\Url could provide a method for this
2014-03-26 07:56:30 +00:00
Johannes Meyer 18b825a24b Add missing keyword "new" in class SessionNamespace 2014-03-25 13:24:06 +01:00
Johannes Meyer f802b36ca9 Move session class files 2014-03-25 11:13:10 +01:00
Johannes Meyer 9ab53558f0 Add helper to get window-aware session namespaces 2014-03-25 11:13:10 +01:00
Thomas Gelf 9c5eb19af6 Re-add potentially obsolete dynamic Widget properties 2014-03-25 07:23:14 +00:00
Thomas Gelf 01f94c574d Handle window-id requests, allowing us to identify distinct windows 2014-03-21 13:27:44 +00:00
Thomas Gelf fea7e8993b Allow LDAP queries without objectClass filter 2014-03-21 10:31:12 +00:00
Thomas Gelf aed6d74ecd Add recursive delete support to LDAP Connection 2014-03-20 15:46:10 +00:00
Thomas Gelf 12933ee706 Add children count to LDAP root node 2014-03-20 15:45:36 +00:00
Thomas Gelf 292ce6e12b Fix SSH CommandPipe transport. Did anyone ever test this? 2014-03-20 14:05:57 +00:00
Johannes Meyer ea473cf08a Fix sorting of pivot tables 2014-03-20 13:21:28 +01:00
Johannes Meyer bf717654f0 Add more consistency to the servicematrix when switching pages 2014-03-20 11:30:55 +01:00
Thomas Gelf 3059228378 Fix JS support for modules 2014-03-20 09:55:29 +00:00
Michael Friedrich 4ce7ea503f Rename help and documentation to icingacli.
Refs #5802
2014-03-19 17:25:53 +01:00
Johannes Meyer 1604f4728b Fix that the TreeToSqlParser cannot handle partial conjunction nodes 2014-03-19 09:11:25 +01:00
Johannes Meyer e355415164 Fix that queryfilters are being ignored by the parser 2014-03-19 09:11:25 +01:00
Johannes Meyer 617b6822d7 Add pagination support to the servicematrix
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer dbab546f0a Make page/limit params work if either of those is hardcoded 2014-03-19 09:11:24 +01:00
Johannes Meyer eae4cd3b2a Add support for distinct database queries
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer 13b509bf4b Do not display hosts without any services in the servicematrix
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer 0a5c2c5bd7 Make filtering/sorting of the servicematrix work
refs #4180
2014-03-19 09:11:24 +01:00
Johannes Meyer 71f4b6960b Add servicematrix view
refs #4180
2014-03-19 09:11:24 +01:00
Thomas Gelf 58248c34a9 Remove width & height settings from dashboard components 2014-03-17 17:43:45 +00:00
Thomas Gelf 462bb2e4d5 Fix obsolete Logger::warn in Ldap\Connection 2014-03-17 16:18:33 +00:00
Thomas Gelf 7fc47ef961 Increase DB-Connection default timeout, 2 secs are sometimes too harsh 2014-03-17 16:17:55 +00:00
Thomas Gelf ebbd4119c2 New approach for view helpers - register anonymous functions
* May be subject to change
* TODO: Find out how to phpDoc them
* Removed a bunch of "old-style" view helpers
* more to come
2014-03-17 17:14:16 +01:00
Thomas Gelf 757570cdc2 Improve Action Controller postDispatch readability 2014-03-17 17:11:08 +01:00
Thomas Gelf 4466053679 Widgets should inherit common base class
* Get rid of the pass-view-object-around approach
* Remove <i> tags
* Remove PHP_EOL where it doesn't make sense
* Fix small HTML issues
2014-03-17 17:04:09 +01:00
Thomas Gelf e964da9579 URL default encoding should match rules for href's. &nbsp; VS & 2014-03-17 16:59:22 +01:00
Thomas Gelf c76729a821 Fix CLI complaining without log config 2014-03-11 20:45:01 +01:00
Alexander Klimov 7d08636af4 Handle missing config files more intelligent 2014-03-11 15:43:41 +01:00
Thomas Gelf 11c44af35e Remove obsolete requestId 2014-03-09 23:21:27 +01:00
Thomas Gelf ee01b28646 Replace tabs with whitespaces 2014-03-09 21:16:56 +01:00
Thomas Gelf 7449f2565a Make timeUntil behave like timeSince 2014-03-09 21:12:24 +01:00
Michael Friedrich df0dbaad5c Fix null value in timestamp format. 2014-03-09 20:53:38 +01:00
Thomas Gelf 93dc45241a Fix missplaced autosubmit in sort box 2014-03-09 18:02:12 +01:00
Thomas Gelf 4d48f4fb0e Filter form restyle dirty preview 2014-03-09 02:03:06 +01:00
Thomas Gelf e480ed7aad We have no data-icinga-component 2014-03-09 01:59:27 +01:00
Thomas Gelf 796265d304 Widget interface is useless, prepare for removal in favour of AbstractWidget 2014-03-09 01:58:42 +01:00
Thomas Gelf bd7280305a Cast widget render() result when casting to string 2014-03-09 01:57:25 +01:00
Thomas Gelf 0fe493b007 Allow us to have responses with no output not rendered in JS 2014-03-08 12:07:03 +01:00
Thomas Gelf 713bd83aee Font changes to improve chart readability 2014-03-07 23:31:51 +00:00
Thomas Gelf 296d8c7969 Send notifications on site reload and via XHR 2014-03-07 23:15:51 +00:00
Thomas Gelf 4603219677 Undefined variable in Web\Notification 2014-03-07 23:15:16 +00:00
Thomas Gelf 3286dfe202 Style benchmark output 2014-03-07 17:03:43 +00:00
Thomas Gelf d575356df1 Fix PDF image path resolution for Icingaweb in Apache subdirs 2014-03-07 15:15:32 +00:00
Marius Hein c92e1307f6 Fix: Database login
fixes #5706
2014-03-06 14:07:33 +01:00
Alexander Klimov b410ebeed6 Remove unnecessary spaces at end of line 2014-03-06 13:08:11 +01:00
Thomas Gelf 6ed72e1565 Mess with PDF generation code
* Works more or less
* Rewrite image tags on the fly
* Sample header image (still ugly)
* Trying hard to find a way for CORRECT page footers and line numbers
2014-03-06 11:21:11 +00:00
Thomas Gelf 9971030965 Send PDF BEFORE we take care of custom headers 2014-03-06 11:15:28 +00:00
Thomas Gelf 063939b73a We don't die unless we're dead ;) 2014-03-06 11:14:21 +00:00
Thomas Gelf 294d8f87bf Move moduleContainer to a separate function as it will be removed 2014-03-06 11:13:07 +00:00
Thomas Gelf e4540a2cf3 Fix type/HTML error in HistoryColorGrid 2014-03-06 10:07:38 +00:00
Thomas Gelf e930df4c54 Provide a method to generate PDF CSS 2014-03-06 09:21:32 +00:00
Thomas Gelf c5ad14e781 Dashlet title links should not replace the dashlet 2014-03-06 09:20:40 +00:00
Matthias Jentsch 819e7e9806 Implement Widget to display problems as matrix over time
refs #5703
2014-03-05 20:19:09 +01:00
Thomas Gelf af7ca57b41 Clean up JavaScript and CSS loaders, prepare for minimized delivery 2014-03-04 15:15:08 +00:00
Thomas Gelf 127b7ad389 Allow us to find out where /public is to be found 2014-03-04 15:13:13 +00:00
Thomas Gelf b09ea7c690 Sample ticket hook 2014-03-04 12:50:49 +00:00
Thomas Gelf 22e5ca34bc Autorefresh, custom headers and _render in ActionController 2014-03-04 11:37:54 +00:00
Thomas Gelf db8280ef3b New vendor library: JShrink 2014-03-04 11:24:00 +00:00
Thomas Gelf 215d9df111 Add Dashboard::getActivePane() and complain when asking for invalid one 2014-03-04 11:18:28 +00:00
Thomas Gelf 6d3db4732a Whitespace 2014-03-04 11:17:27 +00:00
Thomas Gelf 8c78600841 JS components are gone 2014-03-04 11:15:56 +00:00
Thomas Gelf 76c322901c Prototype for icingacli web serve 2014-03-04 11:13:43 +00:00
Thomas Gelf 0ecf01cae8 Deliver empty preferences unless we configured such 2014-03-04 10:14:20 +00:00
Thomas Gelf c1177b72e7 loadConfig renamed in EmbeddedWeb 2014-03-04 10:14:00 +00:00
Thomas Gelf 57caacb93f Merge branch 'feature/fanzzzy-5481' into feature/master-1
Conflicts:
	application/controllers/AuthenticationController.php
	application/controllers/ErrorController.php
	application/views/scripts/authentication/login.phtml
	library/Icinga/Application/ApplicationBootstrap.php
	library/Icinga/Web/Controller/ActionController.php
	library/Icinga/Web/Hook.php
	library/Icinga/Web/Widget/Dashboard.php
2014-03-04 09:42:25 +00:00
Thomas Gelf 3ac276e652 Quickfix to get master-1 running 2014-03-04 09:31:17 +00:00
Eric Lippmann 07d04628cf Merge branch 'feature/installation-and-configuration-cleanup-5638'
Conflicts:
	config/config.ini.in
	library/Icinga/Application/ApplicationBootstrap.php
	library/Icinga/Application/Cli.php
	library/Icinga/Application/EmbeddedWeb.php
	library/Icinga/Application/Logger.php
	library/Icinga/Application/Modules/Manager.php
	library/Icinga/Application/Web.php
	library/Icinga/Authentication/Backend/DbUserBackend.php
	library/Icinga/Authentication/Manager.php
	library/Icinga/User/Preferences/IniStore.php
	test/php/library/Icinga/Application/LoggerTest.php
2014-03-03 19:03:39 +01:00
Eric Lippmann 7bf888a554 Vagrant: Add monitoring module config 2014-03-03 18:16:07 +01:00
Eric Lippmann 39c80dccaf Decouple authentication backend creation from Icinga\Authentication\Manager
Add authentication backend type msldap with default values for user_class
and user_name_attribute. Backend type ldap now logs an error when user_class
and user_name_attribute ist not configured. Rename membership.ini to
memberships.ini since all our INI configuration files are in the plurar
where it makes sense. The AuthenticationController now handles
authentication

refs #5685
refs #5638
fixes #5218
2014-03-03 17:21:17 +01:00
Matthias Jentsch 99668e87e5 Refresh session id on Authentication
To prevent session fixation, create a new session id each time authenticate is
called.

refs #5625
2014-02-26 19:23:34 +01:00
Matthias Jentsch b118e9679d When webserver setting is missing regular authentication will be used
Check if the remote user is set and use regular authentication when the key is missing.

refs #5405
2014-02-26 18:08:48 +01:00
Matthias Jentsch a8f765fa3b Add extern authentication
Provide a new settings authenticationMode and delegate the
authentication handling to the webserver when the external authentication mode
is set. Add a new view 'logout' that will be shown after logout from external
authentication as the regular redirect to login is not possible.

refs #5405
2014-02-26 18:08:48 +01:00
Johannes Meyer ec308ece93 Remove old log wrapper
refs #5683
2014-02-26 13:49:29 +01:00
Johannes Meyer 1e7c863e3c Add stream writer
refs #5683
2014-02-26 13:47:16 +01:00
Johannes Meyer 3555e66018 Make IcingaWeb using the new log wrapper
refs #5683
2014-02-26 11:19:52 +01:00
Johannes Meyer 05cb0cb87a Add syslog writer
refs #5683
2014-02-26 10:50:06 +01:00
Johannes Meyer 43c18261ea Add new log wrapper
refs #5683
2014-02-26 10:47:02 +01:00
Thomas Gelf 6ebe723f7e Remove obsolete data attributes from filter box, add placeholder 2014-02-25 10:27:11 +00:00
Thomas Gelf 912b3a6478 Remove obsolete form classes 2014-02-25 10:05:14 +00:00
Thomas Gelf 96b7cb279c Quickfix for dompdf woes 2014-02-21 14:05:28 +00:00
Thomas Gelf dfb261a5ca Don't do automagic PDF pagination per default 2014-02-21 14:05:27 +00:00
Thomas Gelf a79df3943a Formatter should fail for invalid data 2014-02-21 14:04:40 +00:00
Thomas Gelf 1b4f055bfa Adjusted tab extensions to fit new URLs 2014-02-21 14:03:49 +00:00
Eric Lippmann 73dc6c3c27 Render "inline" layout if the view parameter is set to "compact" 2014-02-21 14:03:49 +00:00
Eric Lippmann 7033c41503 Fix Fatal error: Can't inherit abstract function Icinga\Web\Widget\Widget::render() 2014-02-21 14:03:49 +00:00
Eric Lippmann 94a900bb5c Remove deprecated code 2014-02-21 14:03:49 +00:00
Thomas Gelf f9f522d599 Re-allow dashboard to render itself 2014-02-21 14:03:49 +00:00
Thomas Gelf cea4923eae Temporarily re-added AbstractWidget, we should discuss this 2014-02-21 14:03:48 +00:00
Thomas Gelf b7de09f6ba Render 'inline' if xhr request, missing use added 2014-02-21 14:03:48 +00:00
Thomas Gelf db19ddca25 Added module container, may be dropped again 2014-02-21 14:03:47 +00:00
Thomas Gelf 6b308986d1 Small syntax changes 2014-02-21 14:03:47 +00:00
Thomas Gelf ac0faa26a8 Started to restructure less compiler:
* Combine all files and compile once
* Allow to collect module less files
* No recursion
2014-02-21 14:03:47 +00:00
Thomas Gelf b6dbfaa6b8 Add image size support to parsedown 2014-02-21 14:03:47 +00:00
Thomas Gelf 62ca46e9cd Re-added widget loader 2014-02-21 14:03:47 +00:00
Thomas Gelf 34316ccbca Lighter tab html, support casting to string 2014-02-21 14:03:47 +00:00
Thomas Gelf 73fdcdef47 use without backslash 2014-02-21 14:03:47 +00:00
Thomas Gelf 445c981d01 Tab extensions use imgs instead of icons 2014-02-21 14:03:47 +00:00
Thomas Gelf 3faf1ec725 Lighter HTML in the dashboard component, handle missing URLs 2014-02-21 14:03:47 +00:00
Thomas Gelf 9e66d22c76 One more TODO: Query-String handling in action controller 2014-02-21 14:03:47 +00:00
Thomas Gelf 69538270f7 Action controller example function: Config() 2014-02-21 14:03:47 +00:00
Thomas Gelf 450670d55e Temporarily ignore logged errors 2014-02-21 14:03:46 +00:00
Johannes Meyer 872da0c699 Remove echo instruction from Icinga\Chart\Palette 2014-02-21 14:20:54 +01:00
Johannes Meyer 68357e9ca2 Fix coding style 2014-02-21 14:07:32 +01:00
Eric Lippmann 25665dec24 Vagrant: Add authentication.ini and resources.ini to /etc/icingaweb
refs #5638
2014-02-21 10:16:16 +01:00
Eric Lippmann 7fa6668b64 Make Icinga Web 2 work without any config file
refs #5638
fixes #5523
2014-02-20 13:53:28 +01:00
Matthias Jentsch 3a10188e81 Move inline chart rendering into separate classes
refs #5679
2014-02-19 18:59:54 +01:00
Matthias Jentsch a2baf4217b Add php script to render dynamic svgs of inline charts
Add a php script to render dynamic SVGs as a fallback and add a widget to draw
inline charts.

refs #5679
2014-02-19 18:29:59 +01:00
Matthias Jentsch c17cd2df34 Fix layout of GridChart
Introduce diagonal layout for x-axis, use bigger fonts and set the bar-rendering
to use a bigger default-width

fixes #5672
2014-02-18 18:44:42 +01:00
Eric Lippmann 8edf421c45 Replace debug log with respecting log priorities
refs #5638
fixes #5522
2014-02-18 14:46:15 +01:00
Eric Lippmann c5f016b220 Fix executable flags on normal files
fixes #5040
2014-02-18 09:49:40 +01:00
Markus Frosch 971a87c608 Fixed executable flags on normal files.
Refs #5040
2014-02-18 09:42:13 +01:00
Eric Lippmann 69a482d106 Auth: Connect only when a authentication backend is used. Fix log in error messages
refs #5506
refs #5638
fixes #4931
2014-02-18 09:33:33 +01:00
Eric Lippmann 35fc451115 Rework save preferences 2014-02-17 14:11:55 +01:00
Eric Lippmann 08d7edebfc Decouple (automatic) preferences storage from user preferences (WIP)
DbStore, persisting preferences and tests not yet reworked.
2014-02-14 17:28:11 +01:00
Thomas Gelf 9647c37516 Fix LDAP DN concatenation, allow to define a search base 2014-02-14 14:38:52 +00:00
Thomas Gelf 7a02d278ce We don't want others to care about our bootstrap dependencies 2014-02-14 14:12:12 +00:00
Thomas Gelf d63fee064d Make sure DB profiler is disabled per default to avoid memory leaks 2014-02-14 13:51:28 +00:00
Thomas Gelf e115d8e893 Sample module metadata implementation 2014-02-14 13:48:51 +00:00
Thomas Gelf cb923453c9 getCssFilename signature added 2014-02-14 13:42:57 +00:00
Thomas Gelf 6b027a0dc3 Make module CSS (less) filename accessible 2014-02-14 13:41:03 +00:00
Thomas Gelf 3cfa05d420 Static controller parameter must match registered route 2014-02-14 13:40:10 +00:00
Thomas Gelf db6dbdd381 Autoloader should not fail on missing module library directory 2014-02-14 13:38:55 +00:00
Thomas Gelf 7dbede12fb Remove obsolete register script traces 2014-02-14 13:37:45 +00:00
Thomas Gelf c68bce2f3d Embedded "light" web bootstrapping adapted new module loading 2014-02-14 13:22:15 +00:00
Thomas Gelf 6096b23a76 CLI fix for --watch, hide autocomplete documentation 2014-02-14 13:19:56 +00:00
Eric Lippmann 41ffa1d7c2 Fix PHP Fatal error: Class 'Icinga\Authentication\Membership' not found in ManagerTest.php 2014-02-14 12:11:49 +01:00
Eric Lippmann d6768872c7 Revert "Change setup behavior of the AuthenticationManager to a lazy approach"
This reverts commit 226eb4eded.

Conflicts:
	library/Icinga/Authentication/Manager.php

This fix is not appropriate

refs #5506
2014-02-14 11:20:33 +01:00
Eric Lippmann 9cbfe88ea6 Do not exit the application when the logger has errors logged during bootstrap and stop preference loading on every request
Only fatals should exit the application.
Preferences must be loaded only once after login.
2014-02-14 10:56:29 +01:00
Eric Lippmann 3e04122e34 Do not set UTC in index.php
refs #5638
fixes #5530
2014-02-14 10:56:29 +01:00
Eric Lippmann a630a96e01 Do not require ApplicationBootstrap in index.php
refs #5638
fixes #5529
2014-02-14 10:56:29 +01:00
Marius Hein 8a604f1c2c Implement structures for permissions, restrictions and membership
refs #4624
2014-02-12 17:03:18 +01:00
Matthias Jentsch 342a9375de Move pdf.css into different directory to prevent it from being loaded during
regular requests.

refs #5644
2014-02-12 15:44:02 +01:00
Matthias Jentsch 58f5602f18 Fix dompdf library directory
refs #4356
2014-02-12 12:36:20 +01:00
Matthias Jentsch 4e5569371f Show only mainDetailGrid in pdf and move css fixes to less-directory
refs #4356
2014-02-12 12:11:49 +01:00
Matthias Jentsch a064ef520d Fix page-break on table rows
The dompdf library messes up the document layout, when page breaks reach over
several sites and will eventually even crash completely. Add a function to
split up tables in different chunks to fix this issue.

refs #4356
2014-02-12 12:11:49 +01:00
Matthias Jentsch db0f61fff1 Convert the opened view to pdf
refs #4356
2014-02-12 12:11:49 +01:00
Matthias Jentsch 124b42c9f1 Remove tcpdf library and use dompdf instead
Remove tcpdf because of improper CSS support and use Dompdf instead, to be able
to generate pdfs that look similar to the html views

refs #4356
2014-02-12 12:11:01 +01:00
Matthias Jentsch 80488644d4 Add pdf export functions
refs #4356
2014-02-12 12:09:33 +01:00
Marius Hein 1a6d1a20fb Fix: Simplify TopBar hook
refs #5597
2014-02-12 09:58:59 +01:00
Marius Hein 51188daa45 Implenent TopBar hook and status summary as hook in monitoring
refs #5597
2014-02-11 17:12:17 +01:00
Marius Hein 7b55f3a2bd Implement register and run php scripts for modules
refs #5597
2014-02-11 17:12:17 +01:00
Eric Lippmann 1caacbf20f Modules/Doc: Set rel="nofollow" on header links missing a user-specified id
refs #4820
2014-02-11 15:27:42 +01:00
Eric Lippmann 75577cec51 Modules/doc: Replace Michelf/Markdown with Parsedown
refs #4820
2014-02-11 15:09:03 +01:00
Thomas Gelf 89f6bedb10 Afoid flickering on CLI when using --watch 2014-02-07 10:23:29 +00:00
Thomas Gelf 3d636423c8 MenuItem renamed, small fixes
* One less namespace, better naming
* hasItem() added
* throws Exception when trying to access invalid Items
* Automagically creates missing parents when adding named childs
2014-02-03 14:16:17 +00:00
Johannes Meyer 56abc53a2b Properly fix the default locale issue 2014-02-03 12:22:13 +01:00
Johannes Meyer 3aee13cd9b Fix that en_US is used as default locale
Using this locale is not an issue, but it might not be available in a user's environment
2014-02-03 11:05:28 +01:00
Alexander Klimov 06accbd8e2 Make webcolors array look more table-like 2014-01-31 11:15:28 +01:00
Johannes Meyer 85639a3990 Add language selection to general config and preference forms
refs #5533
2014-01-30 13:17:15 +01:00
Johannes Meyer 005c52bb4a Refactor translation cli commands and implement po-file compilation
refs #5533
2014-01-30 10:51:10 +01:00
Johannes Meyer bd34669357 Refactor i18n implementation
One can now use $this->translate(msg) in a view or controller without the
need to pass the module domain (web&cli). Forms still need to be built
with _t(msg) and _mt(dom, msg).

refs #5533
2014-01-29 16:25:08 +01:00
Johannes Meyer f4a00d24e5 Fix exception when a module has no menu configuration 2014-01-29 12:09:35 +01:00
Johannes Meyer 0b28bd31e5 Fix exception when the password of a valid ldap user is invalid 2014-01-29 10:41:17 +01:00
Eric Lippmann 77f7c9c1a6 Fix menu throwing an exception when a parent menu item does not exist
refs #3759
2014-01-28 14:43:43 +01:00
Eric Lippmann 48f5eebd53 Menu: Fix code compliance
refs #3759
2014-01-28 13:34:57 +01:00
Chris Rüll c4a00b8d31 Menu Configuration
Rework the Menu.Ini files and Include a new class to create a menu inside the project
2014-01-28 13:34:57 +01:00
Eric Lippmann 71c3fd831f Fix Call to a member function getPreferences() on a non-object when not logged in 2014-01-27 13:22:29 +01:00
Johannes Meyer 1b5b26c2bb Add window awareness
refs #5510
2014-01-24 14:44:19 +01:00
Johannes Meyer 2bf9b96aab Extend functionality of session namespaces and add tests
refs #5510
2014-01-24 14:44:19 +01:00
Johannes Meyer efa23ad422 Allow sessions to be reopened
refs #5510
2014-01-24 14:44:19 +01:00
Johannes Meyer cf778d4609 Implement session namespaces
refs #5510
2014-01-24 14:44:19 +01:00
Johannes Meyer ac0b041523 Remove session handling from the authentication manager
refs #5510
2014-01-24 14:44:19 +01:00
Alexander Klimov fc1fb60b01 Re-add benchmark helper
Enable benchmark via user preferences

resolves #5508
2014-01-24 12:20:13 +01:00
Thomas Gelf e0af544c14 Multiple installations paths for all Bootstrappers
No longer instantiating moduleManager twice, now the CLI is also
able to benefit from multiple module installation paths. Modules
lists are now sorted.
2014-01-24 09:48:30 +00:00
Eric Lippmann 2242973568 XHR: Force redirect to login if session is expired
resolves #5507
2014-01-23 16:03:47 +01:00
Matthias Jentsch 5d8081ad09 Add support for multiple module installation paths
Read the module paths from the configuration file and add form fields
to edit the path from the web interface.

refs #4607
2014-01-22 18:28:19 +01:00
Thomas Gelf bb1c560e22 Splitted module manager setup and module loading in bootstrap code
Allows different implementations (Web, Cli...) to behave differently
without duplicating code
2014-01-22 17:11:26 +00:00
Thomas Gelf 977b360b66 Url::create has been renamed, was still in use in File\Pdf
refs #4356
2014-01-22 15:20:04 +00:00
Thomas Gelf 6ef87f4644 Example showing restriction usage in the monitoring module
fixes #4108
2014-01-22 13:34:39 +00:00
Thomas Gelf 0f565aae6a Added permission handlers and related sample config reader
Please see feature #4108 for sample usage

refs #4108
2014-01-22 13:06:59 +00:00
Eric Lippmann fa861c2c85 Replace Mitchelf/Markdown with Parsedown
fixes #5518
2014-01-22 14:04:55 +01:00
Thomas Gelf 32c897c0c9 Added some benchmark noise to DB queries
We need this to track down current performance issues, refs #5534
2014-01-22 12:36:44 +00:00
Thomas Gelf ad7e4451eb There is no "The" and no "Optional" Data class 2014-01-22 12:34:46 +00:00
Thomas Gelf 2288751aaf Better error message in LDAP connection capability test 2014-01-22 12:30:02 +00:00
Matthias Jentsch 14ff354a76 Merge branch 'master' of git.icinga.org:icingaweb2 2014-01-22 13:08:54 +01:00
Thomas Gelf 5661e41c73 Trace option for CLI commands
Added --trace to show full stack trace if an exception is thrown

fixes #5555
2014-01-22 12:08:20 +00:00
Matthias Jentsch 226eb4eded Change setup behavior of the AuthenticationManager to a lazy approach
The authentication manager should only try to set up all backends when
necessary. Remove the backend setup from the constructor and call it only when it is actually needed.

fixes #5506
2014-01-22 13:04:11 +01:00
Matthias Jentsch 85dbd86e5b Change all UserBackends to a lazy connection-behavior
refs #5506
2014-01-22 13:04:11 +01:00
Thomas Gelf ad56868af5 Fix Stream writer, has been broken with syslog fix 2014-01-22 12:02:25 +00:00
Thomas Gelf 3008527b41 Autocompletion for the BASH
Implemented in a dedicated Icinga Web CLI command, bash config snippet
is therefore pretty compact.

fixes #5520
2014-01-22 11:45:42 +00:00
Thomas Gelf ba5ea18adf CLI should load modules and not enable them
fixes #5527
2014-01-22 11:36:11 +00:00
Thomas Gelf 6e3e9b46a4 Last commit was incomplete
refs #4108
2014-01-22 10:31:24 +00:00
Thomas Gelf c29e742570 Module configuration script can provide restrictions and permissions
Extended the module, created CLI commands showing available permissions
and restrictions, added a sample configuration.php to the monitoring
module.

refs #4108
2014-01-22 10:26:18 +00:00
Thomas Gelf 30208c3a30 Internally rename module registerscript to runScript
We will probably rename the 'register' script itself, as we need to
distinct between setup/configuration-related tasks and tasks that need
to be executed with each single click.

refs #4108
2014-01-22 09:54:59 +00:00
Thomas Gelf aa1a2316cb Avoid syslog-related exceptions
refs #5522
2014-01-22 09:26:45 +00:00
Marius Hein afbe8f0fcb Implement move on LDAP Connection
refs #5202

Conflicts:
	library/Icinga/Protocol/Ldap/Connection.php
2013-12-17 14:32:48 +01:00
Marius Hein f7324e73a3 User class bugfix
refs #5151
2013-11-28 17:31:41 +01:00
Marius Hein 263f09a94c Add email column to extensible features
refs #5151
2013-11-28 17:23:55 +01:00
Marius Hein 93d233f37d Make DbUserBackend extensible
Fix: Swap hmac secret key

refs #5151
2013-11-27 11:10:07 +01:00
Matthias Jentsch cd0194e20f Fetch and clean user messages lazily, to ensure that only shown messages are removed
This will make the code of the ConfigController way easier, as messages can be
send from everywhere and there is no need to consider consquences of
redirections.

refs #5100
2013-11-26 10:41:51 +01:00
Matthias Jentsch 2a0add3ec3 Fix messages in ConfigController
Store messages in the current user session to be able to fetch messages from
other controllers, so that the use can be redirected back to the index, instead
of staying in the original action

refs #5100
2013-11-20 19:10:38 +01:00
Matthias Jentsch 941ce6d68e Fix bug that caused ajax-request to override values written to the session
Authentication/Session.php and its Subclasses do not have a open/closed -state
anymore. Read will refresh the session, write will always write the changes,
and opening/closing will be handled internally.

refs #5101
2013-11-20 12:01:40 +01:00
Matthias Jentsch d65bd33205 Add configuration for resources
Add views and controller to handle resource configuration. Add form to edit
several resource types at once.

refs #4786
2013-11-13 18:12:00 +01:00
Matthias Jentsch 2cf154310b Add controller to handle resource configuration
Add the controller, forms and views to handle the resource configuration.

refs #4786
2013-11-06 19:02:30 +01:00
Matthias Jentsch bd38e998d7 Provide a cleaner interface for the Authentication Backends
refs #4786
2013-11-06 14:49:16 +01:00
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 2387380399 Statusdat: Set default cachepath to '/tmp'; disable caching when path is not writable 2013-10-28 12:46:19 +01:00
Eric Lippmann a9086c5388 Redirect to /index after login 2013-10-23 16:02:08 +02:00
Eric Lippmann ca1d50ae53 Rename Icinga 2 Web to Icinga Web 2 2013-10-23 15:11:06 +02:00
Jannis Moßhammer 1a95e48deb Fix row style, add dashboard as default route 2013-10-23 14:20:32 +02:00
Jannis Moßhammer 8eea09ab53 Add default dashboard, fix componentLoader issue introduced before 2013-10-23 13:06:09 +02:00
Jannis Moßhammer dc5182d4bf CommandHandler now uses Status/HostView, fix sql IN-Query bug 2013-10-23 10:19:55 +02:00
Thomas Gelf 5d3fbd1cdf We need a Livestatus factory 2013-10-22 20:21:03 +00:00
Thomas Gelf e57b75b354 Cleaning up ugly path 2013-10-22 20:20:06 +00:00
Marius Hein bd6c1c7864 Merge branch 'bugfix/installation-fixes-4941'
Important vagrant changes:
    - Drop databases and users for icingaweb
    - Run vagrant provision to apply changes

fixes #4941
2013-10-22 17:55:15 +02:00
Thomas Gelf 92ced41a77 A few new ANSI screen helpers 2013-10-22 15:52:13 +00:00
Marius Hein dd214bbe16 Implement disable flag for authentication backends
refs #4941
2013-10-22 17:50:21 +02:00
Marius Hein b9f03e27b7 Fix backend configuration while installation
refs #4941
2013-10-22 17:50:21 +02:00
Marius Hein 439168ecfb Fix ldap connection port setting
refs #4941
2013-10-22 17:50:21 +02:00
Marius Hein 9ebd2c0478 Fix port for internal db
Fix db factory to use that port

refs #4941
2013-10-22 17:50:20 +02:00
Marius Hein 6017432750 Logger: Same default file names as installes
refs #4941
2013-10-22 17:50:20 +02:00
Thomas Gelf a3099c82f2 CLI parameters override log config, writer is STDERR 2013-10-22 14:15:49 +00:00
Thomas Gelf add8c4094b Do not create STDIN/STDOUT streams 2013-10-22 14:15:49 +00:00
Jannis Moßhammer 16124989dd Various style fixes, changed icon size, fixed show/service 2013-10-22 15:58:24 +02:00
Thomas Gelf 88223acc47 Allow 'false' lookup components, improve help 2013-10-22 13:52:00 +00:00
Thomas Gelf b6ee15a37f Allow access to "route" discovered by CLI Loader 2013-10-22 13:48:25 +00:00
Eric Lippmann 5abac6f2f4 Cli/Screen: Fix strict standard violation 2013-10-22 15:11:08 +02:00
Eric Lippmann 30b37aa1e5 Statusdat/Query::fetchRow: Fix strict standards violation 2013-10-22 15:11:07 +02:00
Thomas Gelf a25cd80ec0 CLI interface: initial import 2013-10-22 12:26:45 +00:00
Thomas Gelf b6e7d5c4c1 NRPE Protocol: shorter timeout, fail-safe disconnect 2013-10-22 12:22:20 +00:00
Jannis Moßhammer f7c0eaa7c4 Fix/Reimplement dashboard
refs #4532
2013-10-22 12:10:12 +02:00
Jannis Moßhammer c4f3e78c02 Fix filter behaviour, fix statusdat filter
refs #4469
2013-10-21 17:04:39 +02:00
Marius Hein 1a73747740 Implement bootstrap datepicker
refs #4929
2013-10-21 11:32:24 +02:00
Marius Hein a49691068e Add datepicker
refs #4929
2013-10-21 10:32:53 +02:00
Eric Lippmann 077c2a078e Modules: Catch and log register.php exceptions 2013-10-20 16:40:57 +02:00
Matthias Jentsch 6062d5f716 Add the html-anchor from the url to the login redirection
Change the Url class to support html anchors and add JavaScript to
fetch the anchor from the URL, as it is regularly not send to the
server.

refs #4833
2013-10-20 16:31:56 +02:00
Eric Lippmann 36e9cdb549 Monitoring/register: Add status summary to the top bar 2013-10-20 16:08:53 +02:00
Jannis Moßhammer 278f975c48 Fix downtime query and schedule downtime 2013-10-20 16:00:56 +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 53ab6dbbf1 Implement global command toggle form in process view
refs #4918
2013-10-19 15:28:51 +02:00
Marius Hein 73e8d60060 Implement global commands
resolves #4142
2013-10-19 13:25:18 +02:00
Matthias Jentsch 1d07a766d9 Add form classes to handle the configuration
Add a tri-state form element to handle the configuration flags and add the form
to the controllers

refs #3788
2013-10-18 16:44:02 +02:00
Jannis Moßhammer 6095a71a8d CS Fixes
refs #4868
2013-10-17 21:40:02 +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 dac61eda19 Implement Filter to IDO Sql parser
refs #4469
2013-10-17 19:52:25 +02:00
Jannis Moßhammer 24da98be83 Implement base filter library and tests
refs #4469
2013-10-17 19:52:25 +02:00
Marius Hein c624921792 Add error handling for less compiler
refs #4892
2013-10-16 15:52:12 +02:00
Marius Hein 6f26df60f3 Apply less mixins
refs #4895
2013-10-16 15:37:44 +02:00
Marius Hein cc8ecf262f Reorganized styles
refs #4895
2013-10-16 14:49:03 +02:00
Marius Hein 460e0fe242 Implement on-the-fly less compilation
refs #4892
2013-10-16 12:00:09 +02:00
Marius Hein 7a406b313f Adjusted buttons and a tags
refs #4869
2013-10-15 18:10:36 +02:00
Marius Hein 15f0f1aa59 Status view and icons
refs #4824
2013-10-14 13:27:43 +02:00
Eric Lippmann 1ea5778981 Temporary overwrite front controller's request when dispatching detail (WIP)
refs #4823
2013-10-14 12:57:26 +02:00
Eric Lippmann d479ab3536 Widget/Tab: Allow additional a tag attributes
refs #4823
2013-10-14 12:57:26 +02:00
Eric Lippmann a42668edb8 Fix tests
refs #4663
2013-10-09 09:20:17 +02:00
Eric Lippmann b89d61add3 Monitoring: Refactor data views (WIP)
refs #4663
2013-10-09 09:20:16 +02:00
Matthias Jentsch ec2ffcabdf Add redirection to AuthenticationController
refs #4670
2013-10-04 15:43:02 +02:00
Marius Hein c6838f67a1 Icinga/Chart: Fixes typo, doc, interfaces, inspection warnings
refs #4614
2013-09-25 16:32:28 +02:00
Jannis Moßhammer 7690b0ec7f Add basic tests and meta attributes for graphs
refs #4614
2013-09-25 14:24:26 +02:00
Jannis Moßhammer b78d1a236a Finish graphing library and add documentation
refs #4614
2013-09-25 14:24:26 +02:00
Eric Lippmann 45bf37b085 Add library/Icinga/Chart skeleton
refs #4614
2013-09-25 14:24:26 +02:00
Marius Hein e7696bec89 CS: Fixes for controllers: Static, Action, List and Show
refs #4611
2013-09-24 12:52:00 +02:00
Jannis Moßhammer b4000d34fb CS: Fixed styles, add codingStandardsIgnore for helper
refs #4611
2013-09-23 13:56:59 +02:00
Jannis Moßhammer 6d26240d6d Add Main detail state to url, renderhelper, container tests
-   The ActionController is now able to render a seperate detail view
-   All list scripts select the currently active row from the detail view with
    the 'active' class
-   Autosubmit is now again attached to the onchange attribute (to prevent issues
    when js can't load correctly)
-   Logout is now recognized and causes a page refresh (will be made more generic)
-   Add history mock for testing url changes
-   Update all grids to implement the app/mainDetailGrid component

refs #4611
2013-09-23 13:56:57 +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 c9ce7c53b0 Paginator may be ready for QueryInterface 2013-09-17 10:46:32 +02:00
Thomas Gelf c75a83d1d2 PDF fixes 2013-09-17 10:46:32 +02:00
Thomas Gelf 2ff5455018 First attempt to write a backend-independent Pivot-Table implementation 2013-09-17 10:41:02 +02:00
Thomas Gelf dc34905315 Moved Data\Array to DataArray 2013-09-17 10:36:04 +02:00
Thomas Gelf 1eb0fcdff8 AbstractQuery implements QueryInterface, added addColumn, fixed sort 2013-09-17 10:36:04 +02:00
Thomas Gelf 86945152b4 QueryInterface, initial commit 2013-09-17 10:36:04 +02:00
Thomas Gelf 1d1214b8b9 Implemented conservative count, implemented count 'cache' 2013-09-17 10:36:04 +02:00
Thomas Gelf 0f48d0e2d6 Added fetchColumn, it was missing 2013-09-16 17:02:30 +02:00
Thomas Gelf 103ed266c5 Typo 2013-09-16 17:02:30 +02:00
Thomas Gelf 3908974698 We need to set Db fetchMode as it has previously been done 2013-09-16 17:02:30 +02:00
Thomas Gelf d181e8018b Prefs fail if configDir is not writable 2013-09-16 16:51:54 +02:00
Thomas Gelf 4237e3e53e modules/README triggers pointless warning 2013-09-16 16:38:51 +02:00
root 72df979791 Zend_Db::FETCH_MODE is not available before ZF 1.11 (ZF-6620)
* TODO: Check whether passing 'fetchMode' really works?!
2013-09-16 16:38:50 +02:00
Eric Lippmann f76f5b1c1d Command: Fix docstring for excludeHost
refs #4580
2013-09-16 14:59:45 +02:00
Eric Lippmann 8baa2dec54 Command: Rename getParameters to getArguments
refs #4580
2013-09-16 14:46:18 +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 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 ba7f455643 Adjust schedule downtime handling (WIP)
refs #4580
2013-09-16 13:14:28 +02:00
Johannes Meyer 8022bf57af Some doc fixes and other improvements
refs #4580
2013-09-16 13:14:28 +02:00
Eric Lippmann cabe2ccbee Widget/Tabs: Show caret 2013-09-05 14:15:29 +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
Eric Lippmann 95e9117325 Fix SortBox not keeping Sort By input after submission 2013-09-04 18:21:10 +02:00
Jannis Moßhammer 7f4e1936f7 Fix trigger downtime default value issing, docstring fixes
refs #4580
2013-09-04 18:08:00 +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
Johannes Meyer 79eb6588c5 Restructure dispatch process of commands
refs #4580
2013-09-04 18:07:59 +02:00
Eric Lippmann 05d08fb0b8 Fix Bootstrap typed wrong
refs #4601
2013-09-04 17:12:44 +02:00
Jannis Moßhammer b1df9fa67d Readd import in BaseTestCase that got lost during rebase
refs #4601
2013-09-04 15:22:01 +02:00
Jannis Moßhammer d27e34cef8 Codestyle and Test fixes for SortBox
refs #4601
2013-09-04 15:22:00 +02:00
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
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