diff --git a/layouts/v7/modules/Settings/ModuleManager/ImportUserModuleStep1.tpl b/layouts/v7/modules/Settings/ModuleManager/ImportUserModuleStep1.tpl index 13381134496c99a03692e20c68397e2a27fa6062..c95c6eafbae4e73515249ba7f6dd33d89b11fa95 100644 --- a/layouts/v7/modules/Settings/ModuleManager/ImportUserModuleStep1.tpl +++ b/layouts/v7/modules/Settings/ModuleManager/ImportUserModuleStep1.tpl @@ -28,7 +28,7 @@ <div> <input type="checkbox" name="acceptDisclaimer" /> <b>{vtranslate('LBL_ACCEPT_WITH_THE_DISCLAIMER', $QUALIFIED_MODULE)}</b> </div> - <div style="margin-top: 15px;"> + <div style="margin-top: 15px; display: none;"> <span name="proceedInstallation" class="fileUploadBtn btn btn-primary"> <span><i class="fa fa-laptop"></i> {vtranslate('Select from My Computer', $MODULE)}</span> <input type="file" name="moduleZip" id="moduleZip" size="80px" data-validation-engine="validate[required, funcCall[Vtiger_Base_Validator_Js.invokeValidation]]" @@ -49,4 +49,4 @@ </div> </form> </div> -{/strip} \ No newline at end of file +{/strip} diff --git a/layouts/v7/modules/Settings/ModuleManager/resources/ModuleManager.js b/layouts/v7/modules/Settings/ModuleManager/resources/ModuleManager.js index 1755ccd9f575ca9c5058809d9788d9407f745d44..5bb6749fb149959cd5a89b74be0394d853d5a735 100644 --- a/layouts/v7/modules/Settings/ModuleManager/resources/ModuleManager.js +++ b/layouts/v7/modules/Settings/ModuleManager/resources/ModuleManager.js @@ -42,29 +42,35 @@ Vtiger_Index_Js('Settings_ModuleManager_List_Js', { return aDeferred.promise(); }, registerEventsForImportFromZip: function (container) { + // Forcefully disable file-input and submit + var fileuploadWrap = container.find('.fileUploadBtn').parent(); + var importFromZip = container.find('[name="importFromZip"]'); + var moduleZip = container.find('[name="moduleZip"]'); + var fileDetails = jQuery('#moduleFileDetails'); + + fileuploadWrap.hide(); + importFromZip.attr('disabled', 'disabled'); + container.on('change', '[name="acceptDisclaimer"]', function (e) { var element = jQuery(e.currentTarget); - var importFromZip = container.find('[name="importFromZip"]'); - var uploadedFile = jQuery('#moduleZip').val(); - if (uploadedFile) { - jQuery('#moduleFileDetails').attr('title', uploadedFile).html(uploadedFile); - } - var disabledStatus = importFromZip.attr('disabled'); - if ((element.is(':checked')) && (uploadedFile != '')) { - if (typeof disabledStatus != "undefined") { - importFromZip.removeAttr('disabled'); - } + if (element.is(':checked')) { + fileuploadWrap.show(); } else { - if (typeof disabledStatus == "undefined") { - importFromZip.attr('disabled', "disabled"); - } + fileuploadWrap.hide(); + importFromZip.attr('disabled', 'disabled'); + fileDetails.removeAttr('title').html(''); + moduleZip.val(''); } }); container.on('change', '[name="moduleZip"]', function (e) { + var uploadedFile = moduleZip.val(); + if (uploadedFile) { + jQuery('#moduleFileDetails').attr('title', uploadedFile).html(uploadedFile); + } var acceptDisclaimer = container.find('[name="acceptDisclaimer"]'); - if (!acceptDisclaimer.is(':checked')) { - acceptDisclaimer.trigger('click'); + if (acceptDisclaimer.is(':checked') && uploadedFile) { + importFromZip.removeAttr('disabled'); } });