Current Path : /var/www/alh/admin/view/template/extension/openbay/ |
Current File : /var/www/alh/admin/view/template/extension/openbay/ebay_new_bulk.twig |
{{ 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"> {% for warning in error_warning %} <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> {{ warning }}</div> {% endfor %} <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><i class="fa fa-list"></i> {{ text_bulk }}</h3> </div> <div class="panel-body" id="page-listing"> {% set i = 0 %} {% if error_fail is empty %} <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form" class="form-horizontal"> <div class="well"> <div class="row"> <div class="col-sm-12 text-right"> <a class="btn btn-primary" id="button-verify"><i class="fa fa-check"></i> {{ text_preview_all }}</a> <a class="btn btn-primary" id="button-edit" style="display:none;"><i class="fa fa-pencil"></i> {{ button_edit }}</a> <a class="btn btn-primary" id="button-submit" style="display:none;"><i class="fa fa-plus-circle"></i> {{ button_submit }}</a> </div> </div> </div> {% if products %} {% for product in products %} {% set price_original = product.price * ((default.defaults.tax / 100) + 1) %} <div class="well listingBox" id="p_row_{{ i }}"> <input type="hidden" class="product_id openbay_data_{{ i }}" name="product_id" value="{{ i }}" /> <input type="hidden" class="openbay_data_{{ i }}" name="product_id" value="{{ product.product_id }}" id="product-id-{{ i }}" /> <input type="hidden" name="price_original" id="price_original_{{ i }}" value="{{ price_original|number_format(2, '.', '') }}" /> <input type="hidden" class="openbay_data_{{ i }}" name="catalog_epid" id="catalog_epid_{{ i }}" value="0" /> <div class="row"> <div class="col-sm-7"> <h4 id="product_title_{{ i }}" style="display:none;"></h4> </div> <div class="col-sm-5 form-group text-right" id="p_row_buttons_{{ i }}"> <a class="btn btn-primary" onclick="showCategory('{{ i }}');" id="editCategory_{{ i }}" ><i class="fa fa-pencil"></i> {{ text_category }}</a> <a class="btn btn-primary" onclick="showProfiles('{{ i }}');" id="editProfiles_{{ i }}" ><i class="fa fa-pencil"></i> {{ text_profile }}</a> <a class="btn btn-primary" style="display:none;" onclick="showCatalog('{{ i }}');" id="editCatalog_{{ i }}" ><i class="fa fa-pencil"></i> {{ text_catalog }}</a> <a class="btn btn-primary" style="display:none;" onclick="showFeatures('{{ i }}');" id="editFeature_{{ i }}"><i class="fa fa-pencil"></i> {{ text_features }}</a> <a class="btn btn-danger" onclick="removeBox('{{ i }}')"> <i class="fa fa-minus-circle"></i> {{ button_remove }}</a> </div> </div> <div class="row"> <div class="col-sm-12"> <div class="row" id="product_messages_{{ i }}" style="display:none;"></div> <div class="row product_content_{{ i }}"> <div class="col-sm-2"> <div class="row"> <div class="col-sm-12 form-group text-center"> <img class="img-thumbnail" src="{{ product.image }}" alt="{{ product.name }}" /> </div> </div> <div class="row"> <div class="col-sm-12 form-group"> <h4 class="text-center"><span class="label label-success">{{ text_stock }}: {{ product.quantity }}</span></h4> <input type="hidden" name="qty" value="{{ product.quantity }}" class="openbay_data_{{ i }}" /> </div> </div> <div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true" id="overlay-feature-{{ i }}" data-backdrop="static" data-keyboard="false"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-body"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <a onclick="overlayHide();" class="btn btn-default" data-toggle="tooltip" title="{{ text_close }}"><i class="fa fa-reply"></i></a> </div> <h1 class="panel-title">{{ text_features }}</h1> </div> </div> <div class="container-fluid" style="display: none;" id="product_identifier_container_{{ i }}"> <div class="panel panel-default"> <div class="panel-body"> <div class="well"> <div class="row"> <div class="form-group" id="product_identifier_ean_container_{{ i }}" style="display:none;"> <label class="col-sm-2 control-label">{{ text_ean }}</label> <div class="col-sm-10"> <input type="hidden" id="identifier_ean_required_{{ i }}" class="product_identifier_required_{{ i }}" value="0" /> <input type="hidden" id="identifier_ean_original_{{ i }}" value="{{ product.ean }}" /> <input type="text" name="identifier_ean" value="{{ product.ean }}" id="identifier_ean_{{ i }}" class="form-control openbay_data_{{ i }}" /> </div> </div> <div class="form-group" id="product_identifier_isbn_container_{{ i }}" style="display:none;"> <label class="col-sm-2 control-label">{{ text_isbn }}</label> <div class="col-sm-10"> <input type="hidden" id="identifier_isbn_required_{{ i }}" class="product_identifier_required_{{ i }}" value="0" /> <input type="hidden" id="identifier_isbn_original_{{ i }}" value="{{ product.isbn }}" /> <input type="text" name="identifier_isbn" value="{{ product.isbn }}" id="identifier_isbn_{{ i }}" class="form-control openbay_data_{{ i }}" /> </div> </div> <div class="form-group" id="product_identifier_upc_container_{{ i }}" style="display:none;"> <label class="col-sm-2 control-label">{{ text_upc }}</label> <div class="col-sm-10"> <input type="hidden" id="identifier_upc_required_{{ i }}" class="product_identifier_required" value="0" /> <input type="hidden" id="identifier_upc_original_{{ i }}" value="{{ product.upc }}" /> <input type="text" name="identifier_upc" value="{{ product.upc }}" id="identifier_upc_{{ i }}" class="form-control openbay_data_{{ i }}" /> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">{{ text_identifier_not_required }}</label> <div class="col-sm-10"> <input type="checkbox" name="identifier_not_required" value="1" id="identifier_not_required_{{ i }}" class="form-control" onclick="identifierNotRequired({{ i }});"/> </div> </div> </div> </div> </div> </div> </div> <div id="feature-data-{{ i }}"></div> </div> </div> </div> </div> <div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true" id="overlay-category-{{ i }}" data-backdrop="static" data-keyboard="false"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-body"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <a onclick="overlayHide();" class="btn btn-default" data-toggle="tooltip" title="{{ text_close }}"><i class="fa fa-reply"></i></a> </div> <h1 class="panel-title">{{ text_category }}</h1> </div> </div> <div class="container-fluid"> <div class="panel panel-default"> <div class="panel-body"> <div class="well"> <div class="row"> <div class="form-group"> <label class="col-sm-2 control-label">{{ text_suggested }}</label> <div class="col-sm-10"> <div class="alert alert-info" id="loadingSuggestedCat_{{ i }}"><i class="fa fa-cog fa-lg fa-spin"></i> {{ text_category }}</div> <div id="suggestedCat_{{ i }}"></div> <input type="hidden" name="finalCat" id="finalCat_{{ i }}" class="openbay_data_{{ i }}" /> </div> </div> </div> <div class="row"> <div class="form-group" id="cSelections_{{ i }}" style="display:none;"> <label class="col-sm-2 control-label">{{ text_category_choose }}</label> <div class="col-sm-10"> <div class="alert alert-info" id="imageLoading_{{ i }}"><i class="fa fa-cog fa-lg fa-spin"></i> {{ text_loading_categories }}</div> <div class="row form-group"> <div class="col-sm-12"> <select id="catsSelect1_{{ i }}" class="form-control" onchange="loadCategories(2, false, {{ i }});"></select> </div> </div> <div class="row form-group"> <div class="col-sm-12"> <select id="catsSelect2_{{ i }}" class="form-control" onchange="loadCategories(3, false, {{ i }});" style="display:none;"></select> </div> </div> <div class="row form-group"> <div class="col-sm-12"> <select id="catsSelect3_{{ i }}" class="form-control" onchange="loadCategories(4, false, {{ i }});" style="display:none;"></select> </div> </div> <div class="row form-group"> <div class="col-sm-12"> <select id="catsSelect4_{{ i }}" class="form-control" onchange="loadCategories(5, false, {{ i }}, false, {{ i }});" style="display:none;"></select> </div> </div> <div class="row form-group"> <div class="col-sm-12"> <select id="catsSelect5_{{ i }}" class="form-control" onchange="loadCategories(6, false, {{ i }});" style="display:none;"></select> </div> </div> <div class="row form-group"> <div class="col-sm-12"> <select id="catsSelect6_{{ i }}" class="form-control" onchange="loadCategories(7, false, {{ i }});" style="display:none;"></select> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true" id="overlay-catalog-{{ i }}" data-backdrop="static" data-keyboard="false"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-body"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <a onclick="overlayHide();" class="btn btn-default" data-toggle="tooltip" title="{{ text_close }}"><i class="fa fa-reply"></i></a> </div> <h1 class="panel-title">{{ text_catalog_search }}</h1> </div> </div> <div class="container-fluid"> <div class="panel panel-default"> <div class="panel-body"> <div class="well"> <div class="row"> <div class="form-group"> <label class="col-sm-2 control-label">{{ text_search_term }}</label> <div class="col-sm-10"> <input type="text" name="catalog_search" id="catalog_search_{{ i }}" value="" class="form-control"/> </div> </div> </div> <div class="row"> <div class="col-sm-12 text-right"> <a onclick="searchEbayCatalog('{{ i }}');" class="btn btn-primary" id="button-catalog-search-{{ i }}">{{ text_search }}</a> </div> </div> </div> <div id="catalog-results-{{ i }}" style="display:none;"></div> </div> </div> </div> </div> </div> </div> </div> <div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true" id="overlay-profile-{{ i }}" data-backdrop="static" data-keyboard="false"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-body"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <a onclick="overlayHide();" class="btn btn-default" data-toggle="tooltip" title="{{ text_close }}"><i class="fa fa-reply"></i></a> </div> <h1 class="panel-title">{{ text_profile }}</h1> </div> </div> <div class="container-fluid"> <div class="panel panel-default"> <div class="panel-body"> <div class="well"> <div class="form-group"> <label class="col-sm-2 control-label">{{ text_profile_theme }}</label> <div class="col-sm-10"> <select name="theme_profile" class="openbay_data_{{ i }} form-control"> {% for profile in default.profiles_theme %} <option value="{{ profile.ebay_profile_id }}"{% if default.profiles_theme_def == profile.ebay_profile_id %} selected{% endif %}>{{ profile.name }}</option> {% endfor %} </select> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">{{ text_profile_shipping }}</label> <div class="col-sm-10"> <select name="shipping_profile" class="openbay_data_{{ i }} form-control"> {% for profile in default.profiles_shipping %} <option value="{{ profile.ebay_profile_id }}"{% if default.profiles_shipping_def == profile.ebay_profile_id %} selected{% endif %}>{{ profile.name }}</option> {% endfor %} </select> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">{{ text_profile_generic }}</label> <div class="col-sm-10"> <select name="generic_profile" id="generic_profile_{{ i }}" class="openbay_data_{{ i }} form-control" onchange="genericProfileChange({{ i }});"> {% for profile in default.profiles_generic %} <option value="{{ profile.ebay_profile_id }}"{% if default.profiles_generic_def == profile.ebay_profile_id %} selected{% endif %}>{{ profile.name }}</option> {% endfor %} </select> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">{{ text_profile_returns }}</label> <div class="col-sm-10"> <select name="return_profile" class="openbay_data_{{ i }} form-control"> {% for profile in default.profiles_returns %} <option value="{{ profile.ebay_profile_id }}"{% if default.profiles_returns_def == profile.ebay_profile_id %} selected{% endif %}>{{ profile.name }}</option> {% endfor %} </select> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="col-sm-10"> <div class="form-group"> <label class="col-sm-2 control-label">{{ text_title }}</label> <div class="col-sm-10"> <input type="text" name="title" class="openbay_data_{{ i }} form-control" value="{{ product.name }}" id="title_{{ i }}" /> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">{{ text_price }}</label> <div class="col-sm-10"> {% set price_new = product.price * ((default.defaults.tax / 100) + 1) %} <input id="price_{{ i }}" type="text" name="price" class="openbay_data_{{ i }} form-control" value="{{ price_new|number_format(2, '.', '') }}" /> </div> </div> <div class="alert alert-info" id="conditionLoading_{{ i }}"><i class="fa fa-cog fa-lg fa-spin"></i> {{ text_loading_condition }}</div> <div class="form-group" id="conditionContainer_{{ i }}" style="display:none;"> <label class="col-sm-2 control-label">{{ entry_condition }}</label> <div class="col-sm-10"> <select name="condition" class="openbay_data_{{ i }} form-control" id="conditionRow_{{ i }}"></select> </div> </div> <div class="alert alert-info" id="durationLoading_{{ i }}"><i class="fa fa-cog fa-lg fa-spin"></i> {{ text_loading_duration }}</div> <div class="form-group" id="durationContainer_{{ i }}" style="display:none;"> <label class="col-sm-2 control-label">{{ text_duration }}</label> <div class="col-sm-10"> <select name="duration" class="openbay_data_{{ i }} form-control" id="durationRow_{{ i }}"></select> </div> </div> </div> </div> </div> </div> </div> {% set i = i + 1 %} {% endfor %} {% else %} <div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ text_no_results }}</div> {% endif %} </form> <div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true" id="overlay-loading" data-backdrop="static" data-keyboard="false"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-body"> <div class="progress"> <div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="1" aria-valuemin="0" aria-valuemax="100" style="width: 0%" id="loading-bar"></div> </div> <p class="text-center">{{ text_preparing0 }} <span id="ajax-count-complete-display">0</span> {{ text_preparing1 }} <span id="ajax-count-total-display">0</span> {{ text_preparing2 }} </p> </div> </div> </div> </div> {% else %} {% for fail in error_fail %} <div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ fail }}</div> {% endfor %} {% endif %} </div> </div> </div> <input type="hidden" id="total-items" value="{{ count }}" name="total-items" /> <input type="hidden" id="ajax-count" value="0" /> <input type="hidden" id="ajax-count-total" value="0" /> <input type="hidden" id="ajax-count-complete" value="0" /> <script type="text/javascript"> $(document).ready(function() { overlay('overlay-loading'); {# This will run productCount times #} {% for j in 0..i %} getSuggestedCategories('{{ j }}'); modifyPrices('{{ j }}'); {% endfor %} $('#activeItems').text($('#total-items').val()); }); function overlay(screen) { $('#ajax-count-complete').val(0); $('#ajax-count-complete-display').text(0); $('#ajax-count-total').val(0); $('#ajax-count-total-display').text(0); $('#loading-bar').css('width', '0%'); $('#'+screen).modal('toggle'); } function overlayHide() { $('.modal').modal('hide'); } function modifyPrices(id) { var price_original = parseFloat($('#price_original_'+id).val()); var price_modified = ''; var modify_percent = ''; $.ajax({ url: 'index.php?route=extension/openbay/ebay_profile/get&user_token={{ user_token }}&ebay_profile_id='+$('#generic_profile_'+id).val(), type: 'GET', async: true, dataType: 'json', beforeSend: function() { addCount(); }, success: function(data) { if (data.data.price_modify == '') { data.data.price_modify = 0; } if (data.data.price_modify !== false && typeof data.data.price_modify !== 'undefined') { modify_percent = 100 + parseFloat(data.data.price_modify); modify_percent = parseFloat(modify_percent / 100); price_modified = price_original * modify_percent; $('#price_'+id).val(parseFloat(price_modified).toFixed(2)); } removeCount(); }, failure: function() { removeCount(); }, error: function() { removeCount(); } }); } function addCount() { var count = parseInt($('#ajax-count').val()) + 1; $('#ajax-count').val(count); var count1 = parseInt($('#ajax-count-total').val())+1; $('#ajax-count-total').val(count1); $('#ajax-count-total-display').text(count1); } function removeCount() { var count = parseInt($('#ajax-count').val())-1; $('#ajax-count').val(count); var count1 = parseInt($('#ajax-count-complete').val())+1; $('#ajax-count-complete').val(count1); $('#ajax-count-complete-display').text(count1); var modifier = 0; var current = 0; var total = $('#ajax-count-total').val(); modifier = 100 / total; current = parseFloat(modifier * count1); $('#loading-bar').css('width', current+"%"); if (count == 0) { overlayHide(); } } function removeBox(id) { $('#p_row_'+id).fadeOut('medium'); setTimeout(function() { $('#p_row_'+id).remove(); }, 1000); $('#total-items').val($('#total-items').val()-1); if ($('.listingBox').length == 1) { window.location = "index.php?route=marketplace/openbay/items&user_token={{ user_token }}"; } else { $('#activeItems').text($('#total-items').val()); } } function useManualCategory(id) { loadCategories(1, true, id); $('#cSelections_'+id).show(); } function getSuggestedCategories(id) { var qry = $('#title_'+id).val(); $.ajax({ url: 'index.php?route=extension/openbay/ebay/getSuggestedCategories&user_token={{ user_token }}&qry='+qry, type: 'GET', async: true, dataType: 'json', beforeSend: function() { $('#loadingSuggestedCat_'+id).show(); addCount(); }, success: function(data) { var html_inj = ''; if (data.error == false && data.data) { var i = 1; $.each(data.data, function(key,val) { if (val.percent != 0) { html_inj += '<div class="row form-group">'; html_inj += '<div class="col-sm-1 text-right">'; html_inj += '<input type="radio" id="suggested_category_'+id+'" name="suggested_'+id+'" value="'+val.id+'" onchange="categorySuggestedChange('+val.id+','+id+')"'; if (i == 1) { html_inj += ' checked="checked"'; categorySuggestedChange(val.id, id); } html_inj += '/>'; html_inj += '</div>'; html_inj += '<div class="col-sm-11">'; html_inj += '('+val.percent+'% match) '+val.name; html_inj += '</div>'; html_inj += '</div>'; } i++; }); html_inj += '<div class="row form-group">'; html_inj += '<div class="col-sm-1 text-right"><input type="radio" id="manual_use_category_'+id+'" name="suggested_'+id+'" value="" onchange="useManualCategory('+id+')" /></div>'; html_inj += '<div class="col-sm-11">{{ text_category_choose }}</div>'; html_inj += '</div>'; } else { html_inj += '<div class="row form-group">'; html_inj += '<div class="col-sm-1 text-right"><input type="radio" id="manual_use_category_'+id+'" name="suggested_'+id+'" value="" onchange="useManualCategory('+id+')" /></div>'; html_inj += '<div class="col-sm-11">{{ text_category_choose }}</div>'; html_inj += '</div>'; useManualCategory(id); } $('#suggestedCat_'+id).empty().html(html_inj); $('#loadingSuggestedCat_'+id).hide(); removeCount(); }, failure: function() { $('#loadingSuggestedCat_'+id).hide(); removeCount(); }, error: function() { $('#loadingSuggestedCat_'+id).hide(); removeCount(); } }); } function loadCategories(level, skip, id) { var parent = ''; if (level == 1) { parent = '' } else { var prevLevel = level - 1; parent = $('#catsSelect'+prevLevel+'_'+id).val(); } var countI = level; while(countI <= 6) { $('#catsSelect'+countI+'_'+id).hide().empty(); countI++; } $.ajax({ url: 'index.php?route=extension/openbay/ebay/getCategories&user_token={{ user_token }}&parent='+parent, type: 'GET', dataType: 'json', beforeSend: function() { $('#imageLoading_'+id).show(); }, success: function(data) { if (data.items != null) { $('#catsSelect'+level+'_'+id).empty(); $('#catsSelect'+level+'_'+id).append('<option value="">-- SELECT --</option>'); $.each(data.cats, function(key, val) { if (val.CategoryID != parent) { $('#catsSelect'+level+'_'+id).append('<option value="'+val.CategoryID+'">'+val.CategoryName+'</option>'); } }); if (skip != true) { $('#finalCat_'+id).val(''); } $('#catsSelect'+level+'_'+id).show(); } else { if (data.error) { } else { $('#finalCat_'+id).val($('#catsSelect'+prevLevel+'_'+id).val()); getCategoryFeatures($('#catsSelect'+prevLevel+'_'+id).val(), id); } } $('#imageLoading_'+id).hide(); } }); } function getCategoryFeatures(cat, id) { itemFeatures(cat, id); $('#editCatalog_'+id).show(); $('#durationLoading_'+id).show(); $('#durationContainer_'+id).hide(); $('#conditionLoading_'+id).show(); $('#conditionContainer_'+id).hide(); $('#product_identifier_container_'+id).hide(); $('.product_identifier_required_'+id).val('0'); $.ajax({ url: 'index.php?route=extension/openbay/ebay/getCategoryFeatures&user_token={{ user_token }}&category='+cat, type: 'GET', dataType: 'json', beforeSend: function() { addCount(); }, success: function(data) { if (data.error == false) { var html_inj = ''; listingDuration(data.data.durations, id); if (data.data.conditions) { $.each(data.data.conditions, function(key, val) { html_inj += '<option value='+val.id+'>'+val.name+'</option>'; }); if (html_inj == '') { $('#conditionRow_'+id).empty(); $('#conditionContainer_'+id).hide(); $('#conditionLoading_'+id).hide(); } else { $('#conditionRow_'+id).empty().html(html_inj); $('#conditionContainer_'+id).show(); $('#conditionLoading_'+id).hide(); } } if (data.data.ean_identifier_requirement != '') { $('#product_identifier_container_'+id).show(); $('#product_identifier_ean_container_'+id).show(); if (data.data.ean_identifier_requirement == 'Required') { $('#identifier_ean_required_'+id).val(1); } } if (data.data.isbn_identifier_requirement != '') { $('#product_identifier_container_'+id).show(); $('#product_identifier_isbn_container_'+id).show(); if (data.data.isbn_identifier_requirement == 'Required') { $('#identifier_isbn_required_'+id).val(1); } } if (data.data.upc_identifier_requirement != '') { $('#product_identifier_container_'+id).show(); $('#product_identifier_upc_container_'+id).show(); if (data.data.upc_identifier_requirement == 'Required') { $('#identifier_upc_required_'+id).val(1); } } } else { alert(data.msg); } removeCount(); }, failure: function() { removeCount(); }, error: function() { removeCount(); } }); } function itemFeatures(category_id, id) { $('#editFeature_'+id).hide(); var product_id = $('#product-id-' + id).val(); $.ajax({ url: 'index.php?route=extension/openbay/ebay/getEbayCategorySpecifics&user_token={{ user_token }}&category_id=' + category_id + '&product_id=' + product_id, type: 'GET', dataType: 'json', beforeSend: function() { addCount(); }, success: function(data) { if (data.error == false) { $('#feature-data-' + id).empty(); var html_inj = ''; var html_inj2 = ''; var show_other = 0; var show_other_value = ''; if (data.data) { html_inj = ''; html_inj += '<div class="container-fluid">'; html_inj += '<div class="panel panel-default">'; html_inj += '<div class="panel-body">'; html_inj += '<div class="well">'; html_inj += '<div class="row">'; $.each(data.data, function(option_specific_key, option_specific_value) { html_inj2 = ''; html_inj += '<div class="row form-group">'; html_inj += '<label class="col-sm-2 control-label">'+option_specific_value.name+'</label>'; html_inj += '<div class="col-sm-10">'; if (("options" in option_specific_value) && (option_specific_value.validation.max_values == 1)) { // matched_value_key in option_specific_value if ("matched_value_key" in option_specific_value) { $.each(option_specific_value.options, function(option_key, option) { if (option_specific_value.matched_value_key == option_key) { html_inj2 += '<option value="' + option + '" selected>' + option + '</option>'; } else { html_inj2 += '<option value="' + option + '">' + option + '</option>'; } }); } else { html_inj2 += '<option disabled selected>{{ text_select }}</option>'; $.each(option_specific_value.options, function(option_key, option) { html_inj2 += '<option value="' + option + '">' + option + '</option>'; }); } show_other = false; show_other_value = ''; if (option_specific_value.validation.selection_mode == 'FreeText') { if (option_specific_value.unmatched_value != '') { html_inj2 += '<option value="Other" selected>{{ text_other }}</option>'; show_other = true; show_other_value = option_specific_value.unmatched_value; } else { html_inj2 += '<option value="Other">{{ text_other }}</option>'; } } html_inj += '<div class="row">'; html_inj += '<div class="col-sm-7">'; html_inj += '<select name="feat[' + option_specific_value.name + ']" class="openbay_data_' + id + ' form-control" id="spec_sel_' + id + '" onchange="toggleSpecOther(' + id + ');">' + html_inj2 + '</select>'; html_inj += '</div>'; if (show_other == true) { html_inj += '<div class="col-sm-5" id="spec_' + id + '_other">'; } else { html_inj += '<div class="col-sm-5" id="spec_' + id + '_other" style="display:none;">'; } html_inj += '<input placeholder="{{ text_other }}" type="text" name="featother[' + option_specific_value.name + ']" class="form-control openbay_data_' + id + '" value="' + show_other_value + '"/>'; html_inj += '</div>'; html_inj += '</div>'; } else if (("options" in option_specific_value) && (option_specific_value.validation.max_values > 1)) { html_inj += '<div class="row">'; $.each(option_specific_value.options, function(option_key, option) { html_inj += '<div class="col-sm-2">'; html_inj += '<label class="checkbox-inline">'; html_inj += '<input type="checkbox" name="feat[' + option_specific_value.name + '][]" value="' + option + '" class="openbay_data_' + id + '" /> ' + option; html_inj += '</label>'; html_inj += '</div>'; }); html_inj += '</div>'; } else { html_inj += '<div class="row">'; html_inj += '<div class="col-sm-7">'; html_inj += '<input type="text" name="feat[' + option_specific_value.name + ']" class="openbay_data_' + id + ' form-control col-sm-6" value="' + option_specific_value.unmatched_value + '" />'; html_inj += '</div>'; html_inj += '</div>'; } html_inj += '</div>'; html_inj += '</div>'; }); html_inj += '</div>'; html_inj += '</div>'; html_inj += '</div>'; html_inj += '</div>'; html_inj += '</div>'; $('#feature-data-'+id).append(html_inj); } else { $('#feature-data-'+id).text('None'); } } else { alert(data.msg); } $('#editFeature_'+id).show(); removeCount(); }, failure: function() { removeCount(); }, error: function() { removeCount(); } }); } function toggleSpecOther(id) { var selectVal = $('#spec_sel_'+id).val(); if (selectVal == 'Other') { $('#spec_'+id+'_other').show(); } else { $('#spec_'+id+'_other').hide(); } } function searchEbayCatalog(id) { var qry = $('#catalog_search_'+id).val(); var cat = $('#finalCat_'+id).val(); var html = ''; $('#catalog-results-'+id).empty().hide(); if (qry == '') { $('#catalog_search_'+id).before('<div class="alert alert-danger" id="catalog_search_'+id+'_error"><i class="fa fa-exclamation-circle"></i> {{ text_search_text }}</div>'); } else { $.ajax({ url: 'index.php?route=extension/openbay/ebay/searchEbayCatalog&user_token={{ user_token }}', type: 'POST', dataType: 'json', data: { category_id: cat, page: 1, search: qry }, beforeSend: function() { $('#catalog_search_'+id+'_error').remove(); $('#button-catalog-search-'+id).empty().html('<i class="fa fa-cog fa-lg fa-spin"></i>').attr('disabled','disabled'); }, success: function(data) { if (data.error == false) { if (data.results > 0) { data.products = $.makeArray(data.products); $.each(data.products, function(key, val) { html = ''; html += '<div class="well">'; html += '<div class="row">'; html += '<div class="col-sm-1">'; html += '<input type="radio" class="openbay_data_'+id+'" name="catalog_epid_'+id+'" value="'+val.productIdentifier.ePID+'" />'; html += '</div>'; html += '<div class="col-sm-2 text-center">'; if (typeof(val.stockPhotoURL) != "undefined" && val.stockPhotoURL !== null) { html += '<img class="img-thumbnail" src="'+val.stockPhotoURL.thumbnail.value+'"/>'; } else { html += '<span class="img-thumbnail"><i class="fa fa-camera fa-5x"></i></span>'; } html += '</div>'; html += '<div class="col-sm-9">'; html += '<p>'+val.productDetails.value.text.value+'</p>'; html += '</div>'; html += '</div>'; html += '</div>'; $('#catalog-results-'+id).append(html).show(); }); } else { $('#catalog-results-'+id).append('<div class="alert alert-warning"><i class="fa fa-warning"></i> {{ text_catalog_no_products }}</div>').show(); } } else { $('#catalog-results-'+id).append('<div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> '+data.error_message+'</div>').show(); } }, complete: function() { $('#button-catalog-search-'+id).empty().html('<i class="fa fa-lg fa-search"></i> {{ text_search }}').removeAttr('disabled'); }, failure: function() { $('#catalog-results-'+id).append('{{ text_search_failed }}'); }, error: function() { $('#catalog-results-'+id).append('{{ text_search_failed }}'); } }); } } function listingDuration(data, id) { var lang = new Array(); var listingDefault = '{{ default.defaults.listing_duration }}'; lang["Days_1"] = '1 Day'; lang["Days_3"] = '3 Days'; lang["Days_5"] = '5 Days'; lang["Days_7"] = '7 Days'; lang["Days_10"] = '10 Days'; lang["Days_30"] = '30 Days'; lang["GTC"] = 'GTC'; html_inj = ''; $.each(data, function(key, val) { html_inj += '<option value="'+val+'"'; if (val == listingDefault) { html_inj += ' selected="selected"';} html_inj += '>'+lang[val]+'</option>'; }); $('#durationRow_'+id).empty().html(html_inj); $('#durationLoading_'+id).hide(); $('#durationContainer_'+id).show(); } function categorySuggestedChange(val, id) { $('#cSelections_'+id).hide(); loadCategories(1, true, id); $('#finalCat_'+id).val(val); getCategoryFeatures(val, id); } $('#button-verify').bind('click', function() { var id = ''; var name = ''; var processedData = ''; overlay('overlay-loading'); $('#button-verify').hide(); $('#button-edit').show(); $('#button-submit').show(); $.each($('.product_id'), function(i) { id = $(this).val(); name = $('#title_'+$(this).val()).val(); $('#product_messages_'+id).html('<div class="alert alert-info"><i class="fa fa-cog fa-lg fa-spin"></i> {{ text_loading }}</div>').show(); $('.product_content_'+id).hide(); $('#product_title_'+id).text(name).show(); $('#catalog_epid_'+id).val($("input[type='radio'][name='catalog_epid_"+id+"']:checked").val()); processedData = $(".openbay_data_"+id).serialize(); $.ajax({ url: 'index.php?route=extension/openbay/ebay/verifyBulk&user_token={{ user_token }}&i='+id, type: 'POST', dataType: 'json', data: processedData, beforeSend: function() { addCount(); }, success: function(data) { var html = ''; if (data.ack != 'Failure') { var fee_total = ''; var currency = ''; $('#p_row_buttons_'+data.i).prepend('<a class="btn btn-primary button-preview" target="_BLANK" href="'+data.preview+'">{{ text_preview }}</a>'); if (data.errors) { $.each(data.errors, function(k,v) { html += '<div class="alert alert-warning"><i class="fa fa-warning"></i> '+v+'</div>'; }); } $.each(data.fees, function(key, val) { if (val.Fee != 0.0 && val.Name != 'ListingFee') { fee_total = fee_total + parseFloat(val.Fee); } currency = val.Cur; }); html += '<div class="alert alert-info"><i class="fa fa-info-circle"></i> {{ text_total_fee }} '+currency+' '+parseFloat(fee_total).toFixed(2)+'</div>'; } else { $.each(data.errors, function(k,v) { html += '<div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> '+v+'</div>'; }); } $('#product_messages_'+data.i).html(html); removeCount(); }, failure: function() { removeCount(); alert('{{ text_error_reverify }}'); }, error: function() { removeCount(); alert('{{ text_error_reverify }}'); } }); }); }); $('#button-edit').bind('click', function() { var id = ''; var name = ''; $('#button-verify').show(); $('#button-edit').hide(); $('#button-submit').hide(); $('.button-preview').remove(); $('.button-listing-view').remove(); $.each($('.product_id'), function(i) { id = $(this).val(); name = $('#title_'+$(this).val()).val(); $('#product_messages_'+$(this).val()).empty().hide(); $('.product_content_'+$(this).val()).show(); $('#product_title_'+$(this).val()).text(name).hide(); }); }); $('#button-submit').bind('click', function() { var confirm_box = confirm('{{ text_ajax_confirm_listing }}'); if (confirm_box) { var id = ''; var name = ''; var processedData = ''; overlay('overlay-loading'); $('#button-verify').hide(); $('#button-edit').hide(); $('#button-submit').hide(); $('.button-preview').remove(); $.each($('.product_id'), function(i) { id = $(this).val(); name = $('#title_'+$(this).val()).val(); $('.product_content_'+$(this).val()).hide(); $('#product_title_'+$(this).val()).text(name).show(); $.ajax({ url: 'index.php?route=extension/openbay/ebay/listItemBulk&user_token={{ user_token }}&i='+id, type: 'POST', dataType: 'json', data: $(".openbay_data_"+id).serialize(), beforeSend: function() { addCount(); }, success: function(data) { var html = ''; if (data.ack != 'Failure') { if (data.errors) { $.each(data.errors, function(k,v) { html += '<div class="alert alert-warning"><i class="fa fa-warning"></i> '+v+'</div>'; }); } $('#p_row_buttons_'+data.i).prepend('<a class="btn btn-primary button-listing-view" href="{{ listing_link }}'+data.itemid+'" target="_BLANK">{{ button_view }}</a>'); html += '<div class="alert alert-success alert-dismissible"><i class="fa fa-check-circle"></i> {{ text_listed }}'+data.itemid+'</div>'; } else { $.each(data.errors, function(k,v) { html += '<div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> '+v+'</div>'; }); } $('#product_messages_'+data.i).html(html).show(); removeCount(); }, failure: function() { removeCount(); }, error: function() { removeCount(); } }); }); } }); function identifierNotRequired(id) { var not_required_text = "{{ setting.product_details.product_identifier_unavailable_text }}"; if ($('#identifier_not_required_' + id + ':checked').length == 1) { if ($('#identifier_ean_required_' + id).val() == 1) { $('#identifier_ean_' + id).val(not_required_text); } if ($('#identifier_isbn_required_' + id).val() == 1) { $('#identifier_isbn_' + id).val(not_required_text); } if ($('#identifier_upc_required_' + id).val() == 1) { $('#identifier_upc_' + id).val(not_required_text); } } else { if ($('#identifier_ean_required_' + id).val() == 1) { $('#identifier_ean_' + id).val($('#identifier_ean_original_' + id).val()); } if ($('#identifier_isbn_required_' + id).val() == 1) { $('#identifier_isbn_' + id).val($('#identifier_isbn_original_' + id).val()); } if ($('#identifier_upc_required_' + id).val() == 1) { $('#identifier_upc_' + id).val($('#identifier_upc_original_' + id).val()); } } } function showFeatures(id) { overlay('overlay-feature-'+id); } function showCatalog(id) { overlay('overlay-catalog-'+id); } function showProfiles(id) { overlay('overlay-profile-'+id); } function showCategory(id) { overlay('overlay-category-'+id); } function genericProfileChange(id) { modifyPrices(id); } </script> {{ footer }}