SugarCRM - Как получить POPUP при нажатии на кнопку Сохранить?
Я хочу, чтобы при нажатии «Сохранить» в редактируемом представлении какого-либо модуля (например, «Контакт») всплыло какое-то сообщение (позже я получу опции «ОК» и «Отмена» в этом всплывающем окне).
Моя функция
YAHOO.SUGAR.MessageBox.show({msg: 'Foo'} );
работает, когда я помещаю его в начало editviewdefs.php (я также должен включитьcache/include/javascript/sugar_grp_yui_widgets.js
)) и при открытии этого представления я получаю это всплывающее окно. Но я хочу, чтобы он появлялся при сохранении, а не при открытии EditView (это было только тестирование, которое показало мне, чтоYAHOO
функция работает). Поэтому я пытаюсь создать отдельныйcustomJavascript.js
файл в:custom/modules/Contacts
//
function check_custom_data()
{
YAHOO.SUGAR.MessageBox.show({msg: 'Foo'} );
}
Я модифицировалcustom/modules/Contacts/metadata/editviewdefs.php
array (
'templateMeta' =>
array (
'form' =>
array (
'hidden' =>
array (
0 => '',
1 => '',
2 => '',
3 => '',
4 => '',
),
),
array(
'buttons' =>
array (
0 =>
array(
'customCode' =>
'',
),
1 =>'Cancel'
)
),
'includes'=> array(
array('file'=>'custom/modules/Contacts/customJavascript.js'),
),
..........
.......
но когда я нажимаю Сохранить в EditView, ничего не происходит, но я хочу, чтобы в этот момент всплыло сообщение (позже я добавлю параметры OK и Отмена).
Что я делаю неправильно? благодарю вас
Обновлен с кодом для всплывающего только с некоторыми условиями:
....
window.formToCheck = formname;
var contactTypeField = document.getElementById('first_name');
if (contactTypeField.value == 'Tori')
{
if (confirm("This dialog will pop-up whenever the user click on the Save button. "
+ "If you click OK, then you can execute some custom code, and then "
+ "execute the old form check function, which will process and submit "
+ "the form, using SugarCRM's standard behavior.")) {
var customCodeVariable = 5;
customCodeVariable = 55 + (customCodeVariable * 5);
return window.old_check_form(formname);
}
return false;
}