// Added states to HelperForm

This commit is contained in:
tDidierjean
2011-10-12 15:27:06 +00:00
parent af388a5d32
commit 4c3bc16d42
3 changed files with 91 additions and 5 deletions
+24 -4
View File
@@ -26,22 +26,36 @@
{if $firstCall}
<script type="text/javascript">
$(document).ready(function() {
var vat_number = {$vat_number};
var module_dir = '{$module_dir}';
$(document).ready(function() {ldelim}
var id_language = {$defaultFormLanguage};
var languages = new Array();
{foreach $languages as $k => $language}
languages[{$k}] = {
languages[{$k}] = {ldelim}
id_lang: {$language.id_lang},
iso_code: '{$language.iso_code}',
name: '{$language.name}'
};
{rdelim};
{/foreach}
displayFlags(languages, id_language, {$allowEmployeeFormLang});
});
{literal}
if ($('#id_country'))
{
ajaxStates();
$('#id_country').change(function() {
ajaxStates();
});
}
{/literal}
{rdelim});
{if isset($script)}
{$script}
{/if}
</script>
<script type="text/javascript" src="../js/form.js"></script>
{/if}
<form action="{$current}&submitAdd{$table}=1&token={$token}" method="post">
@@ -57,6 +71,9 @@
</legend>
{elseif $key == 'input'}
{foreach $field as $input}
{if $input.name == 'id_state'}
<div id="contains_states" {if $contains_states}style="display:none;"{/if}>
{/if}
<label>{$input.label} </label>
<div class="margin-form">
{if $input.type == 'text'}
@@ -116,6 +133,9 @@
</p>
{/if}
</div>
{if $input.name == 'id_state'}
</div>
{/if}
{/foreach}
{elseif $key == 'submit'}
<div class="margin-form">
+4 -1
View File
@@ -84,7 +84,10 @@ class HelperFormCore extends Helper
'back' => Tools::getValue('back'),
'fields' => $this->fields_form,
'fields_value' => $this->fields_value,
'requiredFields' => $this->getFieldsRequired()
'requiredFields' => $this->getFieldsRequired(),
'vat_number' => file_exists(_PS_MODULE_DIR_.'vatnumber/ajax.php'),
'module_dir' => _MODULE_DIR_,
'contains_states' => Country::containsStates($this->fields_value['id_country'])
));
return $this->context->smarty->fetch(_PS_ADMIN_DIR_.'/themes/template/'.$this->tpl);
+63
View File
@@ -0,0 +1,63 @@
/*
* 2007-2011 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2011 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function ajaxStates ()
{
$.ajax({
url: "ajax.php",
cache: false,
data: "ajaxStates=1&id_country="+$('#id_country').val() + "&id_state=" + $('#id_state').val(),
success: function(html)
{
if (html == 'false')
{
$("#contains_states").fadeOut();
$('#id_state option[value=0]').attr("selected", "selected");
}
else
{
$("#id_state").html(html);
$("#contains_states").fadeIn();
$('#id_state option[value={$obj->id_state}]').attr("selected", "selected");
}
}
});
if (module_dir && vat_number)
{
$.ajax({
type: "GET",
url: module_dir + "vatnumber/ajax.php?id_country=" + $('#id_country').val(),
success: function(isApplicable)
{
if(isApplicable == 1)
$('#vat_area').show();
else
$('#vat_area').hide();
}
});
}
}