// fix admin edit countries

This commit is contained in:
Kevin Granger
2013-10-23 11:18:31 +02:00
parent 45ea4aefad
commit 5ee716ff9e
2 changed files with 46 additions and 41 deletions
@@ -26,29 +26,34 @@
{block name="field"}
{if $input.type == 'address_layout'}
<div class="col-lg-3">
<textarea id="ordered_fields" name="address_layout" style="width: 300px;height: 140px;">{$input.address_layout}</textarea>
</div>
<div class="col-lg-6">
{l s='Required fields for the address (click for more details):'} {$input.display_valid_fields}
<div class="col-lg-9">
<div class="form-group">
<div class="col-lg-4">
<textarea id="ordered_fields" name="address_layout" style="height:150px;">{$input.address_layout}</textarea>
</div>
<div class="col-lg-8">
{l s='Required fields for the address (click for more details):'}
{$input.display_valid_fields}
</div>
</div>
<div class="row">
<div class="col-lg-12">
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='This will restore your last registered address format.'}" data-html="true"><a id="useLastDefaultLayout" href="javascript:void(0)" onClick="resetLayout('{$input.encoding_address_layout}', 'lastDefault');" class="btn btn-default">
{l s='Use the last registered format'}</a></span>
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='This will restore the default address format for this country.'}" data-html="true"><a id="useDefaultLayoutSystem" href="javascript:void(0)" onClick="resetLayout('{$input.encoding_default_layout}', 'defaultSystem');" class="btn btn-default">
{l s='Use the default format'}</a></span>
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='This will restore your current address format.'}" data-html="true"><a id="useCurrentLastModifiedLayout" href="javascript:void(0)" onClick="resetLayout(lastLayoutModified, 'currentModified')" class="btn btn-default">
{l s='Use my current modified format'}</a></span>
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='This will delete the current address format'}" data-html="true"><a id="eraseCurrentLayout" href="javascript:void(0)" onClick="resetLayout('', 'erase');" class="btn btn-default">
<i class="icon-eraser"></i> {l s='Clear format'}</a></span>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-9 col-lg-push-3">
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='This will restore your last registered address format.'}" data-html="true"><a id="useLastDefaultLayout" href="javascript:void(0)" onClick="resetLayout('{$input.encoding_address_layout}', 'lastDefault');" class="btn btn-default">
{l s='Use the last registered format'}</a></span>
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='This will restore the default address format for this country.'}" data-html="true"><a id="useDefaultLayoutSystem" href="javascript:void(0)" onClick="resetLayout('{$input.encoding_default_layout}', 'defaultSystem');" class="btn btn-default">
{l s='Use the default format'}</a></span>
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='This will restore your current address format.'}" data-html="true"><a id="useCurrentLastModifiedLayout" href="javascript:void(0)" onClick="resetLayout(lastLayoutModified, 'currentModified')" class="btn btn-default">
{l s='Use my current modified format'}</a></span>
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='This will delete the current address format'}" data-html="true"><a id="eraseCurrentLayout" href="javascript:void(0)" onClick="resetLayout('', 'erase');" class="btn btn-default">
{l s='Clear format'}</a></span>
</div>
{else}
{$smarty.block.parent}
{/if}
{/if}
{/block}
{block name="input_row"}
{if $input.name == 'standardization'}
<div class="row" id="TAASC" style="display: none;">
@@ -81,8 +86,6 @@
$(document).ready(function() {
$('.availableFieldsList').css("display", "none");
$('.addPattern').click(function() {
addFieldsToCursorPosition($(this).attr("id"))
lastLayoutModified = $("#ordered_fields").val();
@@ -106,17 +109,14 @@
$("#ordered_fields").replaceSelection(pattern + " ");
}
function displayAvailableFields(containerName) {
$(".availableFieldsList").each( function () {
if ($(this).attr('id') != 'availableListFieldsFor_'+containerName)
$(this).slideUp();
});
$("#availableListFieldsFor_" + containerName).slideToggle();
}
function resetLayout(defaultLayout, type) {
if (confirm("{l s='Are you sure you want to restore the default address format for this country?' js=1}"))
$("#ordered_fields").val(unescape(defaultLayout.replace(/\+/g, " ")));
}
$('#custom-address-fields a').click(function (e) {
e.preventDefault();
$(this).tab('show')
})
{/block}
+18 -13
View File
@@ -468,33 +468,38 @@ class AdminCountriesControllerCore extends AdminController
protected function displayValidFields()
{
$html = '<ul>';
$html_tabnav = '<ul class="nav nav-tabs" id="custom-address-fields">';
$html_tabcontent = '<div class="tab-content" >';
$object_list = AddressFormat::getLiableClass('Address');
$object_list['Address'] = null;
// Get the available properties for each class
$i = 0;
$class_tab_active = 'active';
foreach ($object_list as $class_name => &$object)
{
if ($i != 0){ $class_tab_active = ''; }
$fields = array();
$html .= '<li>
<a href="javascript:void(0);" onClick="displayAvailableFields(\''.$class_name.'\')">'.$class_name.'</a>';
$html_tabnav .= '<li class="'.$class_tab_active.'"">
<a href="#availableListFieldsFor_'.$class_name.'"><i class="icon-caret-down"></i>&nbsp;'.$class_name.'</a></li>';
foreach (AddressFormat::getValidateFields($class_name) as $name)
$fields[] = '<a style="color:#4B8;" href="javascript:void(0);" class="addPattern" id="'.($class_name == 'Address' ? $name : $class_name.':'.$name).'">
'.$name.'</a>';
$html .= '
<div class="availableFieldsList" id="availableListFieldsFor_'.$class_name.'" style="width:300px;">
'.implode(', ', $fields).'</div></li>';
$fields[] = '<a href="javascript:void(0);" class="addPattern btn btn-default btn-xs" id="'.($class_name == 'Address' ? $name : $class_name.':'.$name).'">
<i class="icon-plus-sign"></i>&nbsp;'.$name.'</a>';
$html_tabcontent .= '
<div class="tab-pane availableFieldsList panel '.$class_tab_active.'" id="availableListFieldsFor_'.$class_name.'">
'.implode(' ', $fields).'</div>';
unset($object);
$i ++;
}
return $html .= '</ul>';
$html_tabnav .= '</ul>';
$html_tabcontent .= '</div>';
return $html = $html_tabnav.$html_tabcontent;
}
public static function displayCallPrefix($prefix)
{
return ((int)$prefix ? '+'.$prefix : '-');
}
}
}