aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/forms/Form.php
diff options
context:
space:
mode:
authorRasmus Fuhse <fuhse@data-quest.de>2023-07-13 13:14:56 +0000
committerRasmus Fuhse <fuhse@data-quest.de>2023-07-13 13:14:56 +0000
commit74603117e50e764dfb0233d49cb99ffafaccac54 (patch)
tree6dda9ee2c02a06a275d76aa05619eb6402176f18 /lib/classes/forms/Form.php
parent578284e2ee4d8c8f2901b26abcb3efd440b9ad7f (diff)
Resolve "Restrukturierung der Veranstaltungsverwaltung inklusive Mehr-Seite"
Closes #2440 Merge request studip/studip!1695
Diffstat (limited to 'lib/classes/forms/Form.php')
-rw-r--r--lib/classes/forms/Form.php26
1 files changed, 20 insertions, 6 deletions
diff --git a/lib/classes/forms/Form.php b/lib/classes/forms/Form.php
index 936f324..892e144 100644
--- a/lib/classes/forms/Form.php
+++ b/lib/classes/forms/Form.php
@@ -18,6 +18,7 @@ class Form extends Part
protected $save_button_name = '';
protected $autoStore = false;
+ protected $debugmode = false;
protected $success_message = '';
protected $collapsable = false;
@@ -211,6 +212,17 @@ class Form extends Part
return $this;
}
+ public function setDebugMode(bool $debug = true): Form
+ {
+ $this->debugmode = $debug;
+ return $this;
+ }
+
+ public function getDebugMode(): bool
+ {
+ return $this->debugmode;
+ }
+
public function getSuccessMessage() : string
{
return $this->success_message;
@@ -301,11 +313,9 @@ class Form extends Part
$all_values = [];
foreach ($this->getAllInputs() as $input) {
$value = $this->getStorableValueFromRequest($input);
- if ($value !== null) {
- $callback = $this->getStoringCallback($input);
- if (is_callable($callback)) {
- $stored += $callback($value, $input);
- }
+ $callback = $this->getStoringCallback($input);
+ if (is_callable($callback)) {
+ $stored += $callback($value, $input);
$all_values[$input->getName()] = $value;
}
}
@@ -388,7 +398,11 @@ class Form extends Part
return $input->store;
}
$context = $input->getParent()->getContextObject();
- if ($context && is_subclass_of($context, \SimpleORMap::class)) {
+ if (
+ $context
+ && is_subclass_of($context, \SimpleORMap::class)
+ && $context->isField($input->getName())
+ ) {
return function ($value) use ($context, $input) {
$context[$input->getName()] = $value;
};