Commit Graph

166 Commits

Author SHA1 Message Date
Johannes Meyer ebe144c16a Form: Do not encode actions twice 2015-06-24 16:15:45 +02:00
Johannes Meyer 24cb6bfc6e Form: Preserve defaults for subforms as well 2015-06-05 16:01:52 +02:00
Alexander Fuhr 9f35db71bf Form: Add typed notifications to the form
refs #9203
2015-05-15 13:04:01 +02:00
Johannes Meyer 9596b4fdf7 Form: Make it possible to preserve default values during (auto)submission 2015-04-07 15:07:36 +02:00
Alexander Klimov 967a2e82dc Use (only) "@return $this" in fluent interfaces' documentation 2015-04-07 14:24:11 +02:00
Eric Lippmann 200982e4f5 Set form action automatically only if Form::setAction() has not been called
refs #8605
2015-03-13 03:59:43 +01:00
Eric Lippmann 8563d5ed3f PHPDoc: Use @var instead of @type
Becasue of too many kittens PSR-5 backed off of deprecating @var.
So that's the way we go too.
2015-03-12 16:08:47 +01:00
Johannes Meyer 6cfa958bb8 Allow setting `requirement' on form elements
It's supposed to be used as description what
kind of value an element will accept.

refs #7947
2015-03-06 08:53:34 +01:00
Johannes Meyer b9811f8590 Form: Do not set the requiredSuffix as option but use its virtual setter
This removes the invalid attribute on each <label> tag once the
FormDescriptions decorator removes the suffix.

refs #7947
2015-03-05 15:13:38 +01:00
Johannes Meyer b8eedc21bb Form: Explicitly set subform decorators
refs #7947
2015-03-05 15:12:02 +01:00
Johannes Meyer ff263946c8 Form: Fix translation domain detection while running unit tests 2015-03-04 09:38:00 +01:00
Johannes Meyer e2887df03e Form: It's a field, not a control 2015-03-03 15:01:09 +01:00
Johannes Meyer 747e51553e Allow the Autosubmit decorator being used on forms as well
refs #7935
2015-03-03 13:33:26 +01:00
Johannes Meyer 642fa44fce Move a form's title into the markup of its form 2015-03-03 09:53:25 +01:00
Johannes Meyer b1d0c12df3 Form: Introduce setTitle() as alias for Zend_Form::setDescription() 2015-03-02 18:40:46 +01:00
Johannes Meyer ad288c08ca Form: Add the Description decorator by default for native title support 2015-03-02 18:40:46 +01:00
Johannes Meyer 1a334f8d64 Add decorator FormDescriptions
This decorator displays a list of messages at the top of a form.

refs #7947
2015-03-02 13:45:24 +01:00
Johannes Meyer 96c132908d Provide a warning on autosubmit form elements and a title for the apply btn
resolves #7935
2015-02-27 13:09:13 +01:00
Johannes Meyer c00e336ea8 Make the cue that is being appended to required form elements configurable
refs #7934
2015-02-27 09:08:05 +01:00
Johannes Meyer 48c3199a2d Form: Fix id protection
Altering element ids upon rendering makes it impossible to reference
them elsewhere. Zend_Form::getId() should be preferred over getName()
as it falls automatically back to getName() in case there is no id attribute
set. Setter are required to return their instance. Overwriting methods
without calling the parent (getId) without any valid (or at least
documented) reason is very bad practice.

refs #8460
2015-02-27 09:01:46 +01:00
Johannes Meyer 6d81a194ab Make form element descriptions accessible
Re-added the Help decorator to make sure an element's description
is being added in an accessible way.
2015-02-27 08:10:25 +01:00
Johannes Meyer 0111fdf78e Add an asterisk suffix to a form element's label if its required
The screen reader part "(required)" is not being considered with this
commit as most screen readers do not need this due to the ARIA and
HTML5 property.

resolves #7934
2015-02-26 16:05:13 +01:00
Matthias Jentsch 89451f3086 Ensure that form ids are unique
Add an unique prefix to each Form- or FormElement id, unless id protection is disabled explicitly, to prevent id collisions between different containers.

fixes #8460
2015-02-25 18:00:28 +01:00
Johannes Meyer 9e933d835d Add Icinga\Web\Form\ErrorLabeller
refs #8415
2015-02-12 09:11:03 +01:00
Johannes Meyer eb3063e36d Form: Add prefix path for custom form validators
refs #8415
2015-02-12 09:11:02 +01:00
Johannes Meyer c5b6d7ee41 Ensure that all required form elements are marked as such in HTML markup
refs #8349
2015-02-05 13:15:18 +01:00
Eric Lippmann 6bae2e0a53 Note that our license is GPL v2 or any later version in our license header instead of pointing to the license's URL 2015-02-04 10:52:27 +01:00
Eric Lippmann 5b4fab0750 Add license header
This time without syntax errors hopefully :)
2015-02-03 16:27:59 +01:00
Eric Lippmann 5fa2e3cfdc Revert "Add license header"
This reverts commit 338d067aba.
2015-02-03 16:16:26 +01:00
Eric Lippmann 338d067aba Add license header
fixes #7788
2015-02-03 15:51:04 +01:00
Eric Lippmann df29dd0e7c Implement Form::hasPermission() and Form::getPermission() 2015-01-30 09:35:01 +01:00
Johannes Meyer 94d727dbb8 Fix error in Icinga\Web\Form in case the label decorator is missing
Zend_Form::getDecorator() returns false instead of null in case the
decorator is not found.
2015-01-22 09:21:50 +01:00
Eric Lippmann 50bbf77d0c Fix module domain detection in Form::getTranslationDomain()
The usage of preg_replace had two errors:
1) The regular expression was wrong
2) $matches[0] always contains the full matched string, not the first parenthesized subpattern

The correct version of preg_replace would've been:

if (preg_match('/^Icinga\\\\Module\\\\([A-Za-z]+)\\\\/', get_called_class(), $matches) === 1) {
    return strtolower($matches[1]);
}

But since there's no benefit of using a regular expression here except less speed, I replaced it
with using explode.

refs #7551
2014-12-30 10:08:33 +01:00
Johannes Meyer 6d263ae316 Do NOT fetch the translation domain from the request in Form::translate(..)
It might be the case that a module is using a library form...

refs #7551
2014-12-19 13:07:51 +01:00
Johannes Meyer cf43b81400 Use the class namespace instead of the request in Form::translate(Plural)
refs #7551
2014-12-19 12:08:54 +01:00
Johannes Meyer e5d2d4cec2 Add module-aware Form::translate and Form::translatePlural
refs #7551
2014-12-19 11:29:24 +01:00
Eric Lippmann 4dfac28393 lib: Fix PHPDoc of Form::setOnSuccess() 2014-12-18 17:21:06 +01:00
Eric Lippmann bb664a87ea Fix ugly positioning of help icons
If an element has a description, the description is now added to the element's label as title.
The CSS class has-feedback ensurers that the help icon is rendererd. If everything is working fine,
I'll the remove the super duper Help decorator.
2014-11-20 13:25:58 +01:00
Eric Lippmann aef81a56d6 Merge branch 'master' into feature/security-gui-5647
Conflicts:
	library/Icinga/Application/Config.php
	library/Icinga/File/Ini/IniWriter.php
	library/Icinga/Web/Form.php
	library/Icinga/Web/Menu.php
2014-11-18 17:08:25 +01:00
Johannes Meyer 1cbdd2b51c Fix that hidden elements are getting ovewritten when validating a form
This works by "disabling" hidden elements which causes the browser not
to submit them. Due to a bug in Zend we need to manually ensure that
Form::isValid does not overwrite the value of disabled elements with null.

fixes #7717
2014-11-18 15:06:46 +01:00
Johannes Meyer 760bf1a020 Disable partial validation of forms by default 2014-11-18 15:06:46 +01:00
Alexander Fuhr 38ef33276a Replace description decorator through help decorator
refs #7696
resolves #7696
2014-11-18 14:58:54 +01:00
Eric Lippmann f9d7062476 Form: Add our element and decorator paths instead of calling createIcingaFormElement
createIcingaFormElement lacks all stuff applied in Zend_Form::createElement().
2014-11-18 12:51:06 +01:00
Johannes Meyer ddf2ef5cc9 Remove $request parameter from Form::onSuccess and Form::onRequest
fixes #7552
2014-11-14 14:59:29 +01:00
Johannes Meyer 872dce2208 Prefer form elements of Icinga\Web\Form\Element in Form::createElement 2014-11-14 10:15:27 +01:00
Johannes Meyer 62aacce469 Place the noscript button next to the element it is supposed to apply 2014-11-12 10:48:52 +01:00
Eric Lippmann d2eddcbec6 Introduce Form::setOnSuccess() in favor of overriding the constructor
Zend_Form uses setters for options if a respective setter method exists.
It is not necessary to override the constructor for introducing new options.
2014-11-04 16:15:06 +01:00
Eric Lippmann ea1f51ad9a Use callable as type hint instead of Callback
PHP 5.4 introduces callable for type hinting and PSR-5 proposes callable.
2014-10-31 15:59:45 +01:00
Johannes Meyer d1ea7e87a2 Improve form styling slightly 2014-10-15 15:46:07 +02:00
Eric Lippmann cc61dc2b01 Form: Don't override Zend_Form::setDefaults()
fixes #7315
2014-10-08 17:43:28 +02:00