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
:
//<script type="text/javascript"
src="cache/include/javascript/sugar_grp_yui_widgets.js"></script>
function check_custom_data()
{
YAHOO.SUGAR.MessageBox.show({msg: 'Foo'} );
}
Я модифицировалcustom/modules/Contacts/metadata/editviewdefs.php
<?php
$module_name = 'Contacts';
$viewdefs ['Contacts'] =
array (
'EditView' =>
array (
'templateMeta' =>
array (
'form' =>
array (
'hidden' =>
array (
0 => '<input type="hidden" name="opportunity_id" value="{$smarty.request.opportunity_id}">',
1 => '<input type="hidden" name="case_id" value="{$smarty.request.case_id}">',
2 => '<input type="hidden" name="bug_id" value="{$smarty.request.bug_id}">',
3 => '<input type="hidden" name="email_id" value="{$smarty.request.email_id}">',
4 => '<input type="hidden" name="inbound_email_id" value="{$smarty.request.inbound_email_id}">',
),
),
array(
'buttons' =>
array (
0 =>
array(
'customCode' =>
'<input title="Save [Alt+S]" accessKey="S" onclick="this.form.action.value=\'Save\'; return check_custom_data();" type="submit" name="button" value="'.$GLOBALS['app_strings']['LBL_SAVE_BUTTON_LABEL'].'">',
),
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;
}