diff options
Diffstat (limited to 'public/admin/view/template/extension/openbay/ebay_edit.twig')
-rw-r--r-- | public/admin/view/template/extension/openbay/ebay_edit.twig | 477 |
1 files changed, 477 insertions, 0 deletions
diff --git a/public/admin/view/template/extension/openbay/ebay_edit.twig b/public/admin/view/template/extension/openbay/ebay_edit.twig new file mode 100644 index 0000000..f77880a --- /dev/null +++ b/public/admin/view/template/extension/openbay/ebay_edit.twig @@ -0,0 +1,477 @@ +{{ header }}{{ column_left }} +<div id="content"> + <div class="page-header"> + <div class="container-fluid"> + <div class="pull-right"> + <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a> + </div> + <h1>{{ heading_title }}</h1> + <ul class="breadcrumb"> + {% for breadcrumb in breadcrumbs %} + <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> + {% endfor %} + </ul> + </div> + </div> + <div class="container-fluid"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_listing_info }}</h3> + </div> + <div class="panel-body"> + <div class="alert alert-info" id="form-loading"> <i class="fa fa-cog fa-lg fa-spin"></i> {{ text_loading }} </div> + <div class="alert alert-danger" id="form-error" style="display:none;"> + <div class="row"> + <div class="col-sm-8">{{ text_error_loading }}</div> + <div class="col-sm-4 text-right"><a id="button-load" class="btn btn-primary"><i class="fa fa-refresh"></i> {{ button_retry }}</a></div> + </div> + </div> + <div class="content displayNone" id="form-main"> + <div class="alert alert-success" id="form-success" style="display:none;">{{ text_saved }}</div> + <div class="alert alert-danger" id="error_box" style="display:none;"></div> + <form method="post" enctype="multipart/form-data" id="form" class="form-horizontal"> + <input type="hidden" name="itemId" value="" id="item-id" /> + <ul class="nav nav-tabs"> + <li class="active"><a data-toggle="tab" href="#tab-general">{{ tab_general }}</a></li> + <li><a data-toggle="tab" href="#tab-recommendation">{{ tab_recommendations }}</a></li> + </ul> + <div class="tab-content"> + <div id="tab-general" class="tab-pane active"> + <div class="form-group"> + <label class="col-sm-2 control-label" for="title">{{ entry_title }}</label> + <div class="col-sm-10"> + <div class="row"> + <div class="col-sm-5"> + <input type="text" name="title" value="" id="title" class="form-control" /> + <div class="alert alert-danger validate-errors" style="display:none; margin-top:10px;" id="title-length-error">{{ error_name_length }}</div> + </div> + </div> + + </div> + </div> + <div class="form-group stdMatrix"> + <input type="hidden" name="qty_local" value="0" id="qty-local" /> + <input type="hidden" name="qty_ebay" value="0" id="qty-ebay" /> + <input type="hidden" name="variant" value="0" /> + <label class="col-sm-2 control-label" for="price">{{ entry_price }}</label> + <div class="col-sm-10"> + <div class="row"> + <div class="col-sm-2"> + <input type="text" name="price" value="" id="price" class="form-control" /> + </div> + </div> + </div> + </div> + <div class="form-group stdMatrix"> + <label class="col-sm-2 control-label" for="qty-instock">{{ entry_stock_store }}</label> + <div class="col-sm-10"> + <div class="row"> + <div class="col-sm-2"> + <input type="text" name="qty_instock" id="qty-instock" class="form-control" disabled="disabled" /> + </div> + </div> + <span class="help-block">{{ help_stock_store }}</span> </div> + </div> + <div class="form-group stdMatrix"> + <label class="col-sm-2 control-label" for="qty-listed">{{ entry_stock_listed }}</label> + <div class="col-sm-10"> + <div class="row"> + <div class="col-sm-2"> + <input type="text" name="qty_listed" id="qty-listed" class="form-control" disabled="disabled" /> + </div> + </div> + <span class="help-block">{{ help_stock_listed }}</span> + </div> + </div> + <div class="form-group stdMatrix"> + <label class="col-sm-2 control-label">{{ entry_stock_reserve }}</label> + <div class="col-sm-10"> + <div class="row"> + <div class="col-sm-2"> + <input type="text" name="qty_reserve" value="0" id="qty-reserve" class="form-control" onkeyup="updateReserveMessage();" /> + </div> + </div> + <span class="help-block">{{ help_stock_reserve }}</span> + <span class="help-block" id="reserve-text" style="display:none; font-weight: bold;"></span> + </div> + </div> + <div class="form-group" id="variantMatrix"> + <label class="col-sm-2 control-label">{{ entry_stock_matrix_active }}</label> + <div class="col-sm-10"> + <table class="table table-striped table-bordered table-hover"> + <thead> + <tr> + <td class="text-center">{{ column_sku }}</td> + <td class="text-center">{{ column_stock_total }}</td> + <td class="text-center">{{ column_stock_listed }}</td> + <td class="text-center">{{ column_stock_reserve }}</td> + <td class="text-left">{{ column_combination }}</td> + <td class="text-center">{{ column_price }}</td> + <td class="text-center">{{ column_status }}</td> + </tr> + </thead> + <tbody id="matrix-active"> + <input type="hidden" name="variant" value="1" /> + <input type="hidden" name="optGroupArray" value="" id="option-groups" /> + <input type="hidden" name="optGroupRelArray" value="" id="option-group-relationship" /> + </tbody> + </table> + </div> + </div> + <div class="form-group" id="variantMatrixInactive" style="display:none;"> + <label class="col-sm-2 control-label">{{ entry_stock_matrix_inactive }}</label> + <div class="col-sm-10"> + <table class="table table-striped table-bordered table-hover"> + <thead> + <tr> + <th class="text-center">{{ column_sku }}</th> + <th class="text-center">{{ column_stock_total }}</th> + <th class="text-center">{{ column_stock_reserve }}</th> + <th class="text-left">{{ column_combination }}</th> + <th class="text-center">{{ column_price }}</th> + <th class="text-center">{{ column_add }}</th> + </tr> + </thead> + <tbody id="matrix-inactive"> + </tbody> + </table> + </div> + </div> + </div> + <div id="tab-recommendation" class="tab-pane"> + <div class="alert alert-info" id="recommendations-loading"> <i class="fa fa-cog fa-lg fa-spin"></i> {{ text_check_recommendations }} </div> + <div class="alert alert-danger" id="recommendations-danger" style="display:none;"> <i class="fa fa-minus-circle"></i> </div> + <div class="alert alert-success" id="recommendations-success" style="display:none;"> <i class="fa fa-check-circle"></i> {{ text_success_recommendations }}</div> + </div> + </div> + </form> + <div class="well"> + <div class="row"> + <div class="col-sm-12 text-right"> + <a class="btn btn-danger" id="button-end-item"><i class="fa fa-minus-circle"></i> {{ button_end }}</a> + <a class="btn btn-danger" id="button-remove-link"><i class="fa fa-minus-circle"></i> {{ button_remove }}</a> + <a class="btn btn-primary" href="{{ view_link }}" target="_BLANK" data-toggle="tooltip" title="{{ button_view }}"><i class="fa fa-external-link"></i></a> + <a class="btn btn-primary" id="button-edit-item" data-toggle="tooltip" title="{{ button_edit }}" style="display:none;"><i class="fa fa-pencil"></i></a> + <a class="btn btn-primary" id="button-save" data-toggle="tooltip" title="{{ button_save }}"><i class="fa fa-save"></i></a> + </div> + </div> + </div> + </div> + </div> + </div> + </div> +</div> +<script type="text/javascript"><!-- + function updateReserveMessage(){ + var reserve = parseInt($('#qty-reserve').val()); + var local = parseInt($('#qty-local').val()); + + $("#reserve-text").hide(); + + if (reserve > local){ + alert('{{ error_reserve }}'); + $('#qty-reserve').val(""); + } else { + if (reserve > 0 && reserve < local) { + var reserved = local - reserve; + $("#reserve-text").text(reserve + " {{ text_reserved_forsale }}, " + reserved + " {{ text_reserved_stock }}").show(); + } else { + $('#qty-reserve').val(""); + } + } + } + + function load(){ + $.ajax({ + url: 'index.php?route=extension/openbay/ebay/editLoad&user_token={{ user_token }}&product_id={{ product_id }}', + type: 'GET', + dataType: 'json', + beforeSend: function(){ + $('#form-loading').fadeIn('slow'); + $('#form-main').hide(); + $('#form-error').hide(); + }, + success: function(data) { + if (data.error == false){ + if (data.data.listing.status == 0){ + $('#form').hide(); + $('#btn-end-item').hide(); + $('#error_box').html('<p>{{ error_ended }}</p>').fadeIn('slow'); + }else{ + $('#title').val(data.data.listing.title); + $('#item-id').val(data.data.listing.itemId); + + if (data.data.variant.variant == 1){ + $('.stdMatrix').remove(); + $('#option-groups').val(data.data.variant.data.group_information.option_groups); + $('#option-group-relationship').val(data.data.variant.data.group_information.option_group_relationship); + + var i = 0; + var html = ''; + + $.each(data.data.variant.data.options, function( k, v ) { + html = ''; + + $('#matrix-active').append('<input type="hidden" name="opt[' + i + '][sku]" value="' + v.ebay.SKU + '" />'); + + html += '<tr class="success">'; + html += '<input type="hidden" name="varPriceExCount" class="varPriceExCount" value="' + i + '" />'; + html += '<input type="hidden" name="opt[' + i + '][product_option_variant_id]" value="' + v.product_option_variant_id + '" />'; + html += '<td class="text-center">'; + if (v.local.sku == '') { + html += '<span class="label label-danger">{{ error_no_sku }}</span>'; + } else { + html += v.local.sku; + } + html += '</td>'; + html += '<td class="text-center">'; + if (v.local.stock < 1) { + html += '<span class="label label-danger">' + v.local.stock + '</span>'; + } else { + html += v.local.stock; + } + html += '</td>'; + html += '<td class="text-center">' + v.ebay.Quantity + '</td>'; + html += '<td class="text-center"><input type="text" name="opt[' + i + '][reserve]" value="' + v.local.reserve + '" class="text-center form-control" /></td>'; + html += '<td class="text-left">' + v.local.combination + '</td>'; + html += '<td class="text-left"><input type="text" name="opt[' + i + '][price]" value="' + v.ebay.StartPrice + '" value="0" class="text-center form-control" /></td>'; + html += '<td class="text-center"><input type="hidden" name="opt[' + i + '][active]" value="0" /><input type="checkbox" name="opt[' + i + '][active]" value="1" checked="checked" /></td>'; + html += '</tr>'; + + $('#matrix-active').append(html); + + i++; + }); + + if (data.data.variant.data.options_inactive != false){ + $('#variantMatrixInactive').show(); + $.each(data.data.variant.data.options_inactive, function( k, v ) { + $('#matrix-active').append('<input type="hidden" name="opt[' + i + '][sku]" value="' + v.local.sku + '" />'); + html = ''; + html += '<tr class="warning">'; + html += '<input type="hidden" name="varPriceExCount" class="varPriceExCount" value="' + i + '" />'; + html += '<input type="hidden" name="opt[' + i + '][product_option_variant_id]" value="' + v.product_option_variant_id + '" />'; + html += '<td class="text-center">'; + if (v.local.sku == '') { + html += '<span class="label label-danger">{{ error_no_sku }}</span>'; + } else { + html += v.local.sku; + } + html += '</td>'; + html += '<td class="text-center">'; + if (v.local.stock < 1) { + html += '<span class="label label-danger">' + v.local.stock + '</span>'; + } else { + html += v.local.stock; + } + html += '</td>'; + html += '<td class="text-center"><input type="text" name="opt[' + i + '][reserve]" value="' + v.local.reserve + '" class="text-center form-control"/></td>'; + html += '<td class="text-left">' + v.local.combination + '</td>'; + if (v.local.price == 0) { + html += '<td class="text-left"><input type="text" name="opt[' + i + '][price]" value="' + parseFloat(data.data.product.price).toFixed(2) + '" value="0" class="text-center form-control" /></td>'; + } else { + html += '<td class="text-left"><input type="text" name="opt[' + i + '][price]" value="' + v.local.price + '" value="0" class="text-center form-control" /></td>'; + } + html += '<td class="text-center"><input type="hidden" name="opt[' + i + '][active]" value="0" /><input type="checkbox" name="opt[' + i + '][active]" value="1" /></td>'; + html += '</tr>'; + + $('#matrix-inactive').append(html); + + i++; + }); + } + }else{ + $('#variantMatrix').remove(); + $('#price').val(parseFloat(data.data.listing.price).toFixed(2)); + $('#qty-instock').val(data.data.stock.quantity); + $('#qty-local').val(data.data.stock.quantity); + $('#qty-listed').val(data.data.listing.qty); + $('#qty-ebay').val(data.data.listing.qty); + $('#qty-reserve').val(data.data.reserve); + + updateReserveMessage(); + } + + loadRecommendations(); + } + } + + $('#form-main').fadeIn('slow'); + }, + complete: function() { + $('#form-loading').hide(); + }, + failure: function(){ + $('#form-error').fadeIn('slow'); + }, + error: function(){ + $('#form-error').fadeIn('slow'); + } + }); + } + + function loadRecommendations() { + var item_id = $('#item-id').val(); + + $.ajax({ + url: 'index.php?route=extension/openbay/ebay/getItemRecommendations&user_token={{ user_token }}&item_id=' + item_id, + type: 'GET', + dataType: 'json', + success: function(data) { + if (data.error == false) { + if (data.data == false) { + $('#recommendations-success').fadeIn('slow'); + } else { + $.each(data.data, function( key, value ) { + $('#tab-recommendation').append('<div class="alert alert-info">' + value.message + '</div>'); + }); + } + } else { + $('#recommendations-error').append('{{ error_recommendations_load }}').fadeIn('slow'); + } + }, + complete: function() { + $('#recommendations-loading').hide(); + }, + failure: function(){ + $('#recommendations-error').append('{{ error_recommendations_load }}').fadeIn('slow'); + }, + error: function(){ + $('#recommendations-error').append('{{ error_recommendations_load }}').fadeIn('slow'); + } + }); + } + + $('#button-save').bind('click', function() { + if (verifyUpdates() == false) { + return; + } + + $.ajax({ + type: 'POST', + url: 'index.php?route=extension/openbay/ebay/editSave&user_token={{ user_token }}', + dataType: 'json', + data: $("#form").serialize(), + beforeSend: function(){ + $('#button-save').empty().html('<i class="fa fa-cog fa-lg fa-spin"></i>').attr('disabled','disabled'); + $('#error_box').empty().hide(); + $('#form-success').hide(); + }, + success: function(data) { + $('#reviewButtonLoading').hide(); + $('#reviewButton').show(); + + if (data.Errors){ + if (data.Errors.ShortMessage){ + $('#error_box').append('<p class="m3">' + data.Errors.LongMessage + '</p>'); + }else{ + $.each(data.Errors, function(key,val){ + $('#error_box').append('<p class="m3">' + val.LongMessage + '</p>'); + }); + } + $('#error_box').fadeIn('slow'); + } + + if (data.Ack !== 'Failure'){ + $('#form-success').fadeIn('slow'); + $('#button-save').hide(); + $('#button-edit-item').show(); + } + + $('#form').hide(); + }, + complete: function() { + $('#button-save').empty().html('<i class="fa fa-save"></i> {{ button_save }}').removeAttr('disabled'); + }, + error: function (xhr, ajaxOptions, thrownError) { + if (xhr.status != 0) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } + } + }); + }); + + function verifyUpdates() { + $(".validate-errors").hide(); + + var err = 0; + + if ($('#title').val().length >= 80) { + err = 1; + $("#title-length-error").show(); + } + + if (err == 1) { + return false; + } else { + return true; + } + } + + $('#button-load').bind('click', function() { + load(); + }); + + $('#button-remove-link').on('click', function () { + var pass = confirm("{{ text_confirm }}"); + + if (pass == true) { + $.ajax({ + type: 'GET', + url: 'index.php?route=extension/openbay/ebay/removeItemLink&user_token={{ user_token }}&product_id={{ product_id }}', + dataType: 'json', + beforeSend: function(){ + $('#button-remove-link').empty().html('<i class="fa fa-cog fa-lg fa-spin"></i>').attr('disabled','disabled'); + }, + success: function () { + alert('{{ text_alert_removed }}'); + window.location = 'index.php?route=marketplace/openbay/items&user_token={{ user_token }}'; + }, + error: function (xhr, ajaxOptions, thrownError) { + if (xhr.status != 0) { + alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); + } + } + }); + } + }); + + $('#button-end-item').on('click', function () { + var pass = confirm("{{ text_confirm }}"); + + if (pass == true) { + var item_id = $('#item-id').val(); + + if (item_id !== '') { + $.ajax({ + type: 'GET', + url: 'index.php?route=extension/openbay/ebay/endItem&user_token={{ user_token }}&item_id=' + item_id, + dataType: 'json', + beforeSend: function(){ + $('#button-end-item').empty().html('<i class="fa fa-cog fa-lg fa-spin"></i>').attr('disabled','disabled'); + }, + success: function (data) { + if (data.error == true) { + alert(data.msg); + } else { + alert('{{ text_alert_ended }}'); + window.location = 'index.php?route=marketplace/openbay/items&user_token={{ user_token }}'; + } + }, + error: function (xhr, ajaxOptions, thrownError) { + if (xhr.status != 0) { + alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); + } + } + }); + } + } + }); + + $('#button-edit-item').on('click', function () { + window.location.href = window.location.href; + }); + + $(document).ready(function() { + load(); + }); +//--></script> +{{ footer }} |