projects
/
civicrm-core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #15274 from totten/master-deadcode
[civicrm-core.git]
/
CRM
/
Core
/
Form.php
diff --git
a/CRM/Core/Form.php
b/CRM/Core/Form.php
index 91d8cf883075abbb4f185a15ff63349e75772b47..6d5e6e5a14ca02265b4cda218e1c2256f464542c 100644
(file)
--- a/
CRM/Core/Form.php
+++ b/
CRM/Core/Form.php
@@
-189,6
+189,11
@@
class CRM_Core_Form extends HTML_QuickForm_Page {
*/
protected $context;
*/
protected $context;
+ /**
+ * @var bool
+ */
+ public $submitOnce = FALSE;
+
/**
* @return string
*/
/**
* @return string
*/
@@
-627,6
+632,10
@@
class CRM_Core_Form extends HTML_QuickForm_Page {
) {
$this->setAttribute('data-warn-changes', 'true');
}
) {
$this->setAttribute('data-warn-changes', 'true');
}
+
+ if ($this->submitOnce) {
+ $this->setAttribute('data-submit-once', 'true');
+ }
}
/**
}
/**
@@
-642,7
+651,7
@@
class CRM_Core_Form extends HTML_QuickForm_Page {
$prevnext = $spacing = [];
foreach ($params as $button) {
if (!empty($button['submitOnce'])) {
$prevnext = $spacing = [];
foreach ($params as $button) {
if (!empty($button['submitOnce'])) {
- $
button['js']['onclick'] = "return submitOnce(this,'{$this->_name}','" . ts('Processing') . "');"
;
+ $
this->submitOnce = TRUE
;
}
$attrs = ['class' => 'crm-form-submit'] + (array) CRM_Utils_Array::value('js', $button);
}
$attrs = ['class' => 'crm-form-submit'] + (array) CRM_Utils_Array::value('js', $button);
@@
-837,6
+846,8
@@
class CRM_Core_Form extends HTML_QuickForm_Page {
$this->_params = array_merge($this->_params, $addressParams);
}
$this->_params = array_merge($this->_params, $addressParams);
}
+ // @fixme it would be really nice to have a comment here so I had a clue why we are setting $fields[$name] = 1
+ // Also how does relate to similar code in CRM_Contact_BAO_Contact::addBillingNameFieldsIfOtherwiseNotSet()
$nameFields = ['first_name', 'middle_name', 'last_name'];
foreach ($nameFields as $name) {
$fields[$name] = 1;
$nameFields = ['first_name', 'middle_name', 'last_name'];
foreach ($nameFields as $name) {
$fields[$name] = 1;
@@
-1253,7
+1264,7
@@
class CRM_Core_Form extends HTML_QuickForm_Page {
* @param string $nextType
* Button type for the form after processing.
* @param string $backType
* @param string $nextType
* Button type for the form after processing.
* @param string $backType
- * @param bool|string $submitOnce
If true, add javascript to next button submit which prevents it from being clicked more than once
+ * @param bool|string $submitOnce
*/
public function addDefaultButtons($title, $nextType = 'next', $backType = 'back', $submitOnce = FALSE) {
$buttons = [];
*/
public function addDefaultButtons($title, $nextType = 'next', $backType = 'back', $submitOnce = FALSE) {
$buttons = [];
@@
-1270,7
+1281,7
@@
class CRM_Core_Form extends HTML_QuickForm_Page {
'isDefault' => TRUE,
];
if ($submitOnce) {
'isDefault' => TRUE,
];
if ($submitOnce) {
- $
nextButton['js'] = ['onclick' => "return submitOnce(this,'{$this->_name}','" . ts('Processing') . "');"]
;
+ $
this->submitOnce = TRUE
;
}
$buttons[] = $nextButton;
}
}
$buttons[] = $nextButton;
}