SuiteCRM 7.3 — как добавить собственное уведомление?

В недавно вышедшей SuiteCRM 7.3 появилась возможность показывать уведомления на рабочем столе и уведомления на сайте (в шапке).

Как я могу добавить или активировать свои собственные уведомления с помощью кода?


person Elizabeth Meyer    schedule 18.08.2015    source источник


Ответы (2)


Я не проверял это, но вы сможете просто сохранить новый компонент Alert.

I.e.

$alert = BeanFactory::newBean('Alerts');
$alert->name = 'My Alert';
$alert->description = 'This is my alert!';
$alert->url_redirect = 'index.php';
$alert->target_module = 'Accounts';
$alert->assigned_user_id = '1';
$alert->type = 'info';
$alert->is_read = 0;
$alert->save();

Метод action_add в modules/Alerts/controller.php служит примером.

person Jim    schedule 18.08.2015
comment
Я не думаю, что оповещения и уведомления — это одно и то же. я говорю о новой функции уведомлений на рабочем столе в SuiteCrm 7.3. - person Elizabeth Meyer; 20.08.2015
comment
@ElizabethMeyer Судя по всему, вы можете добавлять уведомления на рабочий стол, используя класс jsAlerts в include/javascript/jsAlerts.php. - person Jim; 20.08.2015

Вы можете создать оповещение для пользователя после сохранения записи лидов с помощью Logic Hooks.

В файле custom\modules\Leads\logic_hooks.php добавьте следующую строку:

$hook_array['after_save'][] = Array(2, 'send alert to user', 'custom/modules/Leads/LogicHooks/SendAlert.php','LeadHooks', 'sendAlert'); 

Следующий шаг, создайте папку и файл в ней LogicHooks\SendAlert.php в custom\modules\Leads\LogicHooks\SendAlert.php и добавьте этот класс:

class LeadHooks{
    public function sendAlert($bean,$events,$arguments){
        $seedAlert = new Alert();
        $seedAlert->name = "New Lead";
        $seedAlert->description = "Lead assigned to yu";
        $seedAlert->assigned_user_id = $bean->fetched_row['assigned_user_id'];
        $seedAlert->is_read = 0 ;
        $seedAlert->type = "info" ;
        $seedAlert->target_module = "Leads";
        $seedAlert->url_redirect = "index.php?action=DetailView&module=Leads&record=".$bean>fetched_row['id']."&return_module=Leads&return_action=DetailView";
        $seedAlert->save();
    }
}

Это все для остальных модулей, вы должны сделать то же самое.

person technocom    schedule 01.09.2017