Как отключить вкладку "История" в карточке VtigerCRM?

Как отключить вкладку "История" в карточке VtigerCRM?

Некоторые администраторы задаются вопросом - как убрать вкладку "История" из карточки контакта/контрагента/сделки и т.д. Часто в этой вкладке присутствует ненужная информация, которая хранит всю историю об объекте и её показывать всем пользователям не нужно. Поэтому, эту вкладку в целях безопасности целесообразно отключить или оставить только администратору.

Некоторые администраторы задаются вопросом - как убрать вкладку "История" из карточки контакта/контрагента/сделки и т.д. Часто в этой вкладке присутствует ненужная информация, которая хранит всю историю об объекте и её показывать всем пользователям не нужно. Поэтому, эту вкладку в целях безопасности целесообразно отключить или оставить только администратору.

Чтобы сделать это, нужно пройти следующие этапы:

1. Открываем файл modules/Vtiger/models/DetailView.php.

2. Находим функцию public function getDetailViewRelatedLinks() {

3. Добавляем в неё строчку global $current_user;

4. Находим блок 

if($parentModuleModel->isTrackingEnabled()) {

$relatedLinks[] = array(

'linktype' => 'DETAILVIEWTAB',

'linklabel' => 'LBL_UPDATES',

'linkurl' => $recordModel->getDetailViewUrl().'&mode=showRecentActivities&page=1',

'linkicon' => ''

);

 

}

И меняем его на:

if($current_user->id == '2') {

$relatedLinks[] = array(

'linktype' => 'DETAILVIEWTAB',

'linklabel' => 'LBL_UPDATES',

'linkurl' => $recordModel->getDetailViewUrl().'&mode=showRecentActivities&page=1',

'linkicon' => ''

);

}

 

В итоге наша функция будет иметь следующий вид:

public function getDetailViewRelatedLinks() {

    global $current_user;

$recordModel = $this->getRecord();

$moduleName = $recordModel->getModuleName();

$parentModuleModel = $this->getModule();

$relatedLinks = array();

 

if($parentModuleModel->isSummaryViewSupported()) {

$relatedLinks = array(array(

'linktype' => 'DETAILVIEWTAB',

'linklabel' => vtranslate('LBL_SUMMARY', $moduleName),

'linkKey' => 'LBL_RECORD_SUMMARY',

'linkurl' => $recordModel->getDetailViewUrl() . '&mode=showDetailViewByMode&requestMode=summary',

'linkicon' => ''

));

}

//link which shows the summary information(generally detail of record)

$relatedLinks[] = array(

'linktype' => 'DETAILVIEWTAB',

'linklabel' => vtranslate('LBL_DETAILS', $moduleName),

'linkKey' => 'LBL_RECORD_DETAILS',

'linkurl' => $recordModel->getDetailViewUrl().'&mode=showDetailViewByMode&requestMode=full',

'linkicon' => ''

);

 

if($current_user->id == '2') {

$relatedLinks[] = array(

'linktype' => 'DETAILVIEWTAB',

'linklabel' => 'LBL_UPDATES',

'linkurl' => $recordModel->getDetailViewUrl().'&mode=showRecentActivities&page=1',

'linkicon' => ''

);

}

 

 

$relationModels = $parentModuleModel->getRelations();

 

foreach($relationModels as $relation) {

//TODO : Way to get limited information than getting all the information

$link = array(

'linktype' => 'DETAILVIEWRELATED',

'linklabel' => $relation->get('label'),

'linkurl' => $relation->getListUrl($recordModel),

'linkicon' => '',

'relatedModuleName' => $relation->get('relatedModuleName'),

'linkid' => $relation->getId()

);

$relatedLinks[] = $link;

}

 

return $relatedLinks;

}