Commit Graph

324 Commits

Author SHA1 Message Date
Eric Lippmann a68ccecb28 Revert "Do not use htmlspecialchars in widgets"
This reverts commit 2ff43abcf5.

`Widget::escape()' does not exist. But `Widget::view()::espcae()' does.
2014-07-23 12:28:04 +02:00
Alexander Klimov 2ff43abcf5 Do not use htmlspecialchars in widgets
refs #6759
2014-07-23 12:12:05 +02:00
Johannes Meyer 25c9ee567d Add missing use statement for Zend_View_Abstract 2014-07-23 10:54:22 +02:00
Matthias Jentsch 091ddbe552 Partiall revert bfc54b7e
Refactor Url->getParams() to return an instance of UrlParam instead of an array.

fixes #6760
2014-07-21 09:22:19 +02:00
Matthias Jentsch bfc54b7e32 Fix array conversion of the Dashboard and its Components
Do not omit the parameters when converting the dashboard components to
an array. Add an array conversion to the UrlParams class.

refs #6691
2014-07-16 17:31:01 +02:00
Johannes Meyer 3105c2059e Remove license headers from all files
refs #6309
2014-07-15 13:43:52 +02:00
Johannes Meyer e567ad67c5 Display statehistory summary vertically
fixes #6636
2014-07-14 15:26:35 +02:00
Thomas Gelf 49c679fe0f FilterEditor: hide "add" links
They where there to show how this should look like. Removed for now as
they are not implemented yet.

refs #6668
2014-07-08 17:21:36 +02:00
Johannes Meyer f2e5d8afa5 Remove @codeCoverageIgnoreStart/-Stop annotations
refs #6091
2014-06-30 13:58:37 +02:00
Thomas Gelf 7112ed23f4 Chart\InlinePie: locale-ignorant cast for floats
This has already been fixed with 92f454c3 and got broken again with be0c5d4b.
Time for a regression test I guess.

refs #6348
2014-06-25 22:13:19 +02:00
Thomas Gelf 10d1520711 Widget\Limiter: show "all"
In case we pass limit=0 we show this, still unsure whether we should
provide a link for "showing all" - might really hurt with millions of
history rows.
2014-06-25 20:39:10 +02:00
Matthias Jentsch d49f30ff77 Improve InlinePie performance
Use str_replace instead of preg_replace
2014-06-25 15:24:53 +02:00
Matthias Jentsch 7b19bd1d99 Improve interface of InlinePie
Method setLabel can also accept a simple string and title is mandatory in constructor
2014-06-25 15:21:12 +02:00
Matthias Jentsch 8839166090 Add number format 'none' to InlinePie 2014-06-25 14:53:39 +02:00
Matthias Jentsch 35a5431512 Revert "Refractor InlinePie and Perfdata helper"
This reverts commit f003c38abd.
2014-06-25 14:29:17 +02:00
Matthias Jentsch f003c38abd Refractor InlinePie and Perfdata helper
Refractor InlinePie methods for better usability, fix several coding guideline
issues and fix some typos
2014-06-25 12:41:17 +02:00
Thomas Gelf 4591297e56 SortBox: use POST instead of GET
This avoids trouble with complex filter URLs

fixes #6556
2014-06-25 11:00:10 +02:00
Thomas Gelf 1dcf44b9cd FilterEditor: fix buggy dropdown boxes
There were some issues with option names. Also cleaned up HTML a
little bit and added autosubmission.
2014-06-25 10:37:06 +02:00
Thomas Gelf b40d0f6a1e FilterWidget: POST instead of GET
Might have been a JS issue, but instead of messing with the URL just
POSTing is easier here - and works. Filters from the search box are
now added flawlessly to the filter tree.
2014-06-25 10:34:09 +02:00
Thomas Gelf b38bcfc19b Widget\FilterEditor: correct expression output
Filter expressions should be filled into form fields exactly as we
expect them at parse time.

fixes #6568
2014-06-24 21:00:01 +02:00
Thomas Gelf 47b893e1ea Widget\FilterEditor: handle custom vars
There was an issue with custom vars as they made only partially part
of the column dropdown. Sorted columns and tried to beautify column
names.

fixes #6569
2014-06-24 20:57:41 +02:00
Thomas Gelf b7b99cfd67 Widget\AlertMessageBox: fix broken widget
This widget is pretty useless as the error view script can to it's
job. Interestingly nobody missed it, even the render() call was wrong.

I guess we will remove this soon, but for now it's fixed. Looks ugly,
but works.
2014-06-24 20:30:41 +02:00
Thomas Gelf 997587d729 Chart\InlinePie: remove ugly default border 2014-06-22 16:38:12 +02:00
Thomas Gelf 3b84078b2f Params/_render: get rid of it, start with iframe 2014-06-22 16:18:23 +02:00
Thomas Gelf c0c7a815f8 Merge remote-tracking branch 'origin/master' into feature/query-interfaces-6018 2014-06-20 19:18:38 +02:00
Thomas Gelf 2cf79fe9a7 Widget\SortBox: hardcode some styles
This is a quickfix, should be moved to CSS once we know how our HTML
elements will definitively look like
2014-06-20 14:55:43 +02:00
Thomas Gelf 01631720cc Dashboard\Component: don't pass on limit
Dashlets might be limited to just a few line, we shoultn't pass on
this parameters when showing the "large" variant
2014-06-20 14:29:45 +02:00
Thomas Gelf 27e7839d1b Widget\Limiter: initial commit
This allows one to easily switch  row count shown on a single page
2014-06-20 13:48:17 +02:00
Thomas Gelf 317094aed3 Widget\FilterWidget: ui cleanup 2014-06-20 12:16:33 +02:00
Thomas Gelf 644dd5e33e Widget\FilterEditor: improve the filter editor
This adds quite a bunch of changes. Part of the filter-modifying
complexity has been moved to the filter, the editor widget itself
now makes use of new filter capabilities such as changing operator
or expression type.
2014-06-20 12:03:22 +02:00
Matthias Jentsch aae49ce0c0 Do not show tooltips for piechart areas that indicate empty or free areas
refs #6117
2014-06-18 17:38:25 +02:00
Matthias Jentsch 6555d347a7 Escape InlinePie html and adjust chart size
fixes #6117
2014-06-18 14:43:14 +02:00
Matthias Jentsch be0c5d4b23 Add more meaningful tooltip labels to InlinePies
Show current title, a well-formated value and a label for each area in a
tooltip and add the ability to customize tooltip labels of InlinePies

refs #6117
2014-06-18 14:43:14 +02:00
Thomas Gelf 21febddad2 Widget\Filter*: rudimentary filter widgets
Initial implementation, more to come
2014-06-17 14:00:38 +00:00
Thomas Gelf 54e97f114d Widget\SortBox: hardcode element width
Temporarily added inline CSS, shall be removed soon
2014-06-17 13:54:32 +00:00
Thomas Gelf e3e6826d9d Icinga\Filter: remove 2014-06-17 13:26:57 +00:00
Marius Hein 06296f29d8 UI/Sparklines: Change sparkline code to serverside only
fixes #6124
2014-06-06 16:35:33 +02:00
Marius Hein 20b43a92f1 Dashboard: Better implementation of handling errors
refs #6412
2014-06-05 16:07:40 +02:00
Marius Hein 151f058286 Dashboard: Display error message on failure
When no (default) configuration is available for dashboards
application dies not very gracefully. Display error message
and guid the user to the solution is a better way.

fixes #6412
2014-06-05 15:20:54 +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
Matthias Jentsch d0c56126b8 Fix inline pie reload.
refs #6124
2014-05-07 17:03:27 +02:00
Johannes Meyer e2ba172a8e Make dashboard components using the ini writer class
fixes #5524
2014-04-29 11:30:53 +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 290fe9eeb5 Rewrite test for Icinga\Web\Hook
refs #6011
2014-04-28 14:06:40 +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
Thomas Gelf 83b26bc595 JS-less iFrame rendering improvements 2014-04-17 16:20:03 +00:00
Thomas Gelf a857af60be Intendation 2014-04-07 12:03:53 +00:00
Matthias Jentsch d3c4660c2d Fix colors of svg charts in Firefox 2014-03-31 12:35:39 +02: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 9c5eb19af6 Re-add potentially obsolete dynamic Widget properties 2014-03-25 07:23:14 +00:00
Johannes Meyer e355415164 Fix that queryfilters are being ignored by the parser 2014-03-19 09:11:25 +01:00
Thomas Gelf 58248c34a9 Remove width & height settings from dashboard components 2014-03-17 17:43:45 +00: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 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 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
Alexander Klimov b410ebeed6 Remove unnecessary spaces at end of line 2014-03-06 13:08:11 +01:00
Thomas Gelf e4540a2cf3 Fix type/HTML error in HistoryColorGrid 2014-03-06 10:07:38 +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 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 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
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
Johannes Meyer 3555e66018 Make IcingaWeb using the new log wrapper
refs #5683
2014-02-26 11:19:52 +01:00
Thomas Gelf 6ebe723f7e Remove obsolete data attributes from filter box, add placeholder 2014-02-25 10:27:11 +00:00
Thomas Gelf 1b4f055bfa Adjusted tab extensions to fit new URLs 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
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 6b308986d1 Small syntax changes 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 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
Johannes Meyer 68357e9ca2 Fix coding style 2014-02-21 14:07:32 +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 db0f61fff1 Convert the opened view to pdf
refs #4356
2014-02-12 12:11:49 +01:00
Johannes Meyer ac0b041523 Remove session handling from the authentication manager
refs #5510
2014-01-24 14:44:19 +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
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 16124989dd Various style fixes, changed icon size, fixed show/service 2013-10-22 15:58:24 +02: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
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 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
Marius Hein 6f26df60f3 Apply less mixins
refs #4895
2013-10-16 15:37:44 +02:00
Eric Lippmann d479ab3536 Widget/Tab: Allow additional a tag attributes
refs #4823
2013-10-14 12:57:26 +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 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
Eric Lippmann 05d08fb0b8 Fix Bootstrap typed wrong
refs #4601
2013-09-04 17:12:44 +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 895976550c Fix templates, capitalization and icons in php files
refs #4550
refs #4584
2013-08-23 10:28:48 +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
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 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
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 50ca1aec1a Refactor URL class and test
The constructor of the class is now private, instantiation happens
with Url::fromRequest and Url::fromPath. Also updated all occurences
of Url and fixed the Qlink helper to not overwrite the baseUrl with null
values

refs #4381
2013-08-02 13:14:55 +02:00
Marius Hein 5ade338632 Fix wrong getter after renaming
refs #4066
2013-07-30 14:06:46 +02:00
Eric Lippmann 7a075ca52a Add link to csv output to tabs
There is currently no controller implementing this output type
but the monitoring module will provide that.
2013-07-12 12:02:51 +02:00
Marius Hein 1ede8df2af Extensible configuration system
Add configuration tab builder parts to register
free configuration tab items

refs #4300
2013-06-27 16:10:54 +02:00
Marius Hein f22ae52768 System settings
Add new configuration controller for the configuration
controllers later.

refs #4299
2013-06-27 12:45:18 +02:00
Eric Lippmann 46abb8a36e Add library/Icinga/Web/Widget from the incubator
refs #4301
2013-06-27 12:04:13 +02:00
Marius Hein 5e14f828ba Evaluate, Test and Move the items und library/Icinga/Web to the source tree
Fix PSR compliance.

refs #4256
2013-06-13 11:59:48 +02:00
Marius Hein f19934ef39 Evaluate, Test and Move the items und library/Icinga/Web to the source tree
Drop cookie class because implemented in auth

refs #4256
2013-06-13 11:59:48 +02:00
Jannis Moßhammer 54ccb9b12a Move libraries from incubator to working tree for evaluation
Add all untested files from incubator's library/Icinga to working
tree library/Icinga

refs #4257
2013-06-07 15:46:33 +02:00