diff --git a/include/Webservices/EntityMeta.php b/include/Webservices/EntityMeta.php
index 931b109f5bd7475b4c01d8a34a6f050c1acc9bf7..3a4e9e70211f31a69ebd3a46d68f3b2945152f5c 100644
--- a/include/Webservices/EntityMeta.php
+++ b/include/Webservices/EntityMeta.php
@@ -11,7 +11,7 @@
 abstract class EntityMeta{
 	
 	public static $RETRIEVE = "DetailView";
-	public static $CREATE = "Save";
+	public static $CREATE = "CreateView";
 	public static $UPDATE = "EditView";
 	public static $DELETE = "Delete";
 	
diff --git a/layouts/v7/modules/Calendar/CalendarHeader.tpl b/layouts/v7/modules/Calendar/CalendarHeader.tpl
index 0be4c487fe55a57ec8276393daabdf17df9b2cce..f5e3f08d757f88982f94364f23823a205c63f890 100644
--- a/layouts/v7/modules/Calendar/CalendarHeader.tpl
+++ b/layouts/v7/modules/Calendar/CalendarHeader.tpl
@@ -8,6 +8,7 @@
 *************************************************************************************}
 
 {strip}
+	<input type="hidden" name="is_record_creation_allowed" id="is_record_creation_allowed" value="{$IS_CREATE_PERMITTED}">
 	<div class="col-sm-12 col-xs-12 module-action-bar clearfix">
 		<div class="module-action-content clearfix coloredBorderTop">
 			<div class="col-lg-5 col-md-5">
@@ -22,20 +23,22 @@
 			<div class="col-lg-7 col-md-7 pull-right">
 				<div id="appnav" class="navbar-right">
 					<ul class="nav navbar-nav">
-						<li>
-							<button id="calendarview_basicaction_addevent" type="button" 
-									class="btn addButton btn-default module-buttons cursorPointer" 
-									onclick='Calendar_Calendar_Js.showCreateEventModal();'>
-								<div class="fa fa-plus" aria-hidden="true"></div>&nbsp;&nbsp;
-								{vtranslate('LBL_ADD_EVENT', $MODULE)}
-							</button>
-							<button id="calendarview_basicaction_addtask" type="button" 
-									class="btn addButton btn-default module-buttons cursorPointer" 
-									onclick='Calendar_Calendar_Js.showCreateTaskModal();'>
-								<div class="fa fa-plus" aria-hidden="true"></div>&nbsp;&nbsp;
-								{vtranslate('LBL_ADD_TASK', $MODULE)}
-							</button>
-						</li>
+						{if $IS_CREATE_PERMITTED}
+							<li>
+								<button id="calendarview_basicaction_addevent" type="button" 
+										class="btn addButton btn-default module-buttons cursorPointer" 
+										onclick='Calendar_Calendar_Js.showCreateEventModal();'>
+									<div class="fa fa-plus" aria-hidden="true"></div>&nbsp;&nbsp;
+									{vtranslate('LBL_ADD_EVENT', $MODULE)}
+								</button>
+								<button id="calendarview_basicaction_addtask" type="button" 
+										class="btn addButton btn-default module-buttons cursorPointer" 
+										onclick='Calendar_Calendar_Js.showCreateTaskModal();'>
+									<div class="fa fa-plus" aria-hidden="true"></div>&nbsp;&nbsp;
+									{vtranslate('LBL_ADD_TASK', $MODULE)}
+								</button>
+							</li>
+						{/if}
 						{if $MODULE_SETTING_ACTIONS|@count gt 0}
 							<li>
 								<div class="settingsIcon">
diff --git a/layouts/v7/modules/Calendar/ListViewRecordActions.tpl b/layouts/v7/modules/Calendar/ListViewRecordActions.tpl
index c50c9388efdf6f73e7e0443ed0cbd3071358f293..a70c546cd7f4794b7f7cdaed1df82965bcefa01d 100644
--- a/layouts/v7/modules/Calendar/ListViewRecordActions.tpl
+++ b/layouts/v7/modules/Calendar/ListViewRecordActions.tpl
@@ -27,7 +27,7 @@
 		{if $IS_MODULE_EDITABLE && $EDIT_VIEW_URL && $LISTVIEW_ENTRY->get('taskstatus') neq vtranslate('Held', $MODULE) && $LISTVIEW_ENTRY->get('taskstatus') neq vtranslate('Completed', $MODULE)}
 			<span class="fa fa-check icon action" title="{vtranslate('LBL_MARK_AS_HELD', $MODULE)}" onclick="Calendar_Calendar_Js.markAsHeld('{$LISTVIEW_ENTRY->getId()}');"></span>
 		{/if}
-		{if $IS_MODULE_EDITABLE && $EDIT_VIEW_URL && $LISTVIEW_ENTRY->get('taskstatus') eq vtranslate('Held', $MODULE)}
+		{if $IS_RECORD_CREATABLE && $EDIT_VIEW_URL && $LISTVIEW_ENTRY->get('taskstatus') eq vtranslate('Held', $MODULE)}
 			<span class="fa fa-flag icon action" title="{vtranslate('LBL_HOLD_FOLLOWUP_ON', "Events")}" onclick="Calendar_Calendar_Js.holdFollowUp('{$LISTVIEW_ENTRY->getId()}');"></span>
 		{/if}
 		<span class="more dropdown action">
diff --git a/layouts/v7/modules/Calendar/TaskManagement.tpl b/layouts/v7/modules/Calendar/TaskManagement.tpl
index 91c7b0caff1b9d43ab8f5cbb9272f28630142c5d..c80bf5d381fb9c6b3e65611a98d92286ecccf412 100644
--- a/layouts/v7/modules/Calendar/TaskManagement.tpl
+++ b/layouts/v7/modules/Calendar/TaskManagement.tpl
@@ -58,12 +58,14 @@
 							</div>
 							<br>
 							<div class="{strtolower($PRIORITY)}-content content" data-priority='{$PRIORITY}' style="border-bottom: 1px solid {$COLORS[$PRIORITY]};padding-bottom: 10px">
-								<div class="input-group">
-									<input type="text" class="form-control taskSubject {$PRIORITY}" placeholder="{vtranslate('LBL_ADD_TASK_AND_PRESS_ENTER', $MODULE)}" aria-describedby="basic-addon1" style="width: 99%">
-									<span class="quickTask input-group-addon js-task-popover-container more cursorPointer" id="basic-addon1" style="border: 1px solid #ddd; padding: 0 13px;"> 
-										<a href="#" id="taskPopover" priority='{$PRIORITY}'><i class="fa fa-plus icon"></i></a>
-									</span>
-								</div>
+								{if $USER_PRIVILEGES_MODEL->hasModuleActionPermission($MODULE_MODEL->getId(), 'CreateView')}
+									<div class="input-group">
+										<input type="text" class="form-control taskSubject {$PRIORITY}" placeholder="{vtranslate('LBL_ADD_TASK_AND_PRESS_ENTER', $MODULE)}" aria-describedby="basic-addon1" style="width: 99%">
+										<span class="quickTask input-group-addon js-task-popover-container more cursorPointer" id="basic-addon1" style="border: 1px solid #ddd; padding: 0 13px;"> 
+											<a href="#" id="taskPopover" priority='{$PRIORITY}'><i class="fa fa-plus icon"></i></a>
+										</span>
+									</div>
+								{/if}
 								<br>
 								<div class='{strtolower($PRIORITY)}-entries container-fluid scrollable dataEntries padding20' style="height:400px;overflow:auto;width:400px;padding-left: 0px;padding-right: 0px;">
 
diff --git a/layouts/v7/modules/Calendar/resources/Calendar.js b/layouts/v7/modules/Calendar/resources/Calendar.js
index 105a62c7e0169864ad001cc310e280b9049f1b8b..7e66fecf038355863c869b7a9f85b7c9193627b6 100644
--- a/layouts/v7/modules/Calendar/resources/Calendar.js
+++ b/layouts/v7/modules/Calendar/resources/Calendar.js
@@ -1070,26 +1070,29 @@ Vtiger.Class("Calendar_Calendar_Js", {
 		startDateElement.trigger('change');
 	},
 	showCreateModal: function (moduleName, startDateTime) {
-		var thisInstance = this;
-		var quickCreateNode = jQuery('#quickCreateModules').find('[data-name="' + moduleName + '"]');
-		if (quickCreateNode.length <= 0) {
-			app.helper.showAlertNotification({
-				'message': app.vtranslate('JS_NO_CREATE_OR_NOT_QUICK_CREATE_ENABLED')
+		var isAllowed = jQuery('#is_record_creation_allowed').val();
+        if (isAllowed) {
+			var thisInstance = this;
+			var quickCreateNode = jQuery('#quickCreateModules').find('[data-name="' + moduleName + '"]');
+			if (quickCreateNode.length <= 0) {
+				app.helper.showAlertNotification({
+					'message': app.vtranslate('JS_NO_CREATE_OR_NOT_QUICK_CREATE_ENABLED')
+				});
+			} else {
+				quickCreateNode.trigger('click');
+			}
+
+			app.event.one('post.QuickCreateForm.show', function (e, form) {
+				thisInstance.performingDayClickOperation = false;
+				var modalContainer = form.closest('.modal');
+				if (typeof startDateTime !== 'undefined' && startDateTime) {
+					thisInstance.setStartDateTime(modalContainer, startDateTime);
+				}
+				if (moduleName === 'Events') {
+					thisInstance.registerCreateEventModalEvents(form.closest('.modal'));
+				}
 			});
-		} else {
-			quickCreateNode.trigger('click');
 		}
-
-		app.event.one('post.QuickCreateForm.show', function (e, form) {
-			thisInstance.performingDayClickOperation = false;
-			var modalContainer = form.closest('.modal');
-			if (typeof startDateTime !== 'undefined' && startDateTime) {
-				thisInstance.setStartDateTime(modalContainer, startDateTime);
-			}
-			if (moduleName === 'Events') {
-				thisInstance.registerCreateEventModalEvents(form.closest('.modal'));
-			}
-		});
 	},
 	_updateAllOnCalendar: function (calendarModule) {
 		var thisInstance = this;
diff --git a/layouts/v7/modules/Documents/DocumentsRelatedList.tpl b/layouts/v7/modules/Documents/DocumentsRelatedList.tpl
index 84e954b9b94b07ba5af1163599221401c716f652..830d094a601227549b53c5f79b43640dfde6215b 100644
--- a/layouts/v7/modules/Documents/DocumentsRelatedList.tpl
+++ b/layouts/v7/modules/Documents/DocumentsRelatedList.tpl
@@ -50,27 +50,29 @@
                             {/if}
                             
                             {if $RELATED_LINK->getLabel() eq 'Vtiger'}
-                                <div class="col-sm-3">
-                                    <div class="dropdown">
-                                        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
-                                            <span class="fa fa-plus" title="{vtranslate('LBL_NEW_DOCUMENT', $MODULE)}"></span>&nbsp;{vtranslate('LBL_NEW_DOCUMENT', $RELATED_MODULE_NAME)}&nbsp; <span class="caret"></span>
-                                        </button>
-                                        <ul class="dropdown-menu">
-                                            <li class="dropdown-header"><i class="fa fa-upload"></i> {vtranslate('LBL_FILE_UPLOAD', $RELATED_MODULE_NAME)}</li>
-                                            <li id="VtigerAction">
-                                                <a href="javascript:Documents_Index_Js.uploadTo('Vtiger',{$PARENT_ID},'{$MODULE}')">
-                                                    <img style="  margin-top: -3px;margin-right: 4%;" title="Vtiger" alt="Vtiger" src="layouts/v7/skins//images/Vtiger.png">
-                                                    {vtranslate('LBL_TO_SERVICE', $RELATED_MODULE_NAME, {vtranslate('LBL_VTIGER', $RELATED_MODULE_NAME)})}
-                                                </a>
-                                            </li>
-                                            <li role="separator" class="divider"></li>
-                                            <li class="dropdown-header"><i class="fa fa-link"></i> {vtranslate('LBL_LINK_EXTERNAL_DOCUMENT', $RELATED_MODULE_NAME)}</li>
-                                            <li id="shareDocument"><a href="javascript:Documents_Index_Js.createDocument('E',{$PARENT_ID},'{$MODULE}')">&nbsp;<i class="fa fa-external-link"></i>&nbsp;&nbsp; {vtranslate('LBL_FROM_SERVICE', $RELATED_MODULE_NAME, {vtranslate('LBL_FILE_URL', $RELATED_MODULE_NAME)})}</a></li>
-                                            <li role="separator" class="divider"></li>
-                                            <li id="createDocument"><a href="javascript:Documents_Index_Js.createDocument('W',{$PARENT_ID},'{$MODULE}')"><i class="fa fa-file-text"></i> {vtranslate('LBL_CREATE_NEW', $RELATED_MODULE_NAME, {vtranslate('SINGLE_Documents', $RELATED_MODULE_NAME)})}</a></li>
-                                        </ul>
-                                    </div>
-                                </div>
+								{if $IS_CREATE_PERMITTED}
+									<div class="col-sm-3">
+										<div class="dropdown">
+											<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
+												<span class="fa fa-plus" title="{vtranslate('LBL_NEW_DOCUMENT', $MODULE)}"></span>&nbsp;{vtranslate('LBL_NEW_DOCUMENT', $RELATED_MODULE_NAME)}&nbsp; <span class="caret"></span>
+											</button>
+											<ul class="dropdown-menu">
+												<li class="dropdown-header"><i class="fa fa-upload"></i> {vtranslate('LBL_FILE_UPLOAD', $RELATED_MODULE_NAME)}</li>
+												<li id="VtigerAction">
+													<a href="javascript:Documents_Index_Js.uploadTo('Vtiger',{$PARENT_ID},'{$MODULE}')">
+														<img style="  margin-top: -3px;margin-right: 4%;" title="Vtiger" alt="Vtiger" src="layouts/v7/skins//images/Vtiger.png">
+														{vtranslate('LBL_TO_SERVICE', $RELATED_MODULE_NAME, {vtranslate('LBL_VTIGER', $RELATED_MODULE_NAME)})}
+													</a>
+												</li>
+												<li role="separator" class="divider"></li>
+												<li class="dropdown-header"><i class="fa fa-link"></i> {vtranslate('LBL_LINK_EXTERNAL_DOCUMENT', $RELATED_MODULE_NAME)}</li>
+												<li id="shareDocument"><a href="javascript:Documents_Index_Js.createDocument('E',{$PARENT_ID},'{$MODULE}')">&nbsp;<i class="fa fa-external-link"></i>&nbsp;&nbsp; {vtranslate('LBL_FROM_SERVICE', $RELATED_MODULE_NAME, {vtranslate('LBL_FILE_URL', $RELATED_MODULE_NAME)})}</a></li>
+												<li role="separator" class="divider"></li>
+												<li id="createDocument"><a href="javascript:Documents_Index_Js.createDocument('W',{$PARENT_ID},'{$MODULE}')"><i class="fa fa-file-text"></i> {vtranslate('LBL_CREATE_NEW', $RELATED_MODULE_NAME, {vtranslate('SINGLE_Documents', $RELATED_MODULE_NAME)})}</a></li>
+											</ul>
+										</div>
+									</div>
+								{/if}
                             {/if}
                             
                     {/foreach}
diff --git a/layouts/v7/modules/Settings/Profiles/DeleteTransferForm.tpl b/layouts/v7/modules/Settings/Profiles/DeleteTransferForm.tpl
index b031d16d0167957d1821dbdf0127b5aef2bc965b..373d9731e0fe734622f1de9101d5ec49fae374a2 100644
--- a/layouts/v7/modules/Settings/Profiles/DeleteTransferForm.tpl
+++ b/layouts/v7/modules/Settings/Profiles/DeleteTransferForm.tpl
@@ -9,38 +9,38 @@
 {* modules/Settings/Profiles/views/DeleteAjax.php *}
 
 {strip}
-    <div class="modal-dialog modelContainer"'>
-        {assign var=HEADER_TITLE value={vtranslate('LBL_DELETE_PROFILE', $QUALIFIED_MODULE)}|cat:" - "|cat:{$RECORD_MODEL->getName()}}
-        {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
-        <div class="modal-content">
-        <form class="form-horizontal" id="DeleteModal" name="AddComment" method="post" action="index.php">
-            <input type="hidden" name="module" value="{$MODULE}" />
-            <input type="hidden" name="parent" value="Settings" />
-            <input type="hidden" name="action" value="Delete" />
-            <input type="hidden" name="record" id="record" value="{$RECORD_MODEL->getId()}" />
-            <div name='massEditContent'>
-                <div class="modal-body">
-                    <div class="form-group">
-                       <label class="control-label fieldLabel col-sm-5">{vtranslate('LBL_TRANSFER_ROLES_TO_PROFILE',$QUALIFIED_MODULE)}</label>
-                       <div class="controls fieldValue col-xs-6">
-                            <select id="transfer_record" name="transfer_record" class="select2 col-xs-9">
-                                <optgroup label="{vtranslate('LBL_PROFILES', $QUALIFIED_MODULE)}">
-                                    {foreach from=$ALL_RECORDS item=PROFILE_MODEL}
-                                            {assign var=PROFILE_ID value=$PROFILE_MODEL->get('profileid')}
-                                            {if $PROFILE_ID neq $RECORD_MODEL->getId()}
-                                                    <option value="{$PROFILE_ID}">{$PROFILE_MODEL->get('profilename')}</option>
-                                            {/if}
-                                    {/foreach}
-                                </optgroup>
-                            </select>
-                       </div>
-                    </div>
-                </div>
-            </div>
-            {include file='ModalFooter.tpl'|@vtemplate_path:$MODULE}
-        </form>
-    </div>
-            </div>     
+	<div class="modal-dialog modelContainer">
+		{assign var=HEADER_TITLE value={vtranslate('LBL_DELETE_PROFILE', $QUALIFIED_MODULE)}|cat:" - "|cat:{$RECORD_MODEL->getName()}}
+		{include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
+		<div class="modal-content">
+			<form class="form-horizontal" id="DeleteModal" name="AddComment" method="post" action="index.php">
+				<input type="hidden" name="module" value="{$MODULE}" />
+				<input type="hidden" name="parent" value="Settings" />
+				<input type="hidden" name="action" value="Delete" />
+				<input type="hidden" name="record" id="record" value="{$RECORD_MODEL->getId()}" />
+				<div name='massEditContent'>
+					<div class="modal-body">
+						<div class="form-group">
+							<label class="control-label fieldLabel col-sm-5">{vtranslate('LBL_TRANSFER_ROLES_TO_PROFILE',$QUALIFIED_MODULE)}</label>
+							<div class="controls fieldValue col-xs-6">
+								<select id="transfer_record" name="transfer_record" class="select2 col-xs-9">
+									<optgroup label="{vtranslate('LBL_PROFILES', $QUALIFIED_MODULE)}">
+										{foreach from=$ALL_RECORDS item=PROFILE_MODEL}
+											{assign var=PROFILE_ID value=$PROFILE_MODEL->get('profileid')}
+											{if $PROFILE_ID neq $RECORD_MODEL->getId()}
+												<option value="{$PROFILE_ID}">{$PROFILE_MODEL->get('profilename')}</option>
+											{/if}
+										{/foreach}
+									</optgroup>
+								</select>
+							</div>
+						</div>
+					</div>
+				</div>
+				{include file='ModalFooter.tpl'|@vtemplate_path:$MODULE}
+			</form>
+		</div>
+	</div>
 {/strip}
 
 
diff --git a/layouts/v7/modules/Settings/Profiles/DetailView.tpl b/layouts/v7/modules/Settings/Profiles/DetailView.tpl
index 570c8750804b6da22359dd6fa71ac371d36b5324..552bee433865965947e96e052996ccfa67977792 100644
--- a/layouts/v7/modules/Settings/Profiles/DetailView.tpl
+++ b/layouts/v7/modules/Settings/Profiles/DetailView.tpl
@@ -10,213 +10,214 @@
 
 {* START YOUR IMPLEMENTATION FROM BELOW. Use {debug} for information *}
 {strip}
-    <div class="detailViewContainer">
-        <div class="col-lg-12 col-md-12 col-sm-12 col-sm-12 col-xs-12">
-            <div class="detailViewTitle form-horizontal" id="profilePageHeader">
-                <div class="clearfix row">
-                    <div class="col-sm-10 col-md-10 col-sm-10">
-                        <h4>{vtranslate('LBL_PROFILE_VIEW', $QUALIFIED_MODULE)}</h4>
-                    </div>
-                    <div class="col-sm-2">
-                        <div class="btn-group pull-right">
-                            <button class="btn btn-default  " type="button" onclick='window.location.href = "{$RECORD_MODEL->getEditViewUrl()}"'>{vtranslate('LBL_EDIT',$QUALIFIED_MODULE)}</button>
-                        </div>
-                    </div>
-                </div>
-                <hr>
-                <br>
-                <div class="profileDetailView detailViewInfo">
-                    <div class="row form-group">
-                        <div class="col-lg-2 col-md-2 col-sm-2 control-label fieldLabel">
-                            <label>{vtranslate('LBL_PROFILE_NAME', $QUALIFIED_MODULE)}</label>
-                        </div>
-                        <div class="fieldValue col-lg-6 col-md-6 col-sm-12"  name="profilename" id="profilename" value="{$RECORD_MODEL->getName()}"><strong>{$RECORD_MODEL->getName()}</strong></div>
-                    </div>
-                    <div class="row form-group">
-                        <div class="col-lg-2 col-md-2 col-sm-2 control-label fieldLabel">
-                            <label>{vtranslate('LBL_DESCRIPTION', $QUALIFIED_MODULE)}:</label>
-                        </div>
-                        <div class="fieldValue col-lg-6 col-md-6 col-sm-12" name="description" id="description"><strong>{$RECORD_MODEL->getDescription()}</strong></div>
-                    </div>
-                    <br>
-                    {assign var="ENABLE_IMAGE_PATH" value="{vimage_path('Enable.png')}"}
-                    {assign var="DISABLE_IMAGE_PATH" value="{vimage_path('Disable.png')}"}
-                    {if $RECORD_MODEL->hasGlobalReadPermission()}
-                        <div class="row">
-                            <div class="col-lg-offset-1 col-md-offset-1 col-sm-offset-1 col-lg-10 col-md-10 col-sm-10">
-                                <div>
-                                    <img class="alignMiddle" src="{if $RECORD_MODEL->hasGlobalReadPermission()}{$ENABLE_IMAGE_PATH}{else}{$DISABLE_IMAGE_PATH}{/if}" />
-                                    &nbsp;{vtranslate('LBL_VIEW_ALL',$QUALIFIED_MODULE)}
-                                    <div class="input-info-addon">
-                                        <i class="fa fa-info-circle"></i>&nbsp;
-                                        <span >{vtranslate('LBL_VIEW_ALL_DESC',$QUALIFIED_MODULE)}</span>
-                                    </div>
-                                    <div>
-                                        <img class="alignMiddle" src="{if $RECORD_MODEL->hasGlobalWritePermission()}{$ENABLE_IMAGE_PATH}{else}{$DISABLE_IMAGE_PATH}{/if}" />
-                                        &nbsp;{vtranslate('LBL_EDIT_ALL',$QUALIFIED_MODULE)}
-                                        <div class="input-info-addon">
-                                            <i class="fa fa-info-circle"></i>&nbsp;
-                                            <span>{vtranslate('LBL_EDIT_ALL_DESC',$QUALIFIED_MODULE)}</span>
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    {/if}
-                    <br>
-                    <div class="row">
-                        <div class="col-lg-offset-1 col-md-offset-1 col-sm-offset-1 col-lg-10 col-md-10 col-sm-10">
-                            <table class="table table-bordered">
-                                <thead>
-                                    <tr class='blockHeader'>
-                                        <th width="27%">
-                                            {vtranslate('LBL_MODULES', $QUALIFIED_MODULE)}
-                                        </th>
-                                        <th width="11%">
-                                            {'LBL_VIEW_PRVILIGE'|vtranslate:$QUALIFIED_MODULE}
-                                        </th>
-                                        <th width="12%">
-                                            {'LBL_EDIT_PRVILIGE'|vtranslate:$QUALIFIED_MODULE}
-                                        </th>
-                                        <th width="11%">
-                                            {'LBL_DELETE_PRVILIGE'|vtranslate:$QUALIFIED_MODULE}
-                                        </th>
-                                        <th width="39%" nowrap="nowrap">
-                                            {'LBL_FIELD_AND_TOOL_PRIVILEGES'|vtranslate:$QUALIFIED_MODULE}
-                                        </th>
-                                    </tr>
-                                </thead>
-                                <tbody>
-                                    {foreach from=$RECORD_MODEL->getModulePermissions() key=TABID item=PROFILE_MODULE}
-                                        {assign var=IS_RESTRICTED_MODULE value=$RECORD_MODEL->isRestrictedModule($PROFILE_MODULE->getName())}
-                                        <tr>
-                                            <td>
-                                                <img src="{if $RECORD_MODEL->hasModulePermission($PROFILE_MODULE)}{$ENABLE_IMAGE_PATH}{else}{$DISABLE_IMAGE_PATH}{/if}"/>&nbsp;{$PROFILE_MODULE->get('label')|vtranslate:$PROFILE_MODULE->getName()}
-                                            </td>
-                                            {assign var="BASIC_ACTION_ORDER" value=array(2,0,1)}
-                                            {foreach from=$BASIC_ACTION_ORDER item=ACTION_ID}
-                                                <td>
-                                                    {assign var="ACTION_MODEL" value=$ALL_BASIC_ACTIONS[$ACTION_ID]}
-                                                    {if !$IS_RESTRICTED_MODULE && $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
-                                                        <img style="margin-left: 40" src="{if $RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTION_MODEL)}{$ENABLE_IMAGE_PATH}{else}{$DISABLE_IMAGE_PATH}{/if}" />
-                                                    {/if}
-                                                </td>
-                                            {/foreach}
-                                            <td>
-                                                {if ($PROFILE_MODULE->getFields() && $PROFILE_MODULE->isEntityModule()) || $PROFILE_MODULE->isUtilityActionEnabled()}
-                                                    <div class="row">
-                                                        <span class="col-sm-4">&nbsp;</span>
-                                                        <span class="col-sm-4">
-                                                            <button type="button" data-handlerfor="fields" data-togglehandler="{$TABID}-fields" class="btn btn-sm btn-default" style="padding-right: 20px; padding-left: 20px;">
-                                                                <i class="fa fa-chevron-down"></i>
-                                                            </button>
-                                                        </span>
-                                                    </div>
-                                                {/if}
-                                            </td>
-                                        </tr>
-                                        <tr class="hide">
-                                            <td colspan="6" class="row" style="padding-left: 5%;padding-right: 5%">
-                                                <div class="row" data-togglecontent="{$TABID}-fields" style="display: none">
-                                                    {if $PROFILE_MODULE->getFields() && $PROFILE_MODULE->isEntityModule()}
-                                                        <div class="col-sm-12">
-                                                            <label class="pull-left"><strong>{vtranslate('LBL_FIELDS',$QUALIFIED_MODULE)}{if $MODULE_NAME eq 'Calendar'} {vtranslate('LBL_OF', $MODULE_NAME)} {vtranslate('LBL_TASKS', $MODULE_NAME)}{/if}</strong></label>
-                                                            <div class="pull-right">
-                                                                <span class="mini-slider-control ui-slider" data-value="0">
-                                                                    <a style="margin-top: 3px" class="ui-slider-handle"></a>
-                                                                </span>
-                                                                <span style="margin: 0 20px;">{vtranslate('LBL_INIVISIBLE',$QUALIFIED_MODULE)}</span>&nbsp;&nbsp;
-                                                                <span class="mini-slider-control ui-slider" data-value="1">
-                                                                    <a style="margin-top: 3px" class="ui-slider-handle"></a>
-                                                                </span>
-                                                                <span style="margin: 0 20px;">{vtranslate('LBL_READ_ONLY',$QUALIFIED_MODULE)}</span>&nbsp;&nbsp;
-                                                                <span class="mini-slider-control ui-slider" data-value="2">
-                                                                    <a style="margin-top: 3px" class="ui-slider-handle"></a>
-                                                                </span>
-                                                                <span style="margin: 0 14px;">{vtranslate('LBL_WRITE',$QUALIFIED_MODULE)}</span>
-                                                            </div>
-                                                            <div class="clearfix"></div>
-                                                        </div>
-                                                        <table class="table table-bordered">
-                                                            {assign var=COUNTER value=0}
-                                                            {foreach from=$PROFILE_MODULE->getFields() key=FIELD_NAME item=FIELD_MODEL name="fields"}
-                                                                {if $FIELD_MODEL->isActiveField() && $FIELD_MODEL->get('displaytype') neq '6'}
-                                                                    {assign var="FIELD_ID" value=$FIELD_MODEL->getId()}
-                                                                    {if $COUNTER % 3 == 0}
-                                                                        <tr>
-                                                                        {/if}
-                                                                        <td class="col-sm-4">
-                                                                            {assign var="DATA_VALUE" value=$RECORD_MODEL->getModuleFieldPermissionValue($PROFILE_MODULE, $FIELD_MODEL)}
-                                                                            {if $DATA_VALUE eq 0}
-                                                                                <span class="mini-slider-control ui-slider col-sm-1" data-value="0" style="width: 0px;">
-                                                                                    <a style="margin-top: 4px;margin-left: -13px;" class="ui-slider-handle"></a>
-                                                                                </span>
-                                                                            {elseif $DATA_VALUE eq 1}
-                                                                                <span class="mini-slider-control ui-slider col-sm-1" data-value="1" style="width: 0px;">
-                                                                                    <a style="margin-top: 4px;margin-left: -13px;" class="ui-slider-handle"></a>
-                                                                                </span>
-                                                                            {else}
-                                                                                <span class="mini-slider-control ui-slider col-sm-1" data-value="2" style="width: 0px;">
-                                                                                    <a style="margin-top: 4px;margin-left: -13px;" class="ui-slider-handle"></a>
-                                                                                </span>
-                                                                            {/if}&nbsp;												
-                                                                            <span class="col-sm-9" style="padding-right: 0px;">
-                                                                                {vtranslate($FIELD_MODEL->get('label'), $PROFILE_MODULE->getName())}&nbsp;
-                                                                                {if $FIELD_MODEL->isMandatory()}
-                                                                                    <span class="redColor">*</span>
-                                                                                {/if}
-                                                                            </span>
-                                                                        </td>
-                                                                        {if $smarty.foreach.fields.last OR ($COUNTER+1) % 3 == 0}
-                                                                        </tr>
-                                                                    {/if}
-                                                                    {assign var=COUNTER value=$COUNTER+1}
-                                                                {/if}
-                                                            {/foreach}
-                                                        </table>
-                                                    {/if}
-                                                </div>
-                                            </td>
-                                        </tr>
-                                        <tr class="hide">
-                                            <td colspan="6" class="row" style="padding-left: 5%;padding-right: 5%">
-                                                <div class="row" data-togglecontent="{$TABID}-fields" style="display: none">
-                                                    <div class="col-sm-12">
-                                                        <label class="themeTextColor font-x-large pull-left"><strong>{vtranslate('LBL_TOOLS',$QUALIFIED_MODULE)}</strong></label>
-                                                    </div>
-                                                    <table class="table table-bordered table-striped">
-                                                        {assign var=UTILITY_ACTION_COUNT value=0}
-                                                        {assign var="ALL_UTILITY_ACTIONS_ARRAY" value=array()}
-                                                        {foreach from=$ALL_UTILITY_ACTIONS item=ACTION_MODEL}
-                                                            {if $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
-                                                                {assign var="testArray" array_push($ALL_UTILITY_ACTIONS_ARRAY,$ACTION_MODEL)}
-                                                            {/if}
-                                                        {/foreach}
-                                                        {foreach from=$ALL_UTILITY_ACTIONS_ARRAY item=ACTION_MODEL name="actions"}
-                                                            {if $smarty.foreach.actions.index % 3 == 0}
-                                                                <tr>
-                                                                {/if}
-                                                                {assign var=ACTION_ID value=$ACTION_MODEL->get('actionid')}
-                                                                <td {if $smarty.foreach.actions.last && (($smarty.foreach.actions.index+1) % 3 neq 0)}
-                                                                    {assign var="index" value=($smarty.foreach.actions.index+1) % 3}
-                                                                    {assign var="colspan" value=4-$index}
-                                                                    colspan="{$colspan}"
-                                                                {/if}><img class="alignMiddle" src="{if $RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTION_ID)}{$ENABLE_IMAGE_PATH}{else}{$DISABLE_IMAGE_PATH}{/if}" />&nbsp;&nbsp;{$ACTION_MODEL->getName()}</td>
-                                                                    {if $smarty.foreach.actions.last OR ($smarty.foreach.actions.index+1) % 3 == 0}
-                                                                    </div>
-                                                                {/if}
-                                                                {/foreach}
-                                                            </table>
-                                                        </div>
-                                                    </td>
-                                                </tr>
-                                                {/foreach}
-                                                </tbody>
-                                            </table>
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                    {/strip}
\ No newline at end of file
+	<div class="detailViewContainer full-height">
+		<div class="col-lg-12 col-md-12 col-sm-12 col-sm-12 col-xs-12 main-scroll">
+			<div class="detailViewTitle form-horizontal" id="profilePageHeader">
+				<div class="clearfix row">
+					<div class="col-sm-10 col-md-10 col-sm-10">
+						<h4>{vtranslate('LBL_PROFILE_VIEW', $QUALIFIED_MODULE)}</h4>
+					</div>
+					<div class="col-sm-2">
+						<div class="btn-group pull-right">
+							<button class="btn btn-default  " type="button" onclick='window.location.href = "{$RECORD_MODEL->getEditViewUrl()}"'>{vtranslate('LBL_EDIT',$QUALIFIED_MODULE)}</button>
+						</div>
+					</div>
+				</div>
+				<hr>
+				<br>
+				<div class="profileDetailView detailViewInfo">
+					<div class="row form-group">
+						<div class="col-lg-2 col-md-2 col-sm-2 control-label fieldLabel">
+							<label>{vtranslate('LBL_PROFILE_NAME', $QUALIFIED_MODULE)}</label>
+						</div>
+						<div class="fieldValue col-lg-6 col-md-6 col-sm-12"  name="profilename" id="profilename" value="{$RECORD_MODEL->getName()}"><strong>{$RECORD_MODEL->getName()}</strong></div>
+					</div>
+					<div class="row form-group">
+						<div class="col-lg-2 col-md-2 col-sm-2 control-label fieldLabel">
+							<label>{vtranslate('LBL_DESCRIPTION', $QUALIFIED_MODULE)}:</label>
+						</div>
+						<div class="fieldValue col-lg-6 col-md-6 col-sm-12" name="description" id="description"><strong>{$RECORD_MODEL->getDescription()}</strong></div>
+					</div>
+					<br>
+					{assign var="ENABLE_IMAGE_PATH" value="{vimage_path('Enable.png')}"}
+					{assign var="DISABLE_IMAGE_PATH" value="{vimage_path('Disable.png')}"}
+					{if $RECORD_MODEL->hasGlobalReadPermission()}
+						<div class="row">
+							<div class="col-lg-offset-1 col-md-offset-1 col-sm-offset-1 col-lg-10 col-md-10 col-sm-10">
+								<div>
+									<img class="alignMiddle" src="{if $RECORD_MODEL->hasGlobalReadPermission()}{$ENABLE_IMAGE_PATH}{else}{$DISABLE_IMAGE_PATH}{/if}" />
+									&nbsp;{vtranslate('LBL_VIEW_ALL',$QUALIFIED_MODULE)}
+									<div class="input-info-addon">
+										<i class="fa fa-info-circle"></i>&nbsp;
+										<span >{vtranslate('LBL_VIEW_ALL_DESC',$QUALIFIED_MODULE)}</span>
+									</div>
+									<div>
+										<img class="alignMiddle" src="{if $RECORD_MODEL->hasGlobalWritePermission()}{$ENABLE_IMAGE_PATH}{else}{$DISABLE_IMAGE_PATH}{/if}" />
+										&nbsp;{vtranslate('LBL_EDIT_ALL',$QUALIFIED_MODULE)}
+										<div class="input-info-addon">
+											<i class="fa fa-info-circle"></i>&nbsp;
+											<span>{vtranslate('LBL_EDIT_ALL_DESC',$QUALIFIED_MODULE)}</span>
+										</div>
+									</div>
+								</div>
+							</div>
+						</div>
+					{/if}
+					<br>
+					<div class="row">
+						<div class="col-lg-offset-1 col-md-offset-1 col-sm-offset-1 col-lg-10 col-md-10 col-sm-10">
+							<table class="table table-bordered">
+								<thead>
+									<tr class='blockHeader'>
+										<th width="27%" style="text-align: left !important">
+											{vtranslate('LBL_MODULES', $QUALIFIED_MODULE)}
+										</th>
+										<th width="11%">
+											{'LBL_VIEW_PRVILIGE'|vtranslate:$QUALIFIED_MODULE}
+										</th>
+										<th width="11%">
+											{'LBL_CREATE'|vtranslate:$QUALIFIED_MODULE}
+										</th>
+										<th width="11%">
+											{'LBL_EDIT'|vtranslate:$QUALIFIED_MODULE}
+										</th>
+										<th width="11%">
+											{'LBL_DELETE_PRVILIGE'|vtranslate:$QUALIFIED_MODULE}
+										</th>
+										<th width="29%" nowrap="nowrap">
+											{'LBL_FIELD_AND_TOOL_PRIVILEGES'|vtranslate:$QUALIFIED_MODULE}
+										</th>
+									</tr>
+								</thead>
+								<tbody>
+									{foreach from=$RECORD_MODEL->getModulePermissions() key=TABID item=PROFILE_MODULE}
+										{assign var=IS_RESTRICTED_MODULE value=$RECORD_MODEL->isRestrictedModule($PROFILE_MODULE->getName())}
+										<tr>
+											{assign var=MODULE_PERMISSION value=$RECORD_MODEL->hasModulePermission($PROFILE_MODULE)}
+											<td data-module-name='{$PROFILE_MODULE->getName()}' data-module-status='{$MODULE_PERMISSION}'>
+												<img src="{if $MODULE_PERMISSION}{$ENABLE_IMAGE_PATH}{else}{$DISABLE_IMAGE_PATH}{/if}"/>&nbsp;{$PROFILE_MODULE->get('label')|vtranslate:$PROFILE_MODULE->getName()}
+											</td>
+											{assign var="BASIC_ACTION_ORDER" value=array(2,3,0,1)}
+											{foreach from=$BASIC_ACTION_ORDER item=ACTION_ID}
+												{assign var="ACTION_MODEL" value=$ALL_BASIC_ACTIONS[$ACTION_ID]}
+												{assign var=MODULE_ACTION_PERMISSION value=$RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTION_MODEL)}
+												<td data-action-state='{$ACTION_MODEL->getName()}' data-moduleaction-status='{$MODULE_ACTION_PERMISSION}' style="text-align: center;">
+													{if !$IS_RESTRICTED_MODULE && $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
+														<img src="{if $MODULE_ACTION_PERMISSION}{$ENABLE_IMAGE_PATH}{else}{$DISABLE_IMAGE_PATH}{/if}" />
+													{/if}
+												</td>
+											{/foreach}
+											<td class="textAlignCenter">
+												{if ($PROFILE_MODULE->getFields() && $PROFILE_MODULE->isEntityModule()) || $PROFILE_MODULE->isUtilityActionEnabled()}
+													<button type="button" data-handlerfor="fields" data-togglehandler="{$TABID}-fields" class="btn btn-sm btn-default" style="padding-right: 20px; padding-left: 20px;">
+														<i class="fa fa-chevron-down"></i>
+													</button>
+												{/if}
+											</td>
+										</tr>
+										<tr class="hide">
+											<td colspan="6" class="row" style="padding-left: 5%;padding-right: 5%">
+												<div class="row" data-togglecontent="{$TABID}-fields" style="display: none">
+													{if $PROFILE_MODULE->getFields() && $PROFILE_MODULE->isEntityModule()}
+														<div class="col-sm-12">
+															<label class="pull-left"><strong>{vtranslate('LBL_FIELDS',$QUALIFIED_MODULE)}{if $MODULE_NAME eq 'Calendar'} {vtranslate('LBL_OF', $MODULE_NAME)} {vtranslate('LBL_TASKS', $MODULE_NAME)}{/if}</strong></label>
+															<div class="pull-right">
+																<span class="mini-slider-control ui-slider" data-value="0">
+																	<a style="margin-top: 3px" class="ui-slider-handle"></a>
+																</span>
+																<span style="margin: 0 20px;">{vtranslate('LBL_INIVISIBLE',$QUALIFIED_MODULE)}</span>&nbsp;&nbsp;
+																<span class="mini-slider-control ui-slider" data-value="1">
+																	<a style="margin-top: 3px" class="ui-slider-handle"></a>
+																</span>
+																<span style="margin: 0 20px;">{vtranslate('LBL_READ_ONLY',$QUALIFIED_MODULE)}</span>&nbsp;&nbsp;
+																<span class="mini-slider-control ui-slider" data-value="2">
+																	<a style="margin-top: 3px" class="ui-slider-handle"></a>
+																</span>
+																<span style="margin: 0 14px;">{vtranslate('LBL_WRITE',$QUALIFIED_MODULE)}</span>
+															</div>
+															<div class="clearfix"></div>
+														</div>
+														<table class="table table-bordered">
+															{assign var=COUNTER value=0}
+															{foreach from=$PROFILE_MODULE->getFields() key=FIELD_NAME item=FIELD_MODEL name="fields"}
+																{if $FIELD_MODEL->isActiveField() && $FIELD_MODEL->get('displaytype') neq '6'}
+																	{assign var="FIELD_ID" value=$FIELD_MODEL->getId()}
+																	{if $COUNTER % 3 == 0}
+																		<tr>
+																	{/if}
+																	<td class="col-sm-4">
+																		{assign var="DATA_VALUE" value=$RECORD_MODEL->getModuleFieldPermissionValue($PROFILE_MODULE, $FIELD_MODEL)}
+																		{if $DATA_VALUE eq 0}
+																			<span class="mini-slider-control ui-slider col-sm-1" data-value="0" data-range-input='{$FIELD_ID}' style="width: 0px;">
+																				<a style="margin-top: 4px;margin-left: -13px;" class="ui-slider-handle"></a>
+																			</span>
+																		{elseif $DATA_VALUE eq 1}
+																			<span class="mini-slider-control ui-slider col-sm-1" data-value="1" data-range-input='{$FIELD_ID}' style="width: 0px;">
+																				<a style="margin-top: 4px;margin-left: -13px;" class="ui-slider-handle"></a>
+																			</span>
+																		{else}
+																			<span class="mini-slider-control ui-slider col-sm-1" data-value="2" data-range-input='{$FIELD_ID}' style="width: 0px;">
+																				<a style="margin-top: 4px;margin-left: -13px;" class="ui-slider-handle"></a>
+																			</span>
+																		{/if}&nbsp;												
+																		<span class="col-sm-9" style="padding-right: 0px;">
+																			{vtranslate($FIELD_MODEL->get('label'), $PROFILE_MODULE->getName())}&nbsp;
+																			{if $FIELD_MODEL->isMandatory()}
+																				<span class="redColor">*</span>
+																			{/if}
+																		</span>
+																	</td>
+																	{if $smarty.foreach.fields.last OR ($COUNTER+1) % 3 == 0}
+																		</tr>
+																	{/if}
+																	{assign var=COUNTER value=$COUNTER+1}
+																{/if}
+															{/foreach}
+														</table>
+													{/if}
+												</div>
+											</td>
+										</tr>
+										<tr class="hide">
+											<td colspan="6" class="row" style="padding-left: 5%;padding-right: 5%">
+												<div class="row" data-togglecontent="{$TABID}-fields" style="display: none">
+													<div class="col-sm-12">
+														<label class="themeTextColor font-x-large pull-left"><strong>{vtranslate('LBL_TOOLS',$QUALIFIED_MODULE)}</strong></label>
+													</div>
+													<table class="table table-bordered table-striped">
+														{assign var=UTILITY_ACTION_COUNT value=0}
+														{assign var="ALL_UTILITY_ACTIONS_ARRAY" value=array()}
+														{foreach from=$ALL_UTILITY_ACTIONS item=ACTION_MODEL}
+															{if $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
+																{assign var="testArray" array_push($ALL_UTILITY_ACTIONS_ARRAY,$ACTION_MODEL)}
+															{/if}
+														{/foreach}
+														{foreach from=$ALL_UTILITY_ACTIONS_ARRAY item=ACTION_MODEL name="actions"}
+															{if $smarty.foreach.actions.index % 3 == 0}
+																<tr>
+															{/if}
+															{assign var=ACTION_ID value=$ACTION_MODEL->get('actionid')}
+															{assign var=ACTIONNAME_STATUS value=$RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTION_ID)}
+															<td {if $smarty.foreach.actions.last && (($smarty.foreach.actions.index+1) % 3 neq 0)}
+																{assign var="index" value=($smarty.foreach.actions.index+1) % 3}
+																{assign var="colspan" value=4-$index}
+																colspan="{$colspan}"
+															{/if} data-action-name='{$ACTION_MODEL->getName()}' data-actionname-status='{$ACTIONNAME_STATUS}'><img class="alignMiddle" src="{if $ACTIONNAME_STATUS}{$ENABLE_IMAGE_PATH}{else}{$DISABLE_IMAGE_PATH}{/if}" />&nbsp;&nbsp;{$ACTION_MODEL->getName()}</td>
+															{if $smarty.foreach.actions.last OR ($smarty.foreach.actions.index+1) % 3 == 0}
+																</div>
+															{/if}
+														{/foreach}
+													</table>
+												</div>
+											</td>
+										</tr>
+									{/foreach}
+								</tbody>
+							</table>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+{/strip}
\ No newline at end of file
diff --git a/layouts/v7/modules/Settings/Profiles/EditView.tpl b/layouts/v7/modules/Settings/Profiles/EditView.tpl
index b03cc8ce306a8914a9ab4c8de18880a69c15372c..ea09b3861b0e1afe0624b6c0fb4caaaad8187f56 100644
--- a/layouts/v7/modules/Settings/Profiles/EditView.tpl
+++ b/layouts/v7/modules/Settings/Profiles/EditView.tpl
@@ -10,65 +10,63 @@
 
 {* START YOUR IMPLEMENTATION FROM BELOW. Use {debug} for information *}
 <div class="editViewPageDiv">
-    <div class="col-sm-12 col-xs-12">
-        <form class="form-horizontal" id="EditView" name="EditProfile" method="post" action="index.php" enctype="multipart/form-data">
-            <div class="editViewHeader">
-                {if $RECORD_MODEL->getId()}
-                    <h4>
-                        {vtranslate('LBL_EDIT_PROFILE', $QUALIFIED_MODULE)}
-                    </h4>
-                {else}
-                    <h4>
-                        {vtranslate('LBL_CREATE_PROFILE', $QUALIFIED_MODULE)}
-                    </h4>
-                {/if}
-            </div>
-            <hr>
-            <div class="editViewBody">
-                <div class="editViewContents">
-                    <div id="submitParams">
-                        <input type="hidden" name="module" value="Profiles" />
-                        <input type="hidden" name="action" value="Save" />
-                        <input type="hidden" name="parent" value="Settings" />
-                        {assign var=RECORD_ID value=$RECORD_MODEL->getId()}
-                        <input type="hidden" name="record" value="{$RECORD_ID}" />
-                        <input type="hidden" name="mode" value="{$MODE}" />
-                        <input type="hidden" name="viewall" value="0" />
-                        <input type="hidden" name="editall" value="0" />
-                    </div>
+	<div class="col-sm-12 col-xs-12 main-scroll">
+		<form class="form-horizontal" id="EditView" name="EditProfile" method="post" action="index.php" enctype="multipart/form-data">
+			<div class="editViewHeader">
+				{if $RECORD_MODEL->getId()}
+					<h4>
+						{vtranslate('LBL_EDIT_PROFILE', $QUALIFIED_MODULE)}
+					</h4>
+				{else}
+					<h4>
+						{vtranslate('LBL_CREATE_PROFILE', $QUALIFIED_MODULE)}
+					</h4>
+				{/if}
+			</div>
+			<hr>
+			<div class="editViewBody">
+				<div class="editViewContents">
+					<div id="submitParams">
+						<input type="hidden" name="module" value="Profiles" />
+						<input type="hidden" name="action" value="Save" />
+						<input type="hidden" name="parent" value="Settings" />
+						{assign var=RECORD_ID value=$RECORD_MODEL->getId()}
+						<input type="hidden" name="record" value="{$RECORD_ID}" />
+						<input type="hidden" name="mode" value="{$MODE}" />
+						<input type="hidden" name="viewall" value="0" />
+						<input type="hidden" name="editall" value="0" />
+					</div>
 
-                    <div name='editContent'>
-                         <div class="row form-group"><div class="col-lg-3 col-md-3 col-sm-3 control-label fieldLabel"> 
-                            <label>
-                                <strong>{vtranslate('LBL_PROFILE_NAME', $QUALIFIED_MODULE)}</strong>&nbsp;<span class="redColor">*</span>:&nbsp;
-                            </label></div>
-                            <div class="fieldValue col-lg-6 col-md-6 col-sm-6" > 
-                                <input type="text" class="inputElement" name="profilename" id="profilename" value="{$RECORD_MODEL->getName()}" data-rule-required="true"  />
-                            </div>
-                        </div>
-                        <br>
-                        <div class="row form-group"><div class="col-lg-3 col-md-3 col-sm-3 control-label fieldLabel"> 
-                            <label>
-                                <strong>{vtranslate('LBL_DESCRIPTION', $QUALIFIED_MODULE)}&nbsp;:&nbsp;</strong>
-                            </label></div>
-                            <div class="fieldValue col-lg-6 col-md-6 col-sm-6">
-                                <textarea name="description" class="inputElement" id="description" style="resize: vertical;">{$RECORD_MODEL->getDescription()}</textarea>
-                            </div>
-                        </div>
-                        <br>
-                        
-                        {include file='EditViewContents.tpl'|vtemplate_path:$QUALIFIED_MODULE}
-                    </div>
-                </div>
-            </div>
-                  <div class='modal-overlay-footer clearfix'>
-                <div class="row clearfix">
-                    <div class=' textAlignCenter col-lg-12 col-md-12 col-sm-12 '>
-                        <button type='submit' class='btn btn-success saveButton' >{vtranslate('LBL_SAVE', $MODULE)}</button>&nbsp;&nbsp;
-                        <a class='cancelLink' data-dismiss="modal"  href="javascript:history.back()" type="reset">{vtranslate('LBL_CANCEL', $MODULE)}</a>
-                    </div>
-                </div>
-            </div>  
-        </form>
-    </div>
+					<div name='editContent'>
+						<div class="row form-group"><div class="col-lg-3 col-md-3 col-sm-3 control-label fieldLabel"> 
+								<label>
+									<strong>{vtranslate('LBL_PROFILE_NAME', $QUALIFIED_MODULE)}</strong>&nbsp;<span class="redColor">*</span>:&nbsp;
+								</label></div>
+							<div class="fieldValue col-lg-6 col-md-6 col-sm-6" > 
+								<input type="text" class="inputElement" name="profilename" id="profilename" value="{$RECORD_MODEL->getName()}" data-rule-required="true" />
+							</div>
+						</div>
+
+						<div class="row"><div class="col-lg-3 col-md-3 col-sm-3 control-label fieldLabel"> 
+								<label>
+									<strong>{vtranslate('LBL_DESCRIPTION', $QUALIFIED_MODULE)}&nbsp;:&nbsp;</strong>
+								</label></div>
+							<div class="fieldValue col-lg-6 col-md-6 col-sm-6">
+								<textarea name="description" class="inputElement" id="description" style="height:50px; resize: vertical;padding:5px 8px;">{$RECORD_MODEL->getDescription()}</textarea>
+							</div>
+						</div>
+						{include file='EditViewContents.tpl'|vtemplate_path:$QUALIFIED_MODULE}
+					</div>
+				</div>
+			</div>
+			<div class='modal-overlay-footer clearfix'>
+				<div class="row clearfix">
+					<div class=' textAlignCenter col-lg-12 col-md-12 col-sm-12 '>
+						<button type='submit' class='btn btn-success saveButton' >{vtranslate('LBL_SAVE', $MODULE)}</button>&nbsp;&nbsp;
+						<a class='cancelLink' data-dismiss="modal" href="javascript:history.back()" type="reset">{vtranslate('LBL_CANCEL', $MODULE)}</a>
+					</div>
+				</div>
+			</div>
+		</form>
+	</div>
 </div>
diff --git a/layouts/v7/modules/Settings/Profiles/EditViewContents.tpl b/layouts/v7/modules/Settings/Profiles/EditViewContents.tpl
index 3ecf2e6c7a15f68e6fae8b4fddd4066fab3ef51c..7f9eafb6121803b6ba7890d7f8dabeb90f592ad2 100644
--- a/layouts/v7/modules/Settings/Profiles/EditViewContents.tpl
+++ b/layouts/v7/modules/Settings/Profiles/EditViewContents.tpl
@@ -9,253 +9,260 @@
 {* modules/Settings/Profiles/views/EditAjax.php *}
 
 {if $SHOW_EXISTING_PROFILES}
-    {foreach key=index item=jsModel from=$SCRIPTS}
-            <script type="{$jsModel->getType()}" src="{$jsModel->getSrc()}"></script>
-    {/foreach}
-    <div class="row">
-        <div class="col-lg-3 col-md-3 col-sm-3 control-label ">
-            <label class="fieldLabel">  
-                {vtranslate('LBL_COPY_PRIVILEGES_FROM',"Settings:Roles")}
+	{foreach key=index item=jsModel from=$SCRIPTS}
+		<script type="{$jsModel->getType()}" src="{$jsModel->getSrc()}"></script>
+	{/foreach}
+	<div class="row">
+		<div class="col-lg-3 col-md-3 col-sm-3 control-label ">
+			<label class="fieldLabel">
+				{vtranslate('LBL_COPY_PRIVILEGES_FROM',"Settings:Roles")}
 			</label>
-        </div>
-        <div class="col-lg-6 col-md-6 col-sm-6">
-            <select class="select2" id="directProfilePriviligesSelect" placeholder="{vtranslate('LBL_CHOOSE_PROFILES',$QUALIFIED_MODULE)}">
-                <option></option>
-                {foreach from=$ALL_PROFILES item=PROFILE}
-                    {if $PROFILE->isDirectlyRelated() eq false}
-                            <option value="{$PROFILE->getId()}" {if $RECORD_ID eq $PROFILE->getId()} selected="" {/if} >{$PROFILE->getName()}</option>
-                    {/if}
-                {/foreach}
-            </select>
-        </div>
-    </div>
+		</div>
+		<div class="col-lg-6 col-md-6 col-sm-6">
+			<select class="select2" id="directProfilePriviligesSelect" placeholder="{vtranslate('LBL_CHOOSE_PROFILES',$QUALIFIED_MODULE)}">
+				<option></option>
+				{foreach from=$ALL_PROFILES item=PROFILE}
+					{if $PROFILE->isDirectlyRelated() eq false}
+						<option value="{$PROFILE->getId()}" {if $RECORD_ID eq $PROFILE->getId()} selected="" {/if} >{$PROFILE->getName()}</option>
+					{/if}
+				{/foreach}
+			</select>
+		</div>
+	</div>
 {/if}
 <input type="hidden" name="viewall" value="0" />
 <input type="hidden" name="editall" value="0" />
 {if $RECORD_MODEL && $RECORD_MODEL->getId() && empty($IS_DUPLICATE_RECORD)}
-    {if $RECORD_MODEL->hasGlobalReadPermission() || $RECORD_MODEL->hasGlobalWritePermission()}
-        <div class="row">
-            <div class="col-lg-3 col-md-3 col-sm-3"></div>
-            <div class="col-lg-7 col-md-7 col-sm-7">
-                <label class="control-label">
-                    <input type="hidden" name="viewall" value="0" />
-                    <label class="control-label">
-                    <input class="listViewEntriesCheckBox" type="checkbox" name="viewall" {if $RECORD_MODEL->hasGlobalReadPermission()}checked="true"{/if} />
-                            &nbsp;{vtranslate('LBL_VIEW_ALL',$QUALIFIED_MODULE)}&nbsp;
-                    </label>
-                    <span style="margin-left: 10px">
-                        <i class="fa fa-info-circle"></i>
-                        <label class="control-label">{vtranslate('LBL_VIEW_ALL_DESC',$QUALIFIED_MODULE)}</label>
-                    </span>
-                </label>
-                <br>
-                <label class="control-label">
-                    <input type="hidden" name="editall" value="0" />
-                    <label class="control-label">
-                    <input class="listViewEntriesCheckBox" type="checkbox" name="editall" {if $RECORD_MODEL->hasGlobalReadPermission()}checked="true"{/if} />
-                        &nbsp;{vtranslate('LBL_EDIT_ALL',$QUALIFIED_MODULE)}
-                    </label>
-                    <span style="margin-left: 15px">
-                        <i class="fa fa-info-circle"></i>
-                        <label class="control-label">{vtranslate('LBL_EDIT_ALL_DESC',$QUALIFIED_MODULE)}</label>
-                    </span>
-                </label>
-                <br><br>
-                <span id="globalPermissionWarning" class="redColor">{vtranslate('LBL_GLOBAL_PERMISSION_WARNING',$QUALIFIED_MODULE)}</span>
-            </div>
-        </div>
-    {/if}
+	{if $RECORD_MODEL->hasGlobalReadPermission() || $RECORD_MODEL->hasGlobalWritePermission()}
+		<div class="row">
+			<div class="col-lg-3 col-md-3 col-sm-3 fieldLabel"></div>
+			<div class="col-lg-6 col-md-6 col-sm-6">
+				<label class="control-label">
+					<input type="hidden" name="viewall" value="0" />
+					<label class="control-label">
+						<input class="listViewEntriesCheckBox" type="checkbox" name="viewall" {if $RECORD_MODEL->hasGlobalReadPermission()}checked="true"{/if} style="top: -2px;" />
+						&nbsp;{vtranslate('LBL_VIEW_ALL',$QUALIFIED_MODULE)}&nbsp;
+					</label>
+					<span style="margin-left: 10px">
+						<i class="fa fa-info-circle" title="{vtranslate('LBL_VIEW_ALL_DESC',$QUALIFIED_MODULE)}"></i>
+					</span>
+				</label>
+				<br>
+				<label class="control-label">
+					<input type="hidden" name="editall" value="0" />
+					<label class="control-label">
+						<input class="listViewEntriesCheckBox" type="checkbox" name="editall" {if $RECORD_MODEL->hasGlobalReadPermission()}checked="true"{/if} style="top: -2px;"/>
+						&nbsp;{vtranslate('LBL_EDIT_ALL',$QUALIFIED_MODULE)}&nbsp;
+					</label>
+					<span style="margin-left: 15px">
+						<i class="fa fa-info-circle" title="{vtranslate('LBL_EDIT_ALL_DESC',$QUALIFIED_MODULE)}"></i>
+					</span>
+				</label>
+				<br><br>
+			</div>
+		</div>
+		<div class="row">
+			<div class="col-lg-3 col-md-3 col-sm-3 fieldLabel"></div>
+			<div class="col-lg-7 col-md-7 col-sm-7">
+				<div class="alert alert-warning" style="width:85%">
+					{vtranslate('LBL_GLOBAL_PERMISSION_WARNING',$QUALIFIED_MODULE)}
+				</div>
+			</div>
+	{/if}
 {/if}
-<br>             
-<div class="row">
-    <div class="col-lg-1 col-md-1 col-sm-1"></div>
-    <div class=" col-lg-10 col-md-10 col-sm-10">
-        <h5>{vtranslate('LBL_EDIT_PRIVILEGES_OF_THIS_PROFILE',$QUALIFIED_MODULE)}</h5><br>
-    </div>
+<div class="row col-lg-12 col-md-12 col-sm-12">
+	<div class=" col-lg-10 col-md-10 col-sm-10">
+		<h5>{vtranslate('LBL_EDIT_PRIVILEGES_OF_THIS_PROFILE',$QUALIFIED_MODULE)}</h5><br>
+	</div>
 </div>
 <div class="row">
-    <div class="col-lg-1 col-md-1 col-sm-1"></div>
-    <div class=" col-lg-10 col-md-10 col-sm-10">
-        <table class="table table-bordered profilesEditView">
-            <thead>
-                <tr class="blockHeader">
-                    <th width="30%">
-                    <input checked="true" type="checkbox" id="mainModulesCheckBox" />&nbsp;
-                    {vtranslate('LBL_MODULES', $QUALIFIED_MODULE)}
-            </th>
-            <th class='textAlignCenter' width="14%">
-                    <input type="checkbox" {if empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {/if} id="mainAction4CheckBox" />&nbsp;
-                    {'LBL_VIEW_PRVILIGE'|vtranslate:$QUALIFIED_MODULE}
-            </th>
-            <th class='textAlignCenter' width="14%">
-                    <input {if empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {/if} type="checkbox" id="mainAction1CheckBox" />&nbsp;
-                    {'LBL_EDIT_PRVILIGE'|vtranslate:$QUALIFIED_MODULE}
-            </th>
-                <th class='textAlignCenter' width="14%">
-                    <input checked="true" type="checkbox" id="mainAction2CheckBox" />&nbsp;
-                {'LBL_DELETE_PRVILIGE'|vtranslate:$QUALIFIED_MODULE}
-                </th>
-                <th class='textAlignCenter' width="28%" nowrap="nowrap">
-                    {'LBL_FIELD_AND_TOOL_PRIVILEGES'|vtranslate:$QUALIFIED_MODULE}
-                </th>
-                </tr>
-                </thead>
-                <tbody>
-                    {assign var=PROFILE_MODULES value=$RECORD_MODEL->getModulePermissions()}
-                    {foreach from=$PROFILE_MODULES key=TABID item=PROFILE_MODULE}
-                        {assign var=MODULE_NAME value=$PROFILE_MODULE->getName()}
-                        {if $MODULE_NAME neq 'Events'}
-                            {assign var=IS_RESTRICTED_MODULE value=$RECORD_MODEL->isRestrictedModule($PROFILE_MODULE->getName())}
-                            <tr>
-                                <td>
-                                    <input class="modulesCheckBox" type="checkbox" name="permissions[{$TABID}][is_permitted]" data-value="{$TABID}" data-module-state="" {if $RECORD_MODEL->hasModulePermission($PROFILE_MODULE)}checked="true"{else} data-module-unchecked="true" {/if}> {$PROFILE_MODULE->get('label')|vtranslate:$PROFILE_MODULE->getName()}
-                                </td>
-                                {assign var="BASIC_ACTION_ORDER" value=array(2,0,1)}
-                                {foreach from=$BASIC_ACTION_ORDER item=ORDERID}
-                                    <td >
-                                        {assign var="ACTION_MODEL" value=$ALL_BASIC_ACTIONS[$ORDERID]}
-                                        {assign var=ACTION_ID value=$ACTION_MODEL->get('actionid')}
-                                        {if !$IS_RESTRICTED_MODULE && $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
-                                            <input style="margin-left: 45% !important" class="action{$ACTION_ID}CheckBox" type="checkbox" name="permissions[{$TABID}][actions][{$ACTION_ID}]" data-action-state="{$ACTION_MODEL->getName()}" {if $RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTION_MODEL)}checked="true"{elseif empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {else} data-action{$ACTION_ID}-unchecked="true"{/if}></td>
-                                        {/if}
-                                    </td>
-                                {/foreach}
-                                <td >
-                                    {if ($PROFILE_MODULE->getFields() && $PROFILE_MODULE->isEntityModule() && $PROFILE_MODULE->isProfileLevelUtilityAllowed()) || $PROFILE_MODULE->isUtilityActionEnabled()}
-                                        <div class="row">
-                                            <span class="col-sm-4">&nbsp;</span>
-                                            <span class="col-sm-4">
-                                                <button type="button" data-handlerfor="fields" data-togglehandler="{$TABID}-fields" class="btn btn-default btn-sm" style="padding-right: 20px; padding-left: 20px;">
-                                                    <i class="fa fa-chevron-down"></i>
-                                                </button>
-                                            </span>
-                                        </div>
-                                    {/if}
-                                </td>
-                            </tr>
-                            <tr class="hide">
-                                <td colspan="6" class="row" style="padding-left: 5%;padding-right: 5%">
-                                    <div class="row" data-togglecontent="{$TABID}-fields" style="display: none">
-                                        {if $PROFILE_MODULE->getFields() && $PROFILE_MODULE->isEntityModule() }
-                                            <div class="col-sm-12">
-                                                <label class="pull-left"><strong>{vtranslate('LBL_FIELDS',$QUALIFIED_MODULE)}{if $MODULE_NAME eq 'Calendar'} {vtranslate('LBL_OF', $MODULE_NAME)} {vtranslate('LBL_TASKS', $MODULE_NAME)}{/if}</strong></label>
-                                                <div class="pull-right">
-                                                    <span class="mini-slider-control ui-slider" data-value="0">
-                                                        <a style="margin-top: 3px" class="ui-slider-handle"></a>
-                                                    </span>
-                                                    <span style="margin: 0 20px;">{vtranslate('LBL_INIVISIBLE',$QUALIFIED_MODULE)}</span>&nbsp;&nbsp;
-                                                    <span class="mini-slider-control ui-slider" data-value="1">
-                                                        <a style="margin-top: 3px" class="ui-slider-handle"></a>
-                                                    </span>
-                                                    <span style="margin: 0 20px;">{vtranslate('LBL_READ_ONLY',$QUALIFIED_MODULE)}</span>&nbsp;&nbsp;
-                                                    <span class="mini-slider-control ui-slider" data-value="2">
-                                                        <a style="margin-top: 3px" class="ui-slider-handle"></a>
-                                                    </span>
-                                                    <span style="margin: 0 20px;">{vtranslate('LBL_WRITE',$QUALIFIED_MODULE)}</span>
-                                                </div>
-                                                <div class="clearfix"></div>
-                                            </div>
-                                            <table class="table table-bordered no-border">
-                                                {assign var=COUNTER value=0}
-                                                {foreach from=$PROFILE_MODULE->getFields() key=FIELD_NAME item=FIELD_MODEL name="fields"}
-                                                    {assign var='FIELD_ID' value=$FIELD_MODEL->getId()}
-                                                    {if $FIELD_MODEL->isActiveField() && $FIELD_MODEL->get('uitype') != '83' && $FIELD_MODEL->get('displaytype') neq '6'}
-                                                        {if $COUNTER % 3 == 0}
-                                                            <tr>
-                                                            {/if}
-                                                            <td >
-                                                                <!-- Field will be locked iff that field is non editable or Mandatory or UIType 70.  
-                                                                     But, we can't set emailoptout field to either Mandatory/non-editable/uitype70
-                                                                -->
-                                                                {assign var="FIELD_LOCKED" value=true}
-                                                                {if $FIELD_NAME neq 'emailoptout'}
-                                                                    {assign var="FIELD_LOCKED" value=$RECORD_MODEL->isModuleFieldLocked($PROFILE_MODULE, $FIELD_MODEL)}
-                                                                {/if}
-                                                                <input type="hidden" name="permissions[{$TABID}][fields][{$FIELD_ID}]" data-range-input="{$FIELD_ID}" value="{$RECORD_MODEL->getModuleFieldPermissionValue($PROFILE_MODULE, $FIELD_MODEL)}" readonly="true">
-                                                                <div class="mini-slider-control editViewMiniSlider pull-left" data-locked="{$FIELD_LOCKED}" data-range="{$FIELD_ID}" data-value="{$RECORD_MODEL->getModuleFieldPermissionValue($PROFILE_MODULE, $FIELD_MODEL)}"></div>
-                                                                <div class="pull-left">
-                                                                     {vtranslate($FIELD_MODEL->get('label'), $MODULE_NAME)}&nbsp;{if $FIELD_MODEL->isMandatory()}<span class="redColor">*</span>{/if}
-                                                                </div>
-                                                            </td>
-                                                            {if $smarty.foreach.fields.last OR ($COUNTER+1) % 3 == 0}
-                                                            </tr>
-                                                        {/if}
-                                                        {assign var=COUNTER value=$COUNTER+1}
-                                                    {else if $FIELD_MODEL->get('displaytype') eq '6'}
-                                                        <input type='hidden' name='permissions[{$TABID}][fields][{$FIELD_ID}]' value='{$RECORD_MODEL->getModuleFieldPermissionValue($PROFILE_MODULE, $FIELD_MODEL)}' />
-                                                    {/if}
-                                                {/foreach}
-                                            </table>
-                                            {if $MODULE_NAME eq 'Calendar'}
-                                                {assign var=EVENT_MODULE value=$PROFILE_MODULES[16]}
-                                                {assign var=COUNTER value=0}
-                                                <label class="pull-left"><strong>{vtranslate('LBL_FIELDS', $QUALIFIED_MODULE)} {vtranslate('LBL_OF', $EVENT_MODULE->getName())} {vtranslate('LBL_EVENTS', $EVENT_MODULE->getName())}</strong></label>
-                                                <table class="table table-bordered">
-                                                    {foreach from=$EVENT_MODULE->getFields() key=FIELD_NAME item=FIELD_MODEL name="fields"}
-                                                        {if $FIELD_MODEL->isActiveField()}
-                                                            {assign var="FIELD_ID" value=$FIELD_MODEL->getId()}
-                                                            {if $COUNTER % 3 == 0}
-                                                                <tr>
-                                                                {/if}
-                                                                <td>
-                                                                    {assign var="FIELD_LOCKED" value=$RECORD_MODEL->isModuleFieldLocked($EVENT_MODULE, $FIELD_MODEL)}
-                                                                    <input type="hidden" name="permissions[16][fields][{$FIELD_ID}]" data-range-input="{$FIELD_ID}" value="{$RECORD_MODEL->getModuleFieldPermissionValue($EVENT_MODULE, $FIELD_MODEL)}" readonly="true">
-                                                                    <div class="mini-slider-control editViewMiniSlider pull-left" data-locked="{$FIELD_LOCKED}" data-range="{$FIELD_ID}" data-value="{$RECORD_MODEL->getModuleFieldPermissionValue($EVENT_MODULE, $FIELD_MODEL)}"></div>
-                                                                    <div class="pull-left">
-                                                                       {vtranslate($FIELD_MODEL->get('label'), $MODULE_NAME)}&nbsp;{if $FIELD_MODEL->isMandatory()}<span class="redColor">*</span>{/if} 
-                                                                    </div>
-                                                                </td>
-                                                                {if $smarty.foreach.fields.last OR ($COUNTER+1) % 3 == 0}
-                                                                </tr>
-                                                            {/if}
-                                                            {assign var=COUNTER value=$COUNTER+1}
-                                                        {/if}
-                                                    {/foreach}
-                                                </table>
-                                            {/if}
-                                        {/if}
-                                    </div>
-                                </td>
-                            </tr>
-                            <tr class="hide">
-                                <td colspan="6" class="row" style="padding-left: 5%;padding-right: 5%;">
-                                    <div class="row" data-togglecontent="{$TABID}-fields" style="display: none">
-                                        <div class="col-sm-12">
-                                            <label class="pull-left">
-                                                <strong>{vtranslate('LBL_TOOLS',$QUALIFIED_MODULE)}</strong>
-                                            </label>
-                                        </div>
-                                        <table class="table table-bordered">
-                                        {assign var=UTILITY_ACTION_COUNT value=0}
-                                        {assign var="ALL_UTILITY_ACTIONS_ARRAY" value=array()}
-                                        {foreach from=$ALL_UTILITY_ACTIONS item=ACTION_MODEL}
-                                            {if $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
-                                                {assign var="testArray" array_push($ALL_UTILITY_ACTIONS_ARRAY,$ACTION_MODEL)}
-                                            {/if}
-                                        {/foreach}
-                                        {foreach from=$ALL_UTILITY_ACTIONS_ARRAY item=ACTION_MODEL name="actions"}
-                                            {if $smarty.foreach.actions.index % 3 == 0}
-                                            <tr>
-                                            {/if}
-                                            {assign var=ACTIONID value=$ACTION_MODEL->get('actionid')}
-                                            <td {if $smarty.foreach.actions.last && (($smarty.foreach.actions.index+1) % 3 neq 0)}
-                                            {assign var="index" value=($smarty.foreach.actions.index+1) % 3}
-                                            {assign var="colspan" value=4-$index}
-                                            colspan="{$colspan}"
-                                            {/if}>
-                                                <input type="checkbox" {if empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {/if} name="permissions[{$TABID}][actions][{$ACTIONID}]" {if $RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTIONID)}checked="true"{/if}> {$ACTION_MODEL->getName()}
-                                            </td>
-                                            {if $smarty.foreach.actions.last OR ($smarty.foreach.actions.index+1) % 3 == 0}
-                                                </div>
-                                            {/if}
-                                        {/foreach}
-                                        </table>
-                                    </div>
-                                </td>
-                            </tr>
-                {/if}
-            {/foreach}
-            </tbody>
-        </table>
-    </div>
+	<div class="col-lg-1 col-md-1 col-sm-1"></div>
+	<div class=" col-lg-10 col-md-10 col-sm-10">
+		<table class="table table-bordered profilesEditView">
+			<thead>
+				<tr class="blockHeader">
+					<th width="25%" style="text-align: left !important">
+						<label><input class="verticalAlignMiddle" checked="true" type="checkbox" id="mainModulesCheckBox" style="top: -2px;"/>&nbsp;
+							{vtranslate('LBL_MODULES', $QUALIFIED_MODULE)}
+						</label>
+					</th>
+					<th class='textAlignCenter' width="14%">
+						<label><input class="verticalAlignMiddle" type="checkbox" {if empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {/if} id="mainAction4CheckBox" style="top: -2px;" />&nbsp;
+							{'LBL_VIEW_PRVILIGE'|vtranslate:$QUALIFIED_MODULE}
+						</label>
+					</th>
+					<th class='textAlignCenter' width="14%">
+						<label><input class="verticalAlignMiddle" {if empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {/if} type="checkbox" id="mainAction7CheckBox" style="top: -2px;"/>&nbsp;
+							{'LBL_CREATE'|vtranslate:$QUALIFIED_MODULE}
+						</label>
+					</th>
+					<th class='textAlignCenter' width="14%">
+						<label><input class="verticalAlignMiddle" {if empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {/if} type="checkbox" id="mainAction1CheckBox" style="top: -2px;" />&nbsp;
+							{'LBL_EDIT'|vtranslate:$QUALIFIED_MODULE}
+						</label>
+					</th>
+					<th class='textAlignCenter' width="14%">
+						<label><input class="verticalAlignMiddle" checked="true" type="checkbox" id="mainAction2CheckBox" style="top: -2px;" />&nbsp;
+							{'LBL_DELETE_PRVILIGE'|vtranslate:$QUALIFIED_MODULE}
+						</label>
+					</th>
+					<th class='textAlignCenter verticalAlignMiddleImp' width="28%;" nowrap="nowrap">
+						{'LBL_FIELD_AND_TOOL_PRIVILEGES'|vtranslate:$QUALIFIED_MODULE}
+					</th>
+				</tr>
+			</thead>
+			<tbody>
+				{assign var=PROFILE_MODULES value=$RECORD_MODEL->getModulePermissions()}
+				{foreach from=$PROFILE_MODULES key=TABID item=PROFILE_MODULE}
+					{assign var=MODULE_NAME value=$PROFILE_MODULE->getName()}
+					{if $MODULE_NAME neq 'Events'}
+						{assign var=IS_RESTRICTED_MODULE value=$RECORD_MODEL->isRestrictedModule($MODULE_NAME)}
+						<tr>
+							<td class="verticalAlignMiddleImp">
+								<input class="modulesCheckBox" type="checkbox" name="permissions[{$TABID}][is_permitted]" data-value="{$TABID}" data-module-state="" {if $RECORD_MODEL->hasModulePermission($PROFILE_MODULE)}checked="true"{else} data-module-unchecked="true" {/if}> {$PROFILE_MODULE->get('label')|vtranslate:$PROFILE_MODULE->getName()}
+							</td>
+							{assign var="BASIC_ACTION_ORDER" value=array(2,3,0,1)}
+							{foreach from=$BASIC_ACTION_ORDER item=ORDERID}
+								<td class="textAlignCenter verticalAlignMiddleImp">
+									{assign var="ACTION_MODEL" value=$ALL_BASIC_ACTIONS[$ORDERID]}
+									{assign var=ACTION_ID value=$ACTION_MODEL->get('actionid')}
+									{if !$IS_RESTRICTED_MODULE && $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
+										<input class="action{$ACTION_ID}CheckBox" type="checkbox" name="permissions[{$TABID}][actions][{$ACTION_ID}]" data-action-state="{$ACTION_MODEL->getName()}" {if $RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTION_MODEL)}checked="true"{elseif empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {else} data-action{$ACTION_ID}-unchecked="true"{/if}></td>
+									{/if}
+								</td>
+							{/foreach}
+							<td class="textAlignCenter">
+								{if ($PROFILE_MODULE->getFields() && $PROFILE_MODULE->isEntityModule() && $PROFILE_MODULE->isProfileLevelUtilityAllowed()) || $PROFILE_MODULE->isUtilityActionEnabled()}
+									<button type="button" data-handlerfor="fields" data-togglehandler="{$TABID}-fields" class="btn btn-default btn-sm" style="padding-right: 20px; padding-left: 20px;">
+										<i class="fa fa-chevron-down"></i>
+									</button>
+								{/if}
+							</td>
+						</tr>
+						<tr class="hide">
+							<td colspan="6" class="row" style="padding-left: 5%;padding-right: 5%">
+								<div class="row" data-togglecontent="{$TABID}-fields" style="display: none">
+									{if $PROFILE_MODULE->getFields() && $PROFILE_MODULE->isEntityModule() }
+										<div class="col-sm-12">
+											<label class="pull-left"><strong>{vtranslate('LBL_FIELDS',$QUALIFIED_MODULE)}{if $MODULE_NAME eq 'Calendar'} {vtranslate('LBL_OF', $MODULE_NAME)} {vtranslate('LBL_TASKS', $MODULE_NAME)}{/if}</strong></label>
+											<div class="pull-right">
+												<span class="mini-slider-control ui-slider" data-value="0">
+													<a style="margin-top: 3px" class="ui-slider-handle"></a>
+												</span>
+												<span style="margin: 0 20px;">{vtranslate('LBL_INIVISIBLE',$QUALIFIED_MODULE)}</span>&nbsp;&nbsp;
+												<span class="mini-slider-control ui-slider" data-value="1">
+													<a style="margin-top: 3px" class="ui-slider-handle"></a>
+												</span>
+												<span style="margin: 0 20px;">{vtranslate('LBL_READ_ONLY',$QUALIFIED_MODULE)}</span>&nbsp;&nbsp;
+												<span class="mini-slider-control ui-slider" data-value="2">
+													<a style="margin-top: 3px" class="ui-slider-handle"></a>
+												</span>
+												<span style="margin: 0 20px;">{vtranslate('LBL_WRITE',$QUALIFIED_MODULE)}</span>
+											</div>
+											<div class="clearfix"></div>
+										</div>
+										<table class="table table-bordered no-border">
+											{assign var=COUNTER value=0}
+											{foreach from=$PROFILE_MODULE->getFields() key=FIELD_NAME item=FIELD_MODEL name="fields"}
+												{assign var='FIELD_ID' value=$FIELD_MODEL->getId()}
+												{if $FIELD_MODEL->isActiveField() && $FIELD_MODEL->get('uitype') != '83' && $FIELD_MODEL->get('displaytype') neq '6'}
+													{if $COUNTER % 3 == 0}
+														<tr>
+													{/if}
+													<td >
+														<!-- Field will be locked iff that field is non editable or Mandatory or UIType 70.
+														 But, we can't set emailoptout field to either Mandatory/non-editable/uitype70
+														-->
+														{assign var="FIELD_LOCKED" value=true}
+														{if $FIELD_NAME neq 'emailoptout'}
+															{assign var="FIELD_LOCKED" value=$RECORD_MODEL->isModuleFieldLocked($PROFILE_MODULE, $FIELD_MODEL)}
+														{/if}
+														<input type="hidden" name="permissions[{$TABID}][fields][{$FIELD_ID}]" data-range-input="{$FIELD_ID}" value="{$RECORD_MODEL->getModuleFieldPermissionValue($PROFILE_MODULE, $FIELD_MODEL)}" readonly="true">
+														<div class="mini-slider-control editViewMiniSlider pull-left" data-locked="{$FIELD_LOCKED}" data-range="{$FIELD_ID}" data-value="{$RECORD_MODEL->getModuleFieldPermissionValue($PROFILE_MODULE, $FIELD_MODEL)}"></div>
+														<div class="pull-left">
+															{vtranslate($FIELD_MODEL->get('label'), $MODULE_NAME)}&nbsp;{if $FIELD_MODEL->isMandatory()}<span class="redColor">*</span>{/if}
+														</div>
+													</td>
+													{if $smarty.foreach.fields.last OR ($COUNTER+1) % 3 == 0}
+														</tr>
+													{/if}
+												{assign var=COUNTER value=$COUNTER+1}
+												{else if $FIELD_MODEL->get('displaytype') eq '6' || $FIELD_MODEL->getName() eq 'adjusted_amount'}
+													<input type='hidden' name='permissions[{$TABID}][fields][{$FIELD_ID}]' value='2' />
+												{/if}
+											{/foreach}
+										</table>
+										{if $MODULE_NAME eq 'Calendar'}
+											{assign var=EVENT_MODULE value=$PROFILE_MODULES[16]}
+											{assign var=COUNTER value=0}
+											<label class="pull-left"><strong>{vtranslate('LBL_FIELDS', $QUALIFIED_MODULE)} {vtranslate('LBL_OF', $EVENT_MODULE->getName())} {vtranslate('LBL_EVENTS', $EVENT_MODULE->getName())}</strong></label>
+											<table class="table table-bordered">
+												{foreach from=$EVENT_MODULE->getFields() key=FIELD_NAME item=FIELD_MODEL name="fields"}
+													{if $FIELD_MODEL->isActiveField()}
+														{assign var="FIELD_ID" value=$FIELD_MODEL->getId()}
+														{if $COUNTER % 3 == 0}
+															<tr>
+															{/if}
+															<td>
+																{assign var="FIELD_LOCKED" value=$RECORD_MODEL->isModuleFieldLocked($EVENT_MODULE, $FIELD_MODEL)}
+																<input type="hidden" name="permissions[16][fields][{$FIELD_ID}]" data-range-input="{$FIELD_ID}" value="{$RECORD_MODEL->getModuleFieldPermissionValue($EVENT_MODULE, $FIELD_MODEL)}" readonly="true">
+																<div class="mini-slider-control editViewMiniSlider pull-left" data-locked="{$FIELD_LOCKED}" data-range="{$FIELD_ID}" data-value="{$RECORD_MODEL->getModuleFieldPermissionValue($EVENT_MODULE, $FIELD_MODEL)}"></div>
+																<div class="pull-left">
+																	{vtranslate($FIELD_MODEL->get('label'), $MODULE_NAME)}&nbsp;{if $FIELD_MODEL->isMandatory()}<span class="redColor">*</span>{/if} 
+																</div>
+															</td>
+															{if $smarty.foreach.fields.last OR ($COUNTER+1) % 3 == 0}
+															</tr>
+														{/if}
+														{assign var=COUNTER value=$COUNTER+1}
+													{/if}
+												{/foreach}
+											</table>
+										{/if}
+									{/if}
+								</div>
+							</td>
+						</tr>
+						<tr class="hide {$PROFILE_MODULE->getName()}_ACTIONS">
+							{assign var=UTILITY_ACTION_COUNT value=0}
+							{assign var="ALL_UTILITY_ACTIONS_ARRAY" value=array()}
+							{foreach from=$ALL_UTILITY_ACTIONS item=ACTION_MODEL}
+								{if $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
+									{assign var="testArray" array_push($ALL_UTILITY_ACTIONS_ARRAY,$ACTION_MODEL)}
+								{/if}
+							{/foreach}
+							{if $ALL_UTILITY_ACTIONS_ARRAY}
+								<td colspan="6" class="row" style="padding-left: 5%;padding-right: 5%;">
+									<div class="row" data-togglecontent="{$TABID}-fields" style="display: none">
+										<div class="col-sm-12">
+											<label class="pull-left">
+												<strong>{vtranslate('LBL_TOOLS',$QUALIFIED_MODULE)}</strong>
+											</label>
+										</div>
+										<table class="table table-bordered">
+											<tr>
+												{foreach from=$ALL_UTILITY_ACTIONS_ARRAY item=ACTION_MODEL name="actions"}
+													{assign var=ACTIONID value=$ACTION_MODEL->get('actionid')}
+													<td {if $smarty.foreach.actions.last && (($smarty.foreach.actions.index+1) % 3 neq 0)}
+														{assign var="index" value=($smarty.foreach.actions.index+1) % 3}
+														{assign var="colspan" value=4-$index}
+														colspan="{$colspan}"
+														{/if}>
+														<input type="checkbox" {if empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {/if} name="permissions[{$TABID}][actions][{$ACTIONID}]" {if $RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTIONID)}checked="true"{/if} data-action-name='{$ACTION_MODEL->getName()}' data-action-tool='{$TABID}'> {vtranslate($ACTION_MODEL->getName(), $QUALIFIED_MODULE)}
+													</td>
+													{if ($smarty.foreach.actions.index+1) % 3 == 0}
+														</tr><tr>
+													{/if}
+												{/foreach}
+											</tr>
+										</table>
+									</div>
+								</td>
+							{/if}
+						</tr>
+					{/if}
+				{/foreach}
+			</tbody>
+		</table>
+	</div>
 </div>
diff --git a/layouts/v7/modules/Settings/Profiles/ListViewRecordActions.tpl b/layouts/v7/modules/Settings/Profiles/ListViewRecordActions.tpl
index ee5c030817615479cf846310d3f9792558e7e656..7bc6ae6eb1ba85d0f673d1c1ca8359e5cf0a237f 100644
--- a/layouts/v7/modules/Settings/Profiles/ListViewRecordActions.tpl
+++ b/layouts/v7/modules/Settings/Profiles/ListViewRecordActions.tpl
@@ -10,22 +10,22 @@
 <!--LIST VIEW RECORD ACTIONS-->
 
 <div class="table-actions">
-    {assign var=RECORD_LINKS value=$LISTVIEW_ENTRY->getRecordLinks()}
-    {assign var=RECORD_LINK_URL value=[]}
-    {foreach item=RECORD_LINK key=key from=$LISTVIEW_ENTRY->getRecordLinks()}
-        {$RECORD_LINK_URL.$key = $RECORD_LINK->getUrl()}
-    {/foreach}
-    
-    <span>
-        <a href="{$RECORD_LINK_URL[1]}" title="{vtranslate('LBL_DUPLICATE', $MODULE)}"><i class="fa fa-copy"></i></a>
-    </span>
-        <span class="more dropdown action">
-            <span href="javascript:;" class="dropdown-toggle" data-toggle="dropdown">
-                <i class="fa fa-ellipsis-v icon"></i></span>
-            <ul class="dropdown-menu">
-                <li><a data-id="{$LISTVIEW_ENTRY->getId()}" href="{$RECORD_LINK_URL[0]}" title="{vtranslate('LBL_EDIT', $MODULE)}">{vtranslate('LBL_EDIT', $MODULE)}</a></li>
-                <li> <a data-id="{$LISTVIEW_ENTRY->getId()}" href="javascript:void(0)" onclick="{$RECORD_LINK_URL[2]}" title="{vtranslate('LBL_DELETE', $MODULE)}">{vtranslate('LBL_DELETE', $MODULE)}</a></li>
-            </ul>
-        </span>
+	{assign var=RECORD_LINKS value=$LISTVIEW_ENTRY->getRecordLinks()}
+	{assign var=RECORD_LINK_URL value=[]}
+	{foreach item=RECORD_LINK key=key from=$LISTVIEW_ENTRY->getRecordLinks()}
+		{$RECORD_LINK_URL.$key = $RECORD_LINK->getUrl()}
+	{/foreach}
+
+	<span>
+		<a href="{$RECORD_LINK_URL[1]}" title="{vtranslate('LBL_DUPLICATE', $MODULE)}"><i class="fa fa-copy"></i></a>
+	</span>
+	<span class="more dropdown action">
+		<span href="javascript:;" class="dropdown-toggle" data-toggle="dropdown">
+			<i class="fa fa-ellipsis-v icon"></i></span>
+		<ul class="dropdown-menu">
+			<li><a data-id="{$LISTVIEW_ENTRY->getId()}" href="{$RECORD_LINK_URL[0]}" title="{vtranslate('LBL_EDIT', $MODULE)}">{vtranslate('LBL_EDIT', $MODULE)}</a></li>
+			<li> <a data-id="{$LISTVIEW_ENTRY->getId()}" href="javascript:void(0)" onclick="{$RECORD_LINK_URL[2]}" title="{vtranslate('LBL_DELETE', $MODULE)}">{vtranslate('LBL_DELETE', $MODULE)}</a></li>
+		</ul>
+	</span>
 </div>
 {/strip}
\ No newline at end of file
diff --git a/layouts/v7/modules/Settings/Profiles/resources/Profiles.js b/layouts/v7/modules/Settings/Profiles/resources/Profiles.js
index 8be822ad7ca3aea06557a5059d7f2085216631d6..62f0c702134b7bfa6593e3d6d7535c2170c8caec 100644
--- a/layouts/v7/modules/Settings/Profiles/resources/Profiles.js
+++ b/layouts/v7/modules/Settings/Profiles/resources/Profiles.js
@@ -45,6 +45,7 @@ var Settings_Profiles_Js = {
 			var parent = target.closest('tr');
 			if (target.is(':checked')) {
 				jQuery('[data-action-state]', parent).prop('checked', true);
+				jQuery('[data-action-tool="'+tabid+'"]').prop('checked', true);
 				jQuery('[data-handlerfor]', parent).removeAttr('disabled');
 			} else {
 				jQuery('[data-action-state]', parent).prop('checked', false);
@@ -63,7 +64,7 @@ var Settings_Profiles_Js = {
 			var parent = target.closest('tr');
 			var checked = target.prop('checked')? true : false;
 			
-			if (target.data('action-state') == 'EditView' || target.data('action-state') == 'Delete') {
+			if (jQuery.inArray(target.data('action-state'), ['CreateView', 'EditView', 'Delete']) != -1) {
 				if (checked) {
 					jQuery('[data-action-state="DetailView"]', parent).prop('checked', true);
 					jQuery('[data-module-state]', parent).prop('checked', true);
@@ -95,11 +96,14 @@ var Settings_Profiles_Js = {
 		
 		jQuery('[data-module-state]').change(handleModuleSelectionState);
 		jQuery('[data-action-state]').change(handleActionSelectionState);
-		jQuery('#mainAction1CheckBox,#mainAction2CheckBox').change(selectAllModulesViewAndToolPriviliges);
+		jQuery('#mainAction1CheckBox,#mainAction7CheckBox,#mainAction2CheckBox').change(selectAllModulesViewAndToolPriviliges);
 		
 		jQuery('[data-togglehandler]').click(toggleEditViewTableRow);
 		jQuery('[data-range]').each(function(index, item) {
 			item = jQuery(item);
+			if(item.data('locked')){
+				jQuery('.editViewMiniSlider').css('cursor','pointer');
+			}
 			var value = item.data('value');
 			item.slider({
 				min: 0,
@@ -118,8 +122,9 @@ var Settings_Profiles_Js = {
 	registerSelectAllModulesEvent : function() {
 		var moduleCheckBoxes = jQuery('.modulesCheckBox');
 		var viewAction = jQuery('#mainAction4CheckBox');
-		var createAction = jQuery('#mainAction1CheckBox');
-		var deleteACtion = jQuery('#mainAction2CheckBox');
+		var createAction = jQuery('#mainAction7CheckBox');
+		var editAction = jQuery('#mainAction1CheckBox');
+		var deleteAction = jQuery('#mainAction2CheckBox');
 		var mainModulesCheckBox = jQuery('#mainModulesCheckBox');
 		mainModulesCheckBox.on('change',function(e) {
 			var mainCheckBox = jQuery(e.currentTarget);
@@ -127,22 +132,26 @@ var Settings_Profiles_Js = {
 				moduleCheckBoxes.prop('checked',true);
 				viewAction.prop('checked',true);
 				createAction.show().prop('checked',true);
-				deleteACtion.show().prop('checked',true);
+				editAction.show().prop('checked',true);
+				deleteAction.show().prop('checked',true);
 				moduleCheckBoxes.trigger('change');
 			} else {
-				moduleCheckBoxes.prop('checked',false);
+				//Some modules like TextSearch, BusinessHours, SLA will not be shown in the UI. But they should be always enabled
+				moduleCheckBoxes.filter(':visible').not(':disabled').prop('checked',false);
 				moduleCheckBoxes.trigger('change');
 				viewAction.prop('checked',false);
 				createAction.prop('checked', false);
-				deleteACtion.prop('checked', false);
+				editAction.prop('checked', false);
+				deleteAction.prop('checked', false);
 			}
 		});
 		
 		moduleCheckBoxes.on('change',function(){
 			Settings_Profiles_Js.checkSelectAll(moduleCheckBoxes,mainModulesCheckBox);
 			Settings_Profiles_Js.checkSelectAll(jQuery('.action4CheckBox'),viewAction);
-			Settings_Profiles_Js.checkSelectAll(jQuery('.action1CheckBox'),createAction);
-			Settings_Profiles_Js.checkSelectAll(jQuery('.action2CheckBox'),deleteACtion);
+			Settings_Profiles_Js.checkSelectAll(jQuery('.action7CheckBox'),createAction);
+			Settings_Profiles_Js.checkSelectAll(jQuery('.action1CheckBox'),editAction);
+			Settings_Profiles_Js.checkSelectAll(jQuery('.action2CheckBox'),deleteAction);
 		});
 	},
 	
@@ -167,8 +176,25 @@ var Settings_Profiles_Js = {
 		});
 		
 	},
-	
+
 	registerSelectAllCreateActionsEvent : function() {
+		var createActionCheckBoxes = jQuery('.action7CheckBox');
+		var mainCreateActionCheckBox = jQuery('#mainAction7CheckBox');
+		mainCreateActionCheckBox.on('change', function (e) {
+			var mainCheckBox = jQuery(e.currentTarget);
+			if (mainCheckBox.is(':checked')) {
+				createActionCheckBoxes.prop('checked', true);
+			} else {
+				createActionCheckBoxes.prop('checked', false);
+			}
+		});
+		createActionCheckBoxes.on('change', function () {
+			Settings_Profiles_Js.checkSelectAll(createActionCheckBoxes, mainCreateActionCheckBox);
+		});
+
+	},
+
+	registerSelectAllEditActionsEvent : function() {
 		var createActionCheckBoxes = jQuery('.action1CheckBox');
 		var mainCreateActionCheckBox =  jQuery('#mainAction1CheckBox');
 		mainCreateActionCheckBox.on('change',function(e){
@@ -225,10 +251,13 @@ var Settings_Profiles_Js = {
 		if(jQuery('[data-module-unchecked]').length > 0){
 			jQuery('#mainModulesCheckBox').prop('checked',false);
 		}
-        
+
 		if(jQuery('[data-action4-unchecked]').length <= 0){
 			jQuery('#mainAction4CheckBox').prop('checked',true);
 		}
+		if(jQuery('[data-action7-unchecked]').length <= 0) {
+			jQuery('#mainAction7CheckBox').prop('checked',true);
+		}
 		if(jQuery('[data-action1-unchecked]').length <= 0) {
 			jQuery('#mainAction1CheckBox').prop('checked',true);
 		}
@@ -254,6 +283,7 @@ var Settings_Profiles_Js = {
 		var params = {
 			submitHandler : function(form) {
 				var form = jQuery(form);
+				jQuery('[name="EditProfile"]').find('.saveButton').attr('disabled',true);
 				if(form.data('submit') === 'true' && form.data('performCheck') === 'true') {
 					return true;
 				} else {
@@ -289,11 +319,13 @@ var Settings_Profiles_Js = {
 								});
 							},
 							function(err){
+								jQuery('[name="EditProfile"]').find('.saveButton').removeAttr('disabled');
 								app.helper.hideProgress();
 								app.helper.showErrorNotification({'message' : err.message});
 							});
 					} else {
 						//If validation fails, form should submit again
+						jQuery('[name="EditProfile"]').find('.saveButton').removeAttr('disabled');
 						form.removeData('submit');
 					}
 				}
@@ -394,22 +426,23 @@ var Settings_Profiles_Js = {
 		Settings_Profiles_Js.registerSelectAllModulesEvent();
 		Settings_Profiles_Js.registerSelectAllViewActionsEvent();
 		Settings_Profiles_Js.registerSelectAllCreateActionsEvent();
+		Settings_Profiles_Js.registerSelectAllEditActionsEvent();
 		Settings_Profiles_Js.registerSelectAllDeleteActionsEvent();
 		Settings_Profiles_Js.performSelectAllActionsOnLoad();
 		Settings_Profiles_Js.registerGlobalPermissionActionsEvent();
-        if(app.getModuleName() === 'Profiles' && app.view() === 'Edit') {
-            Settings_Profiles_Js.registerSubmitEvent();
-        }
+		if(app.getModuleName() === 'Profiles' && app.view() === 'Edit') {
+			Settings_Profiles_Js.registerSubmitEvent();
+		}
 	}
-	
+
 };
 
 Vtiger.Class("Settings_Profiles_Detail_Js",{},{
 	init : function() {
 		this.addComponents();
-                Settings_Profiles_Js.registerEvents();
+		Settings_Profiles_Js.registerEvents();
 	},
-	
+
 	addComponents : function() {
 		this.addModuleSpecificComponent('Index','Vtiger',app.getParentModuleName());
 	}
@@ -418,7 +451,7 @@ Vtiger.Class("Settings_Profiles_Detail_Js",{},{
 Vtiger.Class("Settings_Profiles_Edit_Js",{},{
 	init : function() {
 		this.addComponents();
-                Settings_Profiles_Js.registerEvents();
+		Settings_Profiles_Js.registerEvents();
 	},
 	
 	addComponents : function() {
diff --git a/layouts/v7/modules/Vtiger/Comment.tpl b/layouts/v7/modules/Vtiger/Comment.tpl
index fb6200b8d70acd5d4ab82c40c74dd00022d5ee52..7aaf40aee6a160375953f2bd54e8868d209eb856 100644
--- a/layouts/v7/modules/Vtiger/Comment.tpl
+++ b/layouts/v7/modules/Vtiger/Comment.tpl
@@ -7,141 +7,141 @@
  * All Rights Reserved.
  ************************************************************************************}
 {strip}
-    <div class="commentDiv {if $COMMENT->get('is_private')}privateComment{/if}">
-        <div class="singleComment">
-            <input type="hidden" name="is_private" value="{$COMMENT->get('is_private')}">
-            <div class="commentInfoHeader" data-commentid="{$COMMENT->getId()}" data-parentcommentid="{$COMMENT->get('parent_comments')}" data-relatedto = "{$COMMENT->get('related_to')}">
-                
-                {assign var=PARENT_COMMENT_MODEL value=$COMMENT->getParentCommentModel()}
-                {assign var=CHILD_COMMENTS_MODEL value=$COMMENT->getChildComments()}
-                    
-                <div class="row">
-                    <div class="col-lg-12">
-                        <div class="media">
-                            <div class="media-left title" id="{$COMMENT->getId()}">
-                                {assign var=CREATOR_NAME value=$COMMENT->getCommentedByName()}
-                                <div class="col-lg-2 recordImage commentInfoHeader" style ="width:50px; height:50px;" data-commentid="{$COMMENT->getId()}" data-parentcommentid="{$COMMENT->get('parent_comments')}" data-relatedto = "{$COMMENT->get('related_to')}">
-                                    {assign var=IMAGE_PATH value=$COMMENT->getImagePath()}
-                                    {if !empty($IMAGE_PATH)}
-                                        <img src="{$IMAGE_PATH}" width="100%" height="100%" align="left">
-                                    {else}
-                                        <div class="name"><span><strong> {$CREATOR_NAME|substr:0:2} </strong></span></div>
-                                                {/if}
-                                </div>
-                            </div>
-                            <div class="media-body">
-                                <div class="comment" style="line-height:1;">
-                                    <span class="creatorName" style="color:blue">
-                                        {$CREATOR_NAME}
-                                    </span>&nbsp;&nbsp;
-                                    {if $ROLLUP_STATUS and $COMMENT->get('module') ne $MODULE_NAME}
-                                        {assign var=SINGULR_MODULE value='SINGLE_'|cat:$COMMENT->get('module')}
-                                        {assign var=ENTITY_NAME value=getEntityName($COMMENT->get('module'), array($COMMENT->get('related_to')))}
-                                        <span class="text-muted">
-                                            {vtranslate('LBL_ON','Vtiger')}&nbsp;
-                                            {vtranslate($SINGULR_MODULE)}&nbsp;
-                                            <a href="index.php?module={$COMMENT->get('module')}&view=Detail&record={$COMMENT->get('related_to')}">
-                                                {$ENTITY_NAME[$COMMENT->get('related_to')]}
-                                            </a>
-                                        </span>&nbsp;&nbsp;
-                                    {/if}
-                                    <div class="">
-                                        <span class="commentInfoContent">
-                                            {nl2br($COMMENT->get('commentcontent'))}
-                                        </span>
-                                    </div>
-                                    <br>
-                                    <div class="commentActionsContainer">
-                                        <span class="commentActions">
-                                            {if $CHILDS_ROOT_PARENT_MODEL}
-                                                {assign var=CHILDS_ROOT_PARENT_ID value=$CHILDS_ROOT_PARENT_MODEL->getId()}
-                                            {/if}
-                                            
-                                            {if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}
-                                                {if $CHILDS_ROOT_PARENT_MODEL}
-                                                    {assign var=CHILDS_ROOT_PARENT_ID value=$CHILDS_ROOT_PARENT_MODEL->getId()}
-                                                {/if}
-                                                <a href="javascript:void(0);" class="cursorPointer replyComment feedback" style="color: blue;">
-                                                    {vtranslate('LBL_REPLY',$MODULE_NAME)}
-                                                </a>
-                                                {if $CURRENTUSER->getId() eq $COMMENT->get('userid')}
-                                                    &nbsp;&nbsp;&nbsp;
-                                                    <a href="javascript:void(0);" class="cursorPointer editComment feedback" style="color: blue;">
-                                                        {vtranslate('LBL_EDIT',$MODULE_NAME)}
-                                                    </a>
-                                                {/if}
-                                            {/if}
-                                            
-                                            {assign var=CHILD_COMMENTS_COUNT value=$COMMENT->getChildCommentsCount()}
-                                            {if $CHILD_COMMENTS_MODEL neq null and ($CHILDS_ROOT_PARENT_ID neq $PARENT_COMMENT_ID)}
-                                                {if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}&nbsp;&nbsp;&nbsp;{/if}
-                                                <span class="viewThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}">
-                                                    <a href="javascript:void(0)" class="cursorPointer viewThread">
-                                                        <span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
-                                                    </a>
-                                                </span>
-                                                <span class="hideThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}" style="display:none;">
-                                                    <a href="javascript:void(0)" class="cursorPointer hideThread">
-                                                        <span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
-                                                    </a>
-                                                </span>
-                                            {elseif $CHILD_COMMENTS_MODEL neq null and ($CHILDS_ROOT_PARENT_ID eq $PARENT_COMMENT_ID)}
-                                                {if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}&nbsp;&nbsp;&nbsp;{/if}
-                                                <span class="viewThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}" style="display:none;">
-                                                    <a href="javascript:void(0)" class="cursorPointer viewThread">
-                                                        <span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
-                                                    </a>
-                                                </span>
-                                                <span class="hideThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}">
-                                                    <a href="javascript:void(0)" class="cursorPointer hideThread">
-                                                        <span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
-                                                    </a>
-                                                </span>
-                                            {/if}
-                                        </span>
+	<div class="commentDiv {if $COMMENT->get('is_private')}privateComment{/if}">
+		<div class="singleComment">
+			<input type="hidden" name="is_private" value="{$COMMENT->get('is_private')}">
+			<div class="commentInfoHeader" data-commentid="{$COMMENT->getId()}" data-parentcommentid="{$COMMENT->get('parent_comments')}" data-relatedto = "{$COMMENT->get('related_to')}">
 
-                                        <span class="commentTime text-muted cursorDefault" style="padding:20px;">
-                                            <small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getCommentedTime())}">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getCommentedTime())}</small>
-                                        </span>
-                                    </div>
-                                        <br>
-                                      {assign var="REASON_TO_EDIT" value=$COMMENT->get('reasontoedit')}
-                                      <div class="editedStatus"  name="editStatus">
-                                        <div class="{if empty($REASON_TO_EDIT)}hide{/if} editReason">
-                                            <p class="text-muted"><small>[ {vtranslate('LBL_EDIT_REASON',$MODULE_NAME)} ] : <span  name="editReason" class="textOverflowEllipsis">{nl2br($REASON_TO_EDIT)}</span></small></p>
-                                        </div>
-                                        {if $COMMENT->getCommentedTime() neq $COMMENT->getModifiedTime()}
-                                            <p class="text-muted cursorDefault"><small><em>{vtranslate('LBL_MODIFIED',$MODULE_NAME)}</em></small>&nbsp;<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getModifiedTime())}" class="commentModifiedTime">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getModifiedTime())}</small></p>
-                                        {/if}
-                                      </div>
-                                        <div style="margin-top:5px;">
-                                                {assign var="FILE_DETAILS" value=$COMMENT->getFileNameAndDownloadURL()}
-                                                {foreach key=index item=FILE_DETAIL from=$FILE_DETAILS}
-                                                        {assign var="FILE_NAME" value=$FILE_DETAIL['trimmedFileName']}
-                                                        {if !empty($FILE_NAME)}
-                                                            <div class="row-fluid">
-                                                                <div class="span11 commentAttachmentName">
-                                                                    <span class="filePreview">
-                                                                        <a onclick="Vtiger_Detail_Js.previewFile(event,{$COMMENT->get('id')},{$FILE_DETAIL['attachmentId']});" data-filename="{$FILE_NAME}" href="javascript:void(0)" name="viewfile">
-                                                                            <span title="{$FILE_DETAIL['rawFileName']}" style="line-height:1.5em;">{$FILE_NAME}</span>&nbsp
-                                                                        </a>&nbsp;
-                                                                        <a name="downloadfile" href="{$FILE_DETAIL['url']}">
-                                                                            <i title="{vtranslate('LBL_DOWNLOAD_FILE',$MODULE_NAME)}" class="pull-left hide fa fa-download alignMiddle"></i>
-                                                                        </a>
-                                                                    </span>
-                                                                </div>
-                                                            </div>
-                                                        {/if}
-                                                {/foreach}
-                                        </div>
-                                </div>
-                            </div>
-                            <hr>
-                        </div>
-                    </div>
-                </div>
-                
-            </div>
-        </div>
-    </div>
+				{assign var=PARENT_COMMENT_MODEL value=$COMMENT->getParentCommentModel()}
+				{assign var=CHILD_COMMENTS_MODEL value=$COMMENT->getChildComments()}
+
+				<div class="row">
+					<div class="col-lg-12">
+						<div class="media">
+							<div class="media-left title" id="{$COMMENT->getId()}">
+								{assign var=CREATOR_NAME value=$COMMENT->getCommentedByName()}
+								<div class="col-lg-2 recordImage commentInfoHeader" style ="width:50px; height:50px; font-size: 30px;" data-commentid="{$COMMENT->getId()}" data-parentcommentid="{$COMMENT->get('parent_comments')}" data-relatedto = "{$COMMENT->get('related_to')}">
+									{assign var=IMAGE_PATH value=$COMMENT->getImagePath()}
+									{if !empty($IMAGE_PATH)}
+										<img src="{$IMAGE_PATH}" width="100%" height="100%" align="left">
+									{else}
+										<div class="name"><span><strong> {$CREATOR_NAME|substr:0:2} </strong></span></div>
+									{/if}
+								</div>
+							</div>
+							<div class="media-body">
+								<div class="comment" style="line-height:1;">
+									<span class="creatorName" style="color:blue">
+										{$CREATOR_NAME}
+									</span>&nbsp;&nbsp;
+									{if $ROLLUP_STATUS and $COMMENT->get('module') ne $MODULE_NAME}
+										{assign var=SINGULR_MODULE value='SINGLE_'|cat:$COMMENT->get('module')}
+										{assign var=ENTITY_NAME value=getEntityName($COMMENT->get('module'), array($COMMENT->get('related_to')))}
+										<span class="text-muted">
+											{vtranslate('LBL_ON','Vtiger')}&nbsp;
+											{vtranslate($SINGULR_MODULE)}&nbsp;
+											<a href="index.php?module={$COMMENT->get('module')}&view=Detail&record={$COMMENT->get('related_to')}">
+												{$ENTITY_NAME[$COMMENT->get('related_to')]}
+											</a>
+										</span>&nbsp;&nbsp;
+									{/if}
+									<div class="">
+										<span class="commentInfoContent">
+											{nl2br($COMMENT->get('commentcontent'))}
+										</span>
+									</div>
+									<br>
+									<div class="commentActionsContainer">
+										<span class="commentActions">
+											{if $CHILDS_ROOT_PARENT_MODEL}
+												{assign var=CHILDS_ROOT_PARENT_ID value=$CHILDS_ROOT_PARENT_MODEL->getId()}
+											{/if}
+
+											{if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}
+												{if $CHILDS_ROOT_PARENT_MODEL}
+													{assign var=CHILDS_ROOT_PARENT_ID value=$CHILDS_ROOT_PARENT_MODEL->getId()}
+												{/if}
+												<a href="javascript:void(0);" class="cursorPointer replyComment feedback" style="color: blue;">
+													{vtranslate('LBL_REPLY',$MODULE_NAME)}
+												</a>
+												{if $CURRENTUSER->getId() eq $COMMENT->get('userid')}
+													&nbsp;&nbsp;&nbsp;
+													<a href="javascript:void(0);" class="cursorPointer editComment feedback" style="color: blue;">
+														{vtranslate('LBL_EDIT',$MODULE_NAME)}
+													</a>
+												{/if}
+											{/if}
+
+											{assign var=CHILD_COMMENTS_COUNT value=$COMMENT->getChildCommentsCount()}
+											{if $CHILD_COMMENTS_MODEL neq null and ($CHILDS_ROOT_PARENT_ID neq $PARENT_COMMENT_ID)}
+												{if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}&nbsp;&nbsp;&nbsp;{/if}
+												<span class="viewThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}">
+													<a href="javascript:void(0)" class="cursorPointer viewThread">
+														<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
+													</a>
+												</span>
+												<span class="hideThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}" style="display:none;">
+													<a href="javascript:void(0)" class="cursorPointer hideThread">
+														<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
+													</a>
+												</span>
+											{elseif $CHILD_COMMENTS_MODEL neq null and ($CHILDS_ROOT_PARENT_ID eq $PARENT_COMMENT_ID)}
+												{if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}&nbsp;&nbsp;&nbsp;{/if}
+												<span class="viewThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}" style="display:none;">
+													<a href="javascript:void(0)" class="cursorPointer viewThread">
+														<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
+													</a>
+												</span>
+												<span class="hideThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}">
+													<a href="javascript:void(0)" class="cursorPointer hideThread">
+														<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
+													</a>
+												</span>
+											{/if}
+										</span>
+
+										<span class="commentTime text-muted cursorDefault" style="padding:20px;">
+											<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getCommentedTime())}">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getCommentedTime())}</small>
+										</span>
+									</div>
+									<br>
+									{assign var="REASON_TO_EDIT" value=$COMMENT->get('reasontoedit')}
+									<div class="editedStatus" name="editStatus">
+										<div class="{if empty($REASON_TO_EDIT)}hide{/if} editReason">
+											<p class="text-muted"><small>[ {vtranslate('LBL_EDIT_REASON',$MODULE_NAME)} ] : <span name="editReason" class="textOverflowEllipsis">{nl2br($REASON_TO_EDIT)}</span></small></p>
+										</div>
+										{if $COMMENT->getCommentedTime() neq $COMMENT->getModifiedTime()}
+											<p class="text-muted cursorDefault"><small><em>{vtranslate('LBL_MODIFIED',$MODULE_NAME)}</em></small>&nbsp;<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getModifiedTime())}" class="commentModifiedTime">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getModifiedTime())}</small></p>
+										{/if}
+									</div>
+									<div style="margin-top:5px;">
+										{assign var="FILE_DETAILS" value=$COMMENT->getFileNameAndDownloadURL()}
+										{foreach key=index item=FILE_DETAIL from=$FILE_DETAILS}
+											{assign var="FILE_NAME" value=$FILE_DETAIL['trimmedFileName']}
+											{if !empty($FILE_NAME)}
+												<div class="row-fluid">
+													<div class="span11 commentAttachmentName">
+														<span class="filePreview">
+															<a onclick="Vtiger_Detail_Js.previewFile(event,{$COMMENT->get('id')},{$FILE_DETAIL['attachmentId']});" data-filename="{$FILE_NAME}" href="javascript:void(0)" name="viewfile">
+																<span title="{$FILE_DETAIL['rawFileName']}" style="line-height:1.5em;">{$FILE_NAME}</span>&nbsp
+															</a>&nbsp;
+															<a name="downloadfile" href="{$FILE_DETAIL['url']}">
+																<i title="{vtranslate('LBL_DOWNLOAD_FILE',$MODULE_NAME)}" class="pull-left hide fa fa-download alignMiddle"></i>
+															</a>
+														</span>
+													</div>
+												</div>
+											{/if}
+										{/foreach}
+									</div>
+								</div>
+							</div>
+							<hr>
+						</div>
+					</div>
+				</div>
+
+			</div>
+		</div>
+	</div>
 {/strip}
\ No newline at end of file
diff --git a/layouts/v7/modules/Vtiger/CommentThreadList.tpl b/layouts/v7/modules/Vtiger/CommentThreadList.tpl
index 9db9ad5c1f6c3c72aa237f52d0b90c6af03558c0..df9ef5db7c2723ee802e08557d49703b72e4058d 100644
--- a/layouts/v7/modules/Vtiger/CommentThreadList.tpl
+++ b/layouts/v7/modules/Vtiger/CommentThreadList.tpl
@@ -9,93 +9,97 @@
 *
 ********************************************************************************/
 -->*}
+
+{assign var=IS_CREATABLE value=$COMMENTS_MODULE_MODEL->isPermitted('CreateView')}
+{assign var=IS_EDITABLE value=$COMMENTS_MODULE_MODEL->isPermitted('EditView')}
+
 <div class="commentDiv cursorPointer">
-    <div class="singleComment">
-        <input type="hidden" name="is_private" value="{$COMMENT->get('is_private')}">
-        <div class="commentInfoHeader"  data-commentid="{$COMMENT->getId()}" data-parentcommentid="{$COMMENT->get('parent_comments')}">
-            {assign var=PARENT_COMMENT_MODEL value=$COMMENT->getParentCommentModel()}
-            {assign var=CHILD_COMMENTS_MODEL value=$COMMENT->getChildComments()}
-            <div class="col-lg-12">
-                <div class="media">
-                    <div class="media-left title" id="{$COMMENT->getId()}">
-                        {assign var=CREATOR_NAME value=$COMMENT->getCommentedByName()}
-                        <div class="col-lg-1 recordImage commentInfoHeader" style="width:50px;height:50px;" data-commentid="{$COMMENT->getId()}" data-parentcommentid="{$COMMENT->get('parent_comments')}">
-                            <div class="name">
-                                <span style="font-size:30px">
-                                    <strong> {$CREATOR_NAME|substr:0:2} </strong>
-                                </span>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="media-body">
-                        <div class="comment" style="line-height:1;">                       
-                            <span class="creatorName" style="color:blue">
-                                {$CREATOR_NAME}
-                            </span>&nbsp;&nbsp;
-                            <div class="">
-                                <span class="commentInfoContent">
-                                    {nl2br($COMMENT->get('commentcontent'))}
-                                </span>
-                            </div>
-                            <br>
-                            <div class="commentActionsContainer">
-                                <span class="commentActions">
-                                    {if $CHILDS_ROOT_PARENT_MODEL}
-                                        {assign var=CHILDS_ROOT_PARENT_ID value=$CHILDS_ROOT_PARENT_MODEL->getId()}
-                                    {/if}
-                                    
-                                    {if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}
-                                        {if $CHILDS_ROOT_PARENT_MODEL}
-                                            {assign var=CHILDS_ROOT_PARENT_ID value=$CHILDS_ROOT_PARENT_MODEL->getId()}
-                                        {/if}
-                                        <a href="javascript:void(0);" class="cursorPointer replyComment feedback">
-                                            {vtranslate('LBL_REPLY',$MODULE_NAME)}
-                                        </a>
-                                        {if $CURRENTUSER->getId() eq $COMMENT->get('userid')}
-                                            &nbsp;<span>|</span>&nbsp;
-                                            <a href="javascript:void(0);" class="cursorPointer editComment feedback">
-                                                {vtranslate('LBL_EDIT',$MODULE_NAME)}
-                                            </a>
-                                        {/if}
-                                    {/if}
-                                    
-                                    {assign var=CHILD_COMMENTS_COUNT value=$COMMENT->getChildCommentsCount()}
-                                    {if $CHILD_COMMENTS_MODEL neq null and ($CHILDS_ROOT_PARENT_ID neq $PARENT_COMMENT_ID)}
-                                        {if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}&nbsp;<span style="color:black">|</span>&nbsp;{/if}
-                                        <span class="viewThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}">
-                                            <a href="javascript:void(0)" class="cursorPointer viewThread">
-                                                <span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
-                                            </a>
-                                        </span>
-                                        <span class="hideThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}" style="display:none;">
-                                            <a href="javascript:void(0)" class="cursorPointer hideThread">
-                                                <span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
-                                            </a>
-                                        </span>
-                                    {elseif $CHILD_COMMENTS_MODEL neq null and ($CHILDS_ROOT_PARENT_ID eq $PARENT_COMMENT_ID)}
-                                        {if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}&nbsp;<span style="color:black">|</span>&nbsp;{/if}
-                                        <span class="viewThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}" style="display:none;">
-                                            <a href="javascript:void(0)" class="cursorPointer viewThread">
-                                                <span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
-                                            </a>
-                                        </span>
-                                        <span class="hideThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}">
-                                            <a href="javascript:void(0)" class="cursorPointer hideThread">
-                                                <span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
-                                            </a>
-                                        </span>
-                                    {/if}
-                                </span>
-                                
-                                <span class="commentTime" style="padding:20px;">
-                                    <small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getCommentedTime())}">{Vtiger_Util_Helper::formatDateAndDateDiffInString($COMMENT->getCommentedTime())}</small>
-                                </span>
-                            </div>
-                    </div>
-                    </div>
-                    <hr>
-                </div>
-            </div>
-        </div>
-    </div>
+	<div class="singleComment">
+		<input type="hidden" name="is_private" value="{$COMMENT->get('is_private')}">
+		<div class="commentInfoHeader" data-commentid="{$COMMENT->getId()}" data-parentcommentid="{$COMMENT->get('parent_comments')}">
+			{assign var=PARENT_COMMENT_MODEL value=$COMMENT->getParentCommentModel()}
+			{assign var=CHILD_COMMENTS_MODEL value=$COMMENT->getChildComments()}
+			<div class="col-lg-12">
+				<div class="media" {if $COMMENT->get('is_private')}style="background: #fff9ea;"{/if}>
+					<div class="media-left title" id="{$COMMENT->getId()}">
+						{assign var=CREATOR_NAME value=$COMMENT->getCommentedByName()}
+						<div class="col-lg-2 recordImage commentInfoHeader" style ="width:50px; height:50px; font-size: 30px;" data-commentid="{$COMMENT->getId()}" data-parentcommentid="{$COMMENT->get('parent_comments')}" data-relatedto = "{$COMMENT->get('related_to')}">
+							{assign var=IMAGE_PATH value=$COMMENT->getImagePath()}
+							{if !empty($IMAGE_PATH)}
+								<img src="{$IMAGE_PATH}" width="100%" height="100%" align="left">
+							{else}
+								<div class="name" style="font-size: 30px;"><span><strong> {$CREATOR_NAME|mb_substr:0:2|escape:"html"} </strong></span></div>
+							{/if}
+						</div>
+					</div>
+					<div class="media-body">
+						<div class="comment" style="line-height:1;">
+							<span class="creatorName" >
+								{$CREATOR_NAME}
+							</span>&nbsp; 
+							<span class="commentTime text-muted cursorDefault">
+								<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getCommentedTime())}">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getCommentedTime())}</small>
+							</span>
+							<div class="">
+								<span class="commentInfoContent">
+									{nl2br($COMMENT->get('commentcontent'))}
+								</span>
+							</div>
+							<br>
+							<div class="commentActionsContainer">
+								<span class="commentActions">
+									{if $CHILDS_ROOT_PARENT_MODEL}
+										{assign var=CHILDS_ROOT_PARENT_ID value=$CHILDS_ROOT_PARENT_MODEL->getId()}
+									{/if}
+									{assign var=CHILD_COMMENTS_COUNT value=$COMMENT->getChildCommentsCount()}
+									{if $CHILD_COMMENTS_MODEL neq null and ($CHILDS_ROOT_PARENT_ID neq $PARENT_COMMENT_ID)}
+										<span class="viewThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}">
+											<a href="javascript:void(0)" class="cursorPointer viewThread">
+												<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
+											</a>
+										</span>
+										<span class="hideThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}" style="display:none;">
+											<a href="javascript:void(0)" class="cursorPointer hideThread">
+												<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
+											</a>
+										</span>
+									{elseif $CHILD_COMMENTS_MODEL neq null and ($CHILDS_ROOT_PARENT_ID eq $PARENT_COMMENT_ID)}
+										<span class="viewThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}" style="display:none;">
+											<a href="javascript:void(0)" class="cursorPointer viewThread">
+												<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
+											</a>
+										</span>
+										<span class="hideThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}">
+											<a href="javascript:void(0)" class="cursorPointer hideThread">
+												<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
+												<img class="alignMiddle" src="{vimage_path('arrowdown.png')}" />
+											</a>
+										</span>
+									{/if}
+									<span class="commemntActionsubblock" >
+										{if $CHILDS_ROOT_PARENT_MODEL}
+											{assign var=CHILDS_ROOT_PARENT_ID value=$CHILDS_ROOT_PARENT_MODEL->getId()}
+										{/if}
+										{if $IS_CREATABLE}
+											{if $CHILD_COMMENTS_COUNT}<span>&nbsp;|&nbsp;</span>{/if}
+											<a href="javascript:void(0);" class="cursorPointer replyComment feedback" style="color: blue;">
+												{vtranslate('LBL_REPLY',$MODULE_NAME)}
+											</a>
+										{/if}
+										{if $CURRENTUSER->getId() eq $COMMENT->get('userid') && $IS_EDITABLE}
+											{if $IS_CREATABLE}&nbsp;&nbsp;&nbsp;{/if}
+											<a href="javascript:void(0);" class="cursorPointer editComment feedback" style="color: blue;">
+												{vtranslate('LBL_EDIT',$MODULE_NAME)}
+											</a>
+										{/if}
+									</span>
+								</span>
+							</div>
+						</div>
+					</div>
+					<hr>
+				</div>
+			</div>
+		</div>
+	</div>
 </div>
diff --git a/layouts/v7/modules/Vtiger/CommentsList.tpl b/layouts/v7/modules/Vtiger/CommentsList.tpl
index 9fa58cd87972960c83d8fa096199a9aff6b5fb00..2d7764f9d2c10ef0cd010f86c5feca7fd8aa86b7 100644
--- a/layouts/v7/modules/Vtiger/CommentsList.tpl
+++ b/layouts/v7/modules/Vtiger/CommentsList.tpl
@@ -7,40 +7,44 @@
  * All Rights Reserved.
  ************************************************************************************}
 {strip}
+
+{assign var=IS_CREATABLE value=$COMMENTS_MODULE_MODEL->isPermitted('CreateView')}
+{assign var=IS_EDITABLE value=$COMMENTS_MODULE_MODEL->isPermitted('EditView')}
+
 {if !empty($PARENT_COMMENTS)}
-    <ul class="unstyled">
-        {if $CURRENT_COMMENT}
-            {assign var=CHILDS_ROOT_PARENT_MODEL value=$CURRENT_COMMENT}
-            {assign var=CURRENT_COMMENT_PARENT_MODEL value=$CURRENT_COMMENT->getParentCommentModel()}
-            {while $CURRENT_COMMENT_PARENT_MODEL neq false}
-                {assign var=TEMP_COMMENT value=$CURRENT_COMMENT_PARENT_MODEL}
-                {assign var=CURRENT_COMMENT_PARENT_MODEL value=$CURRENT_COMMENT_PARENT_MODEL->getParentCommentModel()}
-                {if $CURRENT_COMMENT_PARENT_MODEL eq false}
-                    {assign var=CHILDS_ROOT_PARENT_MODEL value=$TEMP_COMMENT}
-                {/if}	
-            {/while}
-        {/if}
-        {if is_array($PARENT_COMMENTS)}
-            {foreach key=Index item=COMMENT from=$PARENT_COMMENTS}
+	<ul class="unstyled">
+		{if $CURRENT_COMMENT}
+			{assign var=CHILDS_ROOT_PARENT_MODEL value=$CURRENT_COMMENT}
+			{assign var=CURRENT_COMMENT_PARENT_MODEL value=$CURRENT_COMMENT->getParentCommentModel()}
+			{while $CURRENT_COMMENT_PARENT_MODEL neq false}
+				{assign var=TEMP_COMMENT value=$CURRENT_COMMENT_PARENT_MODEL}
+				{assign var=CURRENT_COMMENT_PARENT_MODEL value=$CURRENT_COMMENT_PARENT_MODEL->getParentCommentModel()}
+				{if $CURRENT_COMMENT_PARENT_MODEL eq false}
+					{assign var=CHILDS_ROOT_PARENT_MODEL value=$TEMP_COMMENT}
+				{/if}	
+			{/while}
+		{/if}
+		{if is_array($PARENT_COMMENTS)}
+			{foreach key=Index item=COMMENT from=$PARENT_COMMENTS}
 				{assign var=PARENT_COMMENT_ID value=$COMMENT->getId()}
-				<li class="commentDetails" {if $COMMENT->get('is_private')}style="background: #fff9ea;"{/if}>
-                    {include file='Comment.tpl'|@vtemplate_path COMMENT=$COMMENT COMMENT_MODULE_MODEL=$COMMENTS_MODULE_MODEL}
+				<li class="commentDetails">
+					{include file='Comment.tpl'|@vtemplate_path COMMENT=$COMMENT COMMENT_MODULE_MODEL=$COMMENTS_MODULE_MODEL}
 
-                    {if $CHILDS_ROOT_PARENT_MODEL}
-                        {if $CHILDS_ROOT_PARENT_MODEL->getId() eq $PARENT_COMMENT_ID}		
-                            {assign var=CHILD_COMMENTS_MODEL value=$CHILDS_ROOT_PARENT_MODEL->getChildComments()}
-                            {include file='CommentsListIteration.tpl'|@vtemplate_path CHILD_COMMENTS_MODEL=$CHILD_COMMENTS_MODEL}
-                        {/if}
-                    {/if}
+					{if $CHILDS_ROOT_PARENT_MODEL}
+						{if $CHILDS_ROOT_PARENT_MODEL->getId() eq $PARENT_COMMENT_ID}		
+							{assign var=CHILD_COMMENTS_MODEL value=$CHILDS_ROOT_PARENT_MODEL->getChildComments()}
+							{include file='CommentsListIteration.tpl'|@vtemplate_path CHILD_COMMENTS_MODEL=$CHILD_COMMENTS_MODEL}
+						{/if}
+					{/if}
 				</li>	
 			{/foreach}
-        {else}
-            {include file='Comment.tpl'|@vtemplate_path COMMENT=$PARENT_COMMENTS}
-        {/if}
-    </ul>
+		{else}
+			{include file='Comment.tpl'|@vtemplate_path COMMENT=$PARENT_COMMENTS}
+		{/if}
+	</ul>
 {else}
-    <div  class="noCommentsMsgContainer" style='padding:20px;'>
-       <p class="textAlignCenter">{vtranslate('LBL_NO_COMMENTS',$MODULE_NAME)}</p>	
-    </div>
+	<div class="noCommentsMsgContainer" style='padding:20px;'>
+		<p class="textAlignCenter">{vtranslate('LBL_NO_COMMENTS',$MODULE_NAME)}</p>	
+	</div>
 {/if}
 {/strip}
\ No newline at end of file
diff --git a/layouts/v7/modules/Vtiger/ListViewContents.tpl b/layouts/v7/modules/Vtiger/ListViewContents.tpl
index d101bb2c648ab933e8acc305fea0657b694136a5..8041394383cf76081a8faa0a7734728ab09316f5 100644
--- a/layouts/v7/modules/Vtiger/ListViewContents.tpl
+++ b/layouts/v7/modules/Vtiger/ListViewContents.tpl
@@ -212,7 +212,7 @@
 							<div class="emptyRecordsContent">
 								{assign var=SINGLE_MODULE value="SINGLE_$MODULE"}
 								{vtranslate('LBL_NO')} {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_FOUND')}.
-								{if $IS_MODULE_EDITABLE}
+								{if $IS_RECORD_CREATABLE}
 									<a style="color:blue" href="{$MODULE_MODEL->getCreateRecordUrl()}"> {vtranslate('LBL_CREATE')}</a>
 									{if Users_Privileges_Model::isPermitted($MODULE, 'Import') && $LIST_VIEW_MODEL->isImportEnabled()}
 										{vtranslate('LBL_OR', $MODULE)}
diff --git a/layouts/v7/modules/Vtiger/RecentComments.tpl b/layouts/v7/modules/Vtiger/RecentComments.tpl
index 3f5b3fcbef214016cd685dafacf6dad5eb3e9922..c0f80373c4eb0330f2cea89085a3c48629fb2858 100644
--- a/layouts/v7/modules/Vtiger/RecentComments.tpl
+++ b/layouts/v7/modules/Vtiger/RecentComments.tpl
@@ -9,202 +9,240 @@
 {strip}
 {* Change to this also refer: AddCommentForm.tpl *}
 {assign var="COMMENT_TEXTAREA_DEFAULT_ROWS" value="2"}
+{assign var="PRIVATE_COMMENT_MODULES" value=Vtiger_Functions::getPrivateCommentModules()}
+{assign var=IS_CREATABLE value=$COMMENTS_MODULE_MODEL->isPermitted('CreateView')}
+{assign var=IS_EDITABLE value=$COMMENTS_MODULE_MODEL->isPermitted('EditView')}
 
 <div class="commentContainer recentComments">
-    <div class="commentTitle">
-        {if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}
-            <div class="addCommentBlock">
-                <div class="row">
-                    <div class=" col-lg-12">
-                    <div class="commentTextArea ">
-                            <textarea name="commentcontent" class="commentcontent form-control mention_listener"  placeholder="{vtranslate('LBL_POST_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
-                        </div>
-                    </div>
-                </div>
-                <div class='row'>
-                    <div class="col-xs-6">
-                        {include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE_NAME) MODULE="ModComments"}
-                    </div>
-                    <div class='col-xs-6'>
-                        <div class="pull-right">
-                            <button class="btn btn-success btn-sm detailViewSaveComment" type="button" data-mode="add">{vtranslate('LBL_POST', $MODULE_NAME)}</button>
-                        </div>
-                    </div>
-                </div>
-            </div>
+	<div class="commentTitle">
+		{if $IS_CREATABLE}
+			<div class="addCommentBlock">
+				<div class="row">
+					<div class=" col-lg-12">
+						<div class="commentTextArea ">
+							<textarea name="commentcontent" class="commentcontent form-control mention_listener" placeholder="{vtranslate('LBL_POST_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
+						</div>
+					</div>
+				</div>
+				<div class='row'>
+					<div class="col-xs-6 pull-right paddingTop5 paddingLeft0">
+						<div style="text-align: right;">
+							{if in_array($MODULE_NAME, $PRIVATE_COMMENT_MODULES)}
+								<div class="" style="margin: 7px 0;">
+									<label>
+										<input type="checkbox" id="is_private" style="margin:2px 0px -2px 0px">&nbsp;&nbsp;{vtranslate('LBL_INTERNAL_COMMENT')}
+									</label>&nbsp;&nbsp;
+									<i class="fa fa-question-circle cursorPointer" data-toggle="tooltip" data-placement="top" data-original-title="{vtranslate('LBL_INTERNAL_COMMENT_INFO')}"></i>&nbsp;&nbsp;
+								</div>
+							{/if}
+							<button class="btn btn-success btn-sm detailViewSaveComment" type="button" data-mode="add">{vtranslate('LBL_POST', $MODULE_NAME)}</button>
+						</div>
+					</div>
+					<div class="col-xs-6 pull-left">
+						{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE_NAME) MODULE="ModComments"}
+					</div>
+				</div>
+			</div>
 		{/if}
 	</div>
 
 	<hr>
-            <div class="recentCommentsHeader row">
-        <h4 class="display-inline-block col-lg-7">
-                        {"Recent Comments"}
-                    </h4>
-                {if $MODULE_NAME ne 'Leads'}
-            <div class="col-lg-5 pull-right" style="margin-top:5px;text-align:right;padding-right:20px;">
-                        <div class="display-inline-block">                                
-                            <span class="">{vtranslate('LBL_ROLL_UP',$QUALIFIED_MODULE)} &nbsp;</span>
-                            <span class="fa fa-question-circle" data-toggle="tooltip" data-placement="top" title="{vtranslate('LBL_ROLLUP_COMMENTS_INFO',$QUALIFIED_MODULE)}"></span>&nbsp;&nbsp;
-                        </div>  
-                        <input type="checkbox" class="bootstrap-switch pull-right" id="rollupcomments" hascomments="1" startindex="{$STARTINDEX}" data-view="summary" rollupid="{$ROLLUPID}" 
-                               rollup-status="{$ROLLUP_STATUS}" module="{$MODULE_NAME}" record="{$PARENT_RECORD}" checked data-on-color="success"/> 
-                    </div> 
-                {/if}
-                </div>
-	<div class="commentsBody container-fluid">
+	<div class="recentCommentsHeader row">
+		<h4 class="display-inline-block col-lg-7 textOverflowEllipsis" title="{vtranslate('LBL_RECENT_COMMENTS', $MODULE_NAME)}">
+			{vtranslate('LBL_RECENT_COMMENTS', $MODULE_NAME)}
+		</h4>
+		{if $MODULE_NAME ne 'Leads'}
+			<div class="col-lg-5 commentHeader pull-right" style="margin-top:5px;text-align:right;padding-right:20px;">
+				<div class="display-inline-block">
+					<span class="">{vtranslate('LBL_ROLL_UP',$QUALIFIED_MODULE)} &nbsp;</span>
+					<span class="fa fa-question-circle" data-toggle="tooltip" data-placement="top" title="{vtranslate('LBL_ROLLUP_COMMENTS_INFO',$QUALIFIED_MODULE)}"></span>&nbsp;&nbsp;
+				</div>
+				<input type="checkbox" class="bootstrap-switch pull-right" id="rollupcomments" hascomments="1" startindex="{$STARTINDEX}" data-view="summary" rollupid="{$ROLLUPID}" 
+					rollup-status="{$ROLLUP_STATUS}" module="{$MODULE_NAME}" record="{$PARENT_RECORD}" checked data-on-color="success"/> 
+			</div> 
+		{/if}
+	</div>
+	<div class="commentsBody">
 		{if !empty($COMMENTS)}
-            <div class="recentCommentsBody">
-                {assign var=COMMENTS_COUNT value=count($COMMENTS)}
-                {foreach key=index item=COMMENT from=$COMMENTS}
-                    {assign var=CREATOR_NAME value=$COMMENT->getCommentedByName()}
-                    <div class="commentDetails">
-                        <div class="singleComment">
-                            {assign var=PARENT_COMMENT_MODEL value=$COMMENT->getParentCommentModel()}
-                            {assign var=CHILD_COMMENTS_MODEL value=$COMMENT->getChildComments()}
-                            <div class="row">
-                                <div class="col-lg-12">
-                                    <div class="col-lg-2 recordImage commentInfoHeader" data-commentid="{$COMMENT->getId()}" data-parentcommentid="{$COMMENT->get('parent_comments')}" data-relatedto = "{$COMMENT->get('related_to')}">
-                                            {assign var=IMAGE_PATH value=$COMMENT->getImagePath()}
-                                                {if !empty($IMAGE_PATH)}
-                                                    <img src="{$IMAGE_PATH}" width="100%" height="100%" align="left">
-                                                {else}
-                                                    <div class="name"><span><strong> {$CREATOR_NAME|substr:0:2} </strong></span></div>
-                                                {/if}
-                                    </div>
-                                    <div class="comment col-lg-10" style="line-height:1;">
-                                        <span class="creatorName">
-                                            {$CREATOR_NAME}
-                                        </span>&nbsp;&nbsp;
-                                        {if $ROLLUP_STATUS and $COMMENT->get('module') ne $MODULE_NAME}
-                                            {assign var=SINGULR_MODULE value='SINGLE_'|cat:$COMMENT->get('module')}
-                                            {assign var=ENTITY_NAME value=getEntityName($COMMENT->get('module'), array($COMMENT->get('related_to')))}
-                                            <span class="text-muted textOverflowEllipsis">
-                                                {vtranslate('LBL_ON','Vtiger')}&nbsp;
-                                                {vtranslate($SINGULR_MODULE)}&nbsp;
-                                                <a href="index.php?module={$COMMENT->get('module')}&view=Detail&record={$COMMENT->get('related_to')}">
-                                                    {$ENTITY_NAME[$COMMENT->get('related_to')]}
-                                                </a>
-                                            </span>&nbsp;&nbsp;
-                                        {/if}
-                                        <div class="">
-                                            <span class="commentInfoContent">
-                                                {nl2br($COMMENT->get('commentcontent'))}
-                                            </span>
-                                        </div>
-                                        <br>
-                                    <div class="commentActionsContainer">
-                                            {if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}
-                                                <span>
-                                                    <a href="javascript:void(0);" class="cursorPointer replyComment feedback" style="color: blue;">
-                                                        {vtranslate('LBL_REPLY',$MODULE_NAME)}
-                                                    </a>
-                                                    {if $CURRENTUSER->getId() eq $COMMENT->get('userid')}
-                                                        &nbsp;&nbsp;&nbsp;
-                                                        <a href="javascript:void(0);" class="cursorPointer editComment feedback" style="color: blue;">
-                                                            {vtranslate('LBL_EDIT',$MODULE_NAME)}
-                                                        </a>
-                                                    {/if}
-                                                </span>
-                                            {/if}
-                                            <span>
-                                                {if $PARENT_COMMENT_MODEL neq false or $CHILD_COMMENTS_MODEL neq null}
-                                                    &nbsp;&nbsp;&nbsp;
-                                                    <a href="javascript:void(0);" class="cursorPointer detailViewThread">{vtranslate('LBL_VIEW_THREAD',$MODULE_NAME)}</a>
-                                                {/if}
-                                            </span>
+			<div class="recentCommentsBody container-fluid">
+				{assign var=COMMENTS_COUNT value=count($COMMENTS)}
+				{foreach key=index item=COMMENT from=$COMMENTS}
+					{assign var=CREATOR_NAME value={decode_html($COMMENT->getCommentedByName())}}
+					<div class="commentDetails">
+						<div class="singleComment" {if $COMMENT->get('is_private')}style="background: #fff9ea;"{/if}>
+							<input type="hidden" name='is_private' value="{$COMMENT->get('is_private')}">
+							{assign var=PARENT_COMMENT_MODEL value=$COMMENT->getParentCommentModel()}
+							{assign var=CHILD_COMMENTS_MODEL value=$COMMENT->getChildComments()}
+							<div class="row">
+								<div class="col-lg-12">
+									<div class="media">
+										<div class="media-left title">
+											<div class="col-lg-2 recordImage commentInfoHeader" data-commentid="{$COMMENT->getId()}" data-parentcommentid="{$COMMENT->get('parent_comments')}" data-relatedto = "{$COMMENT->get('related_to')}">
+												{assign var=IMAGE_PATH value=$COMMENT->getImagePath()}
+												{if !empty($IMAGE_PATH)}
+													<img src="{$IMAGE_PATH}" width="40px" height="40px" align="left">
+												{else}
+													<div class="name"><span><strong> {$CREATOR_NAME|mb_substr:0:2|escape:"html"} </strong></span></div>
+												{/if}
+											</div>
+										</div>
+										<div class="media-body" style="width:100%">
+											<div class="comment" style="line-height:1;">
+												<span class="creatorName">
+													{$CREATOR_NAME}
+												</span>
+												&nbsp;&nbsp;
+												{if $ROLLUP_STATUS and ($COMMENT->get('module') ne $MODULE_NAME or $COMMENT->get('related_to') ne $PARENT_RECORD)}
+													{assign var=SINGULR_MODULE value='SINGLE_'|cat:$COMMENT->get('module')}
+													{assign var=ENTITY_NAME value=getEntityName($COMMENT->get('module'), array($COMMENT->get('related_to')))}
+													<span class="text-muted wordbreak display-inline-block">
+														{vtranslate('LBL_ON','Vtiger')}&nbsp;
+														{vtranslate($SINGULR_MODULE,$COMMENT->get('module'))}&nbsp;
+														<a href="index.php?module={$COMMENT->get('module')}&view=Detail&record={$COMMENT->get('related_to')}">
+															{$ENTITY_NAME[$COMMENT->get('related_to')]}
+														</a>
+													</span>&nbsp;&nbsp;
+												{/if}
+												<span class="commentTime text-muted cursorDefault">
+													<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getCommentedTime())}">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getCommentedTime())}</small>
+												</span>
 
-                                            <span class="commentTime pull-right">
-                                                <p class="text-muted"><small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getCommentedTime())}">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getCommentedTime())}</small></p>
-                                            </span>
-                                        </div>
-                                            <br>
-                                            <div class="row commentEditStatus"  name="editStatus">
-                                            {assign var="REASON_TO_EDIT" value=$COMMENT->get('reasontoedit')}
-                                                <span class="col-lg-5{if empty($REASON_TO_EDIT)} hide{/if}">
-                                                    <p class="text-muted">
-                                                        <small>
-                                                        [ {vtranslate('LBL_EDIT_REASON',$MODULE_NAME)} ] :
-                                                        <span  name="editReason" class="textOverflowEllipsis">{nl2br($REASON_TO_EDIT)}</span>
-                                                        </small>
-                                                    </p>
-                                                </span>
-                                                {if $COMMENT->getCommentedTime() neq $COMMENT->getModifiedTime()}
-                                                    <span class="{if empty($REASON_TO_EDIT)}row{else} col-lg-7{/if}">
-											<p class="text-muted pull-right">
-                                                            <small><em>{vtranslate('LBL_MODIFIED',$MODULE_NAME)}</em></small>&nbsp;
-												<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getModifiedTime())}" class="commentModifiedTime">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getModifiedTime())}</small>
-											</p>
-                                                    </span>
-                                                {/if}
-                                            </div>   
-											<div style="margin-top:5px;">
-											{assign var="FILE_DETAILS" value=$COMMENT->getFileNameAndDownloadURL()}
-											{foreach key=index item=FILE_DETAIL from=$FILE_DETAILS}
-												{assign var="FILE_NAME" value=$FILE_DETAIL['trimmedFileName']}
-												{if !empty($FILE_NAME)}
-													<div class="row-fluid">
+												<div class="">
+													{if $COMMENT->get('module') eq 'Cases' and !$COMMENT->get('is_private')}
+														{assign var=COMMENT_CONTENT value={decode_html($COMMENT->get('commentcontent'))}}
+													{else}
+														{assign var=COMMENT_CONTENT value={nl2br($COMMENT->get('commentcontent'))}}
+													{/if}
+													{if $COMMENT_CONTENT}
+														{assign var=DISPLAYNAME value={decode_html($COMMENT_CONTENT)}}
+														<span class="commentInfoContent" style="display: block" data-fullComment="{$COMMENT_CONTENT|escape:"html"}" data-shortComment="{$DISPLAYNAME|mb_substr:0:200|escape:"html"}..." data-more='{vtranslate('LBL_SHOW_MORE',$MODULE)}' data-less='{vtranslate('LBL_SHOW',$MODULE)} {vtranslate('LBL_LESS',$MODULE)}'>
+															{if $DISPLAYNAME|count_characters:true gt 200} 
+																{mb_substr(trim($DISPLAYNAME),0,200)}... 
+																<br><a class="pull-right toggleComment showMore"><small>{vtranslate('LBL_SHOW_MORE',$MODULE)}</small></a>
+															{else} 
+																{$COMMENT_CONTENT}
+															{/if}
+														</span>
+													{/if}
+												</div>
+												{assign var="FILE_DETAILS" value=$COMMENT->getFileNameAndDownloadURL()}
+												{foreach key=index item=FILE_DETAIL from=$FILE_DETAILS}
+													{assign var="FILE_NAME" value=$FILE_DETAIL['trimmedFileName']}
+													{if !empty($FILE_NAME)}
 														<div class="commentAttachmentName">
-															<div class="filePreview">
-																<a onclick="Vtiger_Detail_Js.previewFile(event,{$COMMENT->get('id')},{$FILE_DETAIL['attachmentId']});" data-filename="{$FILE_NAME}" href="javascript:void(0)" name="viewfile">
+															<div class="filePreview clearfix">
+																<span class="fa fa-paperclip cursorPointer" ></span>&nbsp;&nbsp;
+																<a class="previewfile" onclick="Vtiger_Detail_Js.previewFile(event,{$COMMENT->get('id')},{$FILE_DETAIL['attachmentId']});" data-filename="{$FILE_NAME}" href="javascript:void(0)" name="viewfile">
 																	<span title="{$FILE_DETAIL['rawFileName']}" style="line-height:1.5em;">{$FILE_NAME}</span>&nbsp
 																</a>&nbsp;
 																<a name="downloadfile" href="{$FILE_DETAIL['url']}">
-																	<i title="{vtranslate('LBL_DOWNLOAD_FILE',$MODULE_NAME)}" class="pull-left hide fa fa-download alignMiddle"></i>
+																	<i title="{vtranslate('LBL_DOWNLOAD_FILE',$MODULE_NAME)}" class="hide fa fa-download alignMiddle" ></i>
 																</a>
 															</div>
 														</div>
+													{/if}
+												{/foreach}
+												&nbsp;
+												<div class="commentActionsContainer" style="margin-top: 2px;">
+													<span>
+														{if $PARENT_COMMENT_MODEL neq false or $CHILD_COMMENTS_MODEL neq null}
+															<a href="javascript:void(0);" class="cursorPointer detailViewThread">{vtranslate('LBL_VIEW_THREAD',$MODULE_NAME)}</a>&nbsp;&nbsp;
+														{/if}
+													</span>
+													<span class="summarycommemntActionblock" >
+														{if $IS_CREATABLE}
+															{if $PARENT_COMMENT_MODEL neq false or $CHILD_COMMENTS_MODEL neq null}<span>&nbsp;|&nbsp;</span>{/if}
+															<a href="javascript:void(0);" class="cursorPointer replyComment feedback" style="color: blue;">
+																{vtranslate('LBL_REPLY',$MODULE_NAME)}
+															</a>
+														{/if}
+														{if $CURRENTUSER->getId() eq $COMMENT->get('userid') && $IS_EDITABLE}
+															{if $IS_CREATABLE}&nbsp;&nbsp;&nbsp;{/if}
+															<a href="javascript:void(0);" class="cursorPointer editComment feedback" style="color: blue;">
+																{vtranslate('LBL_EDIT',$MODULE_NAME)}
+															</a>
+														{/if}
+													</span>
+												</div>
+												<br>
+												<div class="row commentEditStatus marginBottom10px" name="editStatus">
+													{assign var="REASON_TO_EDIT" value=$COMMENT->get('reasontoedit')}
+													<span class="col-lg-5 col-md-5 col-sm-5{if empty($REASON_TO_EDIT)} hide{/if}">
+														<small> [{vtranslate('LBL_EDIT_REASON',$MODULE_NAME)}]</small>
+													</span>
+													{if $COMMENT->getCommentedTime() neq $COMMENT->getModifiedTime()}
+														<span class="{if empty($REASON_TO_EDIT)}row{else} col-lg-7 col-md-7 col-sm-7{/if}">
+															<p class="text-muted pull-right">
+																<small><em>{vtranslate('LBL_MODIFIED',$MODULE_NAME)}</em></small>&nbsp;
+																<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getModifiedTime())}" class="commentModifiedTime">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getModifiedTime())}</small>
+															</p>
+														</span>
+													{/if}
+												</div> 
+												<div class="row marginBottom10px">
+													<div class="col-lg-12 col-md-12 col-sm-12">
+														<p class="text-muted">
+															<small>
+																<span name="editReason" class="wordbreak">{nl2br($REASON_TO_EDIT)}</span>
+															</small>
+														</p>
 													</div>
-												{/if}
-											{/foreach}
-											&nbsp;
+												</div>
 											</div>
-
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                    {if $index+1 neq $COMMENTS_COUNT}
-                        <hr>
-                    {/if}
-                {/foreach}
-            </div>
+										</div>
+									</div>
+								</div>
+							</div>
+						</div>
+					</div>
+					{if $index+1 neq $COMMENTS_COUNT}
+						<hr style="margin-top:0; margin-bottom: 10px;">
+					{/if}
+				{/foreach}
+			</div>
 		{else}
 			{include file="NoComments.tpl"|@vtemplate_path}
 		{/if}
-        {if $PAGING_MODEL->isNextPageExists()}
-            <div class="row">
-                <div class="pull-right">
-                    <a href="javascript:void(0)" class="moreRecentComments">{vtranslate('LBL_MORE',$MODULE_NAME)}..</a>
-                </div>
-            </div>
-        {/if}
+		{if $PAGING_MODEL->isNextPageExists()}
+			<div class="row">
+				<div class="pull-right">
+					<a href="javascript:void(0)" class="moreRecentComments">{vtranslate('LBL_MORE',$MODULE_NAME)}..</a>
+				</div>
+			</div>
+		{/if}
 	</div>
 
 	<div class="hide basicAddCommentBlock container-fluid">
-		<div class="commentTextArea row" style="padding-top: 10px;padding-bottom: 10px;">
-            <textarea name="commentcontent" class="commentcontent"  placeholder="{vtranslate('LBL_ADD_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
-        </div>
-        <div class="pull-right row">
-            <button class="btn btn-success btn-sm detailViewSaveComment" type="button" data-mode="add">{vtranslate('LBL_POST', $MODULE_NAME)}</button>
-            <a href="javascript:void(0);" class="cursorPointer closeCommentBlock cancelLink" type="reset">{vtranslate('LBL_CANCEL', $MODULE_NAME)}</a>
-        </div>
+		<div class="commentTextArea row">
+			<textarea name="commentcontent" class="commentcontent" placeholder="{vtranslate('LBL_ADD_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
+		</div>
+		<div class="pull-right row">
+			{if in_array($MODULE_NAME, $PRIVATE_COMMENT_MODULES)}
+				<div class="checkbox">
+					<label>
+						<input type="checkbox" id="is_private">&nbsp;&nbsp;{vtranslate('LBL_INTERNAL_COMMENT')}&nbsp;&nbsp;
+					</label>
+				</div>
+			{/if}
+			<button class="btn btn-success btn-sm detailViewSaveComment" type="button" data-mode="add">{vtranslate('LBL_POST', $MODULE_NAME)}</button>
+			<a href="javascript:void(0);" class="cursorPointer closeCommentBlock cancelLink" type="reset">{vtranslate('LBL_CANCEL', $MODULE_NAME)}</a>
+		</div>
 	</div>
 
 	<div class="hide basicEditCommentBlock container-fluid" style="min-height: 150px;">
-		<div class="row" style="padding-top: 10px;padding-bottom: 10px;">
-            <input style="width:100%;height:30px;" type="text" name="reasonToEdit" placeholder="{vtranslate('LBL_REASON_FOR_CHANGING_COMMENT', $MODULE_NAME)}" class="input-block-level"/>
+		<div class="row commentArea" >
+			<input style="width:100%;height:30px;" type="text" name="reasonToEdit" placeholder="{vtranslate('LBL_REASON_FOR_CHANGING_COMMENT', $MODULE_NAME)}" class="input-block-level"/>
 		</div>
 		<div class="row" style="padding-bottom: 10px;">
 			<div class="commentTextArea">
-                <textarea name="commentcontent" class="commentcontenthidden"  placeholder="{vtranslate('LBL_ADD_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
-            </div>
-        </div>
-        <input type="hidden" name="is_private">
-        <div class="pull-right row">
-            <button class="btn btn-success btn-sm detailViewSaveComment" type="button" data-mode="edit">{vtranslate('LBL_POST', $MODULE_NAME)}</button>
-            <a href="javascript:void(0);" class="cursorPointer closeCommentBlock cancelLink" type="reset">{vtranslate('LBL_CANCEL', $MODULE_NAME)}</a>
-        </div>
+				<textarea name="commentcontent" class="commentcontenthidden" placeholder="{vtranslate('LBL_ADD_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
+			</div>
+		</div>
+		<input type="hidden" name="is_private">
+		<div class="pull-right row">
+			<button class="btn btn-success btn-sm detailViewSaveComment" type="button" data-mode="edit">{vtranslate('LBL_POST', $MODULE_NAME)}</button>
+			<a href="javascript:void(0);" class="cursorPointer closeCommentBlock cancelLink" type="reset">{vtranslate('LBL_CANCEL', $MODULE_NAME)}</a>
+		</div>
 	</div>
 </div>
 {/strip}
diff --git a/layouts/v7/modules/Vtiger/RelatedActivities.tpl b/layouts/v7/modules/Vtiger/RelatedActivities.tpl
index b645073b0732f8faa87cf68fcf275abc85b6aff6..6923b3371f6644fea5c9684b53ade753ef232c2e 100644
--- a/layouts/v7/modules/Vtiger/RelatedActivities.tpl
+++ b/layouts/v7/modules/Vtiger/RelatedActivities.tpl
@@ -10,129 +10,131 @@
 ********************************************************************************/
 -->*}
 {strip}
-    {assign var=MODULE_NAME value="Calendar"}
-    <div  class="summaryWidgetContainer">
-        <div class="widget_header clearfix">
-            <h4 class="display-inline-block pull-left">{vtranslate('LBL_ACTIVITIES',$MODULE_NAME)}</h4>
-            {*<div class="">
-            <button class="btn addButton createActivity" type="button" data-url="sourceModule={$RECORD->getModuleName()}&sourceRecord={$RECORD->getId()}&relationOperation=true">
-            <strong>{vtranslate('LBL_ADD',$MODULE_NAME)}</strong>
-            </button>
-            </div>*}
-          
-            <div class="pull-right">
-                <button class="btn addButton btn-sm btn-default  createActivity toDotask"  type="button" href="javascript:void(0)" data-url="sourceModule={$RECORD->getModuleName()}&sourceRecord={$RECORD->getId()}&relationOperation=true" >
-                    <i class="fa fa-plus"></i>&nbsp;&nbsp;{vtranslate('LBL_ADD_TASK',$MODULE_NAME)}
-                </button>&nbsp;&nbsp;
-                <button class="btn addButton btn-sm btn-default createActivity"  data-name="Events"
-                        data-url="index.php?module=Events&view=QuickCreateAjax" href="javascript:void(0)" type="button">
-                    <i class="fa fa-plus"></i>&nbsp;&nbsp;{vtranslate('LBL_ADD_EVENT',$MODULE_NAME)}
-                </button>
-                
-            </div>
-            {assign var=SOURCE_MODEL value=$RECORD}
-        </div>
-        <div class="widget_contents">
-            {if count($ACTIVITIES) neq '0'}
-                {foreach item=RECORD key=KEY from=$ACTIVITIES}
-                    {assign var=START_DATE value=$RECORD->get('date_start')}
-                    {assign var=START_TIME value=$RECORD->get('time_start')}
-                    {assign var=EDITVIEW_PERMITTED value=isPermitted('Calendar', 'EditView', $RECORD->get('crmid'))}
-                    {assign var=DETAILVIEW_PERMITTED value=isPermitted('Calendar', 'DetailView', $RECORD->get('crmid'))}
-                    {assign var=DELETE_PERMITTED value=isPermitted('Calendar', 'Delete', $RECORD->get('crmid'))}
-                    <div class="activityEntries">
-                        <input type="hidden" class="activityId" value="{$RECORD->get('activityid')}"/>
-                        <div class='media'>
-                            <div class='row'>
-                                <div class='media-left module-icon col-lg-1 col-md-1 col-sm-1'>
-                                    <span class='vicon-{strtolower($RECORD->get('activitytype'))}'></span>
-                                </div>
-                                <div class='media-body col-lg-7'>
-                                    <div class="summaryViewEntries">
-                                        {if $DETAILVIEW_PERMITTED == 'yes'}<a href="{$RECORD->getDetailViewUrl()}" >{$RECORD->get('subject')}</a>{else}{$RECORD->get('subject')}{/if}&nbsp;&nbsp;
-                                        {if $EDITVIEW_PERMITTED == 'yes'}<a href="{$RECORD->getEditViewUrl()}&sourceModule={$SOURCE_MODEL->getModuleName()}&sourceRecord={$SOURCE_MODEL->getId()}&relationOperation=true" class="fieldValue"><i class="summaryViewEdit fa fa-pencil" title="{vtranslate('LBL_EDIT',$MODULE_NAME)}"></i></a>{/if}&nbsp;
-                                        {if $DELETE_PERMITTED == 'yes'}<a onclick="Vtiger_Detail_Js.deleteRelatedActivity(event);" data-id="{$RECORD->getId()}" data-recurring-enabled="{$RECORD->isRecurringEnabled()}" class="fieldValue"><i class="summaryViewEdit fa fa-trash " title="{vtranslate('LBL_DELETE',$MODULE_NAME)}"></i></a>{/if}
-                                   </div>
-                                <span><strong title="{Vtiger_Util_Helper::formatDateTimeIntoDayString("$START_DATE $START_TIME")}">{Vtiger_Util_Helper::formatDateIntoStrings($START_DATE, $START_TIME)}</strong></span>
-                            </div>
+	{assign var=MODULE_NAME value="Calendar"}
+	<div class="summaryWidgetContainer">
+		<div class="widget_header clearfix">
+			<h4 class="display-inline-block pull-left">{vtranslate('LBL_ACTIVITIES',$MODULE_NAME)}</h4>
+			{*<div class="">
+			<button class="btn addButton createActivity" type="button" data-url="sourceModule={$RECORD->getModuleName()}&sourceRecord={$RECORD->getId()}&relationOperation=true">
+			<strong>{vtranslate('LBL_ADD',$MODULE_NAME)}</strong>
+			</button>
+			</div>*}
+			{assign var=CALENDAR_MODEL value = Vtiger_Module_Model::getInstance('Calendar')}
+			<div class="pull-right" style="margin-top: -5px;">
+				{if $CALENDAR_MODEL->isPermitted('CreateView')}
+					<button class="btn addButton btn-sm btn-default createActivity toDotask textOverflowEllipsis max-width-100" title="{vtranslate('LBL_ADD_TASK',$MODULE_NAME)}" type="button" href="javascript:void(0)" data-url="sourceModule={$RECORD->getModuleName()}&sourceRecord={$RECORD->getId()}&relationOperation=true" >
+						<i class="fa fa-plus"></i>&nbsp;&nbsp;{vtranslate('LBL_ADD_TASK',$MODULE_NAME)}
+					</button>&nbsp;&nbsp;
+					<button class="btn addButton btn-sm btn-default createActivity textOverflowEllipsis max-width-100" title="{vtranslate('LBL_ADD_EVENT',$MODULE_NAME)}" data-name="Events"
+							data-url="index.php?module=Events&view=QuickCreateAjax" href="javascript:void(0)" type="button">
+						<i class="fa fa-plus"></i>&nbsp;&nbsp;{vtranslate('LBL_ADD_EVENT',$MODULE_NAME)}
+					</button>
+				{/if}
+			</div>
+			{assign var=SOURCE_MODEL value=$RECORD}
+		</div>
+		<div class="widget_contents">
+			{if count($ACTIVITIES) neq '0'}
+				{foreach item=RECORD key=KEY from=$ACTIVITIES}
+					{assign var=START_DATE value=$RECORD->get('date_start')}
+					{assign var=START_TIME value=$RECORD->get('time_start')}
+					{assign var=EDITVIEW_PERMITTED value=isPermitted('Calendar', 'EditView', $RECORD->get('crmid'))}
+					{assign var=DETAILVIEW_PERMITTED value=isPermitted('Calendar', 'DetailView', $RECORD->get('crmid'))}
+					{assign var=DELETE_PERMITTED value=isPermitted('Calendar', 'Delete', $RECORD->get('crmid'))}
+					<div class="activityEntries">
+						<input type="hidden" class="activityId" value="{$RECORD->get('activityid')}"/>
+						<div class='media'>
+							<div class='row'>
+								<div class='media-left module-icon col-lg-1 col-md-1 col-sm-1 textAlignCenter'>
+									<span class='vicon-{strtolower($RECORD->get('activitytype'))}'></span>
+								</div>
+								<div class='media-body col-lg-7 col-md-7 col-sm-7'>
+									<div class="summaryViewEntries">
+										{if $DETAILVIEW_PERMITTED == 'yes'}<a href="{$RECORD->getDetailViewUrl()}" title="{$RECORD->get('subject')}">{$RECORD->get('subject')}</a>{else}{$RECORD->get('subject')}{/if}&nbsp;&nbsp;
+										{if $EDITVIEW_PERMITTED == 'yes'}<a href="{$RECORD->getEditViewUrl()}&sourceModule={$SOURCE_MODEL->getModuleName()}&sourceRecord={$SOURCE_MODEL->getId()}&relationOperation=true" class="fieldValue"><i class="summaryViewEdit fa fa-pencil" title="{vtranslate('LBL_EDIT',$MODULE_NAME)}"></i></a>{/if}&nbsp;
+										{if $DELETE_PERMITTED == 'yes'}<a onclick="Vtiger_Detail_Js.deleteRelatedActivity(event);" data-id="{$RECORD->getId()}" data-recurring-enabled="{$RECORD->isRecurringEnabled()}" class="fieldValue"><i class="summaryViewEdit fa fa-trash " title="{vtranslate('LBL_DELETE',$MODULE_NAME)}"></i></a>{/if}
+									</div>
+								<span><strong title="{Vtiger_Util_Helper::formatDateTimeIntoDayString("$START_DATE $START_TIME")}">{Vtiger_Util_Helper::formatDateIntoStrings($START_DATE, $START_TIME)}</strong></span>
+							</div>
 
-                            <div class='col-lg-4 col-md-4 col-sm-4 activityStatus' style='line-height: 0px;padding-right:30px;'>
-                                <div class="row">
-                                    {if $RECORD->get('activitytype') eq 'Task'}
-                                        {assign var=MODULE_NAME value=$RECORD->getModuleName()}
-                                        <input type="hidden" class="activityModule" value="{$RECORD->getModuleName()}"/>
-                                        <input type="hidden" class="activityType" value="{$RECORD->get('activitytype')}"/>
-                                        <div class="pull-right">
-                                             {assign var=FIELD_MODEL value=$RECORD->getModule()->getField('taskstatus')}
-                                            <style>
-                                                {assign var=PICKLIST_COLOR_MAP value=Settings_Picklist_Module_Model::getPicklistColorMap('taskstatus', true)}
-                                                {foreach item=PICKLIST_COLOR key=PICKLIST_VALUE from=$PICKLIST_COLOR_MAP}
-                                                    {assign var=PICKLIST_TEXT_COLOR value=Settings_Picklist_Module_Model::getTextColor($PICKLIST_COLOR)}
-                                                    {assign var=CONVERTED_PICKLIST_VALUE value=Vtiger_Util_Helper::convertSpaceToHyphen($PICKLIST_VALUE)}
-                                                        .picklist-{$FIELD_MODEL->getId()}-{Vtiger_Util_Helper::escapeCssSpecialCharacters($CONVERTED_PICKLIST_VALUE)} {
-                                                            background-color: {$PICKLIST_COLOR};color: {$PICKLIST_TEXT_COLOR};
-                                                        }
-                                                {/foreach}
-                                            </style>
-                                            <strong><span class="value picklist-color picklist-{$FIELD_MODEL->getId()}-{Vtiger_Util_Helper::convertSpaceToHyphen($RECORD->get('status'))}">{vtranslate($RECORD->get('status'),$MODULE_NAME)}</span></strong>&nbsp&nbsp;
-                                            <span class="editStatus cursorPointer"><i class="fa fa-pencil" title="{vtranslate('LBL_EDIT',$MODULE_NAME)}"></i></span>
-                                            <span class="edit hide">
-                                                {assign var=FIELD_VALUE value=$FIELD_MODEL->set('fieldvalue', $RECORD->get('status'))}
-                                                {include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE_NAME) FIELD_MODEL=$FIELD_MODEL USER_MODEL=$USER_MODEL MODULE=$MODULE_NAME OCCUPY_COMPLETE_WIDTH='true'}
-                                                <input type="hidden" class="fieldname" value='{$FIELD_MODEL->get('name')}' data-prev-value='{$FIELD_MODEL->get('fieldvalue')}' />
-                                            </span>
-                                        </div>
-                                    {else}
-                                        {assign var=MODULE_NAME value="Events"}
-                                        <input type="hidden" class="activityModule" value="Events"/>
-                                        <input type="hidden" class="activityType" value="{$RECORD->get('activitytype')}"/>
-                                        {if $EDITVIEW_PERMITTED == 'yes'}
-                                            <div class="pull-right">
-                                                {assign var=FIELD_MODEL value=$RECORD->getModule()->getField('eventstatus')}
-                                                <style>
-                                                    {assign var=PICKLIST_COLOR_MAP value=Settings_Picklist_Module_Model::getPicklistColorMap('eventstatus', true)}
-                                                    {foreach item=PICKLIST_COLOR key=PICKLIST_VALUE from=$PICKLIST_COLOR_MAP}
-                                                        {assign var=PICKLIST_TEXT_COLOR value=Settings_Picklist_Module_Model::getTextColor($PICKLIST_COLOR)}
-                                                        {assign var=CONVERTED_PICKLIST_VALUE value=Vtiger_Util_Helper::convertSpaceToHyphen($PICKLIST_VALUE)}
-                                                            .picklist-{$FIELD_MODEL->getId()}-{Vtiger_Util_Helper::escapeCssSpecialCharacters($CONVERTED_PICKLIST_VALUE)} {
-                                                                background-color: {$PICKLIST_COLOR};color: {$PICKLIST_TEXT_COLOR};
-                                                            }
-                                                    {/foreach}
-                                                </style>
-                                                <strong><span class="value picklist-color picklist-{$FIELD_MODEL->getId()}-{Vtiger_Util_Helper::convertSpaceToHyphen($RECORD->get('eventstatus'))}">{vtranslate($RECORD->get('eventstatus'),$MODULE_NAME)}</span></strong>&nbsp&nbsp;
-                                                <span class="editStatus cursorPointer"><i class="fa fa-pencil" title="{vtranslate('LBL_EDIT',$MODULE_NAME)}"></i></span>
-                                                <span class="edit hide">
-                                                    
-                                                    {assign var=FIELD_VALUE value=$FIELD_MODEL->set('fieldvalue', $RECORD->get('eventstatus'))}
-                                                    {include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE_NAME) FIELD_MODEL=$FIELD_MODEL USER_MODEL=$USER_MODEL MODULE=$MODULE_NAME OCCUPY_COMPLETE_WIDTH='true'}
-                                                    {if $FIELD_MODEL->getFieldDataType() eq 'multipicklist'}
-                                                        <input type="hidden" class="fieldname" value='{$FIELD_MODEL->get('name')}[]' data-prev-value='{$FIELD_MODEL->getDisplayValue($FIELD_MODEL->get('fieldvalue'))}' />
-                                                    {else}
-                                                        <input type="hidden" class="fieldname" value='{$FIELD_MODEL->get('name')}' data-prev-value='{$FIELD_MODEL->getDisplayValue($FIELD_MODEL->get('fieldvalue'))}' />
-                                                    {/if}
-                                                </span>
-                                            </div>
-                                        {/if}
-                                    {/if}
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                    <hr>
-                </div>
-            {/foreach}
-        {else}
-            <div class="summaryWidgetContainer noContent">
-                <p class="textAlignCenter">{vtranslate('LBL_NO_PENDING_ACTIVITIES',$MODULE_NAME)}</p>
-            </div>
-        {/if}
-        {if $PAGING_MODEL->isNextPageExists()}
-            <div class="row">
-                <div class="pull-right">
-                    <a href="javascript:void(0)" class="moreRecentActivities" style="line-height: 0px;padding-right:30px;">{vtranslate('LBL_SHOW_MORE',$MODULE_NAME)}</a>
-                </div>
-            </div>
-        {/if}
-    </div>
+							<div class='col-lg-4 col-md-4 col-sm-4 activityStatus' style='line-height: 0px;padding-right:30px;'>
+								<div class="row">
+									{if $RECORD->get('activitytype') eq 'Task'}
+										{assign var=MODULE_NAME value=$RECORD->getModuleName()}
+										<input type="hidden" class="activityModule" value="{$RECORD->getModuleName()}"/>
+										<input type="hidden" class="activityType" value="{$RECORD->get('activitytype')}"/>
+										<div class="pull-right">
+											 {assign var=FIELD_MODEL value=$RECORD->getModule()->getField('taskstatus')}
+											<style>
+												{assign var=PICKLIST_COLOR_MAP value=Settings_Picklist_Module_Model::getPicklistColorMap('taskstatus', true)}
+												{foreach item=PICKLIST_COLOR key=PICKLIST_VALUE from=$PICKLIST_COLOR_MAP}
+													{assign var=PICKLIST_TEXT_COLOR value=Settings_Picklist_Module_Model::getTextColor($PICKLIST_COLOR)}
+													{assign var=CONVERTED_PICKLIST_VALUE value=Vtiger_Util_Helper::convertSpaceToHyphen($PICKLIST_VALUE)}
+														.picklist-{$FIELD_MODEL->getId()}-{Vtiger_Util_Helper::escapeCssSpecialCharacters($CONVERTED_PICKLIST_VALUE)} {
+															background-color: {$PICKLIST_COLOR};color: {$PICKLIST_TEXT_COLOR};
+														}
+												{/foreach}
+											</style>
+											<strong><span class="value picklist-color picklist-{$FIELD_MODEL->getId()}-{Vtiger_Util_Helper::convertSpaceToHyphen($RECORD->get('status'))}">{vtranslate($RECORD->get('status'),$MODULE_NAME)}</span></strong>&nbsp&nbsp;
+											{if $EDITVIEW_PERMITTED == 'yes'}
+												<span class="editStatus cursorPointer"><i class="fa fa-pencil" title="{vtranslate('LBL_EDIT',$MODULE_NAME)}"></i></span>
+												<span class="edit hide">
+													{assign var=FIELD_VALUE value=$FIELD_MODEL->set('fieldvalue', $RECORD->get('status'))}
+													{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE_NAME) FIELD_MODEL=$FIELD_MODEL USER_MODEL=$USER_MODEL MODULE=$MODULE_NAME OCCUPY_COMPLETE_WIDTH='true'}
+													<input type="hidden" class="fieldname" value='{$FIELD_MODEL->get('name')}' data-prev-value='{$FIELD_MODEL->get('fieldvalue')}' />
+												</span>
+											{/if}
+										</div>
+									{else}
+										{assign var=MODULE_NAME value="Events"}
+										<input type="hidden" class="activityModule" value="Events"/>
+										<input type="hidden" class="activityType" value="{$RECORD->get('activitytype')}"/>
+										<div class="pull-right">
+											{assign var=FIELD_MODEL value=$RECORD->getModule()->getField('eventstatus')}
+											<style>
+												{assign var=PICKLIST_COLOR_MAP value=Settings_Picklist_Module_Model::getPicklistColorMap('eventstatus', true)}
+												{foreach item=PICKLIST_COLOR key=PICKLIST_VALUE from=$PICKLIST_COLOR_MAP}
+													{assign var=PICKLIST_TEXT_COLOR value=Settings_Picklist_Module_Model::getTextColor($PICKLIST_COLOR)}
+													{assign var=CONVERTED_PICKLIST_VALUE value=Vtiger_Util_Helper::convertSpaceToHyphen($PICKLIST_VALUE)}
+														.picklist-{$FIELD_MODEL->getId()}-{Vtiger_Util_Helper::escapeCssSpecialCharacters($CONVERTED_PICKLIST_VALUE)} {
+															background-color: {$PICKLIST_COLOR};color: {$PICKLIST_TEXT_COLOR};
+														}
+												{/foreach}
+											</style>
+											<strong><span class="value picklist-color picklist-{$FIELD_MODEL->getId()}-{Vtiger_Util_Helper::convertSpaceToHyphen($RECORD->get('eventstatus'))}">{vtranslate($RECORD->get('eventstatus'),$MODULE_NAME)}</span></strong>&nbsp&nbsp;
+											{if $EDITVIEW_PERMITTED == 'yes'}
+												<span class="editStatus cursorPointer"><i class="fa fa-pencil" title="{vtranslate('LBL_EDIT',$MODULE_NAME)}"></i></span>
+												<span class="edit hide">
+													{assign var=FIELD_VALUE value=$FIELD_MODEL->set('fieldvalue', $RECORD->get('eventstatus'))}
+													{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE_NAME) FIELD_MODEL=$FIELD_MODEL USER_MODEL=$USER_MODEL MODULE=$MODULE_NAME OCCUPY_COMPLETE_WIDTH='true'}
+													{if $FIELD_MODEL->getFieldDataType() eq 'multipicklist'}
+														<input type="hidden" class="fieldname" value='{$FIELD_MODEL->get('name')}[]' data-prev-value='{$FIELD_MODEL->getDisplayValue($FIELD_MODEL->get('fieldvalue'))}' />
+													{else}
+														<input type="hidden" class="fieldname" value='{$FIELD_MODEL->get('name')}' data-prev-value='{$FIELD_MODEL->getDisplayValue($FIELD_MODEL->get('fieldvalue'))}' />
+													{/if}
+												</span>
+											</div>
+										{/if}
+									{/if}
+								</div>
+							</div>
+						</div>
+					</div>
+					<hr>
+				</div>
+			{/foreach}
+		{else}
+			<div class="summaryWidgetContainer noContent">
+				<p class="textAlignCenter">{vtranslate('LBL_NO_PENDING_ACTIVITIES',$MODULE_NAME)}</p>
+			</div>
+		{/if}
+		{if $PAGING_MODEL->isNextPageExists()}
+			<div class="row">
+				<div class="pull-right">
+					<a href="javascript:void(0)" class="moreRecentActivities" style="line-height: 0px;padding-right:30px;">{vtranslate('LBL_SHOW_MORE',$MODULE_NAME)}</a>
+				</div>
+			</div>
+		{/if}
+	</div>
 </div>
-{/strip}
+{/strip}
\ No newline at end of file
diff --git a/layouts/v7/modules/Vtiger/ShowAllComments.tpl b/layouts/v7/modules/Vtiger/ShowAllComments.tpl
index b9e2c0493cb85cb48d5564ac5205a90fd4c8c6c6..48e85cf0b03b9fa58e041577d4d87cf86a06a4da 100644
--- a/layouts/v7/modules/Vtiger/ShowAllComments.tpl
+++ b/layouts/v7/modules/Vtiger/ShowAllComments.tpl
@@ -1,77 +1,92 @@
 {*+**********************************************************************************
- * The contents of this file are subject to the vtiger CRM Public License Version 1.1
- * ("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.
- ************************************************************************************}
+* The contents of this file are subject to the vtiger CRM Public License Version 1.1
+* ("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.
+************************************************************************************}
 {strip}
-<form id="detailView" method="POST">    
-{assign var="COMMENT_TEXTAREA_DEFAULT_ROWS" value="2"}
-<div class="commentContainer commentsRelatedContainer container-fluid">
-    <div class="commentTitle row">
-        {if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}
-            <div class="addCommentBlock">
-				<div class="commentTextArea">
-					<textarea name="commentcontent" class="commentcontent mention_listener"  placeholder="{vtranslate('LBL_POST_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
-				</div>
-				<div class="row">
-					<div class="col-xs-8">
-						{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE_NAME) MODULE="ModComments"}
+<form id="detailView" method="POST">
+	{assign var="COMMENT_TEXTAREA_DEFAULT_ROWS" value="2"}
+	{assign var="PRIVATE_COMMENT_MODULES" value=Vtiger_Functions::getPrivateCommentModules()}
+	{assign var=IS_CREATABLE value=$COMMENTS_MODULE_MODEL->isPermitted('CreateView')}
+	{assign var=IS_EDITABLE value=$COMMENTS_MODULE_MODEL->isPermitted('EditView')}
+
+	<div class="commentContainer commentsRelatedContainer container-fluid">
+		{if $IS_CREATABLE}
+			<div class="commentTitle row">
+				<div class="addCommentBlock">
+					<div class="commentTextArea">
+						<textarea name="commentcontent" class="commentcontent form-control mention_listener"  placeholder="{vtranslate('LBL_POST_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
 					</div>
-					<div class="col-xs-4">
-						<div class="pull-right">
-							<button class="btn btn-success saveComment" type="button" data-mode="add"><strong>{vtranslate('LBL_POST', $MODULE_NAME)}</strong></button>
+					<div class="row">
+						<div class="col-xs-4 pull-right">
+							<div class="pull-right">
+								{if in_array($MODULE_NAME, $PRIVATE_COMMENT_MODULES)}
+									<input type="checkbox" id="is_private">&nbsp;&nbsp;{vtranslate('LBL_INTERNAL_COMMENT')}&nbsp;
+									<i class="fa fa-question-circle cursorPointer" data-toggle="tooltip" data-placement="top" data-original-title="{vtranslate('LBL_INTERNAL_COMMENT_INFO')}"></i>&nbsp;&nbsp;
+								{/if}
+								<button class="btn btn-success btn-sm saveComment" type="button" data-mode="add"><strong>{vtranslate('LBL_POST', $MODULE_NAME)}</strong></button>
+							</div>
+						</div>
+						<div class="col-xs-8 pull-left">
+							{include file=vtemplate_path($FIELD_MODEL->getUITypeModel()->getTemplateName(),$MODULE_NAME) MODULE="ModComments"}
 						</div>
 					</div>
 				</div>
 			</div>
-        {/if}
-    </div>
-    <div class="showcomments container-fluid row" style="margin-top:10px;">
-        <h3>
-            {vtranslate('LBL_COMMENTS',$MODULE)}
-            {if $MODULE_NAME ne 'Leads'}
-                <div class="pull-right fontSize10pt">
-                    <div class="input-info-addon">
-                    <a class="fa fa-question-circle" data-toggle="tooltip" data-placement="top" title="{vtranslate('LBL_ROLLUP_COMMENTS_INFO',$QUALIFIED_MODULE)}"></a></div>
-                    <input type="checkbox" class="bootstrap-switch" id="rollupcomments" hascomments="1" startindex="{$STARTINDEX}" data-view="relatedlist" rollupid="{$ROLLUPID}" 
-                           rollup-status="{$ROLLUP_STATUS}" module="{$MODULE_NAME}" record="{$MODULE_RECORD}" checked data-on-color="success"/>
-                </div>
-            {/if}
-        </h3>
-        <br>
-    <div class="commentsList commentsBody">
-        {include file='CommentsList.tpl'|@vtemplate_path COMMENT_MODULE_MODEL=$COMMENTS_MODULE_MODEL}
-    </div>
-    
-    <div class="hide basicAddCommentBlock container-fluid">
-		<div class="commentTextArea row">
-            <textarea name="commentcontent" class="commentcontent" placeholder="{vtranslate('LBL_POST_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
-        </div>
-        <div class="pull-right row">
-            <button class="btn btn-success saveComment" type="button" data-mode="add"><strong>{vtranslate('LBL_POST', $MODULE_NAME)}</strong></button>
-            <a href="javascript:void(0);" class="cursorPointer closeCommentBlock cancelLink" type="reset">{vtranslate('LBL_CANCEL', $MODULE_NAME)}</a>
-        </div>
-	</div>
-        
-	<div class="hide basicEditCommentBlock container-fluid">
-		<div class="row" style="padding-bottom: 10px;">
-            <input style="width:100%;height:30px;" type="text" name="reasonToEdit" placeholder="{vtranslate('LBL_REASON_FOR_CHANGING_COMMENT', $MODULE_NAME)}" class="input-block-level"/>
+		{/if}
+		<div class="showcomments container-fluid row" style="margin-top:10px;">
+			<div class="recentCommentsHeader row">
+				<h4 class="display-inline-block col-lg-7 textOverflowEllipsis" title="{vtranslate('LBL_RECENT_COMMENTS', $MODULE_NAME)}">
+					{vtranslate('LBL_COMMENTS',$MODULE)}
+				</h4>
+				{if $MODULE_NAME ne 'Leads'}
+					<div class="col-lg-5 commentHeader pull-right" style="margin-top:5px;text-align:right;padding-right:20px;">
+						<div class="display-inline-block">
+							<span class="">{vtranslate('LBL_ROLL_UP',$QUALIFIED_MODULE)} &nbsp;</span>
+							<span class="fa fa-question-circle" data-toggle="tooltip" data-placement="top" title="{vtranslate('LBL_ROLLUP_COMMENTS_INFO',$QUALIFIED_MODULE)}"></span>&nbsp;&nbsp;
+						</div>
+						<input type="checkbox" class="bootstrap-switch" id="rollupcomments" hascomments="1" startindex="{$STARTINDEX}" data-view="relatedlist" rollupid="{$ROLLUPID}" 
+							   rollup-status="{$ROLLUP_STATUS}" module="{$MODULE_NAME}" record="{$MODULE_RECORD}" checked data-on-color="success"/>
+					</div> 
+				{/if}
+			</div>
+			<hr>
+			<div class="commentsList commentsBody marginBottom15">
+				{include file='CommentsList.tpl'|@vtemplate_path COMMENT_MODULE_MODEL=$COMMENTS_MODULE_MODEL IS_CREATABLE=$IS_CREATABLE IS_EDITABLE=$IS_EDITABLE}
+			</div>
+
+			<div class="hide basicAddCommentBlock container-fluid">
+				<div class="commentTextArea row">
+					<textarea name="commentcontent" class="commentcontent" placeholder="{vtranslate('LBL_POST_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
+				</div>
+				<div class="pull-right row">
+					{if in_array($MODULE_NAME, $PRIVATE_COMMENT_MODULES)}
+						<input type="checkbox" id="is_private">&nbsp;&nbsp;{vtranslate('LBL_INTERNAL_COMMENT')}&nbsp;&nbsp;
+					{/if}
+					<button class="btn btn-success btn-sm saveComment" type="button" data-mode="add"><strong>{vtranslate('LBL_POST', $MODULE_NAME)}</strong></button>
+					<a href="javascript:void(0);" class="cursorPointer closeCommentBlock cancelLink" type="reset">{vtranslate('LBL_CANCEL', $MODULE_NAME)}</a>
+				</div>
+			</div>
+
+			<div class="hide basicEditCommentBlock container-fluid">
+				<div class="row" style="padding-bottom: 10px;">
+					<input style="width:100%;height:30px;" type="text" name="reasonToEdit" placeholder="{vtranslate('LBL_REASON_FOR_CHANGING_COMMENT', $MODULE_NAME)}" class="input-block-level"/>
+				</div>
+				<div class="row">
+					<div class="commentTextArea">
+						<textarea name="commentcontent" class="commentcontenthidden"  placeholder="{vtranslate('LBL_ADD_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
+					</div>
+				</div>
+				<input type="hidden" name="is_private">
+				<div class="pull-right row">
+					<button class="btn btn-success btn-sm saveComment" type="button" data-mode="edit"><strong>{vtranslate('LBL_POST', $MODULE_NAME)}</strong></button>
+					<a href="javascript:void(0);" class="cursorPointer closeCommentBlock cancelLink" type="reset">{vtranslate('LBL_CANCEL', $MODULE_NAME)}</a>
+				</div>
+			</div>
 		</div>
-		<div class="row">
-            <div class="commentTextArea">
-                <textarea name="commentcontent" class="commentcontenthidden"  placeholder="{vtranslate('LBL_ADD_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
-            </div>
-        </div>
-        <input type="hidden" name="is_private">
-        <div class="pull-right row">
-            <button class="btn btn-success saveComment" type="button" data-mode="edit"><strong>{vtranslate('LBL_POST', $MODULE_NAME)}</strong></button>
-            <a href="javascript:void(0);" class="cursorPointer closeCommentBlock cancelLink" type="reset">{vtranslate('LBL_CANCEL', $MODULE_NAME)}</a>
-        </div>
 	</div>
-</div>
-</div>
-            </form>
+</form>
 {/strip}
\ No newline at end of file
diff --git a/layouts/v7/modules/Vtiger/partials/RelatedListHeader.tpl b/layouts/v7/modules/Vtiger/partials/RelatedListHeader.tpl
index f5a074075f2100216da66254d872369093b227c0..601b670aa0436261582d6e07a1f09377536e2fb5 100644
--- a/layouts/v7/modules/Vtiger/partials/RelatedListHeader.tpl
+++ b/layouts/v7/modules/Vtiger/partials/RelatedListHeader.tpl
@@ -25,14 +25,16 @@
                         {elseif $RELATED_LINK->get('_linklabel') === '_add_task'}
                             {assign var=RELATED_MODULE_NAME value='Calendar'}
                         {/if}
-                        <button type="button" module="{$RELATED_MODULE_NAME}"  class="btn addButton btn-default
-                            {if $IS_SELECT_BUTTON eq true} selectRelation {/if} "
-                            {if $IS_SELECT_BUTTON eq true} data-moduleName={$RELATED_LINK->get('_module')->get('name')} {/if}
-                            {if ($RELATED_LINK->isPageLoadLink())}
-                            {if $RELATION_FIELD} data-name="{$RELATION_FIELD->getName()}" {/if}
-                            data-url="{$RELATED_LINK->getUrl()}{if $SELECTED_MENU_CATEGORY}&app={$SELECTED_MENU_CATEGORY}{/if}"
-                            {/if}
-                        {if $IS_SELECT_BUTTON neq true}name="addButton"{/if}>{if $IS_SELECT_BUTTON eq false}<i class="fa fa-plus"></i>&nbsp;{/if}&nbsp;{$RELATED_LINK->getLabel()}</button>
+						{if $IS_SELECT_BUTTON || $IS_CREATE_PERMITTED}
+							<button type="button" module="{$RELATED_MODULE_NAME}"  class="btn addButton btn-default
+								{if $IS_SELECT_BUTTON eq true} selectRelation {/if} "
+								{if $IS_SELECT_BUTTON eq true} data-moduleName={$RELATED_LINK->get('_module')->get('name')} {/if}
+								{if ($RELATED_LINK->isPageLoadLink())}
+								{if $RELATION_FIELD} data-name="{$RELATION_FIELD->getName()}" {/if}
+								data-url="{$RELATED_LINK->getUrl()}{if $SELECTED_MENU_CATEGORY}&app={$SELECTED_MENU_CATEGORY}{/if}"
+								{/if}
+							{if $IS_SELECT_BUTTON neq true}name="addButton"{/if}>{if $IS_SELECT_BUTTON eq false}<i class="fa fa-plus"></i>&nbsp;{/if}&nbsp;{$RELATED_LINK->getLabel()}</button>
+						{/if}
                     {/if}
                 </div>
             {/foreach}&nbsp;
diff --git a/layouts/v7/modules/Vtiger/partials/Topbar.tpl b/layouts/v7/modules/Vtiger/partials/Topbar.tpl
index ccec74eb8c835c506d298caed4f06711ba0e26a5..62c1a8086d675270a8a3af1682aeb2bdfb4e9e2d 100644
--- a/layouts/v7/modules/Vtiger/partials/Topbar.tpl
+++ b/layouts/v7/modules/Vtiger/partials/Topbar.tpl
@@ -57,9 +57,10 @@
 									<li id="quickCreateModules" style="padding: 0 5px;">
 										<div class="col-lg-12" style="padding-bottom:15px;">
 											{foreach key=moduleName item=moduleModel from=$QUICK_CREATE_MODULES}
-												{if $moduleModel->isPermitted('EditView')}
+												{if $moduleModel->isPermitted('CreateView') || $moduleModel->isPermitted('EditView')}
 													{assign var='quickCreateModule' value=$moduleModel->isQuickCreateSupported()}
 													{assign var='singularLabel' value=$moduleModel->getSingularLabelKey()}
+													{assign var=hideDiv value={!$moduleModel->isPermitted('CreateView') && $moduleModel->isPermitted('EditView')}}
 													{if $quickCreateModule == '1'}
 														{if $count % 3 == 0}
 															<div class="row">
@@ -67,7 +68,7 @@
 															{* Adding two links,Event and Task if module is Calendar *}
 															{if $singularLabel == 'SINGLE_Calendar'}
 																{assign var='singularLabel' value='LBL_TASK'}
-																<div class="col-lg-4">
+																<div class="{if $hideDiv}create_restricted_{$moduleModel->getName()} hide{else}col-lg-4{/if}">
 																	<a id="menubar_quickCreate_Events" class="quickCreateModule" data-name="Events"
 																	   data-url="index.php?module=Events&view=QuickCreateAjax" href="javascript:void(0)"><i class="vicon-calendar pull-left"></i><span class="quick-create-module">{vtranslate('LBL_EVENT',$moduleName)}</span></a>
 																</div>
@@ -76,13 +77,15 @@
 																	<br>
 																	<div class="row">
 																{/if}
-																<div class="col-lg-4">
+																<div class="{if $hideDiv}create_restricted_{$moduleModel->getName()} hide{else}col-lg-4{/if}">
 																	<a id="menubar_quickCreate_{$moduleModel->getName()}" class="quickCreateModule" data-name="{$moduleModel->getName()}"
 																	   data-url="{$moduleModel->getQuickCreateUrl()}" href="javascript:void(0)"><i class="vicon-task pull-left"></i><span class="quick-create-module">{vtranslate($singularLabel,$moduleName)}</span></a>
 																</div>
-																{assign var='count' value=$count+1}
+																{if !$hideDiv}
+																	{assign var='count' value=$count+1}
+																{/if}
 															{else if $singularLabel == 'SINGLE_Documents'}
-																<div class="col-lg-4 dropdown">
+																<div class="{if $hideDiv}create_restricted_{$moduleModel->getName()} hide{else}col-lg-4{/if} dropdown">
 																	<a id="menubar_quickCreate_{$moduleModel->getName()}" class="quickCreateModuleSubmenu dropdown-toggle" data-name="{$moduleModel->getName()}" data-toggle="dropdown" 
 																	   data-url="{$moduleModel->getQuickCreateUrl()}" href="javascript:void(0)">
 																		<i class="vicon-{strtolower($moduleName)} pull-left"></i>
@@ -106,7 +109,7 @@
 																	</ul>
 																</div>
 															{else}
-																<div class="col-lg-4">
+																<div class="{if $hideDiv}create_restricted_{$moduleModel->getName()} hide{else}col-lg-4{/if}">
 																	<a id="menubar_quickCreate_{$moduleModel->getName()}" class="quickCreateModule" data-name="{$moduleModel->getName()}"
 																	   data-url="{$moduleModel->getQuickCreateUrl()}" href="javascript:void(0)">
 																		<i class="vicon-{strtolower($moduleName)} pull-left"></i>
@@ -118,7 +121,9 @@
 																</div>
 																<br>
 															{/if}
-														{assign var='count' value=$count+1}
+														{if !$hideDiv}
+															{assign var='count' value=$count+1}
+														{/if}
 													{/if}
 												{/if}
 											{/foreach}
diff --git a/layouts/v7/modules/Vtiger/resources/Detail.js b/layouts/v7/modules/Vtiger/resources/Detail.js
index 66be15a02ce3f28fd99cbcc6c97d5f0bca76ad00..34c4f5fb5c30ebfbef71582ee43b1f64b4268ab6 100644
--- a/layouts/v7/modules/Vtiger/resources/Detail.js
+++ b/layouts/v7/modules/Vtiger/resources/Detail.js
@@ -2159,9 +2159,10 @@ Vtiger.Class("Vtiger_Detail_Js",{
 						'url' : url
 					};
 					app.request.get(params).then(function(err, data){
-						currentTarget.attr('rollup-status', 0);
-						jQuery('div.related-tabs li[data-label-key="ModComments"]').trigger('click');
-					});
+                        currentTarget.attr('rollup-status', 0);
+//                        Vtiger_Index_Js.getInstance().registerMentionListener(jQuery('.widgetContainer_comments').find('.mention_listener'));
+                        jQuery('div.related-tabs li[data-label-key="ModComments"]').trigger('click');
+                    });
 				}else {
 					url = 'index.php?module='+moduleName+'&relatedModule=ModComments&view=Detail&record='+
 							recordId+'&mode=showRecentComments'+'&rollupid='+rollupId
diff --git a/modules/Accounts/models/DetailView.php b/modules/Accounts/models/DetailView.php
index 98c53cff34340491b476e4b3a6a338bd1e26d44d..82a07504888e0f0f51cd64feb9499ef4181553e5 100644
--- a/modules/Accounts/models/DetailView.php
+++ b/modules/Accounts/models/DetailView.php
@@ -50,7 +50,7 @@ class Accounts_DetailView_Model extends Vtiger_DetailView_Model {
 		
 		$CalendarActionLinks = array();
 		$CalendarModuleModel = Vtiger_Module_Model::getInstance('Calendar');
-		if($currentUserModel->hasModuleActionPermission($CalendarModuleModel->getId(), 'EditView')) {
+		if($currentUserModel->hasModuleActionPermission($CalendarModuleModel->getId(), 'CreateView')) {
 			$CalendarActionLinks[] = array(
 					'linktype' => 'DETAILVIEW',
 					'linklabel' => 'LBL_ADD_EVENT',
diff --git a/modules/Calendar/actions/Save.php b/modules/Calendar/actions/Save.php
index cc7f3e76bde799014498538f09746f204c2492a5..e1c4a2eed30d2af4bd92da766e44aee78a96f6ce 100644
--- a/modules/Calendar/actions/Save.php
+++ b/modules/Calendar/actions/Save.php
@@ -14,6 +14,11 @@ class Calendar_Save_Action extends Vtiger_Save_Action {
 		$moduleName = $request->getModule();
 		$record = $request->get('record');
 
+		$actionName = ($record) ? 'EditView' : 'CreateView';
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+		}
+
 		if(!Users_Privileges_Model::isPermitted($moduleName, 'Save', $record)) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
diff --git a/modules/Calendar/actions/SaveAjax.php b/modules/Calendar/actions/SaveAjax.php
index a5d9fdc7f05fe8bc4642352e18fdc2d7d7465cc9..5f28f72a64e4c2ecde547edce5a9ad0dacefde9a 100644
--- a/modules/Calendar/actions/SaveAjax.php
+++ b/modules/Calendar/actions/SaveAjax.php
@@ -14,6 +14,11 @@ class Calendar_SaveAjax_Action extends Vtiger_SaveAjax_Action {
 		$moduleName = $request->getModule();
 		$record = $request->get('record');
 
+		$actionName = ($record) ? 'EditView' : 'CreateView';
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+		}
+
 		if(!Users_Privileges_Model::isPermitted($moduleName, 'Save', $record)) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
diff --git a/modules/Calendar/actions/SaveFollowupAjax.php b/modules/Calendar/actions/SaveFollowupAjax.php
index d15bc56360a5f3ffc8f43653d70ff3ea847f8dd1..382c4c5c53fad85f2668bcb79cb84ada3d07268c 100755
--- a/modules/Calendar/actions/SaveFollowupAjax.php
+++ b/modules/Calendar/actions/SaveFollowupAjax.php
@@ -9,7 +9,29 @@
  *************************************************************************************/
 
 class Calendar_SaveFollowupAjax_Action extends Calendar_SaveAjax_Action {
-    
+
+	public function checkPermission(Vtiger_Request $request) {
+		$moduleName = $request->getModule();
+		$record = $request->get('record');
+
+		$actionName = ($record && $request->getMode() != 'createFollowupEvent') ? 'EditView' : 'CreateView';
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+		}
+
+		if(!Users_Privileges_Model::isPermitted($moduleName, 'Save', $record)) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+		}
+
+		if ($record) {
+			$activityModulesList = array('Calendar', 'Events');
+			$recordEntityName = getSalesEntityType($record);
+			if (!in_array($recordEntityName, $activityModulesList) || !in_array($moduleName, $activityModulesList)) {
+				throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+			}
+		}
+	}
+
     function __construct() {
         $this->exposeMethod('createFollowupEvent');
         $this->exposeMethod('markAsHeldCompleted');
diff --git a/modules/Calendar/views/Calendar.php b/modules/Calendar/views/Calendar.php
index 0ed8626a756ba269077be5a948be4ec9b52d7fc3..32e1d8604cb4476af3d3704141c1b48b1beb9542 100644
--- a/modules/Calendar/views/Calendar.php
+++ b/modules/Calendar/views/Calendar.php
@@ -70,6 +70,7 @@ class Calendar_Calendar_View extends Vtiger_Index_View {
 			return $this->getCalendarSettings($request);
 		}
 		$viewer->assign('CURRENT_USER', $currentUserModel);
+		$viewer->assign('IS_CREATE_PERMITTED', isPermitted('Calendar', 'CreateView'));
 
 		$viewer->view('CalendarView.tpl', $request->getModule());
 	}
diff --git a/modules/Calendar/views/Edit.php b/modules/Calendar/views/Edit.php
index 0bd6146912e35582b12783ce19203923db450cc7..0b9c3c369f0fb5da48f46676e32f26d0d3c03b62 100644
--- a/modules/Calendar/views/Edit.php
+++ b/modules/Calendar/views/Edit.php
@@ -20,7 +20,12 @@ Class Calendar_Edit_View extends Vtiger_Edit_View {
 		$moduleName = $request->getModule();
 		$record = $request->get('record');
 
-		if (!Users_Privileges_Model::isPermitted($moduleName, 'EditView', $record)) {
+		$actionName = 'CreateView';
+		if ($record && !$request->get('isDuplicate')) {
+			$actionName = 'EditView';
+		}
+
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
 
diff --git a/modules/Calendar/views/QuickCreateAjax.php b/modules/Calendar/views/QuickCreateAjax.php
index d447c3941ba8f8f3c47a8b2a2bc52459ffe5e739..ac00e7e86d4caddddd8922e04864faa6a237474b 100644
--- a/modules/Calendar/views/QuickCreateAjax.php
+++ b/modules/Calendar/views/QuickCreateAjax.php
@@ -10,6 +10,17 @@
 
 class Calendar_QuickCreateAjax_View extends Vtiger_QuickCreateAjax_View {
 
+	public function checkPermission(Vtiger_Request $request) {
+		$moduleName = $request->getModule();
+		//Need to check record permission as Calendar view is using QuickCreateAjax to show edit form	
+		$record = $request->get('record');
+
+		$actionName = ($record) ? 'EditView' : 'CreateView';
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+		}
+	}
+
 	public function  process(Vtiger_Request $request) {
 		$moduleName = $request->getModule();
 
diff --git a/modules/Calendar/views/QuickCreateFollowupAjax.php b/modules/Calendar/views/QuickCreateFollowupAjax.php
index 17bb0a30bb86ae5cc8cdb6e69d865d376fae0a84..0f0eced152e1918c6e1ebf96565f0e2fec3b7530 100755
--- a/modules/Calendar/views/QuickCreateFollowupAjax.php
+++ b/modules/Calendar/views/QuickCreateFollowupAjax.php
@@ -16,9 +16,8 @@ class Calendar_QuickCreateFollowupAjax_View extends Vtiger_QuickCreateAjax_View
         
         $recordModel = Vtiger_Record_Model::getInstanceById($recordId);
         $moduleModel = $recordModel->getModule();
-        $actionname = "EditView";
-        
-        if(isPermitted($moduleName, $actionname, $recordId) === 'yes'){
+
+		if(isPermitted($moduleName, 'CreateView', $recordId) === 'yes'){
             //Start date Field required for validation
             $startDateFieldModel = $moduleModel->getField("date_start");
             $startDateTime = $recordModel->getDisplayValue('date_start');
diff --git a/modules/Calendar/views/SharedCalendar.php b/modules/Calendar/views/SharedCalendar.php
index 275ec4d2b8589b6f3d73d02ba8918334172a3d22..ee4e6015f867bf1c3a320034fbc35d7a65e87b9f 100644
--- a/modules/Calendar/views/SharedCalendar.php
+++ b/modules/Calendar/views/SharedCalendar.php
@@ -15,6 +15,7 @@ class Calendar_SharedCalendar_View extends Calendar_Calendar_View {
 		$currentUserModel = Users_Record_Model::getCurrentUserModel();
 		
 		$viewer->assign('CURRENT_USER', $currentUserModel);
+		$viewer->assign('IS_CREATE_PERMITTED', isPermitted('Calendar', 'CreateView'));
 		$viewer->view('SharedCalendarView.tpl', $request->getModule());
 	}
 	
diff --git a/modules/Documents/models/Module.php b/modules/Documents/models/Module.php
index 89a8a3d535a6084cdb08b2b893b6b190f352be78..2207cbf947a35539a9225a19e97426cf0c443524 100644
--- a/modules/Documents/models/Module.php
+++ b/modules/Documents/models/Module.php
@@ -128,7 +128,7 @@ class Documents_Module_Model extends Vtiger_Module_Model {
 		if($this->isEntityModule()) {
 			$moduleName = $this->getName();
             
-			$createPermission = Users_Privileges_Model::isPermitted($moduleName, 'EditView');
+			$createPermission = Users_Privileges_Model::isPermitted($moduleName, 'CreateView');
             if($createPermission) {
                 $basicListViewLinks[] = array(
 					'linktype' => 'LISTVIEW',
diff --git a/modules/Documents/views/EditAjax.php b/modules/Documents/views/EditAjax.php
index d2a40f7cfc36e10fbf5dafeb6eac0e0611734a62..a9f35baa208cd0406231000c9125f6043ecbd6ac 100644
--- a/modules/Documents/views/EditAjax.php
+++ b/modules/Documents/views/EditAjax.php
@@ -13,7 +13,7 @@ class Documents_EditAjax_View extends Vtiger_QuickCreateAjax_View {
 	public function checkPermission(Vtiger_Request $request) {
 		$moduleName = $request->getModule();
 
-		if (!(Users_Privileges_Model::isPermitted($moduleName, 'EditView'))) {
+		if (!(Users_Privileges_Model::isPermitted($moduleName, 'CreateView'))) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName));
 		}
 	}
diff --git a/modules/Documents/views/List.php b/modules/Documents/views/List.php
index bb5320a8a469cc15361c1cd1f19e8cf2c1319fa3..5cdfffdbdd99398c2f13adc02863d490eb84fef3 100644
--- a/modules/Documents/views/List.php
+++ b/modules/Documents/views/List.php
@@ -265,6 +265,7 @@ class Documents_List_View extends Vtiger_List_View {
 			$viewer->assign('LISTVIEW_COUNT', $totalCount);
 		}
 
+		$viewer->assign('IS_RECORD_CREATABLE', $listViewModel->getModule()->isPermitted('CreateView'));
 		$viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView'));
 		$viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete'));
 		$viewer->assign('SEARCH_DETAILS', $searchParams);
diff --git a/modules/Documents/views/QuickCreateAjax.php b/modules/Documents/views/QuickCreateAjax.php
index 97a66313f3969fd72e08be2c18292ac8be701d19..fd434226eee9d48d50c98bc5175ec39e0734983a 100644
--- a/modules/Documents/views/QuickCreateAjax.php
+++ b/modules/Documents/views/QuickCreateAjax.php
@@ -13,7 +13,7 @@ class Documents_QuickCreateAjax_View extends Vtiger_IndexAjax_View {
 	public function checkPermission(Vtiger_Request $request) {
 		$moduleName = $request->getModule();
 
-		if (!(Users_Privileges_Model::isPermitted($moduleName, 'EditView'))) {
+		if (!(Users_Privileges_Model::isPermitted($moduleName, 'CreateView'))) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName));
 		}
 	}
diff --git a/modules/Events/actions/SaveAjax.php b/modules/Events/actions/SaveAjax.php
index 7e4ba0fec7bf5be620e1bb41495bcac52b37cc60..e7bc75922bb75e0d98481d637e048468761939ae 100644
--- a/modules/Events/actions/SaveAjax.php
+++ b/modules/Events/actions/SaveAjax.php
@@ -14,7 +14,12 @@ class Events_SaveAjax_Action extends Events_Save_Action {
 		$moduleName = $request->getModule();
 		$record = $request->get('record');
 
-		if (!Users_Privileges_Model::isPermitted($moduleName, 'Save', $record)) {
+		$actionName = ($record) ? 'EditView' : 'CreateView';
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+		}
+
+		if(!Users_Privileges_Model::isPermitted($moduleName, 'Save', $record)) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
 
diff --git a/modules/HelpDesk/models/DetailView.php b/modules/HelpDesk/models/DetailView.php
index a60ecb8612271e06045cc80d02d3a308999c3176..22836f561c9f84d1b3af676877b99b1e810514f7 100644
--- a/modules/HelpDesk/models/DetailView.php
+++ b/modules/HelpDesk/models/DetailView.php
@@ -35,7 +35,7 @@ class HelpDesk_DetailView_Model extends Vtiger_DetailView_Model {
 		}
 
 		$quotesModuleModel = Vtiger_Module_Model::getInstance('Faq');
-		if($currentUserModel->hasModuleActionPermission($quotesModuleModel->getId(), 'DetailView')) {
+		if($currentUserModel->hasModuleActionPermission($quotesModuleModel->getId(), 'CreateView')) {
 			$basicActionLink = array(
 				'linktype' => 'DETAILVIEW',
 				'linklabel' => 'LBL_CONVERT_FAQ',
diff --git a/modules/Inventory/views/SendEmail.php b/modules/Inventory/views/SendEmail.php
index 800afb8b7dcdf2730f6a70171eb7ceed8bcc0d2b..2978dbf0c91736c1c44cdbff5579d5726658dd54 100644
--- a/modules/Inventory/views/SendEmail.php
+++ b/modules/Inventory/views/SendEmail.php
@@ -10,6 +10,13 @@
 
 class Inventory_SendEmail_View extends Vtiger_ComposeEmail_View {
 
+	public function checkPermission(Vtiger_Request $request) {
+		$moduleName = $request->getModule();
+		if(!Users_Privileges_Model::isPermitted($moduleName, 'index') || !Users_Privileges_Model::isPermitted('Emails', 'CreateView')) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+		}
+	}
+
 	/**
 	 * Function which will construct the compose email
 	 * This will handle the case of attaching the invoice pdf as attachment
diff --git a/modules/Invoice/models/DetailView.php b/modules/Invoice/models/DetailView.php
index 1b808c538caacd4fcfe696d12890ebe0a8c8d29a..2ecb36b34a3c574e1a9af52fb4558b1021fc3003 100644
--- a/modules/Invoice/models/DetailView.php
+++ b/modules/Invoice/models/DetailView.php
@@ -17,7 +17,7 @@ class Invoice_DetailView_Model extends Inventory_DetailView_Model {
 		$recordModel = $this->getRecord();
 
 		$purchaseOrderModuleModel = Vtiger_Module_Model::getInstance('PurchaseOrder');
-		if ($currentUserModel->hasModuleActionPermission($purchaseOrderModuleModel->getId(), 'EditView')) {
+		if ($currentUserModel->hasModuleActionPermission($purchaseOrderModuleModel->getId(), 'CreateView')) {
 			$basicActionLink = array(
 				'linktype' => 'DETAILVIEW',
 				'linklabel' => vtranslate('LBL_GENERATE') . ' ' . vtranslate($purchaseOrderModuleModel->getSingularLabelKey(), 'PurchaseOrder'),
diff --git a/modules/Leads/models/DetailView.php b/modules/Leads/models/DetailView.php
index 99ad20d6cdd08c2939983373ad6b086d4941a950..01fe5f0b4296c0ca7a864138d923635ccac6c0fa 100644
--- a/modules/Leads/models/DetailView.php
+++ b/modules/Leads/models/DetailView.php
@@ -51,7 +51,7 @@ class Leads_DetailView_Model extends Accounts_DetailView_Model {
 		
 		$CalendarActionLinks[] = array();
 		$CalendarModuleModel = Vtiger_Module_Model::getInstance('Calendar');
-		if($currentUserModel->hasModuleActionPermission($CalendarModuleModel->getId(), 'EditView')) {
+		if($currentUserModel->hasModuleActionPermission($CalendarModuleModel->getId(), 'CreateView')) {
 			$CalendarActionLinks[] = array(
 					'linktype' => 'DETAILVIEW',
 					'linklabel' => 'LBL_ADD_EVENT',
diff --git a/modules/Portal/actions/SaveAjax.php b/modules/Portal/actions/SaveAjax.php
index df8f0d92a5554fdc402344f87134b6e4d8cebdf2..2bdd5be0004488f0b8c916422b3fa67f0faad5b8 100644
--- a/modules/Portal/actions/SaveAjax.php
+++ b/modules/Portal/actions/SaveAjax.php
@@ -14,6 +14,11 @@ class Portal_SaveAjax_Action extends Vtiger_SaveAjax_Action {
 		$moduleName = $request->getModule();
 		$record = $request->get('record');
 
+		$actionName = ($record) ? 'EditView' : 'CreateView';
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+		}
+
 		if(!Users_Privileges_Model::isPermitted($moduleName, 'Save', $record)) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
diff --git a/modules/Potentials/models/Record.php b/modules/Potentials/models/Record.php
index 72f8bd013744a51f624764704ed51819ec152447..d4526bceb1fb80fcedb9821b112e1784d9ec2495 100644
--- a/modules/Potentials/models/Record.php
+++ b/modules/Potentials/models/Record.php
@@ -94,7 +94,7 @@ class Potentials_Record_Model extends Vtiger_Record_Model {
 		$privilegeModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
 		$moduleName = 'Project';
 
-		if(!Users_Privileges_Model::isPermitted($moduleName, 'EditView')) {
+		if(!Users_Privileges_Model::isPermitted($moduleName, 'CreateView')) {
 			return;
 		}
 
diff --git a/modules/Potentials/views/ConvertPotential.php b/modules/Potentials/views/ConvertPotential.php
index 20857096d9a80eaebbf0a881e432589a77c11610..b84e271ad3370a380869aac380bc50e863e5de38 100644
--- a/modules/Potentials/views/ConvertPotential.php
+++ b/modules/Potentials/views/ConvertPotential.php
@@ -16,7 +16,7 @@ class Potentials_ConvertPotential_View extends Vtiger_Index_View {
 		$projectModuleModel = Vtiger_Module_Model::getInstance('Project');
 
 		$currentUserModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if(!$currentUserModel->hasModuleActionPermission($projectModuleModel->getId(), 'EditView')) {
+		if(!$currentUserModel->hasModuleActionPermission($projectModuleModel->getId(), 'CreateView')) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName));
 		}
 	}
diff --git a/modules/Potentials/views/SaveConvertPotential.php b/modules/Potentials/views/SaveConvertPotential.php
index 51cc3ebf6d132232005bb20ae93cec3aec19c4ba..5e4110362ba3f6a90c4a6f51d7801db7ebbce22c 100644
--- a/modules/Potentials/views/SaveConvertPotential.php
+++ b/modules/Potentials/views/SaveConvertPotential.php
@@ -17,7 +17,7 @@ class Potentials_SaveConvertPotential_View extends Vtiger_View_Controller {
 		$projectModuleModel = Vtiger_Module_Model::getInstance('Project');
 
 		$currentUserModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
-		if(!$currentUserModel->hasModuleActionPermission($projectModuleModel->getId(), 'EditView')) {
+		if(!$currentUserModel->hasModuleActionPermission($projectModuleModel->getId(), 'CreateView')) {
 			throw new AppException(vtranslate('LBL_CREATE_PROJECT_PERMISSION_DENIED', $moduleName));
 		}
 	}
diff --git a/modules/Products/models/DetailView.php b/modules/Products/models/DetailView.php
index 5f2497ea37f72f4d6b5b4a5fd904d4c36a8d614e..2eab5df47dd599ac6e899f67785d64ea75df33e4 100644
--- a/modules/Products/models/DetailView.php
+++ b/modules/Products/models/DetailView.php
@@ -24,7 +24,7 @@ class Products_DetailView_Model extends Vtiger_DetailView_Model {
 
 		if ($recordModel->getActiveStatusOfRecord()) {
 			$quotesModuleModel = Vtiger_Module_Model::getInstance('Quotes');
-			if($currentUserModel->hasModuleActionPermission($quotesModuleModel->getId(), 'EditView')) {
+			if($currentUserModel->hasModuleActionPermission($quotesModuleModel->getId(), 'CreateView')) {
 				$basicActionLink = array(
 						'linktype' => 'DETAILVIEW',
 						'linklabel' => vtranslate('LBL_CREATE').' '.vtranslate($quotesModuleModel->getSingularLabelKey(), 'Quotes'),
@@ -35,7 +35,7 @@ class Products_DetailView_Model extends Vtiger_DetailView_Model {
 			}
 
 			$invoiceModuleModel = Vtiger_Module_Model::getInstance('Invoice');
-			if($currentUserModel->hasModuleActionPermission($invoiceModuleModel->getId(), 'EditView')) {
+			if($currentUserModel->hasModuleActionPermission($invoiceModuleModel->getId(), 'CreateView')) {
 				$basicActionLink = array(
 						'linktype' => 'DETAILVIEW',
 						'linklabel' => vtranslate('LBL_CREATE').' '.vtranslate($invoiceModuleModel->getSingularLabelKey(), 'Invoice'),
@@ -46,7 +46,7 @@ class Products_DetailView_Model extends Vtiger_DetailView_Model {
 			}
 
 			$purchaseOrderModuleModel = Vtiger_Module_Model::getInstance('PurchaseOrder');
-			if($currentUserModel->hasModuleActionPermission($purchaseOrderModuleModel->getId(), 'EditView')) {
+			if($currentUserModel->hasModuleActionPermission($purchaseOrderModuleModel->getId(), 'CreateView')) {
 				$basicActionLink = array(
 						'linktype' => 'DETAILVIEW',
 						'linklabel' => vtranslate('LBL_CREATE').' '.vtranslate($purchaseOrderModuleModel->getSingularLabelKey(), 'PurchaseOrder'),
@@ -57,7 +57,7 @@ class Products_DetailView_Model extends Vtiger_DetailView_Model {
 			}
 
 			$salesOrderModuleModel = Vtiger_Module_Model::getInstance('SalesOrder');
-			if($currentUserModel->hasModuleActionPermission($salesOrderModuleModel->getId(), 'EditView')) {
+			if($currentUserModel->hasModuleActionPermission($salesOrderModuleModel->getId(), 'CreateView')) {
 				$basicActionLink = array(
 						'linktype' => 'DETAILVIEW',
 						'linklabel' =>  vtranslate('LBL_CREATE').' '.vtranslate($salesOrderModuleModel->getSingularLabelKey(), 'SalesOrder'),
diff --git a/modules/Products/views/InRelation.php b/modules/Products/views/InRelation.php
index 6950ff630e83c97e6e6a2624ffb9a8108abd2844..a9493019f46503f70d2b76df508f298fa5073e62 100644
--- a/modules/Products/views/InRelation.php
+++ b/modules/Products/views/InRelation.php
@@ -126,6 +126,7 @@ class Products_InRelation_View extends Vtiger_RelatedList_View {
 
 		$viewer->assign('IS_EDITABLE', $relationModel->isEditable());
 		$viewer->assign('IS_DELETABLE', $relationModel->isDeletable());
+		$viewer->assign('IS_CREATE_PERMITTED', $relatedModuleModel->isPermitted('CreateView'));
 
 		$viewer->assign('MODULE', $moduleName);
 		$viewer->assign('PAGING', $pagingModel);
diff --git a/modules/Products/views/MoreCurrenciesList.php b/modules/Products/views/MoreCurrenciesList.php
index 34f87a1498343d1c02498b6294c26474f748cf4a..2720352cc3f26f9a37474bd13759f717dedd282d 100644
--- a/modules/Products/views/MoreCurrenciesList.php
+++ b/modules/Products/views/MoreCurrenciesList.php
@@ -13,9 +13,11 @@ class Products_MoreCurrenciesList_View extends Vtiger_IndexAjax_View {
 
 	public function checkPermission(Vtiger_Request $request) {
 		$moduleName = $request->getModule();
+		$record = $request->get('record');
 
-		if (!Users_Privileges_Model::isPermitted($moduleName, 'EditView')) {
-			throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName));
+		$actionName = ($record) ? 'EditView' : 'CreateView';
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
 	}
 
diff --git a/modules/Quotes/models/DetailView.php b/modules/Quotes/models/DetailView.php
index ec66f465dc60235efa2effea0c16f5577a071d75..3739c07ef12a83d7deeaf6b49ac8993678b16de6 100644
--- a/modules/Quotes/models/DetailView.php
+++ b/modules/Quotes/models/DetailView.php
@@ -23,7 +23,7 @@ class Quotes_DetailView_Model extends Inventory_DetailView_Model {
 		$recordModel = $this->getRecord();
 
 		$invoiceModuleModel = Vtiger_Module_Model::getInstance('Invoice');
-		if($currentUserModel->hasModuleActionPermission($invoiceModuleModel->getId(), 'EditView')) {
+		if($currentUserModel->hasModuleActionPermission($invoiceModuleModel->getId(), 'CreateView')) {
 			$basicActionLink = array(
 				'linktype' => 'DETAILVIEW',
 				'linklabel' => vtranslate('LBL_GENERATE').' '.vtranslate($invoiceModuleModel->getSingularLabelKey(), 'Invoice'),
@@ -34,7 +34,7 @@ class Quotes_DetailView_Model extends Inventory_DetailView_Model {
 		}
 		
 		$salesOrderModuleModel = Vtiger_Module_Model::getInstance('SalesOrder');
-		if($currentUserModel->hasModuleActionPermission($salesOrderModuleModel->getId(), 'EditView')) {
+		if($currentUserModel->hasModuleActionPermission($salesOrderModuleModel->getId(), 'CreateView')) {
 			$basicActionLink = array(
 				'linktype' => 'DETAILVIEW',
 				'linklabel' => vtranslate('LBL_GENERATE').' '.vtranslate($salesOrderModuleModel->getSingularLabelKey(), 'SalesOrder'),
@@ -45,7 +45,7 @@ class Quotes_DetailView_Model extends Inventory_DetailView_Model {
 		}
 
 		$purchaseOrderModuleModel = Vtiger_Module_Model::getInstance('PurchaseOrder');
-		if($currentUserModel->hasModuleActionPermission($purchaseOrderModuleModel->getId(), 'EditView')) {
+		if($currentUserModel->hasModuleActionPermission($purchaseOrderModuleModel->getId(), 'CreateView')) {
 			$basicActionLink = array(
 				'linktype' => 'DETAILVIEW',
 				'linklabel' => vtranslate('LBL_GENERATE').' '.vtranslate($purchaseOrderModuleModel->getSingularLabelKey(), 'PurchaseOrder'),
diff --git a/modules/Rss/actions/Save.php b/modules/Rss/actions/Save.php
index 3c59df1b8914d5890247571271c6c9ea395178d5..80708b7e19993349961581d09c9978c6988a51ea 100644
--- a/modules/Rss/actions/Save.php
+++ b/modules/Rss/actions/Save.php
@@ -15,6 +15,11 @@ class Rss_Save_Action extends Vtiger_Save_Action {
 		$moduleName = $request->getModule();
 		$record = $request->get('record');
 
+		$actionName = ($record) ? 'EditView' : 'CreateView';
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+		}
+
 		if(!Users_Privileges_Model::isPermitted($moduleName, 'Save', $record)) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
diff --git a/modules/SalesOrder/models/DetailView.php b/modules/SalesOrder/models/DetailView.php
index 5eb24d4a4c30ef2e803cd4eb3475a53adced9092..a6e27e709457215a113e643f6da9e66941591daa 100644
--- a/modules/SalesOrder/models/DetailView.php
+++ b/modules/SalesOrder/models/DetailView.php
@@ -23,7 +23,7 @@ class SalesOrder_DetailView_Model extends Inventory_DetailView_Model {
 		$recordModel = $this->getRecord();
 
 		$invoiceModuleModel = Vtiger_Module_Model::getInstance('Invoice');
-		if($currentUserModel->hasModuleActionPermission($invoiceModuleModel->getId(), 'EditView')) {
+		if($currentUserModel->hasModuleActionPermission($invoiceModuleModel->getId(), 'CreateView')) {
 			$basicActionLink = array(
 				'linktype' => 'DETAILVIEW',
 				'linklabel' => vtranslate('LBL_CREATE').' '.vtranslate($invoiceModuleModel->getSingularLabelKey(), 'Invoice'),
@@ -34,7 +34,7 @@ class SalesOrder_DetailView_Model extends Inventory_DetailView_Model {
 		}
 
 		$purchaseOrderModuleModel = Vtiger_Module_Model::getInstance('PurchaseOrder');
-		if($currentUserModel->hasModuleActionPermission($purchaseOrderModuleModel->getId(), 'EditView')) {
+		if($currentUserModel->hasModuleActionPermission($purchaseOrderModuleModel->getId(), 'CreateView')) {
 			$basicActionLink = array(
 				'linktype' => 'DETAILVIEW',
 				'linklabel' => vtranslate('LBL_CREATE').' '.vtranslate($purchaseOrderModuleModel->getSingularLabelKey(), 'PurchaseOrder'),
diff --git a/modules/Vendors/models/DetailView.php b/modules/Vendors/models/DetailView.php
index 9df5838938ce4cea687b39db81e4d01177476044..7bdeb3dab6f37c128170b407d9746762212c97cb 100644
--- a/modules/Vendors/models/DetailView.php
+++ b/modules/Vendors/models/DetailView.php
@@ -33,7 +33,7 @@ class Vendors_DetailView_Model extends Vtiger_DetailView_Model {
 			$linkModelList['DETAILVIEWBASIC'][] = Vtiger_Link_Model::getInstanceFromValues($basicActionLink);
 		}
 		$purchaseOrderModuleModel = Vtiger_Module_Model::getInstance('PurchaseOrder');
-		if($currentUserModel->hasModuleActionPermission($purchaseOrderModuleModel->getId(), 'EditView')) {
+		if($currentUserModel->hasModuleActionPermission($purchaseOrderModuleModel->getId(), 'CreateView')) {
 			$basicActionLink = array(
 				'linktype' => 'DETAILVIEW',
 				'linklabel' => vtranslate('LBL_CREATE').' '.vtranslate($purchaseOrderModuleModel->getSingularLabelKey(), 'PurchaseOrder'),
diff --git a/modules/Vtiger/actions/Save.php b/modules/Vtiger/actions/Save.php
index fa60da48c50f16dfa5371e7bc78a5d4f8dde15c7..635a47a8c24adbc8b8c13c0f2e2ec3e8b53b713f 100644
--- a/modules/Vtiger/actions/Save.php
+++ b/modules/Vtiger/actions/Save.php
@@ -14,6 +14,11 @@ class Vtiger_Save_Action extends Vtiger_Action_Controller {
 		$moduleName = $request->getModule();
 		$record = $request->get('record');
 
+		$actionName = ($record) ? 'EditView' : 'CreateView';
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+		}
+
 		if(!Users_Privileges_Model::isPermitted($moduleName, 'Save', $record)) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
diff --git a/modules/Vtiger/models/Action.php b/modules/Vtiger/models/Action.php
index 64acfb55a3210050c9ce36631bdb98d2d595b019..88dee98b9fce2584d5b3f6b1e867f152912700e9 100644
--- a/modules/Vtiger/models/Action.php
+++ b/modules/Vtiger/models/Action.php
@@ -13,7 +13,7 @@
  */
 class Vtiger_Action_Model extends Vtiger_Base_Model {
 
-	static $standardActions = array('0' => 'Save','1' => 'EditView','2' => 'Delete','3' => 'index','4' => 'DetailView');
+	static $standardActions = array('0' => 'Save','1' => 'EditView','2' => 'Delete','3' => 'index','4' => 'DetailView', '7' => 'CreateView');
 	static $nonConfigurableActions = array('Save', 'index', 'SavePriceBook', 'SaveVendor',
 											'DetailViewAjax', 'PriceBookEditView', 'QuickCreate', 'VendorEditView',
 											'DeletePriceBook', 'DeleteVendor', 'Popup', 'PriceBookDetailView',
diff --git a/modules/Vtiger/models/DetailView.php b/modules/Vtiger/models/DetailView.php
index 31bc26d9c1fd2f695cc10a3304aafd4ab7a1df32..dda317ccc5e675960e16cba859761fef1c90b251 100644
--- a/modules/Vtiger/models/DetailView.php
+++ b/modules/Vtiger/models/DetailView.php
@@ -88,7 +88,7 @@ class Vtiger_DetailView_Model extends Vtiger_Base_Model {
 			$linkModelList['DETAILVIEW'][] = Vtiger_Link_Model::getInstanceFromValues($deletelinkModel);
 		}
 
-		if($moduleModel->isDuplicateOptionAllowed('EditView', $recordId)) {
+		if($moduleModel->isDuplicateOptionAllowed('CreateView', $recordId)) {
 			$duplicateLinkModel = array(
 						'linktype' => 'DETAILVIEWBASIC',
 						'linklabel' => 'LBL_DUPLICATE',
@@ -229,7 +229,7 @@ class Vtiger_DetailView_Model extends Vtiger_Base_Model {
 		$userPrivilegesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
 		$documentsInstance = Vtiger_Module_Model::getInstance('Documents');
 		if($userPrivilegesModel->hasModuleActionPermission($documentsInstance->getId(), 'DetailView') && $moduleModel->isModuleRelated('Documents')) {
-			$createPermission = $userPrivilegesModel->hasModuleActionPermission($documentsInstance->getId(), 'EditView');
+			$createPermission = $userPrivilegesModel->hasModuleActionPermission($documentsInstance->getId(), 'CreateView');
 			$widgets[] = array(
 					'linktype' => 'DETAILVIEWWIDGET',
 					'linklabel' => 'Documents',
diff --git a/modules/Vtiger/models/ListView.php b/modules/Vtiger/models/ListView.php
index e355aab79baa0af55215a0fa5e6e920df33aafdb..e23b7d508c6cd5e71a203acaf78e73219c9a9218 100644
--- a/modules/Vtiger/models/ListView.php
+++ b/modules/Vtiger/models/ListView.php
@@ -117,7 +117,7 @@ class Vtiger_ListView_Model extends Vtiger_Base_Model {
 		}
 
 		$modCommentsModel = Vtiger_Module_Model::getInstance('ModComments');
-		if($moduleModel->isCommentEnabled() && $modCommentsModel->isPermitted('EditView')) {
+		if($moduleModel->isCommentEnabled() && $modCommentsModel->isPermitted('CreateView')) {
 			$massActionLinks[] = array(
 				'linktype' => 'LISTVIEWMASSACTION',
 				'linklabel' => 'LBL_ADD_COMMENT',
diff --git a/modules/Vtiger/models/RelationListView.php b/modules/Vtiger/models/RelationListView.php
index 88eef67020c22a753642be9deb9c1ec9dee25db3..35f99ca4703fb431b7ad717522c159216ef7ae20 100644
--- a/modules/Vtiger/models/RelationListView.php
+++ b/modules/Vtiger/models/RelationListView.php
@@ -176,21 +176,22 @@ class Vtiger_RelationListView_Model extends Vtiger_Base_Model {
 		$relatedModel = $relationModel->getRelationModuleModel();
 
 		if($relatedModel->get('label') == 'Calendar'){
-
-			$addLinkList[] = array(
-				'linktype' => 'LISTVIEWBASIC',
-				'linklabel' => vtranslate('LBL_ADD_EVENT'),
-				'linkurl' => $this->getCreateEventRecordUrl(),
-				'linkicon' => '',
-					'_linklabel' => '_add_event'// used in relatedlist.tpl to identify module to open quickcreate popup
-			);
-			$addLinkList[] = array(
-				'linktype' => 'LISTVIEWBASIC',
-				'linklabel' => vtranslate('LBL_ADD_TASK'),
-				'linkurl' => $this->getCreateTaskRecordUrl(),
-				'linkicon' => '',
-				'_linklabel' => '_add_task'
-			);
+			if($relatedModel->isPermitted('CreateView')) {
+				$addLinkList[] = array(
+					'linktype' => 'LISTVIEWBASIC',
+					'linklabel' => vtranslate('LBL_ADD_EVENT'),
+					'linkurl' => $this->getCreateEventRecordUrl(),
+					'linkicon' => '',
+						'_linklabel' => '_add_event'// used in relatedlist.tpl to identify module to open quickcreate popup
+				);
+				$addLinkList[] = array(
+					'linktype' => 'LISTVIEWBASIC',
+					'linklabel' => vtranslate('LBL_ADD_TASK'),
+					'linkurl' => $this->getCreateTaskRecordUrl(),
+					'linkicon' => '',
+					'_linklabel' => '_add_task'
+				);
+			}
 		} else if ($relatedModel->get('label') == 'Documents') {
 			$parentRecordModule = $this->getParentRecordModel();
 			$parentModule = $parentRecordModule->getModule();
@@ -226,15 +227,17 @@ class Vtiger_RelationListView_Model extends Vtiger_Base_Model {
 				'linkclass' => 'addDocumentToVtiger',
 			);
 		}else{
-			$addLinkList = array(
-				array(
-					'linktype' => 'LISTVIEWBASIC',
-					// NOTE: $relatedModel->get('label') assuming it to be a module name - we need singular label for Add action.
-					'linklabel' => vtranslate('LBL_ADD')." ".vtranslate('SINGLE_'.$relatedModel->getName(), $relatedModel->getName()),
-					'linkurl' => $this->getCreateViewUrl(),
-					'linkicon' => '',
-				)
-			);
+			if (Users_Privileges_Model::isPermitted($relatedModel->getName(), 'CreateView')) {
+				$addLinkList = array(
+					array(
+						'linktype' => 'LISTVIEWBASIC',
+						// NOTE: $relatedModel->get('label') assuming it to be a module name - we need singular label for Add action.
+						'linklabel' => vtranslate('LBL_ADD')." ".vtranslate('SINGLE_'.$relatedModel->getName(), $relatedModel->getName()),
+						'linkurl' => $this->getCreateViewUrl(),
+						'linkicon' => '',
+					)
+				);
+			}
 		}
 
 		foreach($addLinkList as $addLink) {
diff --git a/modules/Vtiger/views/ComposeEmail.php b/modules/Vtiger/views/ComposeEmail.php
index 2d27701c92eda2849af2727ea0bd9f8e1c8213d8..0ef99ddd944cf612918e9479f88fc2849965f8c4 100644
--- a/modules/Vtiger/views/ComposeEmail.php
+++ b/modules/Vtiger/views/ComposeEmail.php
@@ -23,8 +23,9 @@ class Vtiger_ComposeEmail_View extends Vtiger_Footer_View {
 
 	public function checkPermission(Vtiger_Request $request) {
 		$moduleName = $request->getModule();
-
-		if (!Users_Privileges_Model::isPermitted($moduleName, 'EditView')) {
+		$record = $request->get('record');
+		$actionName = ($record) ? 'EditView' : 'CreateView';
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
 	}
diff --git a/modules/Vtiger/views/Edit.php b/modules/Vtiger/views/Edit.php
index d746173c73a3a34412255f257c69a444dece7c03..84c30b0299b244d772733a9aa2ee1f3e4c086889 100644
--- a/modules/Vtiger/views/Edit.php
+++ b/modules/Vtiger/views/Edit.php
@@ -18,7 +18,12 @@ Class Vtiger_Edit_View extends Vtiger_Index_View {
 		$moduleName = $request->getModule();
 		$record = $request->get('record');
 
-		if (!Users_Privileges_Model::isPermitted($moduleName, 'EditView', $record)) {
+		$actionName = 'CreateView';
+		if ($record && !$request->get('isDuplicate')) {
+			$actionName = 'EditView';
+		}
+
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
 
diff --git a/modules/Vtiger/views/List.php b/modules/Vtiger/views/List.php
index c2fd61910524b6b9d90d92d5f22aa53c229bc5a1..94973858b1791d005ddea7ecb72e4d270d610c81 100644
--- a/modules/Vtiger/views/List.php
+++ b/modules/Vtiger/views/List.php
@@ -402,6 +402,7 @@ class Vtiger_List_View extends Vtiger_Index_View {
 		}
 		$viewer->assign('LIST_VIEW_MODEL', $listViewModel);
 		$viewer->assign('GROUPS_IDS', Vtiger_Util_Helper::getGroupsIdsForUsers($currentUser->getId()));
+		$viewer->assign('IS_RECORD_CREATABLE', $listViewModel->getModule()->isPermitted('CreateView'));
 		$viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView'));
 		$viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete'));
 		$viewer->assign('SEARCH_DETAILS', $searchParams);
diff --git a/modules/Vtiger/views/RelatedList.php b/modules/Vtiger/views/RelatedList.php
index 8cd0c316f47b6fe348d71b394238b6a295aa9cc7..7b2d92a816cdda9511ef30275c818ef43d4f0c06 100644
--- a/modules/Vtiger/views/RelatedList.php
+++ b/modules/Vtiger/views/RelatedList.php
@@ -90,6 +90,7 @@ class Vtiger_RelatedList_View extends Vtiger_Index_View {
 
 		$viewer = $this->getViewer($request);
         $viewer->assign('RELATED_FIELDS_INFO', json_encode($fieldsInfo));
+		$viewer->assign('IS_CREATE_PERMITTED', isPermitted($relatedModuleName, 'CreateView'));
 		$viewer->assign('RELATED_RECORDS' , $models);
 		$viewer->assign('PARENT_RECORD', $parentRecordModel);
 		$viewer->assign('RELATED_LIST_LINKS', $links);
diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php
index 83aada21236785b09fcfdb488dfc61832fc181ef..4085157c5fee95a499e261ae6182a30ec360e5f8 100644
--- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php
+++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php
@@ -14,6 +14,11 @@ class EmailTemplates_Save_Action extends Vtiger_Save_Action {
 		$moduleName = $request->getModule();
 		$record = $request->get('record');
 
+		$actionName = ($record) ? 'EditView' : 'CreateView';
+		if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
+			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
+		}
+
 		if (!Users_Privileges_Model::isPermitted($moduleName, 'Save', $record)) {
 			throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
 		}
diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php
index f4027322b523e85dd6e26ccd299246c580f84cfa..0ba8ca351da9f70a2cce6fa83dbc2c8419b5f88c 100644
--- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php
+++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/List.php
@@ -204,6 +204,7 @@ class EmailTemplates_List_View extends Vtiger_Index_View {
 		}
 
 		$viewer->assign('LIST_VIEW_MODEL', $listViewModel);
+		$viewer->assign('IS_RECORD_CREATABLE', $listViewModel->getModule()->isPermitted('CreateView'));
 		$viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView'));
 		$viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete'));
 	}
diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php
index 319bf83f4d4786361b7c5f92fd1caa3efe7f96a1..3376e7f80294402219919632584448ed5afe5273 100644
--- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php
+++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/views/Popup.php
@@ -106,6 +106,7 @@ class EmailTemplates_Popup_View extends Vtiger_Popup_View {
 			$viewer->assign('LISTVIEW_COUNT', $this->listViewCount);
 		}
 
+		$viewer->assign('IS_RECORD_CREATABLE', $listViewModel->getModule()->isPermitted('CreateView'));
 		$viewer->assign('IS_MODULE_EDITABLE', $listViewModel->getModule()->isPermitted('EditView'));
 		$viewer->assign('IS_MODULE_DELETABLE', $listViewModel->getModule()->isPermitted('Delete'));
 
diff --git a/pkg/vtiger/modules/Import/modules/Import/actions/Data.php b/pkg/vtiger/modules/Import/modules/Import/actions/Data.php
index 4633c2758693ebfc6b0af339d3c83cc8195e643f..4ab19d09c2b5e2e1c10de90a6614d1a1ce25cc7d 100644
--- a/pkg/vtiger/modules/Import/modules/Import/actions/Data.php
+++ b/pkg/vtiger/modules/Import/modules/Import/actions/Data.php
@@ -587,7 +587,7 @@ class Import_Data_Action extends Vtiger_Action_Controller {
 						}
 					}
 					if ((empty($entityId) || $entityId == 0) && !empty($referenceModuleName)) {
-						if (isPermitted($referenceModuleName, 'EditView') == 'yes') {
+						if (isPermitted($referenceModuleName, 'CreateView') == 'yes') {
 							try {
 								$wsEntityIdInfo = $this->createEntityRecord($referenceModuleName, $entityLabel);
 								$wsEntityId = $wsEntityIdInfo['id'];
@@ -1142,7 +1142,7 @@ class Import_Data_Action extends Vtiger_Action_Controller {
 				$entityLabel = trim(trim($entityLabel), ',');
 				$entityId = getEntityId($referenceModuleName, decode_html($entityLabel));
 				if (!$entityId) {
-					if (isPermitted($referenceModuleName, 'EditView') == 'yes') {
+					if (isPermitted($referenceModuleName, 'CreateView') == 'yes') {
 						try {
 							$wsEntityIdInfo = $this->createEntityRecord($referenceModuleName, $entityLabel);
 							$wsEntityId = $wsEntityIdInfo['id'];
diff --git a/pkg/vtiger/modules/MailManager/modules/MailManager/MailManager.php b/pkg/vtiger/modules/MailManager/modules/MailManager/MailManager.php
index dde8aa7ae415e0facea3abb509724863077258ea..25897fdf441ad933c34ddb6b6102010b223b877a 100644
--- a/pkg/vtiger/modules/MailManager/modules/MailManager/MailManager.php
+++ b/pkg/vtiger/modules/MailManager/modules/MailManager/MailManager.php
@@ -107,7 +107,7 @@ class MailManager {
 
 	static function checkModuleWriteAccessForCurrentUser($module) {
 		global $current_user;
-		if (isPermitted($module, 'EditView') == "yes" && vtlib_isModuleActive($module)) {
+		if (isPermitted($module, 'CreateView') == "yes" && vtlib_isModuleActive($module)) {
 			return true;
 		}
 		return false;
diff --git a/pkg/vtiger/modules/MailManager/modules/MailManager/actions/Upload.php b/pkg/vtiger/modules/MailManager/modules/MailManager/actions/Upload.php
index 2b12717612a99717c93aa5ca45615d9500c9a6e8..3ef689e21788d67e620317bfae3786f5a74f6759 100644
--- a/pkg/vtiger/modules/MailManager/modules/MailManager/actions/Upload.php
+++ b/pkg/vtiger/modules/MailManager/modules/MailManager/actions/Upload.php
@@ -244,7 +244,7 @@ class MailManager_Upload_Action extends qqFileUploader {
 	 * @return Array
 	 */
 	public function handleUpload($uploadDirectory, $replaceOldFile = FALSE) {
-		if(!isPermitted('Documents', 'EditView')) {
+		if(!isPermitted('Documents', 'CreateView')) {
 			return array('error' => "Permission not available");
 		}
 
diff --git a/pkg/vtiger/modules/ModComments/layouts/v7/modules/ModComments/ListViewContents.tpl b/pkg/vtiger/modules/ModComments/layouts/v7/modules/ModComments/ListViewContents.tpl
index fe2a2708e7b07e67dad1e70e7729825025baac3f..9fa63f8fc29b8f9b58383a745dcaba8543413f29 100644
--- a/pkg/vtiger/modules/ModComments/layouts/v7/modules/ModComments/ListViewContents.tpl
+++ b/pkg/vtiger/modules/ModComments/layouts/v7/modules/ModComments/ListViewContents.tpl
@@ -164,7 +164,7 @@
                                 <div class="emptyRecordsContent">
                                     {assign var=SINGLE_MODULE value="SINGLE_$MODULE"}
                                     {vtranslate('LBL_NO')} {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_FOUND')}.
-                                    {if $IS_MODULE_EDITABLE}
+                                    {if $IS_RECORD_CREATABLE}
                                         <a style="color:blue" href="{$MODULE_MODEL->getCreateRecordUrl()}"> {vtranslate('LBL_CREATE')}</a>
                                         {if Users_Privileges_Model::isPermitted($MODULE, 'Import') && $LIST_VIEW_MODEL->isImportEnabled()}
                                             {vtranslate('LBL_OR', $MODULE)}
diff --git a/pkg/vtiger/modules/Projects/Project/layouts/v7/modules/Project/ShowChart.tpl b/pkg/vtiger/modules/Projects/Project/layouts/v7/modules/Project/ShowChart.tpl
index 16ea7bbaa13d66425c0addd432429fb551765e34..0aad47ce08fb5fde95c6e20f420563701dbacd16 100644
--- a/pkg/vtiger/modules/Projects/Project/layouts/v7/modules/Project/ShowChart.tpl
+++ b/pkg/vtiger/modules/Projects/Project/layouts/v7/modules/Project/ShowChart.tpl
@@ -241,7 +241,7 @@
 			<tr>
 				<td>
                     {assign var="PROJECT_TASK_MODEL" value=Vtiger_Module_Model::getInstance('ProjectTask')}
-                    {assign var="IS_MODULE_EDITABLE" value=$PROJECT_TASK_MODEL->isPermitted('EditView')}
+                    {assign var="IS_MODULE_EDITABLE" value=$PROJECT_TASK_MODEL->isPermitted('CreateView')}
                     {assign var=SINGLE_MODULE value="SINGLE_ProjectTask"}
 					{vtranslate('LBL_NO')} {vtranslate('ProjectTask', 'ProjectTask')} {vtranslate('LBL_FOUND')} {vtranslate('LBL_NO_DATE_VALUE_MSG', 'ProjectTask')}.{if $IS_MODULE_EDITABLE} <a href="{$PROJECT_TASK_MODEL->getCreateRecordUrl()}&projectid={$PARENT_ID}"> {vtranslate('LBL_CREATE')} </a>{/if}
 				</td>
diff --git a/pkg/vtiger/modules/Webforms/settings/models/Module.php b/pkg/vtiger/modules/Webforms/settings/models/Module.php
index 2c12de17fa599e1e8e3dcdfd646443d68a3e8875..6f4c613625a1b1af89130a0d6e8166f56cb3cce8 100644
--- a/pkg/vtiger/modules/Webforms/settings/models/Module.php
+++ b/pkg/vtiger/modules/Webforms/settings/models/Module.php
@@ -101,7 +101,7 @@ class Settings_Webforms_Module_Model extends Settings_Vtiger_Module_Model {
 	 * @return array
 	 */
 	public function getModuleBasicLinks(){
-	   $createPermission = Users_Privileges_Model::isPermitted($this->getName(), 'EditView');
+	   $createPermission = Users_Privileges_Model::isPermitted($this->getName(), 'CreateView');
 		$moduleName = $this->getName();
 		$basicLinks = array();
 		if($createPermission) {
diff --git a/soap/firefoxtoolbar.php b/soap/firefoxtoolbar.php
index e6c39d7c166f04ebc135836852bbe20652bac507..c833f9181980ed362b89910611ba2e2923ab649f 100644
--- a/soap/firefoxtoolbar.php
+++ b/soap/firefoxtoolbar.php
@@ -224,7 +224,7 @@ function CheckLeadPermission($username,$sessionid)
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id, 'Users');
 
-	if(isPermitted("Leads","EditView") == "yes")
+	if(isPermitted("Leads",'CreateView') == "yes")
 	{
 		return "allowed";
 	}else
@@ -244,7 +244,7 @@ function CheckContactPermission($username,$sessionid)
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id, 'Users');
 
-	if(isPermitted("Contacts","EditView") == "yes")
+	if(isPermitted("Contacts",'CreateView') == "yes")
 	{
 		return "allowed";
 	}else
@@ -264,7 +264,7 @@ function CheckAccountPermission($username,$sessionid)
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id, 'Users');
 
-	if(isPermitted("Accounts","EditView") == "yes")
+	if(isPermitted("Accounts",'CreateView') == "yes")
 	{
 		return "allowed";
 	}else
@@ -284,7 +284,7 @@ function CheckTicketPermission($username,$sessionid)
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id, 'Users');
 
-	if(isPermitted("HelpDesk","EditView") == "yes")
+	if(isPermitted("HelpDesk",'CreateView') == "yes")
 	{
 		return "allowed";
 	}else
@@ -304,7 +304,7 @@ function CheckVendorPermission($username,$sessionid)
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id, 'Users');
 
-	if(isPermitted("Vendors","EditView") == "yes")
+	if(isPermitted("Vendors",'CreateView') == "yes")
 	{
 		return "allowed";
 	}else
@@ -324,7 +324,7 @@ function CheckProductPermission($username,$sessionid)
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id, 'Users');
 
-	if(isPermitted("Products","EditView") == "yes")
+	if(isPermitted("Products",'CreateView') == "yes")
 	{
 		return "allowed";
 	}else
@@ -344,7 +344,7 @@ function CheckNotePermission($username,$sessionid)
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id, 'Users');
 
-	if(isPermitted("Documents","EditView") == "yes")
+	if(isPermitted("Documents",'CreateView') == "yes")
 	{
 		return "allowed";
 	}else
@@ -364,7 +364,7 @@ function CheckSitePermission($username,$sessionid)
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id, 'Users');
 
-	if(isPermitted("Portal","EditView") == "yes")
+	if(isPermitted("Portal",'CreateView') == "yes")
 	{
 		return "allowed";
 	}else
@@ -384,7 +384,7 @@ function CheckRssPermission($username,$sessionid)
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id, 'Users');
 
-	if(isPermitted("Rss","EditView") == "yes")
+	if(isPermitted("Rss",'CreateView') == "yes")
 	{
 		return "allowed";
 	}else
@@ -407,7 +407,7 @@ function create_site_from_webform($username,$sessionid,$portalname,$portalurl)
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id, 'Users');
 	require_once("modules/Portal/Portal.php");
-	if(isPermitted("Portals","EditView") == "yes")
+	if(isPermitted("Portals",'CreateView') == "yes")
 	{
 		$result = SavePortal($portalname,$portalurl);
 
@@ -477,7 +477,7 @@ function create_rss_from_webform($username,$sessionid,$url)
 	require_once("modules/Rss/Rss.php");
 
 	$oRss = new vtigerRSS();
-	if(isPermitted("RSS","EditView") == "yes")
+	if(isPermitted("RSS",'CreateView') == "yes")
 	{
 		if($oRss->setRSSUrl($url))
 		{
@@ -519,7 +519,7 @@ function create_note_from_webform($username,$sessionid,$subject,$desc)
 	require_once("modules/Documents/Documents.php");
 
 	$focus = new Documents();
-	if(isPermitted("Documents","EditView") == "yes")
+	if(isPermitted("Documents",'CreateView') == "yes")
 	{
 		$focus->column_fields['notes_title'] = $subject;
 		$focus->column_fields['notecontent'] = $desc;
@@ -557,7 +557,7 @@ function create_product_from_webform($username,$sessionid,$productname,$code,$we
 	$adb->println("Create New Product from Web Form - Starts");
 	
   require_once("modules/Products/Products.php");
-	if(isPermitted("Products","EditView") == "yes")
+	if(isPermitted("Products",'CreateView') == "yes")
 	{
 		$focus = new Products();
 		$focus->column_fields['productname'] = $productname;
@@ -596,7 +596,7 @@ function create_vendor_from_webform($username,$sessionid,$vendorname,$email,$pho
 	$current_user->retrieve_entity_info($user_id, 'Users');
 	$adb->println("Create New Vendor from Web Form - Starts");
 	require_once("modules/Vendors/Vendors.php");
-	if(isPermitted("Vendors","EditView" ) == "yes")
+	if(isPermitted("Vendors",'CreateView' ) == "yes")
 	{
 		$focus = new Vendors();
 		$focus->column_fields['vendorname'] = $vendorname;
@@ -636,7 +636,7 @@ function create_ticket_from_toolbar($username,$sessionid,$title,$description,$pr
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id, 'Users');
 
-	if(isPermitted("HelpDesk","EditView") == "yes")
+	if(isPermitted("HelpDesk",'CreateView') == "yes")
 	{
 
 		$seed_ticket = new HelpDesk();
@@ -683,7 +683,7 @@ function create_account($username,$sessionid,$accountname,$email,$phone,$primary
 	$current_user=$seed_user;
 	$current_user->retrieve_entity_info($user_id,'Users');
 	require_once("modules/Accounts/Accounts.php");
-	if(isPermitted("Accounts","EditView") == "yes")
+	if(isPermitted("Accounts",'CreateView') == "yes")
 	{
 		$query = "SELECT accountname FROM vtiger_account,vtiger_crmentity WHERE accountname =? and vtiger_account.accountid = vtiger_crmentity.crmid and vtiger_crmentity.deleted != 1";
 		$result = $adb->pquery($query, array($accountname));
@@ -737,7 +737,7 @@ function create_lead_from_webform($username,$sessionid,$lastname,$email,$phone,$
 	require_once("modules/Leads/Leads.php");
 
 	$focus = new Leads();
-	if(isPermitted("Leads","EditView") == "yes")
+	if(isPermitted("Leads",'CreateView') == "yes")
 	{
 		$focus->column_fields['lastname'] = $lastname;
 		$focus->column_fields['firstname'] = $firstname;
@@ -785,7 +785,7 @@ function create_contact1($user_name, $first_name, $last_name, $email_address ,$a
 	$current_user->retrieve_entity_info($user_id,'Users');
 
 	require_once('modules/Contacts/Contacts.php');
-  if(isPermitted("Contacts","EditView") == "yes")
+  if(isPermitted("Contacts",'CreateView') == "yes")
   {
    $contact = new Contacts();
    $contact->column_fields[firstname]= $first_name;
@@ -854,7 +854,7 @@ function GetPicklistValues($username,$sessionid,$tablename)
 			$output[$i] = decode_html($adb->query_result($result1,$i,$tablename));
 		}			
 	}
-	else if((isPermitted("HelpDesk","EditView") == "yes") && (CheckFieldPermission($tablename,'HelpDesk') == 'true'))
+	else if((isPermitted("HelpDesk",'CreateView') == "yes") && (CheckFieldPermission($tablename,'HelpDesk') == 'true'))
 	{
 		$query = "select " .$adb->sql_escape_string($tablename) . " from vtiger_". $adb->sql_escape_string($tablename) ." inner join vtiger_role2picklist on vtiger_role2picklist.picklistvalueid = vtiger_". $adb->sql_escape_string($tablename) .".picklist_valueid where roleid=? and picklistid in (select picklistid from vtiger_". $adb->sql_escape_string($tablename)." ) order by sortid";	
 		$result1 = $adb->pquery($query, array($roleid));
diff --git a/soap/thunderbirdplugin.php b/soap/thunderbirdplugin.php
index 070b85a33531c9a58b2259ed19cc101297c94201..19c097a4effdf6c9615e36e00823de45a81a28cf 100644
--- a/soap/thunderbirdplugin.php
+++ b/soap/thunderbirdplugin.php
@@ -605,7 +605,7 @@ function CheckContactPerm($user_name,$password)
 		$user_id = $seed_user->retrieve_user_id($user_name);
 		$current_user = $seed_user;
 		$current_user->retrieve_entity_info($user_id,"Users");
-		if(isPermitted("Contacts","EditView") == "yes")
+		if(isPermitted("Contacts",'CreateView') == "yes")
 		{
 			return "allowed";
 		}else
@@ -662,7 +662,7 @@ function CheckLeadViewPerm($user_name)
 	$user_id = $seed_user->retrieve_user_id($user_name);
 	$current_user = $seed_user;
 	$current_user->retrieve_entity_info($user_id,"Users");
-	if(isPermitted("Leads","EditView") == "yes")
+	if(isPermitted("Leads",'CreateView') == "yes")
 	{
 		return "allowed";
 	}else