[*] BO : #PSTEST-791 - Fiche produit Virtuels - Onglet Produit dématérialisé incompréhensible
This commit is contained in:
@@ -87,18 +87,16 @@
|
||||
data = data.getElementsByTagName('return')[0];
|
||||
var result = data.getAttribute("result");
|
||||
var msg = data.getAttribute("msg");
|
||||
var fileName = data.getAttribute("filename")
|
||||
if(result == "error")
|
||||
$("#upload-confirmation").html('<p>error: ' + msg + '</p>');
|
||||
var fileName = data.getAttribute("filename");
|
||||
$("#upload-confirmation").show();
|
||||
if (result == "error")
|
||||
$("#upload-confirmation td").html('<div class="error">{l s='Error:'} ' + msg + '</div>');
|
||||
else
|
||||
{
|
||||
$('#virtual_product_file').remove();
|
||||
$('#virtual_product_file_label').hide();
|
||||
$('#upload_input').remove();
|
||||
$('#file_missing').hide();
|
||||
$('#delete_downloadable_product').show();
|
||||
$('#virtual_product_name').attr('value', fileName);
|
||||
$('#upload-confirmation').html(
|
||||
'<a class="link" href="get-file-admin.php?file='+msg+'&filename='+fileName+'">{l s='The file'} "' + fileName + '" {l s='has successfully been uploaded'}</a>' +
|
||||
$('#upload-confirmation div').prepend('{l s='The file'} "<a class="link" href="get-file-admin.php?file='+msg+'&filename='+fileName+'">'+fileName+'</a>" {l s='has successfully been uploaded'}' +
|
||||
'<input type="hidden" id="virtual_product_filename" name="virtual_product_filename" value="' + msg + '" />');
|
||||
}
|
||||
}
|
||||
@@ -146,108 +144,129 @@
|
||||
|
||||
<h4>{l s='Virtual Product (services, booking and downloadable products)'}</h4>
|
||||
<div class="separation"></div>
|
||||
<table cellpadding="5" cellspacing="0" border="0" style="width: 100%;">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="is_virtual_good">
|
||||
<input type="checkbox" id="is_virtual_good" name="is_virtual_good" value="true" {if $product->is_virtual && $product->productDownload->active}checked="checked"{/if} />
|
||||
<label for="is_virtual_good" class="t bold">{l s='Is this a virtual product?'}</label>
|
||||
</div>
|
||||
{* [begin] virtual product *}
|
||||
<div id="virtual_good" class="toggleVirtualPhysicalProduct" {if !$product->productDownload->id || $product->productDownload->active}style="display:none"{/if} >
|
||||
<input type="hidden" id="is_virtual" name="is_virtual" value="{$product->is_virtual}" />
|
||||
<table cellpadding="5" style="width: 50%; float: left; margin-right: 20px; border-right: 1px solid #CCCCCC;">
|
||||
<tr><td>
|
||||
<br/>{l s='Does this product has an associated file?'}<br />
|
||||
<label style="width:50px"><input type="radio" value="1" id="virtual_good_file_1" name="is_virtual_file" {if $product_downloaded}checked="checked"{/if} />{l s='Yes'}</label>
|
||||
<label style="width:50px"><input type="radio" value="0" id="virtual_good_file_2" name="is_virtual_file" {if !$product_downloaded}checked="checked"{/if} />{l s='No'}</label><br /><br />
|
||||
{if $download_product_file_missing}
|
||||
<p class="alert" id="file_missing">
|
||||
<b>{$download_product_file_missing} :<br/>
|
||||
{$smarty.const._PS_DOWNLOAD_DIR_}/{$product->productDownload->filename}</b>
|
||||
</p>
|
||||
{/if}
|
||||
</td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div id="is_virtual_file_product" style="display:none;">
|
||||
{if !$download_dir_writable}
|
||||
<p class="alert">
|
||||
{l s='Your download repository is not writable.'}<br/>
|
||||
{$smarty.const._PS_DOWNLOAD_DIR_}
|
||||
</p>
|
||||
{/if}
|
||||
{if empty($product->cache_default_attribute)}
|
||||
{if $product->productDownload->id}
|
||||
<input type="hidden" id="virtual_product_id" name="virtual_product_id" value="{$product->productDownload->id}" />
|
||||
{/if}
|
||||
<p class="block">
|
||||
{if !$product->productDownload->checkFile()}
|
||||
<div style="padding:5px;width:50%;float:left;margin-right:20px;border-right:1px solid #CCCCCC">
|
||||
<p>{l s='Your server\'s maximum upload file size is'}: {$upload_max_filesize} {l s='MB'}</p>
|
||||
{if $show_file_input}
|
||||
<div>
|
||||
<div class="is_virtual_good">
|
||||
<input type="checkbox" id="is_virtual_good" name="is_virtual_good" value="true" {if $product->is_virtual && $product->productDownload->active}checked="checked"{/if} />
|
||||
<label for="is_virtual_good" class="t bold">{l s='Is this a virtual product?'}</label>
|
||||
</div>
|
||||
{* [begin] virtual product *}
|
||||
<div id="virtual_good" class="toggleVirtualPhysicalProduct" {if !$product->productDownload->id || $product->productDownload->active}style="display:none"{/if} >
|
||||
<input type="hidden" id="is_virtual" name="is_virtual" value="{$product->is_virtual}" />
|
||||
<div>
|
||||
<label>{l s='Does this product has an associated file?'}</label>
|
||||
<label class="radio_check" style="width:50px"><input type="radio" value="1" id="virtual_good_file_1" name="is_virtual_file" {if $product_downloaded}checked="checked"{/if} />{l s='Yes'}</label>
|
||||
<label style="width:50px;"><input type="radio" value="0" id="virtual_good_file_2" name="is_virtual_file" {if !$product_downloaded}checked="checked"{/if} />{l s='No'}</label>
|
||||
</div><br />
|
||||
<div class="separation"></div>
|
||||
{if $download_product_file_missing}
|
||||
<p class="alert" id="file_missing">
|
||||
<b>{$download_product_file_missing} :<br/>
|
||||
{$smarty.const._PS_DOWNLOAD_DIR_}/{$product->productDownload->filename}</b>
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
<div id="is_virtual_file_product" style="display:none;">
|
||||
{if !$download_dir_writable}
|
||||
<p class="alert">
|
||||
{l s='Your download repository is not writable.'}<br/>
|
||||
{$smarty.const._PS_DOWNLOAD_DIR_}
|
||||
</p>
|
||||
{/if}
|
||||
{* Don't display file form if the product has combinations *}
|
||||
{if empty($product->cache_default_attribute)}
|
||||
{if $product->productDownload->id}
|
||||
<input type="hidden" id="virtual_product_id" name="virtual_product_id" value="{$product->productDownload->id}" />
|
||||
{/if}
|
||||
<table cellpadding="5" style="float: left; margin-left: 10px;">
|
||||
{if !$product->productDownload->checkFile()}
|
||||
{if $show_file_input}
|
||||
<tr id="upload_input">
|
||||
<td class="col-left">
|
||||
<label id="virtual_product_file_label" for="virtual_product_file" class="t">{l s='Upload a file'}</label>
|
||||
<p><input type="file" id="virtual_product_file" name="virtual_product_file" onchange="uploadFile();" maxlength="{$upload_max_filesize}" /></p>
|
||||
</td>
|
||||
<td class="col-right">
|
||||
<input type="file" id="virtual_product_file" name="virtual_product_file" onchange="uploadFile();" maxlength="{$upload_max_filesize}" />
|
||||
<p class="product_description">{l s='Your server\'s maximum upload file size is'}: {$upload_max_filesize} {l s='MB'}</p>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr id="upload-confirmation" style="display:none">
|
||||
<td colspan=2>
|
||||
{if $up_filename}
|
||||
<input type="hidden" id="virtual_product_filename" name="virtual_product_filename" value="{$up_filename}" />
|
||||
{/if}
|
||||
<div id="upload-confirmation">
|
||||
{if $up_filename}
|
||||
<input type="hidden" id="virtual_product_filename" name="virtual_product_filename" value="{$up_filename}" />
|
||||
{/if}
|
||||
<div class="conf">
|
||||
<a id="delete_downloadable_product" onclick="return confirm('{l s='Delete this file'}')" href="{$currentIndex}&deleteVirtualProduct=true&token={$token}&id_product={$product->id}" class="red">
|
||||
<img src="../img/admin/delete.gif" alt="{l s='Delete this file'}"/>
|
||||
</a>
|
||||
</div>
|
||||
<a id="delete_downloadable_product" style="display:none;" onclick="return confirm('{l s='Delete this file'}')" href="{$currentIndex}&deleteVirtualProduct=true&token={$token}&id_product={$product->id}" class="red">
|
||||
<img src="../img/admin/delete.gif" alt="{l s='Delete this file'}"/>
|
||||
</a>
|
||||
</div>
|
||||
{else}
|
||||
</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr>
|
||||
<td class="col-left">
|
||||
<input type="hidden" id="virtual_product_filename" name="virtual_product_filename" value="{$product->productDownload->filename}" />
|
||||
{l s='This is the link'}:<br />
|
||||
<label class="t">{l s='Link to the file:'}</label>
|
||||
</td>
|
||||
<td class="col-right">
|
||||
{$product->productDownload->getHtmlLink(false, true)}
|
||||
<a onclick="return confirm('{l s='Delete this file'})')" href="{$currentIndex}&deleteVirtualProduct=true&token={$token}&id_product={$product->id}" class="red">
|
||||
<img src="../img/admin/delete.gif" alt="{l s='Delete this file'}"/>
|
||||
</a>
|
||||
{/if}
|
||||
</p>
|
||||
|
||||
<p class="block">
|
||||
<label for="virtual_product_name" class="t">{l s='Filename'}</label>
|
||||
<input type="text" id="virtual_product_name" name="virtual_product_name" style="width:200px" value="{$product->productDownload->display_filename|htmlentities}" />
|
||||
<span class="hint" name="help_box" style="display:none;">{l s='The full filename with its extension (e.g. Book.pdf)'}</span>
|
||||
</p>
|
||||
</div>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table cellpadding="5" style="width: 40%; float: left; margin-left: 10px;">
|
||||
<tr><td>
|
||||
<div id="virtual_good_more" style="'.$hidden.'padding:5px;width:40%;float:left;margin-left:10px">
|
||||
<p class="block">
|
||||
<label for="virtual_product_nb_downloable" class="t">{l s='Number of downloads'}</label>
|
||||
<input type="text" id="virtual_product_nb_downloable" name="virtual_product_nb_downloable" value="{$product->productDownload->nb_downloadable|htmlentities}" class="" size="6" />
|
||||
<span class="hint" name="help_box" style="display:none">{l s='Number of authorized downloads per customer'}</span>
|
||||
</p>
|
||||
<p class="block">
|
||||
<label for="virtual_product_expiration_date" class="t">{l s='Expiration date'}</label>
|
||||
<input class="datepicker" type="text" id="virtual_product_expiration_date" name="virtual_product_expiration_date" value="{$product->productDownload->date_expiration}" size="11" maxlength="10" autocomplete="off" /> {l s='Format: YYYY-MM-DD'}
|
||||
<span class="hint" name="help_box" style="display:none">{l s='Leave this blank for no expiration date'}</span>
|
||||
</p>
|
||||
<p class="block">
|
||||
<label for="virtual_product_nb_days" class="t">{l s='Number of days'}</label>
|
||||
<input type="text" id="virtual_product_nb_days" name="virtual_product_nb_days" value="{$product->productDownload->nb_days_accessible|htmlentities}" class="" size="4" /><sup> *</sup>
|
||||
<span class="hint" name="help_box" style="display:none">{l s='How many days this file can be accessed by customers'} - <em>({l s='Set to zero for unlimited access'})</em></span>
|
||||
</p>
|
||||
<p class="block">
|
||||
<label for="virtual_product_is_shareable" class="t">{l s='is shareable'}</label>
|
||||
<input type="checkbox" id="virtual_product_is_shareable" name="virtual_product_is_shareable" value="1" {if $product->productDownload->is_shareable}checked="checked"{/if} />
|
||||
<span class="hint" name="help_box" style="display:none">{l s='Specify if the file can be shared'}</span>
|
||||
</p>
|
||||
</div>
|
||||
{else}
|
||||
<div class="hint clear" style="display: block;width: 70%;">{l s='You cannot edit your file here because you used combinations. Please edit it in the Combinations tab'}</div>
|
||||
<br />
|
||||
{$error_product_download}
|
||||
{/if}
|
||||
</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr>
|
||||
<td class="col-left">
|
||||
<label for="virtual_product_name" class="t">{l s='Filename'}</label>
|
||||
</td>
|
||||
<td class="col-right">
|
||||
<input type="text" id="virtual_product_name" name="virtual_product_name" style="width:200px" value="{$product->productDownload->display_filename|htmlentities}" />
|
||||
<p class="preference_description" name="help_box">{l s='The full filename with its extension (e.g. Book.pdf)'}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-left">
|
||||
<label for="virtual_product_nb_downloable" class="t">{l s='Number of allowed downloads'}</label>
|
||||
</td>
|
||||
<td class="col-right">
|
||||
<input type="text" id="virtual_product_nb_downloable" name="virtual_product_nb_downloable" value="{$product->productDownload->nb_downloadable|htmlentities}" class="" size="6" />
|
||||
<p class="preference_description">{l s='Number of allowed downloads per customer - (Set to 0 for unlimited downloads)'}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="col-left">
|
||||
<label for="virtual_product_expiration_date" class="t">{l s='Expiration date'}</label>
|
||||
</td>
|
||||
<td class="col-right">
|
||||
<input class="datepicker" type="text" id="virtual_product_expiration_date" name="virtual_product_expiration_date" value="{$product->productDownload->date_expiration}" size="11" maxlength="10" autocomplete="off" /> {l s='Format: YYYY-MM-DD'}
|
||||
<p class="preference_description">{l s='If set, the file will not be downloadable anymore after this date. Leave this blank for no expiration date'}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<td class="col-left">
|
||||
<label for="virtual_product_nb_days" class="t">{l s='Number of days'}</label>
|
||||
</td>
|
||||
<td class="col-right">
|
||||
<input type="text" id="virtual_product_nb_days" name="virtual_product_nb_days" value="{$product->productDownload->nb_days_accessible|htmlentities}" class="" size="4" /><sup> *</sup>
|
||||
<p class="preference_description">{l s='How many days this file can be accessed by customers'} - <em>({l s='Set to zero for unlimited access'})</em></p>
|
||||
</td>
|
||||
</tr>
|
||||
{* Feature not implemented *}
|
||||
{*<tr>*}
|
||||
{*<td class="col-left">*}
|
||||
{*<label for="virtual_product_is_shareable" class="t">{l s='is shareable'}</label>*}
|
||||
{*</td>*}
|
||||
{*<td class="col-right">*}
|
||||
{*<input type="checkbox" id="virtual_product_is_shareable" name="virtual_product_is_shareable" value="1" {if $product->productDownload->is_shareable}checked="checked"{/if} />*}
|
||||
{*<span class="hint" name="help_box" style="display:none">{l s='Specify if the file can be shared'}</span>*}
|
||||
{*</td>*}
|
||||
{*</tr>*}
|
||||
{else}
|
||||
<div class="hint clear" style="display: block;width: 70%;">{l s='You cannot edit your file here because you used combinations. Please edit it in the Combinations tab'}</div>
|
||||
<br />
|
||||
{$error_product_download}
|
||||
{/if}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user