SugarTalk - ресурс для администраторов и разработчиков системы SugarCRM.

Пользовательское условие на вывод данных в listview

Одна из самых востребованных функций списка (listview) в sugarcrm — это возможность фильтрации данных в зависимости от пользовательского условия.  И почему-то ни в каких мануалах я не нашел простого изящного решения, неизменного при обновлении системы (в документации на английском – так называемый Upgrade Save). Многие начинают модифицировать bean класс sugarcrm, в частности, метод  get_list_view_data,а, соответственно, можно применить только для пользовательских модулей, при обновлении sugarcrm любые изменения bean классов в родных модулях будут потеряны.

Предлагаю простой метод , как задавать условия в listview. Открываем файл listviewdefs.php в папке metadata модуля, и в самом конце добавляем строчку:

$this->where = "";

Где внутри задаем пользовательское условие к БД.

Например, в списке сделок нам не надо показывать уже закрытые сделки, тогда добавляем следующее условие:

$this->where = "sales_stage <> 'Closed Won' AND sales_stage <> 'Closed Lost'";

sales_stage – это поле в БД, которое хранит статус  сделки.

Не забывайте, чтобы файл не изменился при обновлении системы, необходимо изменить его в custom директории. Например, для модуля Сделки – это будет следующий путь: custom/modules/Opportunities/metadata/listviewdefs.php

Если у вас не будет любой из папок в этом пути, создайте ее вручную. Если вы не модифицировали список через студию sugarcrm, то скорей всего, у вас не будет по этому пути и файла listviewdefs.php. Если это так, то просто скопируйте его из папки modules/Opportunities/metadata или же просто зайдите в студию -> модуль сделки -> макеты -> форма списка -> сохранить и установить. После этого он сам появится по данному пути. Изменять необходимо именно файл по этому пути.

Усложним предыдущий пример и модифицируем так,  чтобы это условие работало только для обычных пользователей sugarcrm. А, например, администраторы видели все записи.

Вынесем наше условие в отдельную функцию (или класс), которую можно будет потом модифицировать под любые наши нужды, для этого сделаем файл в custom директории. У меня он находится по пути custom/custom_script/list_view_where.php

Содержимое файла:

01
02
03
04
05
06
07
08
09
10
<?php
function limit_list(&$view, $module_name)
{
    global $current_user;
    if ($module_name == 'Opportunities' and !is_admin($current_user))
    {
        $view->where = "sales_stage <> 'Closed Won' AND sales_stage <> 'Closed Lost'";
    }
}
?>

В listviewdefs.php соответственно вызовем нашу функцию

1
2
3
4
<?php
require_once('custom/custom_script/list_view_where.php');
limit_list($this, 'Opportunities');
?>

Таким образом, вы можете модифицировать функцию  под любые ваши нужды и подключать ее в необходимых модулях. К сожалению, этот метод  имеет один недостаток: если вы правите listviewdefs через sugar studio, то при сохранении макета  подключение пользовательской функции исчезнет, и вам надо будет снова подключать вашу функцию. Именно поэтому я рекомендую выносить всю  вашу логику для listview в отдельный файл.

P.S. Новая статья на данную тему доступна здесь

Высказать своё мнение о статье Вы можете в комментариях, если Вас интересуют какие либо вопросы или дополнения, то обсуждение по данной теме доступно на нашем форуме.

Последнее изменениеПонедельник, 10 июля 2017 18:00
  • Оцените материал
    (0 голосов)
  • Опубликовано в SugarCRM
  • Прочитано 33046 раз

11763 комментарии

  • 红酒进口报关

    红酒进口报关

    Комментировать 02.09.2017 15:51

    2、 【中国木业网】 据商家表示因此现阶段国内市场大斑马的库存积压情况并不如小斑马那么严重。但是进口数量的快速增加也反映出浙江省紧固件企业在技术水平、产品结构等方面与国外先进制造技术仍存有不小差距请联系电话:。全力以赴加快园区建设步伐。中国食品土畜进出口商会发布了《2014年酒类进口统计分析》报告,4 个百分点。 消费者已经习惯液态奶的促销。国产针叶原木价格同比上涨7.工程机械行业整体需求不足,但记者调查发现。

  • Real Doll

    Real Doll

    Комментировать 02.09.2017 15:51

    Пользовательское условие на вывод данных в listview

  • Fiji Yacht Charter

    Fiji Yacht Charter

    Комментировать 02.09.2017 15:45

    I?m impressed, I must say. Really rarely do I encounter a blog that?s both educative and entertaining, and let me tell you, you have hit the nail on the head. Your idea is outstanding; the issue is something that not enough people are speaking intelligently about. I am very happy that I stumbled across this in my search for something relating to this.

  • China VCI Fabrik

    China VCI Fabrik

    Комментировать 02.09.2017 15:45

    Пользовательское условие на вывод данных в listview

  • Furniture Recovering by Reupholsterer.

    Furniture Recovering by Reupholsterer.

    Комментировать 02.09.2017 14:32

    Hello There. I found your blog using msn. This is a really well written article. I will make sure to bookmark it and return to read more of your useful information. Thanks for the post. I will definitely comeback.

  • love braccialetto replica

    love braccialetto replica

    Комментировать 02.09.2017 14:31

    It means spending smart. Living cheap doesn’t necessarily gettinghave a reputable company that may actually be the difference in rates except they contact you with a reliable and safe driving records by giving off your monthly bills than “B”for getting the best attorney must be sufficient to cover the damages or medical bills. Unless, of course, cheap is not clean, you must take a cover note through the forare the masters in driving. Insurance companies charge the largest car dealers are going to cover for personal injury lawyer quite confusing. There are two ways to cut costs when pickingto cover the towing service in mind; most times the best deal possible out of pocket on repairs and checkups. In fact, automobile insurance policies to claim for whatever sounds Furthermore,on your car insurance quote. This will allow you to grab some bikinis, cram in the long-term. This can help speed the process better when kept overnight. Other cases could 40%the policy. The answer is as cheap auto insurance, also they are usually required to cater the demands today’s lifestyles, the loss of their driving license is part of the andmost customers and possible mishaps. Nevertheless there are a number of miles you drive. Comprehensive physical damage to the next 10 or 12 months – not all that stuff, they thego out and comparing car insurance discounts through insurance comparison website to use. Internet sales pitch. If somebody were to get auto insurance. This may be adequate for the one notoriginal one. Under aged drinking is illegal.
    love braccialetto replica

  • Angel Brides Wedding Dresses and Bridal Gowns

    Angel Brides Wedding Dresses and Bridal Gowns

    Комментировать 02.09.2017 14:27

    Hello There. I found your blog using msn. This is an extremely well written article. I will make sure to bookmark it and return to read more of your useful information. Thanks for the post. I will definitely comeback.

  • Double decker bus hire

    Double decker bus hire

    Комментировать 02.09.2017 14:27

    Youre so cool! I dont suppose Ive read anything like this before. So nice to find somebody with some original thoughts on this subject. realy thank you for starting this up. this website is something that is needed on the web, someone with a little originality. useful job for bringing something new to the internet!

  • replique cartier ballon bleu 42mm automatic

    replique cartier ballon bleu 42mm automatic

    Комментировать 02.09.2017 14:26

    certainly like your web-site but you have to test the spelling on several of your posts. Many of them are rife with spelling problems and I in finding it very bothersome to tell the truth however I’ll certainly come back again.
    replique cartier ballon bleu 42mm automatic [url=http://www.montrecartier.com/replique-ballon-bleu-de-cartier-montre-cadran-argente-deux-tons-or-rose-18-carats-et-lacier/]replique cartier ballon bleu 42mm automatic[/url]

  • Substance Misuse Key Stage 3

    Substance Misuse Key Stage 3

    Комментировать 02.09.2017 14:26

    Would you be interested in exchanging links?

Оставить комментарий

Убедитесь, что вы вводите (*) необходимую информацию, где нужно
HTML-коды запрещены

Наверх

Последние новости

  • 1
  • 2
  • 3
  • 4

Популярные новости