console.log(); let importer = {}; Dropzone.options.importerDropZone = { init: function () { this.on("removedfile", function (file) { $('.for-csv').fadeOut('fast'); $('.step2-next-btn').prop('disabled', true); }); }, paramName: "importer-file", // The name that will be used to transfer the file maxFilesize: 2, // MB acceptedFiles: '.csv,.xls', maxFiles: 1, addRemoveLinks: true, dictInvalidFileType: '{{langmod.LABIMP41}}', dictMaxFilesExceeded: '{{langmod.LABIMP42}}', dictDefaultMessage: '{{langmod.LABIMP43}} ({{langmod.LABIMP44}})', success: function (file, response) { if (response.result !== undefined && response.result === 'success') { if (file.type === 'text/csv') { $('.for-csv').fadeIn('fast'); } else { $('.for-csv').fadeOut('fast'); } console.log(response); importer.identifier = response.identifier; // $('#_file_identifier').val(response.identifier); // importer.identifier = response.identifier; // $('#_file_identifier').val('response.identifier'); $('.step2-next-btn').prop('disabled', false); } else { let message_error = '{{langmod.LABIMP45}}'; if (response.hasOwnProperty('code')) { if (response.code == 2) { message_error = '{{langmod.LABCLAM59}}'; } else if (response.code == 1) { message_error = '{{langmod.LABIMP46}}'; } } noti_bubble(message_error, '{{langmod.LABIMP47}}', 'error', false, false, '5000', true); this.removeAllFiles(true); } } }; let step2_buttons = ''; let step3_buttons = ''; let last_step_buttons = ''; let uchip = null; $(document).ready(function () { {% if mod.isie == 1 %} uchip = new $.Uchip(); {% else %} uchip = new Uchip(); {% endif %} importer.first_row = false; importer.promote = false; importer.alias_append = false; $('.for-csv').fadeOut('fast'); // console.log('step2_buttons', step2_buttons); step2_buttons = $('#_step_2_buttons').html(); step3_buttons = $('#_step_3_buttons').html(); last_step_buttons = $('#_step_4_buttons').html(); $('#_promote_domain_selector_').select2(); $('#_promote_domain_selector_').on('select2:select', function (e) { var data = e.params.data; importer.promote_to = data.id; if (data.id != '') { $('#select2-_promote_domain_selector_-container').addClass('val-selected'); } else { $('#select2-_promote_domain_selector_-container').removeClass('val-selected'); } }); // console.log('step2_buttons', step2_buttons); $('[data-toggle="tooltip"]').tooltip(); }); function changeFirstCol(elem) { if ($(elem).is(':checked')) { importer.first_row = $(elem).val() === "yes"; } } function changeAppendAlias(elem) { if ($(elem).is(':checked')) { importer.alias_append = $(elem).val() === "yes"; } } function promoteCheck(elem) { if ($(elem).is(':checked')) { importer.promote = $(elem).val() === "yes"; $('#_promote_domain_selector_wrapper').slideUp('fast'); } if (importer.promote === true) { $('#_promote_domain_selector_wrapper').slideDown('fast'); } } function browseFile() { $('#importer-drop-zone').trigger('click'); } function changeDelimiter(elem) { let other_delimiter = $('#_other_delimiter'); if ($(elem).val() === '*') { other_delimiter.removeClass('error'); other_delimiter.fadeIn('fast'); other_delimiter.focus(); } else { other_delimiter.fadeOut('fast'); } } function gtoStep1() { let active_elem = $('.importer-step-ibox.active-step'); let title = $('#_step_title_container'); title.fadeOut('fast'); $('#_fr_ch_no').prop('checked', true); $('#_promote_no').prop('checked', true); $('#_promote_domain_selector_wrapper').hide(); $('#_sel_delim_column').val(','); $('#_promote_domain_selector_').val(''); $('#_promote_domain_selector_').select2().trigger('change'); Dropzone.forElement("#importer-drop-zone").removeAllFiles(true); $(active_elem).slideUp('fast', function () { $('.importer-main-flex').removeClass('step-extended'); let httml_title = '

{{langmod.LABIMP2}}: {{langmod.LABIMP3}}

'; title.html(httml_title); title.fadeIn('fast'); $('.step-footer').fadeOut('fast'); $('#_how_to_use').slideDown('fast'); $('.importer-step1').slideDown('fast', function () { active_elem.removeClass('active-step'); $('.importer-step1').addClass('active-step'); }); }); } function gtoStep2(type) { let other_delimiter = $('#_other_delimiter'); importer.type = type === undefined ? importer.type : type; // $('#_fr_ch_no').prop('checked', true); // $('#_promote_no').prop('checked', true); $('#_importer_type_file').text(type === 'accounts' ? 'accounts' : 'forwarders'); let active_elem = $('.importer-step-ibox.active-step'); let title = $('#_step_title_container'); title.fadeOut('fast'); $('#_how_to_use').slideUp('fast'); other_delimiter.removeClass('error'); other_delimiter.hide(); $('.btn-import-pass').hide(); $('#_importer_gen_pass_').val('no'); other_delimiter.val(''); // $('#_promote_domain_selector_wrapper').hide(); $('#_promote_domain_selector_wrapper').removeClass('error-field'); // $('#_sel_delim_column').val(','); // $('#_promote_domain_selector_').val(''); // $('#_promote_domain_selector_').select2().trigger('change'); $(active_elem).slideUp('fast', function () { $('.importer-main-flex').addClass('step-extended'); $('.step-footer-content').html(step2_buttons); if (importer.type === 'accounts') { $('.just-account').show(); $('.just-aliases').hide() } else { $('.just-account').hide(); $('.just-aliases').show(); } $('.step-footer').fadeIn('fast'); //Dropzone.forElement("#importer-drop-zone").removeAllFiles(true); //RENIICIARCIALAR DROPZONE let httml_title = '

{{langmod.LABIMP48}}: {{langmod.LABIMP49}}

' + '
' + step2_buttons + '
'; title.html(httml_title); if (Dropzone.forElement("#importer-drop-zone").getAcceptedFiles().length > 0) { $('.step2-next-btn').prop('disabled', false); } title.fadeIn('fast'); $('.importer-step2').slideDown('fast', function () { active_elem.removeClass('active-step'); $('.importer-step2').addClass('active-step'); }); }); } function validStep2() { let sel_elem = $('#_sel_delim_column'); let other_delim = $('#_other_delimiter'); let valid = true; if (sel_elem.is(':visible') && sel_elem.val() === '*' && other_delim.val() === '') { other_delim.addClass('error'); other_delim.focus(); valid = false; } else { other_delim.removeClass('error'); } if (importer.promote === true && (importer.promote_to === undefined || importer.promote_to === '')) { $('#_promote_domain_selector_wrapper').addClass('error-field'); valid = false; } else { $('#_promote_domain_selector_wrapper').removeClass('error-field'); } if (!valid) { noti_bubble('{{langmod.LABIMP50}}', '{{langmod.LABIMP47}}', 'error', false, false, '5000', true); return false; } importer.genpass = false; let autopass_value = $('#_importer_gen_pass_').val(); if (autopass_value !== 'no') { importer.genpass = { occurence: autopass_value, length: $('#_importer_pass_length_').val(), type: $('#_importer_pass_type').val(), } } return true; } function gtoStep3() { let sel_elem = $('#_sel_delim_column'); let other_delim = $('#_other_delimiter'); if (!validStep2()) { return } if (sel_elem.is(':visible') && sel_elem.val() === '*' && other_delim.val() === '') { noti_bubble('{{langmod.LABIMP51}}', '{{langmod.LABIMP47}}', 'error', false, false, '5000', true); other_delim.addClass('error'); other_delim.focus(); return false; } importer.delim = sel_elem.is(':visible') && sel_elem.val() === '*' ? other_delim.val() : sel_elem.val(); let active_elem = $('.importer-step-ibox.active-step'); let title = $('#_step_title_container'); title.fadeOut('fast'); $('.step-footer-content').html(step3_buttons); $('#_screen_step_3').hide(); $('#_loader_step_3').show(); $(active_elem).slideUp('fast', function () { analizeFile(); let httml_title = '

{{langmod.LABIMP52}}: {{langmod.LABIMP53}}

' + '
' + step3_buttons + '
'; title.html(httml_title); title.fadeIn('fast'); $('.importer-step3').slideDown('fast', function () { active_elem.removeClass('active-step'); $('.importer-step3').addClass('active-step'); }); }); } function lastStep(result) { noti_bubble('{{langmod.LABIMP54}}', '{{langmod.LABIMP55}}', 'success', false, false, '5500', true); $('.step-footer-content').html(last_step_buttons); $('#_step_title_container').html('

{{langmod.LABIMP56}} {{langmod.LABIMP57}}

' + '
' + last_step_buttons + '
'); uchip.slideToggle('#_screen_step_3', '#_loader_step_3', function () { renderLastStep(result); }); } function importResultParser(rescode) { let reasons = [ '{{langmod.LABIMP58}}', '{{langmod.LABIMP59}}', ]; let html = ' {{langmod.LABIMP60}}'; if (rescode != 0) { let reason = reasons[rescode - 1] !== undefined ? reasons[rescode - 1] : '{{langmod.LABIMP61}}'; html = '' + ' ' + reason + ''; } return html; } function downloadLog() { window.location.href = "?module=email_importer&acc=downloadlog"; } function renderLastStep(result) { let html_records = ''; if (importer.type === 'accounts') { result.added.forEach(function (record) { html_records += '
' + '
' + '' + record.account + '' + '
' + '
' + '' + (record.password === undefined ? '' : record.password) + '' + '
' + '
' + importResultParser(record.code) + '
' + '
'; }); } else { result.added.forEach(function (record) { html_records += '
' + '
' + '' + record.account + '' + '
' + '
' + '' + record.redirects + '' + '
' + '
' + importResultParser(record.code) + '
' + '
'; }); } let html = '
' + '
' + '
' + '

{{langmod.LABIMP62}}

' + (result.auto_generated === true ? '
' + '{{langmod.LABIMP63}}' + '
' : '' ) + '
' + '
' + '
' + '
' + (importer.type === 'accounts' ? '{{langmod.LABIMP64}}' : '{{langmod.LABIMP65}}') + '
' + '
' + (importer.type === 'accounts' ? '{{langmod.LABIMP66}}' : '{{langmod.LABIMP67}}') + '
' + '
Result
' + '
' + html_records + '
'; $('#_screen_step_3').html(html); } function renderAnalysis(analysis) { $('.step-3-btn-back').prop('disabled', false); if (analysis.toadd !== undefined && analysis.toadd.length > 0) { $('.step-3-btn').prop('disabled', false); } let qty = analysis.toadd.length; if (importer.type != 'accounts'){ qty = analysis.toadd.filter(function(item){ return item.append !== true; }); } let quota_message = ''; if (analysis.available < 1 && qty > 0) { quota_message = '
' + (importer.type == "accounts" ? '{{langmod.LABIMP107}}' : '{{langmod.LABIMP110}}') + '
'; } else if (qty > analysis.available) { quota_message = '
' + '{{langmod.LABIMP74}} ' + (importer.type == "accounts" ? '{{langmod.LABIMP69}}' : '{{langmod.LABIMP70}}') + ' {{langmod.LABIMP75}} ' + analysis.available + ' {{langmod.LABIMP76}}' + '
'; } console.log('importer.type', importer.type); let html = '
' + '
' + '
' + '

{{langmod.LABIMP68}} ' + (importer.type == "accounts" ? '{{langmod.LABIMP69}}' : '{{langmod.LABIMP70}}') + '

' + '
' + '
' + '
' + '
' + '{{langmod.LABIMP71}}:' + '' + analysis.readed + '' + '
' + '
' + '{{langmod.LABIMP72}}:' + '' + analysis.toadd.length + '' + '
' + '
' + '{{langmod.LABIMP73}}:' + '' + analysis.rejecteds.length + '' + '
' + '
' + quota_message + '
' + '
' + '
' + '' + '
' + '
' + '
' + renderAcceptedList(analysis.toadd) + '
' + '
' + '
' + '
' + renderRejectedList(analysis.rejecteds) + '
' + '
' + '
' + '
' + '
' + '
' + '
'; $('#_screen_step_3').html(html); $('#_importer_results_tabs_ li a').click(function (e) { $('#_importer_results_tabs_ li a.active').removeClass('active') $(this).addClass('active') }) uchip.slideToggle('#_screen_step_3', '#_loader_step_3'); } function accountRejectedReason(code) { let codes = [ '{{langmod.LABIMP79}}', '{{langmod.LABIMP80}}', '{{langmod.LABIMP81}}', '{{langmod.LABIMP82}}', '{{langmod.LABIMP83}}', '{{langmod.LABIMP84}}', '{{langmod.LABIMP85}}', '{{langmod.LABIMP86}}', '{{langmod.LABIMP87}}', ]; return codes[code - 1] !== undefined ? codes[code - 1] : '{{langmod.LABIMP61}}'; } function aliasRejectedReason(code) { let codes = [ '{{langmod.LABIMP79}}', '{{langmod.LABIMP88}}', '{{langmod.LABIMP81}}', '{{langmod.LABIMP89}}', '{{langmod.LABIMP90}}', '{{langmod.LABIMP87}}', ]; return codes[code - 1] !== undefined ? codes[code - 1] : '{{langmod.LABIMP61}}'; } function renderRejectedList(rejected) { let html_records = ''; if (rejected.length === 0) { return '
' + '

{{langmod.LABIMP91}}

' + '
'; } if (importer.type === 'accounts') { rejected.forEach(function (record) { html_records += '
' + '
' + '' + record.line + '' + '
' + '
' + '' + record.account + '' + '
' + '
' + ' ' + accountRejectedReason(record.reason) + '' + '
' + '
'; }); } else { rejected.forEach(function (record) { html_records += '
' + '
' + '' + record.line + '' + '
' + '
' + '' + record.account + '' + '
' + '
' + ' ' + aliasRejectedReason(record.reason) + '' + '
' + '
'; }); } let html = '
' + '
' + (importer.type === 'accounts' ? '
' + '{{langmod.LABIMP92}}' + '
' + '
' + '{{langmod.LABIMP93}}' + '
' + '
' + '{{langmod.LABIMP94}}' + '
' : '
' + '{{langmod.LABIMP92}}' + '
' + '
' + '{{langmod.LABIMP95}}' + '
' + '
' + '{{langmod.LABIMP94}}' + '
' ) + '
' + html_records + '
'; return html; } function proccessFile() { uchip.handleButton('.step-3-btn-back', 'fa-chevron-left'); uchip.handleButton('.step-3-btn', 'fa-cogs'); $('#_step_3_title').html('{{langmod.LABIMP96}}'); uchip.slideToggle('#_loader_step_3', '#_screen_step_3', function () { let importer_json = encodeURIComponent(JSON.stringify(importer)); uchip.call('module=email_importer&acc=proccessfile', { data: 'importer=' + importer_json, callback: function (response) { if (response.hasOwnProperty('result') && response.result === 'success') { lastStep(response.analysis); } else { let message_error = '{{langmod.LABIMP97}}'; if (response.hasOwnProperty('code')) { if (response.code == 2) { message_error = '{{langmod.LABIMP46}}'; } else if (response.code == 1) { message_error = '{{langmod.LABIMP98}}'; } } noti_bubble(message_error, '{{langmod.LABIMP47}}', 'error', false, false, '4000', true); uchip.handleButton('.step-3-btn-back', 'fa-chevron-left', true); uchip.handleButton('.step-3-btn', 'fa-cogs', true); uchip.slideToggle('#_screen_step_3', '#_loader_step_3'); } } }); }); } function renderAcceptedList(toadd) { let html_records = ''; if (toadd.length === 0) { return '
' + '

{{langmod.LABIMP99}}

' + '
'; } if (importer.type === 'accounts') { toadd.forEach(function (record) { html_records += '
' + '
' + '' + record.line + '' + '
' + '
' + '' + record.account + '' + '
' + '
' + (record.password === 'CWP_AUTOGEN' ? ' {{langmod.LABIMP100}}' : '' + record.password + '') + '
' + '
' + '' + record.quota + '' + '
' + '
'; }); } else { toadd.forEach(function (record) { html_records += '
' + '
' + '' + record.line + '' + '
' + '
' + '' + record.account + '' + '
' + '
' + '' + record.redirects + (record.hasOwnProperty('append') && record.append == true ? ' Existing record, add redirect.' : '') +'' + '
' + '
'; }); } let html = '
' + '
' + (importer.type === 'accounts' ? '
' + '{{langmod.LABIMP92}}' + '
' + '
' + '{{langmod.LABIMP93}}' + '
' + '
' + '{{langmod.LABIMP101}}' + '
' + '
' + '{{langmod.LABIMP102}}' + '
' : '
' + '{{langmod.LABIMP92}}' + '
' + '
' + '{{langmod.LABIMP95}}' + '
' + '
' + '{{langmod.LABIMP67}}' + '
' ) + '
' + html_records + '
'; return html; } function analizeFile() { let importer_json = encodeURIComponent(JSON.stringify(importer)); uchip.call('module=email_importer&acc=analizefile', { data: 'importer=' + importer_json, callback: function (response) { if (response.hasOwnProperty('result') && response.result === 'success') { renderAnalysis(response.analysis); } else { let message_error = '{{langmod.LABIMP104}}'; if (response.hasOwnProperty('code')) { if (response.code == 2) { message_error = '{{langmod.LABIMP46}}'; } else if (response.code == 1) { message_error = '{{langmod.LABIMP105}}'; } } noti_bubble(message_error, '{{langmod.LABIMP47}}', 'error', false, false, '4000', true); gtoStep2(importer.type) } } }); } function autoPassCheck(elem) { let val_checked = $(elem).val(); if (val_checked !== "no") { $('.btn-import-pass').fadeIn('fast'); } else { $('.btn-import-pass').fadeOut('fast'); } } function openPGOPT(type, second) { let divelem = type; if ($(divelem).is(':visible')) { $(divelem).slideUp('fast'); } else { $(divelem).slideDown('fast'); hideOnClickOutside(divelem, second); } } function hideOnClickOutside(selector, second) { let forhide = true; if (second === undefined) { second = '.show_options_button'; forhide = true; } function outsideClickListener(event) { $target = $(event.target); if (!$target.closest(selector).length && !$target.closest(second).length && $(selector).is(':visible')) { $(selector).slideUp('fast'); removeClickListener(); } } $('.btn-close-pass').unbind('click'); $('.btn-close-pass').click(function () { $(selector).slideUp('fast'); removeClickListener(); }); function removeClickListener() { document.removeEventListener('click', outsideClickListener) } document.addEventListener('click', outsideClickListener) }