Commit Graph

166 Commits

Author SHA1 Message Date
Eric Lippmann ba00fd39df Framework: Get DateTimePicker's value as timestamp and add input validation
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann 3122a75e73 Framework/User: getTimeZone now returns a DateTimeZone object instead of a string
refs #4440
2013-08-12 16:43:09 +02:00
Eric Lippmann da7f619804 Framework: Implement DateFormat view helper
Support date, time and datetime formatting based on format strings
set either by the user or via config.ini. The view helper
FormDateTime uses the new helper already

refs #4440
refs #4424
2013-08-12 16:43:09 +02:00
Eric Lippmann 1f10cb3124 Framework: Rename DateTime form element to DateTimePicker
refs #4440
2013-08-12 16:43:08 +02:00
Johannes Meyer 94ea09b552 Remove Date and Time form elements
Drops the Date and Time form element as they are redundant.

refs #4440
2013-08-12 16:43:08 +02:00
Eric Lippmann c0e3712e1b Framework/Elements: Implement DateTime form element
refs #4440
2013-08-12 16:42:51 +02:00
Eric Lippmann 8af901e9ed Framework/User: Implement getTimezone to retrieve the user's Timezone
refs #4440
2013-08-12 16:42:50 +02:00
Eric Lippmann 9170523afa Application/Bootstrap: Throw Exception if timezone isn't valid
refs #4440
2013-08-12 16:42:50 +02:00
Eric Lippmann 93ae6d6811 Framework: mv Icinga\Config\Config to Icinga\Application\Config
refs #4543
2013-08-12 15:02:25 +02:00
Jannis Moßhammer 07717e9119 Fix codestyle
- return self insteead of return $this
- missing licence header in Dimension.php

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

 refs #4192
2013-08-08 17:42:34 +02:00
Jannis Moßhammer 6e68826da6 Fix PSR compliance of code
refs #4192
2013-08-07 18:10:39 +02:00
Jannis Moßhammer 488310df37 Fix style and docstrings, exception when removing the last tab
refs #4192
2013-08-07 17:45:09 +02:00
Jannis Moßhammer 2b25757e20 Add documentation, add errorhandling and sizing
The optional width/height parameter can be set in the ini to change the dashboard components
size, documentation has been added and in the error case a message with the configuration is shown

refs #4192
2013-08-07 17:44:30 +02:00
Jannis Moßhammer f8bb478f0e Update dashboard implementation
fix javascript naming (icinga-url to icingaurl), fix add form, add remove
button, code style changes

refs #4192
2013-08-07 17:43:37 +02:00
Jannis Moßhammer b3e0d5e8ce Remove AbstractWidget and make Widget an interface
As Widget's already denote an abstract concept, the name
'AbstractWidget' is redundant. Also this class didn't do anything except
fetching a view via a singleton (which is now injected into the render method)
and bypassing the PHP class properties by creating a 'properties' array which is
filled with magic getters and setters (which now are simply php class properties)

Further changes:
- toString is removed, as this incorporated a lot of
   application logic which would cause unrecoverable
   errors when throwing exceptions
- renderToHtml is now just render and the view dependency must be
   passed, as a widget shouldn't be responsible for getting
   view instance (this means that <?= $this->tabs ?> is now
   <?= $this->tabs->render($this); ?> in the templates
- Controllers don't have $this->widget anymore as Widgets are
   directly instanciated with their class, allowing better code completion
   and avoiding hidden dependencies, also Widget::create is now removed
   in favor of direct instanciation.

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

resolves #4352
2013-08-07 15:58:51 +02:00
Matthias Jentsch c1338898a6 Fix errors in function comments and move IniEditor into single class file
refs #4352
2013-08-07 15:58:51 +02:00
Matthias Jentsch 56e47fd084 Add an ini writer for configuration files
Add an ini writer that respects the file structure and the comments that may be
already present in the config file. Move Application/Config.php into
Config/Config.php.

refs #4352
2013-08-07 15:58:42 +02:00
Matthias Jentsch edebbf93ab Add an IniWriter that preserves the comments in already existing files
Add a function to create diffs between two object, add a
FileEditor to edit files line-by-line and add the class PropertyDiff to
describe a single property change.

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

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

refs #4439
2013-08-06 15:06:20 +02:00
Johannes Meyer f5162189dd Implement dynamic form elements
Rename "isPostAndValid" to "isSubmittedAndValid" and refactor it.
Add possibility for specific form elements to auto-submit their form.

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

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

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

refs #4439
2013-08-06 11:09:42 +02:00
Johannes Meyer 98e7ab02db Implement dynamic form elements
Rename "isPostAndValid" to "isSubmittedAndValid" and refactor it.
Add possibility for specific form elements to auto-submit their form.

refs #4439
2013-08-06 11:09:42 +02:00
Marius Hein c9c5e6ef3c Send commands: Review fixes
refs #4441
2013-08-06 09:32:27 +02:00
Jannis Moßhammer a58c933a29 Code style and comment fixes
refs #4441
2013-08-06 09:32:27 +02:00
Jannis Moßhammer 7675ea0514 Call commandhandler from commandcontroller actions
The CommandController now implements the calls to the specific
command methods and sends commands to the icinga process

refs #4441
2013-08-06 09:31:13 +02:00
Jannis Moßhammer 1894054929 Implement first commands, fix obsessing state
refs #4441
2013-08-06 09:30:25 +02:00
Jannis Moßhammer 4f1e6ec720 Code style and comment fixes
refs #4441
2013-08-06 09:27:37 +02:00
Jannis Moßhammer b44de95caa Call commandhandler from commandcontroller actions
The CommandController now implements the calls to the specific
command methods and sends commands to the icinga process

refs #4441
2013-08-06 09:27:37 +02:00
Jannis Moßhammer 2091f63c3b Implement first commands, fix obsessing state
refs #4441
2013-08-06 09:27:37 +02:00
Jannis Moßhammer d6bbed3a54 Extract the transport functions from the CommandPipe
- The CommandPipe class now delegates submission of commands to
  the Transport classes (LocalPipe or SecureShell)
- Added SSH options for non-interactive mode
- Refactored tests

refs #4441
2013-08-06 09:27:37 +02:00
Marius Hein 512676ec1a User preferences: Review fixes
refs #4069
2013-08-05 16:56:03 +02:00
Marius Hein 8f1a3b228b User preferences: remove test code
refs #4096
2013-08-05 16:56:03 +02:00
Marius Hein cc9b18376d User preferences: Add doc, fix initial session write
refs #4069
2013-08-05 16:56:03 +02:00
Marius Hein 6112189b0c User preferences: Add database store
refs #4069
2013-08-05 16:56:03 +02:00
Marius Hein f3ed73175b User preferences: Session store and glue to build instance
refs #4069
2013-08-05 16:56:02 +02:00
Marius Hein 6d1f349616 User preferences: Implement interfaces and ini store
refs #4069
2013-08-05 16:56:02 +02:00
Thomas Gelf 06fc3e395e NO_ZERO_IN_DATE is available since MySQL 5.0.2
refs #4255
2013-08-02 15:10:09 +02:00
Jannis Moßhammer 5c3eb1d796 Style fixes and addParam test
refs #4381
2013-08-02 13:14:56 +02:00
Jannis Moßhammer 50ca1aec1a Refactor URL class and test
The constructor of the class is now private, instantiation happens
with Url::fromRequest and Url::fromPath. Also updated all occurences
of Url and fixed the Qlink helper to not overwrite the baseUrl with null
values

refs #4381
2013-08-02 13:14:55 +02:00