diff --git a/languages/en_us/Documents.php b/languages/en_us/Documents.php index d12edd917ada4551a2537f14a3c2893fdd291682..439347eb505ce22c6b9827a5509059827bf86f14 100644 --- a/languages/en_us/Documents.php +++ b/languages/en_us/Documents.php @@ -93,6 +93,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'To %s', 'LBL_FROM_SERVICE' => 'From %s', 'LBL_CREATE_NEW' => 'Create New %s', + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'Please select a folder to move', ); $jsLanguageStrings = array( diff --git a/layouts/v7/modules/Documents/CreateDocument.tpl b/layouts/v7/modules/Documents/CreateDocument.tpl index 73520896fd7da7558e50f30c4d27463726731f9d..2528a075ea575a44dbeaf5320baabfb436af0493 100644 --- a/layouts/v7/modules/Documents/CreateDocument.tpl +++ b/layouts/v7/modules/Documents/CreateDocument.tpl @@ -9,7 +9,7 @@ {strip} <div class="modal-dialog modelContainer"> - <div class="modal-content"> + <div class="modal-content" style="width:675px;"> {assign var=HEADER_TITLE value={vtranslate('LBL_NEW_DOCUMENT', $MODULE)}} {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE} <div class="modal-body"> @@ -50,8 +50,8 @@ </tr> <tr> - <input type="hidden" name='filelocationtype' value="E" /> {if $FILE_LOCATION_TYPE eq 'W'} + <input type="hidden" name='filelocationtype' value="I" /> {assign var="FIELD_MODEL" value=$FIELD_MODELS['notecontent']} {if $FIELD_MODELS['notecontent']} <td class="fieldLabel col-lg-2"> @@ -67,6 +67,7 @@ </td> {/if} {else if $FILE_LOCATION_TYPE eq 'E'} + <input type="hidden" name='filelocationtype' value="E" /> {assign var="FIELD_MODEL" value=$FIELD_MODELS['filename']} <td class="fieldLabel col-lg-2"> <label class="muted pull-right"> diff --git a/layouts/v7/modules/Documents/MoveDocuments.tpl b/layouts/v7/modules/Documents/MoveDocuments.tpl index be7205c79eefa28b3d62451e8f1cd17cc9d96eac..e1975efc7a18964621c88b82a1e5c209ccce9f9b 100644 --- a/layouts/v7/modules/Documents/MoveDocuments.tpl +++ b/layouts/v7/modules/Documents/MoveDocuments.tpl @@ -8,7 +8,7 @@ ************************************************************************************} {* modules/Documents/views/MoveDocuments.php *} {strip} - <div class="modal-dialog modelContainer"> + <div class="modal-dialog modelContainer modal-content"> {assign var=HEADER_TITLE value={vtranslate('LBL_SELECT_A_FOLDER_TO_MOVE', $MODULE)}} {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE} <form class="form-horizontal contentsBackground" id="moveDocuments" method="post" action="index.php"> diff --git a/layouts/v7/modules/Documents/QuickCreate.tpl b/layouts/v7/modules/Documents/QuickCreate.tpl index 5ebf6442b9dd4192a88a2f478bde072f970e0c28..e81e59d6837b13023f8b5299ab79ddd82a6907de 100644 --- a/layouts/v7/modules/Documents/QuickCreate.tpl +++ b/layouts/v7/modules/Documents/QuickCreate.tpl @@ -11,116 +11,11 @@ {foreach key=index item=jsModel from=$SCRIPTS} <script type="{$jsModel->getType()}" src="{$jsModel->getSrc()}"></script> {/foreach} - - <div class="modal-dialog modal-lg"> - <div class="modal-content"> - {assign var=HEADER_TITLE value={vtranslate('LBL_QUICK_CREATE', $MODULE)}|cat:" "|cat:{vtranslate($SINGLE_MODULE, $MODULE)}} - {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE} - - <!-- Random number is used to make specific tab is opened --> - {assign var="RAND_NUMBER" value=rand()} - <div class="modal-body tabbable" style="padding:0px"> - <ul class="nav nav-pills" style="margin-bottom:0px;padding-left:5px"> - {foreach item=DOC_TYPE_DETAILS key=DOC_TYPE from=$DOC_TYPES} - <li class="{if $SELECTED_DOC_TYPE eq $DOC_TYPE}active{/if}"> - <a class="tab" href="javascript:void(0);" data-target=".{$DOC_TYPE}QuickCreateContents_{$RAND_NUMBER}" data-toggle="tab" data-tab-name="{$DOC_TYPE_DETAILS.tabName}">{vtranslate({$DOC_TYPE_DETAILS.label},$MODULE)}</a> - </li> - {/foreach} - </ul> - <div class="tab-content overflowVisible fieldsContainer"> - {foreach item=TYPE_DETAILS key=DOCUMENT_TYPE from=$QUICK_CREATE_CONTENTS} - <div class="{$DOCUMENT_TYPE}QuickCreateContents_{$RAND_NUMBER} tab-pane {if $DOCUMENT_TYPE eq $SELECTED_DOC_TYPE} active in {/if}fade"> - <form id="{$DOCUMENT_TYPE}_form" class="form-horizontal recordEditView" name="QuickCreate" method="post" action="index.php" enctype="multipart/form-data"> - {if !empty($PICKIST_DEPENDENCY_DATASOURCE)} - <input type="hidden" name="picklistDependency" value='{Vtiger_Util_Helper::toSafeHTML($PICKIST_DEPENDENCY_DATASOURCE)}' /> - {/if} - <div class="quickCreateContent" id="{$DOCUMENT_TYPE}QuickCreateContent"> - <input type="hidden" name="module" value="{$MODULE}"> - <input type="hidden" name="action" value="SaveAjax"> - <input type="hidden" name="document_source" value="Vtiger" /> - <input type="hidden" name="max_upload_limit" value="{$MAX_UPLOAD_LIMIT_BYTES}" /> - <input type="hidden" name="max_upload_limit_mb" value="{$MAX_UPLOAD_LIMIT_MB}" /> - {if $DOCUMENT_TYPE eq 'I' || $DOCUMENT_TYPE eq 'E'} - <input type="hidden" name='filelocationtype' value="{if $DOCUMENT_TYPE eq 'E'}E{else}I{/if}"> - {/if} - <div style='margin:18px;'> - <table class="massEditTable table no-border"> - <tr> - {assign var=COUNTER value=0} - {foreach key=FIELD_NAME item=FIELD_MODEL from=$TYPE_DETAILS name=blockfields} - {assign var="isReferenceField" value=$FIELD_MODEL->getFieldDataType()} - {assign var="refrenceList" value=$FIELD_MODEL->getReferenceList()} - {if $FIELD_MODEL->get('uitype') eq "19"} - {if $COUNTER eq '1'} - <td></td><td></td></tr><tr> - {assign var=COUNTER value=0} - {/if} - {/if} - {assign var="refrenceListCount" value=count($refrenceList)} - {if $COUNTER eq 2} - </tr><tr> - {assign var=COUNTER value=1} - {else} - {assign var=COUNTER value=$COUNTER+1} - {/if} - {if $FIELD_MODEL->get('label') eq 'File Name' && $DOCUMENT_TYPE neq 'E'} - {if $COUNTER eq 2} - <td></td><td></td></tr><tr> - {assign var=COUNTER value=1} - {/if} - {/if} - <td class="fieldLabel alignMiddle"> - <label class="muted pull-right"> - {if {$isReferenceField} eq "reference"} - {if $refrenceListCount > 1} - <select style="width: 150px;" class="chzn-select referenceModulesList"> - <optgroup> - {foreach key=index item=value from=$refrenceList} - <option value="{$value}">{vtranslate($value, $value)}</option> - {/foreach} - </optgroup> - </select> - {else} - {vtranslate($FIELD_MODEL->get('label'), $MODULE)} - {/if} - {vtranslate($FIELD_MODEL->get('label'), $MODULE)} - {else} - {vtranslate($FIELD_MODEL->get('label'), $MODULE)} - {/if} - {if $FIELD_MODEL->isMandatory() eq true} <span class="redColor">*</span> {/if} - </label> - </td> - <td class="fieldValue" {if $FIELD_MODEL->get('uitype') eq '19'} {if $FIELD_MODEL->get('label') eq 'Note'}style="position:relative;max-height:300px;max-width: 300px;"{/if} colspan="3" {assign var=COUNTER value=$COUNTER+1} {/if}> - {include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)} - {if $FIELD_MODEL->get('label') eq 'File Name' && $DOCUMENT_TYPE neq 'E'} - {if $COUNTER eq 2} - </tr><tr> - {assign var=COUNTER value=1} - {else} - {assign var=COUNTER value=$COUNTER+1} - {/if} - <td colspan="2"> - <div id="dragandrophandler" class="dragdrop-dotted"><strong>{vtranslate('LBL_DRAG_&_DROP_FILE_HERE', $MODULE)}</strong></div> - </td> - {/if} - </td> - {/foreach} - </tr> - {if $smarty.request.parent_id neq ''} - <input type="hidden" name="parent_id" value="{$smarty.request.parent_id}" /> - {else if $smarty.request.contact_id neq ''} - <input type="hidden" name="contact_id" value="{$smarty.request.contact_id}" /> - {/if} - </table> - </div> - </div> - {include file="ModalFooter.tpl"|vtemplate_path:$MODULE} - </form> - </div> - {/foreach} - </div> - </div> - </div> + {if $FILE_LOCATION_TYPE eq 'I'} + {include file="UploadDocument.tpl"|vtemplate_path:$MODULE} + {else} + {include file="CreateDocument.tpl"|vtemplate_path:$MODULE} + {/if} {if $FIELDS_INFO neq null} <script type="text/javascript"> var quickcreate_uimeta = (function () { diff --git a/layouts/v7/modules/Documents/AjaxEdit.tpl b/layouts/v7/modules/Documents/UploadDocument.tpl similarity index 92% rename from layouts/v7/modules/Documents/AjaxEdit.tpl rename to layouts/v7/modules/Documents/UploadDocument.tpl index 959fd925c22295e6b0bcb2279dbc450da108e3ee..a08a84999e4c81357647a1333049ff247b86ff3a 100644 --- a/layouts/v7/modules/Documents/AjaxEdit.tpl +++ b/layouts/v7/modules/Documents/UploadDocument.tpl @@ -10,7 +10,7 @@ {strip} <div class="modal-dialog modelContainer"> {assign var=HEADER_TITLE value={vtranslate('LBL_UPLOAD_TO_VTIGER', $MODULE)}} - <div class = "modal-content"> + <div class="modal-content" style="width:675px;"> {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE} <div class="modal-body"> <div class="uploadview-content container-fluid"> @@ -24,7 +24,6 @@ <input type="hidden" name="module" value="{$MODULE}" /> <input type="hidden" name="action" value="SaveAjax" /> <input type="hidden" name="document_source" value="Vtiger" /> - <input type="hidden" name='service' value="{$STORAGE_SERVICE}" /> {if $RELATION_OPERATOR eq 'true'} <input type="hidden" name="relationOperation" value="{$RELATION_OPERATOR}" /> <input type="hidden" name="sourceModule" value="{$PARENT_MODULE}" /> @@ -49,10 +48,7 @@ <div class="fileUploadBtn btn btn-primary"> <span><i class="fa fa-laptop"></i> {vtranslate('LBL_SELECT_FILE_FROM_COMPUTER', $MODULE)}</span> {assign var=FIELD_MODEL value=$FIELD_MODELS['filename']} - <input type="file" name="{$FIELD_MODEL->getFieldName()}" - value="{$FIELD_VALUE}" - data-rule-required="true" - /> + <input type="file" name="{$FIELD_MODEL->getFieldName()}" value="{$FIELD_VALUE}" data-rule-required="true" /> </div> <i class="fa fa-info-circle cursorPointer" data-toggle="tooltip" title="{vtranslate('LBL_MAX_UPLOAD_SIZE', $MODULE)} {$MAX_UPLOAD_LIMIT_MB}{vtranslate('MB', $MODULE)}"></i> </div> @@ -61,6 +57,20 @@ <table class="massEditTable table no-border"> <tr> + <tr> + {assign var="FIELD_MODEL" value=$FIELD_MODELS['notes_title']} + <td class="fieldLabel col-lg-2"> + <label class="muted pull-right"> + {vtranslate($FIELD_MODEL->get('label'), $MODULE)} + {if $FIELD_MODEL->isMandatory() eq true} + <span class="redColor">*</span> + {/if} + </label> + </td> + <td class="fieldValue col-lg-4" colspan="3"> + {include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE)} + </td> + </tr> {assign var="FIELD_MODEL" value=$FIELD_MODELS['assigned_user_id']} <td class="fieldLabel col-lg-2"> <label class="muted pull-right"> diff --git a/layouts/v7/modules/Documents/resources/Documents.js b/layouts/v7/modules/Documents/resources/Documents.js index 3b4b43cddf60f5d125f83a252d018b49d692e043..2c27c221e5165929d1d3732c13f442f6ba491ab1 100644 --- a/layouts/v7/modules/Documents/resources/Documents.js +++ b/layouts/v7/modules/Documents/resources/Documents.js @@ -11,6 +11,9 @@ Vtiger.Class('Documents_Index_Js', { fileObj : false, + referenceCreateMode : false, + referenceFieldName : '', + hierarchyMap : { 'GoogleDrive' : {}, 'Dropbox' : {} @@ -20,18 +23,21 @@ Vtiger.Class('Documents_Index_Js', { return new Documents_Index_Js(); }, - authorize : function(serviceName,parentId,relatedModule,mode) { + authorize : function(serviceName,parentId,relatedModule,mode,referenceFieldName) { var instance = Documents_Index_Js.getInstance(); - instance.authorize(serviceName,parentId,relatedModule,mode); + instance.detectReferenceCreateMode(referenceFieldName); + instance.authorize(serviceName,parentId,relatedModule,mode,referenceFieldName); }, - uploadTo : function(service,parentId,relatedModule) { + uploadTo : function(service,parentId,relatedModule,referenceFieldName) { var instance = Documents_Index_Js.getInstance(); + instance.detectReferenceCreateMode(referenceFieldName); instance.uploadTo(service,parentId,relatedModule); }, - createDocument : function(type,parentId,relatedModule) { + createDocument : function(type,parentId,relatedModule,referenceFieldName) { var instance = Documents_Index_Js.getInstance(); + instance.detectReferenceCreateMode(referenceFieldName); instance.createDocument(type,parentId,relatedModule); }, @@ -40,13 +46,24 @@ Vtiger.Class('Documents_Index_Js', { instance.revokeAccess(label,revokeUrl); }, - selectFrom : function(service,parentId,relatedModule) { + selectFrom : function(service,parentId,relatedModule, referenceFieldName) { var instance = Documents_Index_Js.getInstance(); + instance.detectReferenceCreateMode(referenceFieldName); instance.selectFrom(service,parentId,relatedModule); } }, { + detectReferenceCreateMode : function(referenceFieldName) { + if(typeof referenceFieldName !== 'undefined') { + Documents_Index_Js.referenceCreateMode = true; + Documents_Index_Js.referenceFieldName = referenceFieldName; + } else { + Documents_Index_Js.referenceCreateMode = false; + Documents_Index_Js.referenceFieldName = ''; + } + }, + revokeAccess : function(label,revokeUrl) { app.helper.showConfirmationBox({ message:app.vtranslate('JS_ARE_YOU_SURE_TO_REVOKE_ACCESS') @@ -57,6 +74,9 @@ Vtiger.Class('Documents_Index_Js', { if(!e) { if(resp.accessRevoked) { jQuery('#Documents_listview_customsettingaction_'+label).addClass('hide'); + if(jQuery('.settingsIcon').find('ul.dropdown-menu').find('li').not('.hide').length <= 0) { + jQuery('.settingsIcon').parent('li').addClass('hide'); + } var service = 'GoogleDrive' if(label !== 'LBL_REVOKE_ACCESS_TO_DRIVE') { service = 'Dropbox'; @@ -178,10 +198,10 @@ Vtiger.Class('Documents_Index_Js', { 'filelocationtype' : 'I' }; if(file) { - extraData['notes_title'] = file.name; + extraData['notes_title'] = container.find('form').find('[name="notes_title"]').val(); } - this._upload(container.find('form'),extraData).then(function() { + this._upload(container.find('form'),extraData).then(function(data) { app.helper.showSuccessNotification({ 'message' : app.vtranslate('JS_UPLOAD_SUCCESSFUL') }); @@ -190,20 +210,47 @@ Vtiger.Class('Documents_Index_Js', { var form = container.find('form'); var folderid = form.find('[name="folderid"]').val(); app.event.trigger('post.documents.save', {'folderid' : folderid}); - }, function() { - app.helper.showErrorNotification({ - 'message' : app.vtranslate('JS_UPLOAD_FAILED') - }); + + //reference create handling + if(Documents_Index_Js.referenceCreateMode === true && Documents_Index_Js.referenceFieldName !== '') { + self.postQuickCreateSave(data); + } + }, function(e) { + app.helper.showErrorNotification({'message' : app.vtranslate('JS_UPLOAD_FAILED')}); }); }, + postQuickCreateSave: function (data) { + var vtigerInstance = Vtiger_Index_Js.getInstance(); + var container = vtigerInstance.getParentElement(jQuery('[name="'+Documents_Index_Js.referenceFieldName+'"]')); + var module = vtigerInstance.getReferencedModuleName(container); + var params = {}; + params.name = data._recordLabel; + params.id = data._recordId; + params.module = module; + vtigerInstance.setReferenceFieldValue(container, params); + + var tdElement = vtigerInstance.getParentElement(container.find('[value="' + module + '"]')); + var sourceField = tdElement.find('input[class="sourceField"]').attr('name'); + var fieldElement = tdElement.find('input[name="' + sourceField + '"]'); + vtigerInstance.autoFillElement = fieldElement; + var parentModule = jQuery('.editViewContents [name=module]').val(); + if (parentModule != "Events") { + vtigerInstance.postRefrenceSearch(params, container); + } + tdElement.find('input[class="sourceField"]').trigger(Vtiger_Edit_Js.postReferenceQuickCreateSave, {'data': data}); + }, + showFileDetails : function(container) { var fileObj = this.getFile(); if(fileObj) { var fileName = fileObj.name; var fileSize = fileObj.size; fileSize = vtUtils.convertFileSizeInToDisplayFormat(fileSize); - container.find('.uploadedFileDetails').text(fileName + ' (' + fileSize + ')'); + container.find('.fileDetails').text(fileName + ' (' + fileSize + ')'); + var fileParts = fileName.split('.'); + var fileType = fileParts[fileParts.length - 1]; + container.find('[name="notes_title"]').val(fileName.replace('.'+fileType, '')); } }, @@ -300,12 +347,12 @@ Vtiger.Class('Documents_Index_Js', { }, addToHierarchyMap : function(childDir,parentDir,service) { - Documents_Index_Js.hierarchyMap[service][childDir] = parentDir; + Documents_Index_Js.hierarchyMap[service][childDir] = parentDir; }, getParentDirFromHierarchyMap : function(childDir,service) { - if(childDir == '/') return false; - return Documents_Index_Js.hierarchyMap[service][childDir]; + if(childDir == '/') return false; + return Documents_Index_Js.hierarchyMap[service][childDir]; }, updateDirectoryMeta : function(folderId,tab,backwardNavigation) { @@ -330,7 +377,7 @@ Vtiger.Class('Documents_Index_Js', { } parentDirElement.val(parentDir); } - }, + }, registerInlineAuthEvent : function(container) { var self = this; @@ -388,7 +435,7 @@ Vtiger.Class('Documents_Index_Js', { self.registerPostTabLoadEvents(tab); } else { console.log("error while loading tab : ",e); - } + } }); tab.data('tabLoaded',true); }, @@ -411,6 +458,7 @@ Vtiger.Class('Documents_Index_Js', { return false; } }); + self.registerQuickCreateEvents(container); this.registerFileHandlingEvents(container); }, @@ -431,12 +479,53 @@ Vtiger.Class('Documents_Index_Js', { app.helper.showModal(resp, { 'cb' : function(modalContainer) { self.registerUploadDocumentEvents(modalContainer); + self.applyScrollToModal(modalContainer); + self.registerQuickCreateEvents(modalContainer); } }); } }); }, + loadQuickCreateContents : function(container) { + var self = this; + var params = { + 'module' : container.find('[name="module"]').val(), + 'view' : 'AjaxView', + 'mode' : 'showContents' + }; + var quickCreateForm = jQuery('.recordEditView'); + + var textAreaElement = quickCreateForm.find('textarea[name="notecontent"]'); + if(textAreaElement.length){ + if(CKEDITOR.instances.Documents_editView_fieldName_notecontent_popup) { + var notecontent = CKEDITOR.instances.Documents_editView_fieldName_notecontent_popup.getData(); + textAreaElement.val(notecontent); + } + } + + var formData = quickCreateForm.serializeFormData(); + params = jQuery.extend(params, formData); + delete params['action']; + app.helper.showProgress(); + app.request.post({'data' : params}).then(function(err, data) { + if(!err) { + app.helper.hideProgress(); + container.find('.quickCreateContent').html(data); + if(formData.operation == 'CreateDocument') { + if(container.find('input[name="type"]').val() === 'W') { + //change id of text area to workaround multiple instances of ckeditor on same element + self.applyEditor( + container.find('#Documents_editView_fieldName_notecontent') + .attr('id','Documents_editView_fieldName_notecontent_popup') + ); + } + } + vtUtils.applyFieldElementsView(container.find('.quickCreateContent')); + } + }); + }, + _uploadToExternalStorage : function(container) { var self = this; if(!self.getFile()) { @@ -458,10 +547,12 @@ Vtiger.Class('Documents_Index_Js', { } app.helper.hideModal(); self.reloadList(); - }, function() { - app.helper.showErrorNotification({ - 'message' : app.vtranslate('JS_UPLOAD_FAILED') - }); + + if(Documents_Index_Js.referenceCreateMode === true && Documents_Index_Js.referenceFieldName !== '') { + self.postQuickCreateSave(resp); + } + }, function(e) { + app.helper.showErrorNotification({'message' : app.vtranslate('JS_UPLOAD_FAILED')}); }); }, @@ -476,9 +567,46 @@ Vtiger.Class('Documents_Index_Js', { this.registerFileHandlingEvents(container); }, + applyScrollToModal : function(modalContainer) { + app.helper.showVerticalScroll(modalContainer.find('.modal-body').css('max-height', '415px'), + {'autoHideScrollbar': true}); + }, + + showUploadToExternalStorageModal : function(service,parentId,relatedModule) { + var self = this; + var url = 'index.php?module=Documents&view=ExternalStorage&operation=UploadTo'+service; + if(typeof parentId !== 'undefined' && typeof relatedModule !== 'undefined') { + url += '&relationOperation=true&sourceModule='+relatedModule+'&sourceRecord='+parentId; + } + var relationField = jQuery('div.related-tabs').find('li').filter('.active').data('relatedfield'); + if (relationField && parentId) { + url += '&'+relationField+"="+parentId; + } + app.helper.showProgress(); + app.request.get({'url':url}).then(function(e,resp) { + app.helper.hideProgress(); + if(!e) { + app.helper.showModal(resp, { + 'cb' : function(modalContainer) { + self.registerUploadToExternalStorageEvents(modalContainer); + self.applyScrollToModal(modalContainer); + } + }); + } + }); + }, + + showUploadDocumentModal : function(service,parentId,relatedModule) { + if(service === 'Vtiger') { + this.showUploadToVtigerModal(parentId,relatedModule); + } else { + this.showUploadToExternalStorageModal(service,parentId,relatedModule); + } + }, + uploadTo : function(service,parentId,relatedModule) { this.setFile(false); - this.showUploadToVtigerModal(parentId,relatedModule); + this.showUploadDocumentModal(service,parentId,relatedModule); }, createExternalDocument : function(container) { @@ -500,16 +628,16 @@ Vtiger.Class('Documents_Index_Js', { } var params = { - module : 'Documents', - action : 'SaveAjax', - service : service, - notes_title : selection.data('title'), - filename : selection.data('link'), - filelocationtype : 'E', - assigned_user_id : assignedUserId, - document_source : documentSource, - externalFileId : selection.data('fileid'), - folderid : jQuery('input[name="vtigerFolderId"]',container).val() + module : 'Documents', + action : 'SaveAjax', + service : service, + notes_title : selection.data('title'), + filename : selection.data('link'), + filelocationtype : 'E', + assigned_user_id : assignedUserId, + document_source : documentSource, + externalFileId : selection.data('fileid'), + folderid : jQuery('input[name="vtigerFolderId"]',container).val() }; if(service === 'Dropbox'){ @@ -540,10 +668,13 @@ Vtiger.Class('Documents_Index_Js', { }); app.helper.hideModal(); self.reloadList(); + + //reference create handling + if (Documents_Index_Js.referenceCreateMode === true && Documents_Index_Js.referenceFieldName !== '') { + self.postQuickCreateSave(res); + } } else { - app.helper.showErrorNotification({ - 'message' : app.vtranslate('JS_DOCUMENT_CREATION_FAILED') - }); + app.event.trigger('post.save.failed', e); } }); }, @@ -566,8 +697,8 @@ Vtiger.Class('Documents_Index_Js', { app.vtranslate('JS_NO_RESULTS_FOUND')+ '</span>'+ '</div>'; - tableContainer.append(listItem); - return; + tableContainer.append(listItem); + return; } else { for(var i=0;i<files.length;i++) { if(files[i].is_dir) { @@ -591,7 +722,7 @@ Vtiger.Class('Documents_Index_Js', { } listItem += "</tr>"; } else { - listItem = "<tr class='listViewEntries file' data-fileid='"+files[i].id+"' data-title='"+files[i].title+"' data-link='"+files[i].alternateLink+"'>"+ + listItem = "<tr class='listViewEntries file' data-fileid='"+files[i].id+"' data-title='"+files[i].title+"' data-link='"+files[i].alternateLink+"'>"+ "<td class='listViewEntryValue medium fileTitleData' nowrap=''>"+ "<i class='fa fa-file'></i> <a>"+files[i].title+"</a>"+ "</td>"; @@ -730,7 +861,7 @@ Vtiger.Class('Documents_Index_Js', { jQuery('.browseBack',container).attr('disabled','disabled'); jQuery('.gotoRoot',container).removeAttr('disabled'); } - }); + }); }); }, @@ -808,7 +939,7 @@ Vtiger.Class('Documents_Index_Js', { return aDeferred.promise(); }, - authorize : function(serviceName,parentId,relatedModule,mode) { + authorize : function(serviceName,parentId,relatedModule,mode,referenceFieldName) { if(typeof mode === 'undefined') { mode = 'upload'; } @@ -822,15 +953,16 @@ Vtiger.Class('Documents_Index_Js', { actionHref += ')'; jQuery('#'+serviceName+'Action').find('a').attr('href',actionHref); if(mode === 'select') { - Documents_Index_Js.selectFrom(serviceName,parentId,relatedModule); + Documents_Index_Js.selectFrom(serviceName,parentId,relatedModule,referenceFieldName); } else { - Documents_Index_Js.uploadTo(serviceName,parentId,relatedModule); + Documents_Index_Js.uploadTo(serviceName,parentId,relatedModule,referenceFieldName); } var revokeSelector = 'Documents_listview_customsettingaction_LBL_REVOKE_ACCESS_TO_DRIVE'; if(serviceName === 'Dropbox') { revokeSelector = 'Documents_listview_customsettingaction_LBL_REVOKE_ACCESS_TO_DROPBOX'; } jQuery('#'+revokeSelector).removeClass('hide'); + jQuery('.settingsIcon').parent('li').removeClass('hide'); } }; window.open(authUrl,'','height=600,width=600,channelmode=1'); @@ -838,9 +970,9 @@ Vtiger.Class('Documents_Index_Js', { if(e.hasOwnProperty('postAuthorization')) { if(e.postAuthorization) { if(mode === 'select') { - Documents_Index_Js.selectFrom(serviceName,parentId,relatedModule); + Documents_Index_Js.selectFrom(serviceName,parentId,relatedModule,referenceFieldName); } else { - Documents_Index_Js.uploadTo(serviceName,parentId,relatedModule); + Documents_Index_Js.uploadTo(serviceName,parentId,relatedModule,referenceFieldName); } } } @@ -858,13 +990,22 @@ Vtiger.Class('Documents_Index_Js', { app.helper.showProgress(); app.request.post({'data':formData}).then(function(e,res) { app.helper.hideProgress(); - app.helper.hideModal(); - app.helper.showSuccessNotification({ - 'message' : app.vtranslate('JS_DOCUMENT_CREATED') - }); - self.reloadList(); - var folderid = form.find('[name="folderid"]').val(); - app.event.trigger('post.documents.save', {'folderid' : folderid}); + if (e === null) { + app.helper.hideModal(); + app.helper.showSuccessNotification({ + 'message' : app.vtranslate('JS_DOCUMENT_CREATED') + }); + self.reloadList(); + var folderid = form.find('[name="folderid"]').val(); + app.event.trigger('post.documents.save', {'folderid' : folderid}); + + //reference create handling + if (Documents_Index_Js.referenceCreateMode === true && Documents_Index_Js.referenceFieldName !== '') { + self.postQuickCreateSave(res); + } + } else { + app.event.trigger('post.save.failed', e); + } }); }, @@ -898,7 +1039,7 @@ Vtiger.Class('Documents_Index_Js', { showCreateDocumentModal : function(type,parentId,relatedModule) { var self = this; - var url = 'index.php?module=Documents&view=QuickCreateAjax&operation=CreateDocument&type='+type; + var url = 'index.php?module=Documents&view=AjaxView&operation=CreateDocument&type='+type; if(typeof parentId !== 'undefined' && typeof relatedModule !== 'undefined') { url += '&relationOperation=true&sourceModule='+relatedModule+'&sourceRecord='+parentId; } @@ -913,6 +1054,8 @@ Vtiger.Class('Documents_Index_Js', { app.helper.showModal(resp, { 'cb' : function(modalContainer) { self.registerCreateDocumentModalEvents(modalContainer); + self.registerQuickCreateEvents(modalContainer); + self.applyScrollToModal(modalContainer); } }); } @@ -921,6 +1064,29 @@ Vtiger.Class('Documents_Index_Js', { createDocument : function(type,parentId,relatedModule) { this.showCreateDocumentModal(type,parentId,relatedModule); + }, + + registerQuickCreateEvents : function(container) { + var vtigerInstance = Vtiger_Index_Js.getInstance(); + vtigerInstance.registerReferenceCreate(container); + vtigerInstance.registerPostReferenceEvent(container); + vtigerInstance.referenceModulePopupRegisterEvent(container); + vtigerInstance.registerClearReferenceSelectionEvent(container); + vtigerInstance.registerAutoCompleteFields(container); + app.helper.registerModalDismissWithoutSubmit(container.find('form')); + var moduleInstance = Vtiger_Edit_Js.getInstanceByModuleName('Documents'); + moduleInstance.registerEventForPicklistDependencySetup(container); + + app.event.on('post.documents.save', function(event, data){ + var relatedTabs = jQuery('div.related-tabs'); + if(relatedTabs.length > 0){ + var tabElement = jQuery('div.related-tabs').find('li.active'); + var relatedModuleName = jQuery('.relatedModuleName').val(); + var relatedInstance = new Vtiger_RelatedList_Js(app.getRecordId(), app.getModuleName(), tabElement, relatedModuleName); + var relatedTab = relatedInstance.selectedRelatedTabElement; + relatedInstance.updateRelatedRecordsCount(relatedTab.data('relation-id')); + } + }); } -}); \ No newline at end of file +}); diff --git a/layouts/v7/modules/Documents/resources/List.js b/layouts/v7/modules/Documents/resources/List.js index f2a91153d568763c59dbc06434ff575b9e947ebe..836665e7d96d5c35ce3cedde03c1c5ea830fe280 100644 --- a/layouts/v7/modules/Documents/resources/List.js +++ b/layouts/v7/modules/Documents/resources/List.js @@ -369,6 +369,19 @@ Vtiger_List_Js("Documents_List_Js", { registerRowDoubleClickEvent: function () { return true; }, + + getDefaultParams: function() { + var search_value = jQuery('.sidebar-menu').find('.documentFolder.active').find('.filterName').data('folder-name'); + var customParams = { + 'folder_id' : 'folderid', + 'folder_value' : search_value + }; + var params = this._super(); + if(search_value){ + jQuery.extend(params,customParams); + } + return params; + }, registerEvents: function() { this._super(); diff --git a/layouts/v7/modules/Settings/Vtiger/OutgoingServerDetail.tpl b/layouts/v7/modules/Settings/Vtiger/OutgoingServerDetail.tpl index ccf5b97d33e3b87a8873437bbf30efbc45fedbc1..4c783af8fc4672579f80f483797284bc803125bf 100644 --- a/layouts/v7/modules/Settings/Vtiger/OutgoingServerDetail.tpl +++ b/layouts/v7/modules/Settings/Vtiger/OutgoingServerDetail.tpl @@ -13,8 +13,13 @@ <div class="detailViewContainer" id="OutgoingServerDetails"> <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> <div class="clearfix"> - <div class="btn-group pull-right" > - <button class="btn btn-default editButton" data-url='{$MODEL->getEditViewUrl()}' type="button" title="{vtranslate('LBL_EDIT', $QUALIFIED_MODULE)}">{vtranslate('LBL_EDIT', $QUALIFIED_MODULE)}</button> + <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> + <h3 style="margin-top: 0px;">{vtranslate('LBL_OUTGOING_SERVER', $QUALIFIED_MODULE)}</h3> + </div> + <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> + <div class="btn-group pull-right"> + <button class="btn btn-default editButton" data-url='{$MODEL->getEditViewUrl()}' type="button" title="{vtranslate('LBL_EDIT', $QUALIFIED_MODULE)}">{vtranslate('LBL_EDIT', $QUALIFIED_MODULE)}</button> + </div> </div> </div> <div> diff --git a/layouts/v7/modules/Settings/Vtiger/OutgoingServerEdit.tpl b/layouts/v7/modules/Settings/Vtiger/OutgoingServerEdit.tpl index 7c52a0cd896031978f1e4325476d28d153fab750..e7f6a0ad8985498cc818f3df1347a1f7e6951ebe 100644 --- a/layouts/v7/modules/Settings/Vtiger/OutgoingServerEdit.tpl +++ b/layouts/v7/modules/Settings/Vtiger/OutgoingServerEdit.tpl @@ -9,15 +9,13 @@ {* modules/Settings/Vtiger/views/OutgoingServerEdit.php *} {strip} - <div class="editViewPageDiv editViewContainer" id="EditViewOutgoing"> + <div class="editViewPageDiv editViewContainer" id="EditViewOutgoing" style="padding-top:0px;"> <div class="col-lg-12 col-md-12 col-sm-12"> + <div> + <h3 style="margin-top: 0px;">{vtranslate('LBL_OUTGOING_SERVER', $QUALIFIED_MODULE)}</h3> {vtranslate('LBL_OUTGOING_SERVER_DESC', $QUALIFIED_MODULE)} + </div> {assign var=WIDTHTYPE value=$CURRENT_USER_MODEL->get('rowheight')} <form id="OutgoingServerForm" data-detail-url="{$MODEL->getDetailViewUrl()}" method="POST"> - <div class="clearfix"> - <div class="btn-group pull-right"> - <button class="btn btn-default resetButton" type="button" title="{vtranslate('LBL_RESET_TO_DEFAULT', $QUALIFIED_MODULE)}"><strong>{vtranslate('LBL_RESET_TO_DEFAULT', $QUALIFIED_MODULE)}</strong></button> - </div> - </div> <input type="hidden" name="default" value="false" /> <input type="hidden" name="server_port" value="0" /> <input type="hidden" name="server_type" value="email"/> diff --git a/layouts/v7/modules/Vtiger/ComposeEmailForm.tpl b/layouts/v7/modules/Vtiger/ComposeEmailForm.tpl index 4fb42b0bb267925c5804d49a5a847eb0b4f5ba04..63d38af38b23e7cd4146cce746c8a8cc64e71730 100644 --- a/layouts/v7/modules/Vtiger/ComposeEmailForm.tpl +++ b/layouts/v7/modules/Vtiger/ComposeEmailForm.tpl @@ -127,7 +127,7 @@ <input type="file" {if $FILE_ATTACHED}class="removeNoFileChosen"{/if} id="multiFile" name="file[]"/> </div> <div class="col-lg-4 brownseInCrm"> - <button type="button" class="btn btn-small" id="browseCrm" data-url="{$DOCUMENTS_URL}" title="{vtranslate('LBL_BROWSE_CRM',$MODULE)}">{vtranslate('LBL_BROWSE_CRM',$MODULE)}</button> + <button type="button" class="btn btn-small btn-default" id="browseCrm" data-url="{$DOCUMENTS_URL}" title="{vtranslate('LBL_BROWSE_CRM',$MODULE)}">{vtranslate('LBL_BROWSE_CRM',$MODULE)}</button> </div> <div class="col-lg-4 insertTemplate"> <button id="selectEmailTemplate" class="btn btn-success pull-right" data-url="module=EmailTemplates&view=Popup">{vtranslate('LBL_SELECT_EMAIL_TEMPLATE',$MODULE)}</button> diff --git a/layouts/v7/modules/Vtiger/resources/RelatedList.js b/layouts/v7/modules/Vtiger/resources/RelatedList.js index b0326c4c37fb3ed5bc21033747c55b3718091540..c9973b4833b85957d60111392c588d1140434519 100644 --- a/layouts/v7/modules/Vtiger/resources/RelatedList.js +++ b/layouts/v7/modules/Vtiger/resources/RelatedList.js @@ -49,29 +49,25 @@ jQuery.Class("Vtiger_RelatedList_Js",{ } }, - updateRelatedRecordsCount : function (relationId, idList,added){ - var additionalIdCount = idList.length; - var element = new Object(jQuery("a","li[data-relation-id="+relationId+"]")); - var newCount = 0; - - var previousCount = parseInt(element.attr('recordscount')); - if(added){ - newCount = previousCount + additionalIdCount; - }else{ - newCount = previousCount - additionalIdCount; - } - - // we should only show if there are any related records - var numberEle = element.find('.numberCircle'); - numberEle.text(newCount); - if(newCount > 0) { - numberEle.removeClass('hide'); - }else{ - numberEle.addClass('hide'); - } - element.attr("recordscount",newCount); - }, - + updateRelatedRecordsCount: function (relationId) { + var recordId = app.getRecordId(); + var moduleName = app.getModuleName(); + var detailInstance = new Vtiger_Detail_Js(); + detailInstance.getRelatedRecordsCount(recordId, moduleName, relationId).then(function (data) { + var relatedRecordsCount = data[relationId]; + var element = new Object(jQuery("a", "li[data-relation-id=" + relationId + "]")); + // we should only show if there are any related records + var numberEle = element.find('.numberCircle'); + numberEle.text(relatedRecordsCount); + if (relatedRecordsCount > 0) { + numberEle.removeClass('hide'); + } else { + numberEle.addClass('hide'); + } + element.attr("recordscount", relatedRecordsCount); + }); + }, + getCurrentPageNum : function() { return jQuery('input[name="currentPageNum"]',this.relatedContentContainer).val(); }, diff --git a/modules/Documents/views/QuickCreateAjax.php b/modules/Documents/views/QuickCreateAjax.php index 6ac04d03bdb76bec7c56498e4e6eaddce108dea3..5ad17797ae9f3c356081765899945b85c3eabe14 100644 --- a/modules/Documents/views/QuickCreateAjax.php +++ b/modules/Documents/views/QuickCreateAjax.php @@ -23,9 +23,7 @@ class Documents_QuickCreateAjax_View extends Vtiger_IndexAjax_View { $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); $moduleModel = $recordModel->getModule(); - $documentTypes = array( 'I' => array('tabName' => 'InternalDoc','label' => 'LBL_INTERNAL'), - 'E' => array('tabName' => 'ExternalDoc','label' => 'LBL_EXTERNAL'), - 'W' => array('tabName' => 'WebDoc', 'label' => 'LBL_WEB')); + $documentTypes = array('I' => array('tabName' => 'InternalDoc', 'label' => 'LBL_INTERNAL')); foreach($documentTypes as $documentType => $typeDetails){ $fields[$documentType] = $this->getFields($documentType); } @@ -59,7 +57,8 @@ class Documents_QuickCreateAjax_View extends Vtiger_IndexAjax_View { $viewer->assign('QUICK_CREATE_CONTENTS', $quickCreateContents); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('FIELDS_INFO', json_encode($fieldsInfo)); - $viewer->assign('SELECTED_DOC_TYPE', $request->get('type')); + $viewer->assign('FIELD_MODELS', $fieldList); + $viewer->assign('FILE_LOCATION_TYPE', $request->get('type')); $viewer->assign('SCRIPTS', $this->getHeaderScripts($request)); $viewer->assign('MAX_UPLOAD_LIMIT_MB', Vtiger_Util_Helper::getMaxUploadSize()); @@ -68,18 +67,19 @@ class Documents_QuickCreateAjax_View extends Vtiger_IndexAjax_View { } public function getFields($documentType){ - switch($documentType){ - case 'I' : case 'E' : return array('filename','assigned_user_id','folderid'); - case 'W' : - $recordModel = Vtiger_Record_Model::getCleanInstance('Documents'); - $moduleModel = $recordModel->getModule(); - $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_QUICKCREATE); - $quickCreateFields = $recordStructureInstance->getStructure(); - //make sure the note content is always at the bottom - $quickCreateFieldNames = array_diff(array_keys($quickCreateFields),array('notecontent')); - $quickCreateFieldNames[] = 'notecontent'; - return $quickCreateFieldNames; + $fields = array(); + switch ($documentType) { + case 'I' : + case 'E' : $fields = array('filename', 'assigned_user_id', 'folderid'); break; + case 'W' : $recordModel = Vtiger_Record_Model::getCleanInstance('Documents'); + $moduleModel = $recordModel->getModule(); + $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_QUICKCREATE); + $quickCreateFields = $recordStructureInstance->getStructure(); + //make sure the note content is always at the bottom + $fields = array_diff(array_keys($quickCreateFields), array('notecontent')); + $fields[] = 'notecontent'; } + return $fields; } public function getHeaderScripts(Vtiger_Request $request) { diff --git a/packages/vtiger/marketplace/ExtensionStore.zip b/packages/vtiger/marketplace/ExtensionStore.zip index 43b2af3900662b7e6261aea60a7dcb033022793e..6b3efc37dd2f874022efce8a123dfe63d6cd9ae1 100644 Binary files a/packages/vtiger/marketplace/ExtensionStore.zip and b/packages/vtiger/marketplace/ExtensionStore.zip differ diff --git a/packages/vtiger/optional/Arabic_ar_ae.zip b/packages/vtiger/optional/Arabic_ar_ae.zip index f26d5ae360bbb08274d711274e4421767caa72d3..ba6e56bc122d3d9c7ce1672e5a8dd4058f39e17a 100644 Binary files a/packages/vtiger/optional/Arabic_ar_ae.zip and b/packages/vtiger/optional/Arabic_ar_ae.zip differ diff --git a/packages/vtiger/optional/BrazilianLanguagePack_bz_bz.zip b/packages/vtiger/optional/BrazilianLanguagePack_bz_bz.zip index 47bd4beaec164a515cc399eb9ddfecb7ce961bbd..1656b3de53b698b9dd266e880caf69810ac9d0e8 100644 Binary files a/packages/vtiger/optional/BrazilianLanguagePack_bz_bz.zip and b/packages/vtiger/optional/BrazilianLanguagePack_bz_bz.zip differ diff --git a/packages/vtiger/optional/BritishLanguagePack_br_br.zip b/packages/vtiger/optional/BritishLanguagePack_br_br.zip index 25544fa38026243a7741212a0a0a79fb7e134941..7b4e86dec97eb862797466ff68599a9514c54143 100644 Binary files a/packages/vtiger/optional/BritishLanguagePack_br_br.zip and b/packages/vtiger/optional/BritishLanguagePack_br_br.zip differ diff --git a/packages/vtiger/optional/Deutsch.zip b/packages/vtiger/optional/Deutsch.zip index f90c83c7a1b7f2c05fa01c1338bdfe85525a8df4..8c7aff95369298cf21cf7104a279b8f2e1220327 100644 Binary files a/packages/vtiger/optional/Deutsch.zip and b/packages/vtiger/optional/Deutsch.zip differ diff --git a/packages/vtiger/optional/Dutch.zip b/packages/vtiger/optional/Dutch.zip index db6521702cff6e89c0780f0314d16152cfd8df3d..c66009232f739139f63b22dc570bb0cf5dda2727 100644 Binary files a/packages/vtiger/optional/Dutch.zip and b/packages/vtiger/optional/Dutch.zip differ diff --git a/packages/vtiger/optional/French.zip b/packages/vtiger/optional/French.zip index 274fcbc9c0e338decd8b09556b8faaa4f16ebb51..cf4a6c5d5ce3dbeb85ccfed8a4ca1692a2fbe52d 100644 Binary files a/packages/vtiger/optional/French.zip and b/packages/vtiger/optional/French.zip differ diff --git a/packages/vtiger/optional/Hungarian.zip b/packages/vtiger/optional/Hungarian.zip index 6db2504278e4bd9535f6342973efdaa88392343a..5e1c87cf15b83cfff9f512c46da92fb819654076 100644 Binary files a/packages/vtiger/optional/Hungarian.zip and b/packages/vtiger/optional/Hungarian.zip differ diff --git a/packages/vtiger/optional/ItalianLanguagePack_it_it.zip b/packages/vtiger/optional/ItalianLanguagePack_it_it.zip index 47c6733837d28be4e1f199a80c064e6907982c59..8fb98e622fc87b77fba7fce75c54451190aa3ca1 100644 Binary files a/packages/vtiger/optional/ItalianLanguagePack_it_it.zip and b/packages/vtiger/optional/ItalianLanguagePack_it_it.zip differ diff --git a/packages/vtiger/optional/MexicanSpanishLanguagePack_es_mx.zip b/packages/vtiger/optional/MexicanSpanishLanguagePack_es_mx.zip index cd90371d768768e6be52792afc417741ffbdea83..bffd92a3a28cd998c4b9e9eac2231b250d886e7a 100644 Binary files a/packages/vtiger/optional/MexicanSpanishLanguagePack_es_mx.zip and b/packages/vtiger/optional/MexicanSpanishLanguagePack_es_mx.zip differ diff --git a/packages/vtiger/optional/PolishLanguagePack_pl_pl.zip b/packages/vtiger/optional/PolishLanguagePack_pl_pl.zip index f646563e486137ce8033e58cd6ab24d04f7b951b..3a5304fb6e458c14263ef85eed67b2596b16cd9b 100644 Binary files a/packages/vtiger/optional/PolishLanguagePack_pl_pl.zip and b/packages/vtiger/optional/PolishLanguagePack_pl_pl.zip differ diff --git a/packages/vtiger/optional/RomanianLanguagePack_rm_rm.zip b/packages/vtiger/optional/RomanianLanguagePack_rm_rm.zip index affeea3061c34ae46c64a8ef0c5268646c1e8208..048a614785a5261657cbbd42240aa21ad9254614 100644 Binary files a/packages/vtiger/optional/RomanianLanguagePack_rm_rm.zip and b/packages/vtiger/optional/RomanianLanguagePack_rm_rm.zip differ diff --git a/packages/vtiger/optional/Russian.zip b/packages/vtiger/optional/Russian.zip index add9234aa65bb5b64b5493a101fc87fb6305d2c4..977077c0b6e82442840be70663c1a375f3d31d50 100644 Binary files a/packages/vtiger/optional/Russian.zip and b/packages/vtiger/optional/Russian.zip differ diff --git a/packages/vtiger/optional/Spanish.zip b/packages/vtiger/optional/Spanish.zip index f2c172055429910f6eaaada8e73f2ad94ed35da7..5780dad0a86485028807d7075f6deedd1d15ad1f 100644 Binary files a/packages/vtiger/optional/Spanish.zip and b/packages/vtiger/optional/Spanish.zip differ diff --git a/packages/vtiger/optional/Sweden_sv_se.zip b/packages/vtiger/optional/Sweden_sv_se.zip index 33dd6e1b48a8c8c387a95ed44316430ac9593350..3b88dd3da67af206616b948825dd524a11b4c26f 100644 Binary files a/packages/vtiger/optional/Sweden_sv_se.zip and b/packages/vtiger/optional/Sweden_sv_se.zip differ diff --git a/packages/vtiger/optional/TurkishLanguagePack_tr_tr.zip b/packages/vtiger/optional/TurkishLanguagePack_tr_tr.zip index b075332db1326c32fd1d6296cd50609eaf39616c..0210e54940dd01e513d0b0e297e85e2167e99a08 100644 Binary files a/packages/vtiger/optional/TurkishLanguagePack_tr_tr.zip and b/packages/vtiger/optional/TurkishLanguagePack_tr_tr.zip differ diff --git a/pkg/vtiger/translations/Arabic_ar_ae/modules/Documents.php b/pkg/vtiger/translations/Arabic_ar_ae/modules/Documents.php index 5d5c3d9c9be815b8e75a136d6d4830a7d0b708c6..ecbd49944f5de44689c1f4d86b6a334c8db1d021 100644 --- a/pkg/vtiger/translations/Arabic_ar_ae/modules/Documents.php +++ b/pkg/vtiger/translations/Arabic_ar_ae/modules/Documents.php @@ -90,9 +90,8 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'إلى %s', 'LBL_FROM_SERVICE' => 'من %s', 'LBL_CREATE_NEW' => 'إنشاء جديد " %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'الرجاء ØªØØ¯ÙŠØ¯ مجلد لنقل', ); - $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'مجلد جديد', 'JS_MOVE_DOCUMENTS' => 'نقل المستندات', diff --git a/pkg/vtiger/translations/BrazilianLanguagePack_bz_bz/modules/Documents.php b/pkg/vtiger/translations/BrazilianLanguagePack_bz_bz/modules/Documents.php index 1a2bf71101f174d3503559823d46fdd44126a448..f9e676b052b98e41fc74919e60e7a8068da61937 100644 --- a/pkg/vtiger/translations/BrazilianLanguagePack_bz_bz/modules/Documents.php +++ b/pkg/vtiger/translations/BrazilianLanguagePack_bz_bz/modules/Documents.php @@ -74,7 +74,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'Para %s', 'LBL_FROM_SERVICE' => 'De %s', 'LBL_CREATE_NEW' => 'Criar Novos %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'Por favor, selecione uma pasta para mover', ); $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'New Folder' , diff --git a/pkg/vtiger/translations/BritishLanguagePack_br_br/modules/Documents.php b/pkg/vtiger/translations/BritishLanguagePack_br_br/modules/Documents.php index 81d56a6fa60de4db619f02abe0576b8c03760709..9af639083c27f7b3d4c564f1a75e9852b61c0db1 100644 --- a/pkg/vtiger/translations/BritishLanguagePack_br_br/modules/Documents.php +++ b/pkg/vtiger/translations/BritishLanguagePack_br_br/modules/Documents.php @@ -74,7 +74,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'To %s', 'LBL_FROM_SERVICE' => 'From %s', 'LBL_CREATE_NEW' => 'Create New %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'Please select a folder to move', ); $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'New Folder' , diff --git a/pkg/vtiger/translations/Deutsch/modules/Documents.php b/pkg/vtiger/translations/Deutsch/modules/Documents.php index 6d4733d2a8e7f1e8a26b53c5ad0f853e31847665..f3f590d43a064a5fa3af6b2d98059ef277e9d7f6 100644 --- a/pkg/vtiger/translations/Deutsch/modules/Documents.php +++ b/pkg/vtiger/translations/Deutsch/modules/Documents.php @@ -74,7 +74,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'Zu %s', 'LBL_FROM_SERVICE' => 'Von %s', 'LBL_CREATE_NEW' => 'Erstellen Sie Neue %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'Bitte wählen Sie einen Ordner verschieben', ); $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'New Folder' , diff --git a/pkg/vtiger/translations/Dutch/modules/Documents.php b/pkg/vtiger/translations/Dutch/modules/Documents.php index 6a3e4d84a4eec8f622d17cdf95b22578860e7ad8..b70e15ea75a07da7417b3010167dc6c386e08beb 100644 --- a/pkg/vtiger/translations/Dutch/modules/Documents.php +++ b/pkg/vtiger/translations/Dutch/modules/Documents.php @@ -74,7 +74,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'Tot %s', 'LBL_FROM_SERVICE' => 'Vanaf %s', 'LBL_CREATE_NEW' => 'Maak Nieuwe %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'Selecteer een map om te bewegen', ); $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'Nieuwe map' , diff --git a/pkg/vtiger/translations/French/modules/Documents.php b/pkg/vtiger/translations/French/modules/Documents.php index 00e100adaba5423e2fb3c7b8a981a4f3b70f4bab..2e9ebfbb89bbb1a45590ebd57fab8102fc64d9ee 100644 --- a/pkg/vtiger/translations/French/modules/Documents.php +++ b/pkg/vtiger/translations/French/modules/Documents.php @@ -74,7 +74,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'De %s', 'LBL_FROM_SERVICE' => 'À partir de %s', 'LBL_CREATE_NEW' => 'Créer de Nouveaux %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => "S'il vous plaît sélectionner un dossier pour déplacer", ); $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'New Folder' , diff --git a/pkg/vtiger/translations/Hungarian/modules/Documents.php b/pkg/vtiger/translations/Hungarian/modules/Documents.php index bc47346f3638193db74a83706c4b68096fa8e330..f2e8683dc66df9584a468473b24d3ccdec2a6258 100644 --- a/pkg/vtiger/translations/Hungarian/modules/Documents.php +++ b/pkg/vtiger/translations/Hungarian/modules/Documents.php @@ -74,7 +74,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'A %s', 'LBL_FROM_SERVICE' => 'A %s', 'LBL_CREATE_NEW' => 'Az Új létrehozása %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'Kérjük, válasszon ki egy mappát mozgatni', ); $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'Új Mappa' , diff --git a/pkg/vtiger/translations/ItalianLanguagePack_it_it/modules/Documents.php b/pkg/vtiger/translations/ItalianLanguagePack_it_it/modules/Documents.php index a1946f21f545f1eed80f0ad8a80878babb3e8c3b..65d608acafd185fd857a5c6bca3542b4544aa508 100644 --- a/pkg/vtiger/translations/ItalianLanguagePack_it_it/modules/Documents.php +++ b/pkg/vtiger/translations/ItalianLanguagePack_it_it/modules/Documents.php @@ -74,7 +74,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'Di %s', 'LBL_FROM_SERVICE' => 'Da %s', 'LBL_CREATE_NEW' => 'Creare Nuova %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'Si prega di selezionare una cartella di muoversi', ); $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'New Folder' , diff --git a/pkg/vtiger/translations/MexicanSpanishLanguagePack_es_mx/modules/Documents.php b/pkg/vtiger/translations/MexicanSpanishLanguagePack_es_mx/modules/Documents.php index d39eed4a4bdcac290c0cbd1f626d1a982a871d72..dfaa09b4d23ccccf5ebb215c3fbfeccdbdf4cc13 100644 --- a/pkg/vtiger/translations/MexicanSpanishLanguagePack_es_mx/modules/Documents.php +++ b/pkg/vtiger/translations/MexicanSpanishLanguagePack_es_mx/modules/Documents.php @@ -74,7 +74,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'A %s', 'LBL_FROM_SERVICE' => 'De %s', 'LBL_CREATE_NEW' => 'Crear Nuevos %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'Por favor, seleccione una carpeta para mover', ); $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'Nueva Carpeta' , diff --git a/pkg/vtiger/translations/PolishLanguagePack_pl_pl/modules/Documents.php b/pkg/vtiger/translations/PolishLanguagePack_pl_pl/modules/Documents.php index 2cd1399f47aee4fef091e3f862a35f50a61aa388..43a04356e3f4800ed8708189adbdb3fbe94af5ce 100644 --- a/pkg/vtiger/translations/PolishLanguagePack_pl_pl/modules/Documents.php +++ b/pkg/vtiger/translations/PolishLanguagePack_pl_pl/modules/Documents.php @@ -91,9 +91,8 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'Do %s', 'LBL_FROM_SERVICE' => 'Z %s', 'LBL_CREATE_NEW' => 'Tworzenie nowej %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'ProszÄ™ wybrać folder, aby przenieść', ); - $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'Nowy folder', 'JS_MOVE_DOCUMENTS' => 'PrzenieÅ› dokument', diff --git a/pkg/vtiger/translations/RomanianLanguagePack_rm_rm/modules/Documents.php b/pkg/vtiger/translations/RomanianLanguagePack_rm_rm/modules/Documents.php index b90381f897a42ad3828fd63d394300585822a7a6..d9447a521e4fdbe9cfc9e04807a71f83b7931103 100644 --- a/pkg/vtiger/translations/RomanianLanguagePack_rm_rm/modules/Documents.php +++ b/pkg/vtiger/translations/RomanianLanguagePack_rm_rm/modules/Documents.php @@ -74,7 +74,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'La %s', 'LBL_FROM_SERVICE' => 'De la %s', 'LBL_CREATE_NEW' => 'Crearea unui nou %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'Vă rugăm să selectaÈ›i un dosar pentru a muta', ); $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'New Folder' , diff --git a/pkg/vtiger/translations/Russian/modules/Documents.php b/pkg/vtiger/translations/Russian/modules/Documents.php index 5243b4ef3a918f6d5089904722e430e51bfdf988..210bbc4327dd8131cace6806f3908da71af1d427 100644 --- a/pkg/vtiger/translations/Russian/modules/Documents.php +++ b/pkg/vtiger/translations/Russian/modules/Documents.php @@ -74,7 +74,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'К %s', 'LBL_FROM_SERVICE' => 'Из %s', 'LBL_CREATE_NEW' => 'Создание новой %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'ПожалуйÑта, выберите папку Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ', ); $jsLanguageStrings = array( 'JS_EXCEEDS_MAX_UPLOAD_SIZE' => 'Превышен макÑимальный размер загрузки', diff --git a/pkg/vtiger/translations/Spanish/modules/Documents.php b/pkg/vtiger/translations/Spanish/modules/Documents.php index 0e853cd330aaa14291701ba008dbc011512c85b7..9bbd7fac687791bb9faeed26711d9cd217a5154e 100644 --- a/pkg/vtiger/translations/Spanish/modules/Documents.php +++ b/pkg/vtiger/translations/Spanish/modules/Documents.php @@ -94,7 +94,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'A %s', 'LBL_FROM_SERVICE' => 'De %s', 'LBL_CREATE_NEW' => 'Crear Nuevos %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'Por favor, seleccione una carpeta para mover', ); $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'Nueva Carpeta', diff --git a/pkg/vtiger/translations/Sweden_sv_se/modules/Documents.php b/pkg/vtiger/translations/Sweden_sv_se/modules/Documents.php index de875fa0063b062f15b9f41e34fe299fc091b10e..df220ff242f71d78ac661144b68fd4f8bd1076b0 100755 --- a/pkg/vtiger/translations/Sweden_sv_se/modules/Documents.php +++ b/pkg/vtiger/translations/Sweden_sv_se/modules/Documents.php @@ -90,9 +90,8 @@ $languageStrings = array( 'LBL_TO_SERVICE' => 'Till %s', 'LBL_FROM_SERVICE' => 'FrÃ¥n %s', 'LBL_CREATE_NEW' => 'Skapa Ny %s', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'Välj en mapp för att flytta', ); - $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'Ny Mapp', 'JS_MOVE_DOCUMENTS' => 'Flytta Dokument', diff --git a/pkg/vtiger/translations/TurkishLanguagePack_tr_tr/modules/Documents.php b/pkg/vtiger/translations/TurkishLanguagePack_tr_tr/modules/Documents.php index 3871af89607f781d55e3b1ab71229130490ddea3..0e7324a64242ce16b530a0e4631baa4b27643ddc 100644 --- a/pkg/vtiger/translations/TurkishLanguagePack_tr_tr/modules/Documents.php +++ b/pkg/vtiger/translations/TurkishLanguagePack_tr_tr/modules/Documents.php @@ -74,7 +74,7 @@ $languageStrings = array( 'LBL_TO_SERVICE' => '%S için ', 'LBL_FROM_SERVICE' => '%S ', 'LBL_CREATE_NEW' => 'Yeni %s oluÅŸturulamıyor ', - + 'LBL_SELECT_A_FOLDER_TO_MOVE' => 'taşımak için bir klasör seçiniz', ); $jsLanguageStrings = array( 'JS_NEW_FOLDER' => 'New Folder' ,