Как отключить вкладку "История" в карточке 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;

}

 

Популярное

Самые популярные посты

Как быть максимально продуктивным на удалённой работе?
Business

Как быть максимально продуктивным на удалённой работе?

Я запустил собственный бизнес и намеренно сделал всё возможное, чтобы работать из любой точки мира. Иногда я сижу с своём кабинете с большим 27-дюймовым монитором в своей квартире в г. Чебоксары. Иногда я нахожусь в офисе или в каком-нибудь кафе в другом городе.

Привет! Меня зовут Сергей Емельянов и я трудоголик
Business PHP

Привет! Меня зовут Сергей Емельянов и я трудоголик

Я программист. В душе я предприниматель. Я начал зарабатывать деньги с 11 лет, в суровые 90-е годы, сдавая стеклотару в местный магазин и обменивая её на сладости. Я зарабатывал столько, что хватало на разные вкусняшки.

Акция! Профессиональный разработчик CRM за 2000 руб. в час

Выделю время под ваш проект. Знания технологий Vtiger CRM, SuiteCRM, Laravel, Vue.js, Golang, React.js. Предлагаю варианты сотрудничества, которые помогут вам воспользоваться преимуществами внешнего опыта, оптимизировать затраты и снизить риски. Полная прозрачность всех этапов работы и учёт временных затрат. Оплачивайте только рабочие часы разработки после приемки задачи. Экономьте на платежах по его содержанию разработчика в штате. Возможно заключение договора по ИП. С чего начать, чтобы нанять профессионального разработчика на full-time? Просто заполните форму!

Telegram
@sergeyem
Telephone
+4915211100235