diff --git a/data/CRMEntity.php b/data/CRMEntity.php
index ec61d6fed0bf98fd55446e7cc9d3fc6838baaac9..2ff6a3c47640c7ccbd86a2867470917f8027d793 100644
--- a/data/CRMEntity.php
+++ b/data/CRMEntity.php
@@ -278,6 +278,23 @@ class CRMEntity {
 		if ($module == 'Events') {
 			$module = 'Calendar';
 		}
+
+		$entityFields = Vtiger_Functions::getEntityModuleInfo($module);
+        $entityFieldNames  = explode(',', $entityFields['fieldname']);
+        switch ($module) {
+            case 'HelpDesk': $entityFieldNames = array('ticket_title');
+                break;
+            case 'Documents': $entityFieldNames = array('notes_title');
+                break;
+		}
+		
+		$record_label = '';
+		foreach($entityFieldNames as $entityFieldName) {
+			$record_label .= $this->column_fields[$entityFieldName]." ";
+		}
+        $label = decode_html($record_label);
+        $this->column_fields['label'] = $label;
+
 		if ($this->mode == 'edit') {
 			$description_val = from_html($this->column_fields['description'], ($insertion_mode == 'edit') ? true : false);
 
@@ -291,8 +308,8 @@ class CRMEntity {
 
 			$acl = Vtiger_AccessControl::loadUserPrivileges($current_user->id);
 			if ($acl->is_admin == true || $acl->profileGlobalPermission[1] == 0 || $acl->profileGlobalPermission[2] == 0 || $this->isWorkFlowFieldUpdate) {
-				$sql = "update vtiger_crmentity set smownerid=?, smgroupid=?,modifiedby=?,description=?, modifiedtime=? where crmid=?";
-				$params = array($ownerid, $groupid, $current_user->id, $description_val, $adb->formatDate($date_var, true), $this->id);
+				$sql = "update vtiger_crmentity set smownerid=?, smgroupid=?,modifiedby=?,description=?, modifiedtime=?";
+				$params = array($ownerid, $groupid, $current_user->id, $description_val, $adb->formatDate($date_var, true));
 			} else {
 				$profileList = getCurrentUserProfileList();
 				$perm_qry = "SELECT columnname FROM vtiger_field INNER JOIN vtiger_profile2field ON vtiger_profile2field.fieldid = vtiger_field.fieldid INNER JOIN vtiger_def_org_field ON vtiger_def_org_field.fieldid = vtiger_field.fieldid WHERE vtiger_field.tabid = ? AND vtiger_profile2field.visible = 0 AND vtiger_profile2field.readonly = 0 AND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ") AND vtiger_def_org_field.visible = 0 and vtiger_field.tablename='vtiger_crmentity' and vtiger_field.displaytype in (1,3) and vtiger_field.presence in (0,2);";
@@ -302,13 +319,22 @@ class CRMEntity {
 					$columname[] = $adb->query_result($perm_result, $i, "columnname");
 				}
 				if (is_array($columname) && in_array("description", $columname)) {
-					$sql = "update vtiger_crmentity set smownerid=?, smgroupid=?, modifiedby=?,description=?, modifiedtime=? where crmid=?";
-					$params = array($ownerid, $groupid, $current_user->id, $description_val, $adb->formatDate($date_var, true), $this->id);
+					$sql = "update vtiger_crmentity set smownerid=?, smgroupid=?, modifiedby=?,description=?, modifiedtime=?";
+					$params = array($ownerid, $groupid, $current_user->id, $description_val, $adb->formatDate($date_var, true));
 				} else {
-					$sql = "update vtiger_crmentity set smownerid=?, smgroupid=?,modifiedby=?, modifiedtime=? where crmid=?";
-					$params = array($ownerid, $groupid, $current_user->id, $adb->formatDate($date_var, true), $this->id);
+					$sql = "update vtiger_crmentity set smownerid=?, smgroupid=?,modifiedby=?, modifiedtime=?";
+					$params = array($ownerid, $groupid, $current_user->id, $adb->formatDate($date_var, true));
 				}
 			}
+
+			if($label) {
+				$sql .= ", label = ? ";
+				array_push($params, trim($label));
+			}
+
+			$sql .= " where crmid=?";
+			array_push($params,$this->id);
+
 			$adb->pquery($sql, $params);
 			$this->column_fields['modifiedtime'] =  $modified_date_var;
 			$this->column_fields['modifiedby'] = $current_user->id;
@@ -339,8 +365,19 @@ class CRMEntity {
 			}
 
 			$description_val = from_html($this->column_fields['description'], ($insertion_mode == 'edit') ? true : false);
-			$sql = "insert into vtiger_crmentity (crmid,smcreatorid,smownerid,smgroupid,setype,description,modifiedby,createdtime,modifiedtime,source) values(?,?,?,?,?,?,?,?,?,?)";
-			$params = array($current_id, $current_user->id, $ownerid, $groupid, $module, $description_val, $current_user->id, $created_date_var, $modified_date_var,$source);
+			$params = array("crmid" => $current_id, "smcreatorid" => $current_user->id, "smownerid" => $ownerid, 
+							"smgroupid" => $groupid, "setype" => $module, "description" => $description_val,
+							"modifiedby" => $current_user->id, "createdtime" => $created_date_var, 
+							"modifiedtime" => $modified_date_var, "source" => $source);
+
+			if($label) {
+				$params['label'] = trim($label);
+			}
+
+			$insert_columns = array_keys($params);
+			$insert_data = array_values($params);
+			$sql = "insert into vtiger_crmentity (".implode(",",$insert_columns).") values(".generateQuestionMarks($insert_data).")";
+
 			$adb->pquery($sql, $params);
 
 			$this->column_fields['createdtime'] = $created_date_var;
diff --git a/include/Webservices/Utils.php b/include/Webservices/Utils.php
index cd0d3cc580fb82ddfbdda0142725bf43e4b57692..2ac8e592f797da550eff5774c0ff4a960c6f78c6 100644
--- a/include/Webservices/Utils.php
+++ b/include/Webservices/Utils.php
@@ -1291,7 +1291,7 @@ function vtws_filedetails($fileData){
         $fileName = $fileData['name'];
         $fileType = $fileData['type'];
         $fileName = html_entity_decode($fileName, ENT_QUOTES, vglobal('default_charset'));
-        $filenamewithpath = $fileData['path'].'_'.$fileData['encName'];
+        $filenamewithpath = $fileData['path'].$fileData['attachmentsid'].'_'.$fileData['storedname'];
         $filesize = filesize($filenamewithpath);
         $fileDetails['fileid'] = $fileData['attachmentsid'];
         $fileDetails['filename'] = $fileName;
diff --git a/layouts/v7/modules/Vtiger/Header.tpl b/layouts/v7/modules/Vtiger/Header.tpl
index 1a5e157d71081f087df162ae374bb36d1d446da9..707f6117481cdf2a0f85d23be636f5df715556c9 100644
--- a/layouts/v7/modules/Vtiger/Header.tpl
+++ b/layouts/v7/modules/Vtiger/Header.tpl
@@ -15,19 +15,19 @@
 		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
 		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 
-		<link type='text/css' rel='stylesheet' href='layouts/v7/lib/todc/css/bootstrap.min.css'>
-		<link type='text/css' rel='stylesheet' href='layouts/v7/lib/todc/css/docs.min.css'>
-		<link type='text/css' rel='stylesheet' href='layouts/v7/lib/todc/css/todc-bootstrap.min.css'>
-		<link type='text/css' rel='stylesheet' href='layouts/v7/lib/font-awesome/css/font-awesome.min.css'>
-        <link type='text/css' rel='stylesheet' href='layouts/v7/lib/jquery/select2/select2.css'>
-        <link type='text/css' rel='stylesheet' href='layouts/v7/lib/select2-bootstrap/select2-bootstrap.css'>
-        <link type='text/css' rel='stylesheet' href='libraries/bootstrap/js/eternicode-bootstrap-datepicker/css/datepicker3.css'>
-        <link type='text/css' rel='stylesheet' href='layouts/v7/lib/jquery/jquery-ui-1.11.3.custom/jquery-ui.css'>
-        <link type='text/css' rel='stylesheet' href='layouts/v7/lib/vt-icons/style.css'>
-        <link type='text/css' rel='stylesheet' href='layouts/v7/lib/animate/animate.min.css'>
-        <link type='text/css' rel='stylesheet' href='layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mCustomScrollbar.css'>
-        <link type='text/css' rel='stylesheet' href='layouts/v7/lib/jquery/jquery.qtip.custom/jquery.qtip.css'>
-        <link type='text/css' rel='stylesheet' href='layouts/v7/lib/jquery/daterangepicker/daterangepicker.css'>
+		<link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/todc/css/bootstrap.min.css")}'>
+		<link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/todc/css/docs.min.css")}'>
+		<link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/todc/css/todc-bootstrap.min.css")}'>
+		<link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/font-awesome/css/font-awesome.min.css")}'>
+        <link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/jquery/select2/select2.css")}'>
+        <link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/select2-bootstrap/select2-bootstrap.css")}'>
+        <link type='text/css' rel='stylesheet' href='{vresource_url("libraries/bootstrap/js/eternicode-bootstrap-datepicker/css/datepicker3.css")}'>
+        <link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/jquery/jquery-ui-1.11.3.custom/jquery-ui.css")}'>
+        <link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/vt-icons/style.css")}'>
+        <link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/animate/animate.min.css")}'>
+        <link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mCustomScrollbar.css")}'>
+        <link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/jquery/jquery.qtip.custom/jquery.qtip.css")}'>
+        <link type='text/css' rel='stylesheet' href='{vresource_url("layouts/v7/lib/jquery/daterangepicker/daterangepicker.css")}'>
         
         <input type="hidden" id="inventoryModules" value={ZEND_JSON::encode($INVENTORY_MODULES)}>
         
diff --git a/layouts/v7/modules/Vtiger/JSResources.tpl b/layouts/v7/modules/Vtiger/JSResources.tpl
index fc4fa9b219ed0e7a4958a1874a2254fcf46c8897..ff7ac3d1cd5ca34c71e7629bed3f96b98cfe5ddb 100644
--- a/layouts/v7/modules/Vtiger/JSResources.tpl
+++ b/layouts/v7/modules/Vtiger/JSResources.tpl
@@ -10,34 +10,34 @@
 ********************************************************************************/
 -->*}
 {strip}
-    <script type="text/javascript" src="layouts/v7/lib/jquery/purl.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/select2/select2.min.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/jquery.class.min.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/jquery-ui-1.11.3.custom/jquery-ui.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/todc/js/popper.min.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/todc/js/bootstrap.min.js"></script>
-    <script type="text/javascript" src="libraries/jquery/jstorage.min.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/jquery-validation/jquery.validate.min.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/jquery.slimscroll.min.js"></script>
-    <script type="text/javascript" src="libraries/jquery/jquery.ba-outside-events.min.js"></script>
-	<script type="text/javascript" src="libraries/jquery/defunkt-jquery-pjax/jquery.pjax.js"></script>
-    <script type="text/javascript" src="libraries/jquery/multiplefileupload/jquery_MultiFile.js"></script>
-    <script type="text/javascript" src="resources/jquery.additions.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/bootstrap-notify/bootstrap-notify.min.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/websockets/reconnecting-websocket.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/jquery-play-sound/jquery.playSound.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mousewheel.min.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mCustomScrollbar.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/autoComplete/jquery.textcomplete.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/jquery.qtip.custom/jquery.qtip.js"></script>
-    <script type="text/javascript" src="libraries/jquery/jquery-visibility.min.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/momentjs/moment.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/daterangepicker/moment.min.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/daterangepicker/jquery.daterangepicker.js"></script>
-    <script type="text/javascript" src="layouts/v7/lib/jquery/jquery.timeago.js"></script>
-    <script type="text/javascript" src="libraries/jquery/ckeditor/ckeditor.js"></script>
-    <script type="text/javascript" src="libraries/jquery/ckeditor/adapters/jquery.js"></script>
-	<script type='text/javascript' src='layouts/v7/lib/anchorme_js/anchorme.min.js'></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/purl.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/select2/select2.min.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/jquery.class.min.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/jquery-ui-1.11.3.custom/jquery-ui.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/todc/js/popper.min.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/todc/js/bootstrap.min.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('libraries/jquery/jstorage.min.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/jquery-validation/jquery.validate.min.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/jquery.slimscroll.min.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('libraries/jquery/jquery.ba-outside-events.min.js')}"></script>
+	<script type="text/javascript" src="{vresource_url('libraries/jquery/defunkt-jquery-pjax/jquery.pjax.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('libraries/jquery/multiplefileupload/jquery_MultiFile.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('resources/jquery.additions.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/bootstrap-notify/bootstrap-notify.min.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/websockets/reconnecting-websocket.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/jquery-play-sound/jquery.playSound.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mousewheel.min.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mCustomScrollbar.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/autoComplete/jquery.textcomplete.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/jquery.qtip.custom/jquery.qtip.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('libraries/jquery/jquery-visibility.min.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/momentjs/moment.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/daterangepicker/moment.min.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/daterangepicker/jquery.daterangepicker.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('layouts/v7/lib/jquery/jquery.timeago.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('libraries/jquery/ckeditor/ckeditor.js')}"></script>
+    <script type="text/javascript" src="{vresource_url('libraries/jquery/ckeditor/adapters/jquery.js')}"></script>
+	<script type='text/javascript' src="{vresource_url('layouts/v7/lib/anchorme_js/anchorme.min.js')}"></script>
     <script type="text/javascript" src="{vresource_url('layouts/v7/modules/Vtiger/resources/Class.js')}"></script>
     <script type='text/javascript' src="{vresource_url('layouts/v7/resources/helper.js')}"></script>
     <script type="text/javascript" src="{vresource_url('layouts/v7/resources/application.js')}"></script>
@@ -60,7 +60,7 @@
 
     <script type="text/javascript" src="{vresource_url('layouts/v7/resources/v7_client_compat.js')}"></script>
     <!-- Added in the end since it should be after less file loaded -->
-    <script type="text/javascript" src="libraries/bootstrap/js/less.min.js"></script>
+    <script type="text/javascript" src="{vresource_url('libraries/bootstrap/js/less.min.js')}"></script>
 
     <!-- Enable tracking pageload time -->
 	<script type="text/javascript">
diff --git a/layouts/v7/modules/Vtiger/partials/SidebarEssentials.tpl b/layouts/v7/modules/Vtiger/partials/SidebarEssentials.tpl
index cc6f933ef402db95dc6cf3fd81bb25afa985b384..f822cd53032df0172d520ae3934b1e862d1abb8c 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-isadmin="{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',
diff --git a/modules/Emails/models/Record.php b/modules/Emails/models/Record.php
index 11fe808dd6baa4a3c89b53681bc5a6a1d45212f9..d92abdf56dad8b1ac73f9d4bb183ef3ee6d1da14 100644
--- a/modules/Emails/models/Record.php
+++ b/modules/Emails/models/Record.php
@@ -182,7 +182,7 @@ class Emails_Record_Model extends Vtiger_Record_Model {
             //Adding attachments to mail
             if(is_array($attachments)) {
                 foreach($attachments as $attachment) {
-                    $fileNameWithPath = $rootDirectory.$attachment['path'].$attachment['fileid']."_".$attachment['storedname'];
+                    $fileNameWithPath = $rootDirectory.$attachment['filenamewithpath'];
                     if(is_file($fileNameWithPath)) {
                         $mailer->AddAttachment($fileNameWithPath, $attachment['attachment']);
                     }
@@ -277,12 +277,24 @@ class Emails_Record_Model extends Vtiger_Record_Model {
 		$attachmentsList = array();
 		if($numOfRows) {
 			for($i=0; $i<$numOfRows; $i++) {
-				$attachmentsList[$i]['fileid'] = $db->query_result($attachmentRes, $i, 'attachmentsid');
-				$attachmentsList[$i]['attachment'] = decode_html($db->query_result($attachmentRes, $i, 'name'));
-                $attachmentsList[$i]['storedname'] = decode_html($db->query_result($attachmentRes, $i, 'storedname'));
-				$path = $db->query_result($attachmentRes, $i, 'path');
+                                $attachmentId = $db->query_result($attachmentRes, $i, 'attachmentsid');
+                                $rawFileName = $db->query_result($attachmentRes, $i, 'name');
+                                $storedName = $db->query_result($attachmentRes, $i, 'storedname');
+                                $path = $db->query_result($attachmentRes, $i, 'path');
+                                if($storedName) { 
+                                    $filename = $storedName;
+                                } else {
+                                    $filename = $rawFileName;
+                                }
+                                $attachmentsList[$i]['attachment'] = decode_html($rawFileName);
+                                $attachmentsList[$i]['fileid'] = $attachmentId;
+                                $attachmentsList[$i]['storedname'] = decode_html($storedName);
 				$attachmentsList[$i]['path'] = $path;
-				$attachmentsList[$i]['size'] = filesize($path.$attachmentsList[$i]['fileid'].'_'.$attachmentsList[$i]['storedname']);
+                                $saved_filename = $attachmentId."_".$filename;
+                                $filenamewithpath = $path.$saved_filename;
+                                $filesize = filesize($filenamewithpath);
+                                $attachmentsList[$i]['filenamewithpath'] = $filenamewithpath;
+				$attachmentsList[$i]['size'] = $filesize;
 				$attachmentsList[$i]['type'] = $db->query_result($attachmentRes, $i, 'type');
 				$attachmentsList[$i]['cid'] = $db->query_result($attachmentRes, $i, 'cid');
 			}
diff --git a/modules/Migration/schema/730_to_740.php b/modules/Migration/schema/730_to_740.php
new file mode 100644
index 0000000000000000000000000000000000000000..4a0b367a12b62922088f3911c1674f10a3d68010
--- /dev/null
+++ b/modules/Migration/schema/730_to_740.php
@@ -0,0 +1,19 @@
+<?php
+/*+********************************************************************************
+ * The contents of this file are subject to the vtiger CRM Public License Version 1.0
+ * ("License"); You may not use this file except in compliance with the License
+ * The Original Code is: vtiger CRM Open Source
+ * The Initial Developer of the Original Code is vtiger.
+ * Portions created by vtiger are Copyright (C) vtiger.
+ * All Rights Reserved.
+ *********************************************************************************/
+
+if (defined('VTIGER_UPGRADE')) {
+	global $current_user, $adb;
+    $db = PearDatabase::getInstance();
+ 
+    $eventManager = new VTEventsManager($db);
+    $className = 'Vtiger_RecordLabelUpdater_Handler';
+    $eventManager->unregisterHandler($className);
+    echo "Unregistered record label update handler.<br>";
+}
\ No newline at end of file
diff --git a/modules/Vtiger/RecordLabelUpdater.php b/modules/Vtiger/RecordLabelUpdater.php
deleted file mode 100644
index 2c4447f88fa2c8fdb7f32dffdbc1f8eeb343f6a9..0000000000000000000000000000000000000000
--- a/modules/Vtiger/RecordLabelUpdater.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-/* +***********************************************************************************
- * The contents of this file are subject to the vtiger CRM Public License Version 1.0
- * ("License"); You may not use this file except in compliance with the License
- * The Original Code is:  vtiger CRM Open Source
- * The Initial Developer of the Original Code is vtiger.
- * Portions created by vtiger are Copyright (C) vtiger.
- * All Rights Reserved.
- * *********************************************************************************** */
-require_once 'include/events/VTEventHandler.inc';
-
-class Vtiger_RecordLabelUpdater_Handler extends VTEventHandler {
-
-	function handleEvent($eventName, $data) {
-		global $adb;
-
-		if ($eventName == 'vtiger.entity.aftersave') {
-			$labelInfo = getEntityName($data->getModuleName(), $data->getId(), true);
-
-			if ($labelInfo) {
-				$label = decode_html($labelInfo[$data->getId()]);
-				$adb->pquery('UPDATE vtiger_crmentity SET label=? WHERE crmid=?', array($label, $data->getId()));
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/modules/Vtiger/handlers/RecordLabelUpdater.php b/modules/Vtiger/handlers/RecordLabelUpdater.php
deleted file mode 100644
index b4472d3d2bf564b4cff1c974ef9628800c3eeb44..0000000000000000000000000000000000000000
--- a/modules/Vtiger/handlers/RecordLabelUpdater.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-/* +***********************************************************************************
- * The contents of this file are subject to the vtiger CRM Public License Version 1.0
- * ("License"); You may not use this file except in compliance with the License
- * The Original Code is:  vtiger CRM Open Source
- * The Initial Developer of the Original Code is vtiger.
- * Portions created by vtiger are Copyright (C) vtiger.
- * All Rights Reserved.
- * *********************************************************************************** */
-require_once 'include/events/VTEventHandler.inc';
-
-class Vtiger_RecordLabelUpdater_Handler extends VTEventHandler {
-
-	function handleEvent($eventName, $data) {
-		global $adb;
-
-		if ($eventName == 'vtiger.entity.aftersave') {
-			$record = $data->getId();
-			$module = $data->getModuleName();
-
-			if($module === 'Users') {
-				return;
-			}
-
-			$labelInfo = getEntityName($module, $record, true);
-
-			if ($labelInfo) {
-				$label = decode_html($labelInfo[$data->getId()]);
-				$adb->pquery('UPDATE vtiger_crmentity SET label=? WHERE crmid=?', array($label, $record));
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/modules/com_vtiger_workflow/VTWorkflowManager.inc b/modules/com_vtiger_workflow/VTWorkflowManager.inc
index 0ea8f1235af3b2a4337ded33ab62b9e1dc936f2f..bfd394c5dc3b3ce68bd9279379c3013ea0ee85a7 100644
--- a/modules/com_vtiger_workflow/VTWorkflowManager.inc
+++ b/modules/com_vtiger_workflow/VTWorkflowManager.inc
@@ -24,6 +24,7 @@ class VTWorkflowManager{
 
 	function __construct($adb){
 		$this->adb = $adb;
+                $this->setMaxAllowedScheduledWorkflows();
 	}
 
 	function save($workflow){
@@ -105,13 +106,24 @@ class VTWorkflowManager{
 		$result = $adb->pquery($query, $params);
 		return $adb->query_result($result, 0, 'count');
 	}
+        
+        /**
+         * Function to set max allowed scheduled workflow count as per global defaults
+         */
+        function setMaxAllowedScheduledWorkflows(){
+            global $max_scheduled_workflows;
+            if(!empty($max_scheduled_workflows)){
+                vglobal('max_scheduled_workflows', $max_scheduled_workflows);
+            }else{
+                vglobal('max_scheduled_workflows', 10);
+            }
+        }
 
 	/**
 	 * Function returns the maximum allowed scheduled workflows
 	 * @return int
 	 */
 	function getMaxAllowedScheduledWorkflows() {
-            vglobal('max_scheduled_workflows', 10);
             return vglobal('max_scheduled_workflows');
 	}
 
diff --git a/packages/vtiger/mandatory/PBXManager.zip b/packages/vtiger/mandatory/PBXManager.zip
index 07720357484e4878f38e42a5fd296ffb599f1bbe..3227486951dbe1aad0abcc85eba0acceaeeef9b3 100644
Binary files a/packages/vtiger/mandatory/PBXManager.zip and b/packages/vtiger/mandatory/PBXManager.zip differ
diff --git a/packages/vtiger/optional/CustomerPortal.zip b/packages/vtiger/optional/CustomerPortal.zip
index d81610c26a208ca3563d9e7fb607064b57d7700a..ac46c5b1c6d6793ca69c6ae251469ddaa1b45765 100644
Binary files a/packages/vtiger/optional/CustomerPortal.zip and b/packages/vtiger/optional/CustomerPortal.zip differ
diff --git a/packages/vtiger/optional/ModComments.zip b/packages/vtiger/optional/ModComments.zip
index a1e37d05c84937d116fe22278de9d221f6e0ab05..bba05805eec71b34c2cd9dbd062a9fda1ef45be7 100644
Binary files a/packages/vtiger/optional/ModComments.zip and b/packages/vtiger/optional/ModComments.zip differ
diff --git a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php
index c8260dda8db6e8922a0d84fe144430c510e00b4b..110b6141249dabbffb95e0aa41b2fc0231c6e01a 100644
--- a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php
+++ b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php
@@ -63,18 +63,22 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract {
 				$fileres = $adb->pquery($fileidQuery, array($id));
 				$fileid = $adb->query_result($fileres, 0, 'attachmentsid');
 
-				$filepathQuery = 'SELECT path,name FROM vtiger_attachments WHERE attachmentsid = ?';
-				$fileres = $adb->pquery($filepathQuery, array($fileid));
-				$filepath = $adb->query_result($fileres, 0, 'path');
-				$filename = $adb->query_result($fileres, 0, 'name');
-				$filename = decode_html($filename);
+				$filepathQuery = 'SELECT path,name,storedname FROM vtiger_attachments WHERE attachmentsid = ?';
+                                $fileres = $adb->pquery($filepathQuery, array($fileid));
+                                $filepath = $adb->query_result($fileres, 0, 'path');
+                                if($adb->query_result($fileres, 0, 'storedname')) { 
+                                    $filename = $adb->query_result($fileres, 0, 'storedname');
+                                } else {
+                                    $filename = $adb->query_result($fileres, 0, 'name');
+                                }
+                                $realfilename = decode_html($adb->query_result($fileres, 0, 'name'));
 
-				$saved_filename = $fileid."_".$filename;
-				$filenamewithpath = $filepath.$saved_filename;
-				$filesize = filesize($filenamewithpath);
-				$fileDetails = array();
-				$fileDetails['fileid'] = $fileid;
-				$fileDetails['filename'] = $filename;
+                                $saved_filename = $fileid."_".$filename;
+                                $filenamewithpath = $filepath.$saved_filename;
+                                $filesize = filesize($filenamewithpath);
+                                $fileDetails = array();
+                                $fileDetails['fileid'] = $fileid;
+                                $fileDetails['filename'] = $realfilename;
 				$fileDetails['filetype'] = $filetype;
 				$fileDetails['filesize'] = $filesize;
 				$fileDetails['filecontents'] = base64_encode(file_get_contents($filenamewithpath));
@@ -86,8 +90,13 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract {
 				//construct path for attachment and get file size and type details
 				$attachmentDetails = $rawAttachmentDetails[0];
 				$fileid = $attachmentDetails['attachmentsid'];
-				$filename = $attachmentDetails['name'];
+                                $filename = $attachmentDetails['storedname'];
+                                if(empty($filename)){
+                                    $filename = $attachmentDetails['name'];
+                                }
 				$filepath = $attachmentDetails['path'];
+                                $realfilename = decode_html($attachmentDetails['name']);
+                                
 				$saved_filename = $fileid."_".$filename;
 				$filenamewithpath = $filepath.$saved_filename;
 				$filesize = filesize($filenamewithpath);
@@ -96,7 +105,7 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract {
 				//Construct array with all attachment details
 				$fileDetails = array();
 				$fileDetails['fileid'] = $fileid;
-				$fileDetails['filename'] = $filename;
+				$fileDetails['filename'] = $realfilename;
 				$fileDetails['filetype'] = $filetype;
 				$fileDetails['filesize'] = $filesize;
 				$fileDetails['filecontents'] = base64_encode(file_get_contents($filenamewithpath));
diff --git a/pkg/vtiger/modules/ModComments/modules/ModComments/models/Record.php b/pkg/vtiger/modules/ModComments/modules/ModComments/models/Record.php
index 6d8807df47e7beeca77944c5be875adc1c410da6..6616d6a6e80c69fd01b85d7757c38aadebd4f667 100644
--- a/pkg/vtiger/modules/ModComments/modules/ModComments/models/Record.php
+++ b/pkg/vtiger/modules/ModComments/modules/ModComments/models/Record.php
@@ -412,14 +412,27 @@ class ModComments_Record_Model extends Vtiger_Record_Model {
 		$attachmentsList = array();
 		if($numOfRows) {
 			for($i=0; $i<$numOfRows; $i++) {
-				$attachmentsList[$i]['fileid'] = $db->query_result($attachmentRes, $i, 'attachmentsid');
-				$attachmentsList[$i]['attachment'] = decode_html($db->query_result($attachmentRes, $i, 'name'));
-				$path = $db->query_result($attachmentRes, $i, 'path');
+                                $attachmentId = $db->query_result($attachmentRes, $i, 'attachmentsid');
+                                $rawFileName = $db->query_result($attachmentRes, $i, 'name');
+                                $storedName = $db->query_result($attachmentRes, $i, 'storedname');
+                                $path = $db->query_result($attachmentRes, $i, 'path');
+                                if($storedName) { 
+                                    $filename = $storedName;
+                                } else {
+                                    $filename = $rawFileName;
+                                }
+                                $attachmentsList[$i]['attachment'] = decode_html($rawFileName);
+                                $attachmentsList[$i]['fileid'] = $attachmentId;
+                                $attachmentsList[$i]['storedname'] = decode_html($storedName);
 				$attachmentsList[$i]['path'] = $path;
-				$attachmentsList[$i]['size'] = filesize($path.$attachmentsList[$i]['fileid'].'_'.$attachmentsList[$i]['attachment']);
+                                $saved_filename = $attachmentId."_".$filename;
+                                $filenamewithpath = $path.$saved_filename;
+                                $filesize = filesize($filenamewithpath);
+                                $attachmentsList[$i]['filenamewithpath'] = $filenamewithpath;
+				$attachmentsList[$i]['size'] = $filesize;
 				$attachmentsList[$i]['type'] = $db->query_result($attachmentRes, $i, 'type');
 				$attachmentsList[$i]['cid'] = $db->query_result($attachmentRes, $i, 'cid');
-			}
+                        }
 		}
 		return $attachmentsList;
 	}
diff --git a/pkg/vtiger/modules/PBXManager/settings/models/Record.php b/pkg/vtiger/modules/PBXManager/settings/models/Record.php
index f17988f3559bd58d0c779b7c837a97f9f3217ba6..2520ff18b6ea6bd61a7e927fa4457bdbf37e3ffa 100644
--- a/pkg/vtiger/modules/PBXManager/settings/models/Record.php
+++ b/pkg/vtiger/modules/PBXManager/settings/models/Record.php
@@ -11,29 +11,29 @@
 class Settings_PBXManager_Record_Model extends Settings_Vtiger_Record_Model {
 
     const tableName = 'vtiger_pbxmanager_gateway';
-    
+
     public function getId() {
         return $this->get('id');
     }
 
     public function getName() {
     }
-    
+
     public function getModule(){
         return new Settings_PBXManager_Module_Model;
     }
-    
+
     static function getCleanInstance(){
         return new self;
     }
-    
+
      public static function getInstance(){
         $serverModel = new self();
         $db = PearDatabase::getInstance();
         $query = 'SELECT * FROM '.self::tableName;
         $gatewatResult = $db->pquery($query, array());
         $gatewatResultCount = $db->num_rows($gatewatResult);
-        
+
         if($gatewatResultCount > 0) {
             $rowData = $db->query_result_rowdata($gatewatResult, 0);
             $serverModel->set('gateway',$rowData['gateway']);
@@ -46,7 +46,7 @@ class Settings_PBXManager_Record_Model extends Settings_Vtiger_Record_Model {
         }
         return $serverModel;
     }
-    
+
     public static function getInstanceById($recordId, $qualifiedModuleName) {
 		$db = PearDatabase::getInstance();
 		$result = $db->pquery('SELECT * FROM '.self::tableName.' WHERE id = ?', array($recordId));
@@ -66,20 +66,20 @@ class Settings_PBXManager_Record_Model extends Settings_Vtiger_Record_Model {
 		}
 		return false;
 	}
-    
+
     public function save() {
 		$db = PearDatabase::getInstance();
-		$parameters = '';
+		$parameters = array();
 		$selectedGateway = $this->get('gateway');
                 $connector = new PBXManager_PBXManager_Connector;
-                
+
                 foreach ($connector->getSettingsParameters() as $field => $type) {
                         $parameters[$field] = $this->get($field);
                 }
                 $this->set('parameters', Zend_Json::encode($parameters));
 		$params = array($selectedGateway,$this->get('parameters'));
 		$id = $this->getId();
-                
+
 		if ($id) {
 			$query = 'UPDATE '.self::tableName.' SET gateway=?, parameters = ? WHERE id = ?';
 			array_push($params, $id);
diff --git a/vtigerversion.php b/vtigerversion.php
index 7a7ade6383272ef11256d683a03c6f8f0c031b03..83a0f13b2d1a2031527763983cd6e0b2be9d2de6 100644
--- a/vtigerversion.php
+++ b/vtigerversion.php
@@ -8,9 +8,9 @@
  * All Rights Reserved.
  ************************************************************************************/
 
-$patch_version = '20201013'; // -ve timestamp before release, +ve timestamp after release.
+$patch_version = '-20201019'; // -ve timestamp before release, +ve timestamp after release.
 $modified_database = '';
-$vtiger_current_version = '7.3.0';
+$vtiger_current_version = '7.4.0';
 $_SESSION['vtiger_version'] = $vtiger_current_version;
 
 ?>