Skip to content
Permalink
Browse files

Allow 3.x backport of `url=>false` in 2.x

  • Loading branch information...
dereuromark committed Jan 7, 2016
1 parent 6fbc029 commit b1f1003ebe8f3424ab4073185c0eaeaf8308a1bd
@@ -8608,6 +8608,26 @@ public function testCreate() {
}
/**
* Test create() with no URL (no "action" attribute for <form> tag)
*
* @return void
*/
public function testCreateNoUrl() {
$result = $this->Form->create(false, array('url' => false));
$expected = array(
'form' => array(
'id' => 'addForm',
'method' => 'post',
'accept-charset' => strtolower(Configure::read('App.encoding'))
),
'div' => array('style' => 'display:none;'),
'input' => array('type' => 'hidden', 'name' => '_method', 'value' => 'POST'),
'/div'
);
$this->assertTags($result, $expected);
}
/**
* Test the onsubmit option for create()
*
* @return void
@@ -393,7 +393,7 @@ public function create($model = null, $options = array()) {
if ($options['action'] === null && $options['url'] === null) {
$options['action'] = $this->request->here(false);
} elseif (empty($options['url']) || is_array($options['url'])) {
} elseif (is_array($options['url'])) {
if (empty($options['url']['controller'])) {
if (!empty($model)) {
$options['url']['controller'] = Inflector::underscore(Inflector::pluralize($model));
@@ -421,7 +421,6 @@ public function create($model = null, $options = array()) {
} elseif (is_string($options['url'])) {
$options['action'] = $options['url'];
}
unset($options['url']);
switch (strtolower($options['type'])) {
case 'get':
@@ -442,7 +441,13 @@ public function create($model = null, $options = array()) {
}
$this->requestType = strtolower($options['type']);
$action = $this->url($options['action']);
if ($options['action'] === false || $options['url'] === false) {
$action = null;
} else {
$action = $this->url($options['action']);
}
unset($options['url']);
$this->_lastAction($options['action']);
unset($options['type'], $options['action']);
@@ -475,6 +480,10 @@ public function create($model = null, $options = array()) {
$this->_introspectModel($model, 'fields');
}
if ($action === null) {
return $this->Html->useTag('formwithoutaction', $htmlAttributes) . $append;
}
return $this->Html->useTag('form', $action, $htmlAttributes) . $append;
}
@@ -49,6 +49,7 @@ class HtmlHelper extends AppHelper {
'link' => '<a href="%s"%s>%s</a>',
'mailto' => '<a href="mailto:%s"%s>%s</a>',
'form' => '<form action="%s"%s>',
'formwithoutaction' => '<form%s>',
'formend' => '</form>',
'input' => '<input name="%s"%s/>',
'textarea' => '<textarea name="%s"%s>%s</textarea>',

0 comments on commit b1f1003

Please sign in to comment.
You can’t perform that action at this time.