diff --git a/layouts/v7/modules/Vtiger/partials/SidebarEssentials.tpl b/layouts/v7/modules/Vtiger/partials/SidebarEssentials.tpl index cc6f933ef402db95dc6cf3fd81bb25afa985b384..cf562db4068abc8da77e060bbb4aa390b4433094 100644 --- a/layouts/v7/modules/Vtiger/partials/SidebarEssentials.tpl +++ b/layouts/v7/modules/Vtiger/partials/SidebarEssentials.tpl @@ -23,6 +23,7 @@ <div class="list-menu-content"> {assign var="CUSTOM_VIEW_NAMES" value=array()} {if $CUSTOM_VIEWS && count($CUSTOM_VIEWS) > 0} + {assign var="IS_ADMIN" value=$CURRENT_USER_MODEL->isAdminUser()} <!-- Libertus Mod --> {foreach key=GROUP_LABEL item=GROUP_CUSTOM_VIEWS from=$CUSTOM_VIEWS} {if $GROUP_LABEL neq 'Mine' && $GROUP_LABEL neq 'Shared'} {continue} @@ -40,7 +41,7 @@ {assign var=count value=0} {assign var=LISTVIEW_URL value=$MODULE_MODEL->getListViewUrl()} {foreach item="CUSTOM_VIEW" from=$GROUP_CUSTOM_VIEWS name="customView"} - {assign var=IS_DEFAULT value=$CUSTOM_VIEW->isDefault()} + {assign var="IS_DEFAULT" value=$CUSTOM_VIEW->isDefault()} {assign var="CUSTOME_VIEW_RECORD_MODEL" value=CustomView_Record_Model::getInstanceById($CUSTOM_VIEW->getId())} {assign var="MEMBERS" value=$CUSTOME_VIEW_RECORD_MODEL->getMembers()} {assign var="LIST_STATUS" value=$CUSTOME_VIEW_RECORD_MODEL->get('status')} @@ -56,12 +57,22 @@ <div class="pull-right"> <span class="js-popover-container" style="cursor:pointer;"> <span class="fa fa-angle-down" rel="popover" data-toggle="popover" aria-expanded="true" - {if $CUSTOM_VIEW->isMine() and $CUSTOM_VIEW->get('viewname') neq 'All'} - data-deletable="{if $CUSTOM_VIEW->isDeletable()}true{else}false{/if}" data-editable="{if $CUSTOM_VIEW->isEditable()}true{else}false{/if}" - {if $CUSTOM_VIEW->isEditable()} data-editurl="{$CUSTOM_VIEW->getEditUrl()}{/if}" {if $CUSTOM_VIEW->isDeletable()} {if $SHARED_MEMBER_COUNT eq 1 or $LIST_STATUS eq 3} data-shared="1"{/if} data-deleteurl="{$CUSTOM_VIEW->getDeleteUrl()}"{/if} - {/if} - toggleClass="fa {if $IS_DEFAULT}fa-check-square-o{else}fa-square-o{/if}" data-filter-id="{$CUSTOM_VIEW->getId()}" - data-is-default="{$IS_DEFAULT}" data-defaulttoggle="{$CUSTOM_VIEW->getToggleDefaultUrl()}" data-default="{$CUSTOM_VIEW->getDuplicateUrl()}" data-isMine="{if $CUSTOM_VIEW->isMine()}true{else}false{/if}"> + {if ($CUSTOM_VIEW->isMine() || $IS_ADMIN) && $CUSTOM_VIEW->get('viewname') neq 'All'} + data-deletable="{if $CUSTOM_VIEW->isDeletable()}true{else}false{/if}" + data-editable="{if $CUSTOM_VIEW->isEditable()}true{else}false{/if}" + {if $CUSTOM_VIEW->isEditable()} data-editurl="{$CUSTOM_VIEW->getEditUrl()}{/if}" + {if $CUSTOM_VIEW->isDeletable()} + {if $SHARED_MEMBER_COUNT eq 1 or $LIST_STATUS eq 3} data-shared="1"{/if} + data-deleteurl="{$CUSTOM_VIEW->getDeleteUrl()}" + {/if} + {/if} + toggleClass="fa {if $IS_DEFAULT}fa-check-square-o{else}fa-square-o{/if}" + data-filter-id="{$CUSTOM_VIEW->getId()}" + data-is-default="{$IS_DEFAULT}" + data-defaulttoggle="{$CUSTOM_VIEW->getToggleDefaultUrl()}" + data-default="{$CUSTOM_VIEW->getDuplicateUrl()}" + data-isMine="{if $CUSTOM_VIEW->isMine()}true{else}false{/if}" + data-teisadmin="{if $IS_ADMIN}true{else}false{/if}"> </span> </span> </div> diff --git a/layouts/v7/modules/Vtiger/resources/ListSidebar.js b/layouts/v7/modules/Vtiger/resources/ListSidebar.js index a8ecae4d28011dbb83ca4e5b77ff7b09bbdef55d..735d43e282d675162366efc980a6947ceecbc827 100644 --- a/layouts/v7/modules/Vtiger/resources/ListSidebar.js +++ b/layouts/v7/modules/Vtiger/resources/ListSidebar.js @@ -168,23 +168,33 @@ Vtiger.Class('Vtiger_ListSidebar_Js',{},{ toggleEle.attr('data-is-default', jQuery(ele).data('is-default')); toggleEle.attr('data-filter-id', jQuery(ele).data('filter-id')); contentEle.find('.toggleDefault i').attr('class', jQuery(ele).attr('toggleClass')); - editEle.attr('data-id', jQuery(ele).data('id')); + editEle.attr('data-id', jQuery(ele).data('id')); deleteEle.attr('data-id', jQuery(ele).data('id')); - if(jQuery(ele).data('ismine') === false){ + // Libertus Mod - data-isadmin also added to SideBarEssentials.tpl + if((jQuery(ele).data('ismine') === false) && (jQuery(ele).data('isadmin') === false)) { contentEle.find('.editFilter').css("display", "none"); contentEle.find('.deleteFilter').css("display","none"); } + + if (!jQuery(ele).data('deletable')) { + contentEle.find('.deleteFilter').remove(); // This propogates to the next iteration of the each() method; removing the entire li + } else { + if(contentEle.find('li').hasClass('deleteFilter') === false) { + contentEle.find('ul').prepend(deleteEle); // Add back if missing + } + contentEle.find('.deleteFilter').removeClass('disabled'); + } + if (!jQuery(ele).data('editable')) { - contentEle.find('.editFilter').remove(); + contentEle.find('.editFilter').remove(); // This propogates to the next iteration of the each() method; removing the entire li } else { + if(contentEle.find('li').hasClass('editFilter') === false) { + contentEle.find('ul').prepend(editEle); // Add back if missing + } contentEle.find('.editFilter').removeClass('disabled'); } - if (!jQuery(ele).data('deletable')) { - contentEle.find('.deleteFilter').remove(); - } else { - contentEle.find('.deleteFilter').removeClass('disabled'); - } + var options = { html: true, placement: 'left',