Commit Graph

818 Commits

Author SHA1 Message Date
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
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
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
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