From e11b84ced05e55868eada693fd4145001706b0c7 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Thu, 13 Mar 2014 10:39:28 -0400 Subject: [PATCH] CRM-13817 - Migrate simple success messages to mini-notifications --- js/Common.js | 1 + js/jquery/jquery.crmeditable.js | 2 +- js/rest.js | 4 ++-- templates/CRM/Case/Page/CustomDataView.tpl | 4 ++-- templates/CRM/Contact/Form/Edit/CustomData.tpl | 6 +++--- templates/CRM/Contact/Page/View/GroupContact.tpl | 7 ++----- templates/CRM/Contact/Page/View/Summary.js | 6 +++--- templates/CRM/Custom/Page/CustomDataView.tpl | 6 +++--- templates/CRM/common/Tag.tpl | 4 ++-- templates/CRM/common/enableDisableApi.tpl | 11 +++++++---- 10 files changed, 26 insertions(+), 25 deletions(-) diff --git a/js/Common.js b/js/Common.js index 52cf53d006..5147ddabff 100644 --- a/js/Common.js +++ b/js/Common.js @@ -348,6 +348,7 @@ CRM.validate = CRM.validate || { dialog: {width: 500, height: 'auto'} }).on('crmFormSuccess', function(e, data) { if (data.status === 'success' && data.id) { + CRM.status(ts('%1 Created', {1: data.label})); if ($el.select2('container').hasClass('select2-container-multi')) { var selection = $el.select2('data'); selection.push(data); diff --git a/js/jquery/jquery.crmeditable.js b/js/jquery/jquery.crmeditable.js index f563f6d174..b581ec4adc 100644 --- a/js/jquery/jquery.crmeditable.js +++ b/js/jquery/jquery.crmeditable.js @@ -68,7 +68,7 @@ }, success: function(entity, field, value, data) { var $i = $(this); - CRM.alert('', ts('Saved'), 'success'); + CRM.status(ts('Saved')); $i.removeClass('crm-editable-saving crm-error'); $i.html(value); } diff --git a/js/rest.js b/js/rest.js index 380bfcf5c2..3e9f726165 100644 --- a/js/rest.js +++ b/js/rest.js @@ -150,13 +150,13 @@ var CRM = CRM || {}; case "setvalue": case "replace": settings.success = function() { - CRM.alert('', ts('Saved'), 'success'); + CRM.status(ts('Saved')); return true; }; break; case "delete": settings.success = function() { - CRM.alert('', ts('Removed'), 'success'); + CRM.status(ts('Removed')); return true; }; } diff --git a/templates/CRM/Case/Page/CustomDataView.tpl b/templates/CRM/Case/Page/CustomDataView.tpl index ec79987e9a..a4cca083ce 100644 --- a/templates/CRM/Case/Page/CustomDataView.tpl +++ b/templates/CRM/Case/Page/CustomDataView.tpl @@ -105,18 +105,18 @@ function deleteCustomValue( valueID, elementID, groupID, contactID ) { var postUrl = {/literal}"{crmURL p='civicrm/ajax/customvalue' h=0 }"{literal}; - cj.ajax({ + var request = cj.ajax({ type: "POST", data: "valueID=" + valueID + "&groupID=" + groupID +"&contactId=" + contactID + "&key={/literal}{crmKey name='civicrm/ajax/customvalue'}{literal}", url: postUrl, success: function(html){ cj('#'+ elementID).hide(); hideStatus(valueID, groupID); - CRM.alert('', '{/literal}{ts escape="js"}Record Deleted{/ts}{literal}', 'success'); var element = cj( '.ui-tabs-nav #tab_custom_' + groupID + ' a' ); cj(element).html(cj(element).attr('title') + ' ('+ html+') '); } }); + CRM.status({success: '{/literal}{ts escape="js"}Record Deleted{/ts}{literal}'}, request); } {/literal} diff --git a/templates/CRM/Contact/Form/Edit/CustomData.tpl b/templates/CRM/Contact/Form/Edit/CustomData.tpl index c9f5f716f8..17242fe944 100644 --- a/templates/CRM/Contact/Form/Edit/CustomData.tpl +++ b/templates/CRM/Contact/Form/Edit/CustomData.tpl @@ -82,19 +82,19 @@ } function deleteCustomValue(valueID, elementID, groupID, contactID) { - var postUrl = {/literal}"{crmURL p='civicrm/ajax/customvalue' h=0 }"{literal}; - cj.ajax({ + var postUrl = {/literal}"{crmURL p='civicrm/ajax/customvalue' h=0 }"{literal}, + request = cj.ajax({ type: "POST", data: "valueID=" + valueID + "&groupID=" + groupID + "&contactId=" + contactID + "&key={/literal}{crmKey name='civicrm/ajax/customvalue'}{literal}", url: postUrl, success: function (html) { cj('#' + elementID).hide(); hideStatus(valueID, groupID); - CRM.alert('', '{/literal}{ts escape="js"}Record Deleted{/ts}{literal}', 'success'); var element = cj('.ui-tabs-nav #tab_custom_' + groupID + ' a'); cj(element).html(cj(element).attr('title') + ' (' + html + ') '); } }); + CRM.status({success: '{/literal}{ts escape="js"}Record Deleted{/ts}{literal}'}, request); } {/literal} diff --git a/templates/CRM/Contact/Page/View/GroupContact.tpl b/templates/CRM/Contact/Page/View/GroupContact.tpl index ccec5fe17f..f17dea5e80 100644 --- a/templates/CRM/Contact/Page/View/GroupContact.tpl +++ b/templates/CRM/Contact/Page/View/GroupContact.tpl @@ -199,11 +199,8 @@ params.status = status; } // This api is weird - 'delete' actually works for updating as well as deleting - CRM.api('group_contact', 'delete', params, {success: function() { - refresh(); - // Normally you wouldn't put a variable within ts() but this works due to smarty hack below - CRM.alert('', ts(status), 'success'); - }}); + // Normally you wouldn't put a variable within ts() but this works due to smarty hack below + CRM.api3('group_contact', 'delete', params, {success: ts(status)}).done(refresh); } $('.view-contact-groups a.action-item').click(function() { that = this; diff --git a/templates/CRM/Contact/Page/View/Summary.js b/templates/CRM/Contact/Page/View/Summary.js index bc2e7854b4..2949de9194 100644 --- a/templates/CRM/Contact/Page/View/Summary.js +++ b/templates/CRM/Contact/Page/View/Summary.js @@ -82,13 +82,13 @@ // Delete an address if (o.hasClass('address') && !o.hasClass('add-new') && !response.addressId) { o.parent().remove(); - CRM.alert('', ts('Address Deleted'), 'success'); + CRM.status(ts('Address Deleted')); } else { // Reload this block plus all dependent blocks var update = $.merge([o], dependent); _.each(update, reloadBlock); - CRM.alert('', ts('Saved'), 'success'); + CRM.status(ts('Saved')); } // Update changelog tab and contact footer if (response.changeLog.count) { @@ -257,7 +257,7 @@ CRM.confirm(function() { CRM.api('address', 'delete', {id: $block.data('edit-params').aid}, {success: function(data) { - CRM.alert('', ts('Address Deleted'), 'success'); + CRM.status(ts('Address Deleted')); $('.crm-inline-edit-container').addClass('crm-edit-ready'); $block.remove(); } diff --git a/templates/CRM/Custom/Page/CustomDataView.tpl b/templates/CRM/Custom/Page/CustomDataView.tpl index 97a577d242..9a219e80e7 100644 --- a/templates/CRM/Custom/Page/CustomDataView.tpl +++ b/templates/CRM/Custom/Page/CustomDataView.tpl @@ -201,19 +201,19 @@ cj('tr#statusmessg_' + groupID + '_' + valueID).show().children().find('span').html(confirmMsg); } function deleteCustomValue(valueID, elementID, groupID, contactID) { - var postUrl = {/literal}"{crmURL p='civicrm/ajax/customvalue' h=0 }"{literal}; - cj.ajax({ + var postUrl = {/literal}"{crmURL p='civicrm/ajax/customvalue' h=0 }"{literal}, + request = cj.ajax({ type: "POST", data: "valueID=" + valueID + "&groupID=" + groupID + "&contactId=" + contactID + "&key={/literal}{crmKey name='civicrm/ajax/customvalue'}{literal}", url: postUrl, success: function (html) { cj('#' + elementID).hide(); hideStatus(valueID, groupID); - CRM.alert('', '{/literal}{ts escape="js"}Record Deleted{/ts}{literal}', 'success'); var element = cj('.ui-tabs-nav #tab_custom_' + groupID + ' a'); cj(element).html(cj(element).attr('title') + ' (' + html + ') '); } }); + CRM.status({success: '{/literal}{ts escape="js"}Record Deleted{/ts}{literal}'}, request); } {/literal} diff --git a/templates/CRM/common/Tag.tpl b/templates/CRM/common/Tag.tpl index 3f7427b5a7..1030f6f458 100644 --- a/templates/CRM/common/Tag.tpl +++ b/templates/CRM/common/Tag.tpl @@ -64,11 +64,11 @@ } } if (!skipEntityAction) { - CRM.alert('', '{/literal}{ts escape='js'}Removed{/ts}{literal}', 'success'); + CRM.status('{/literal}{ts escape='js'}Removed{/ts}{literal}'); } } else { - CRM.alert('', '{/literal}{ts escape='js'}Saved{/ts}{literal}', 'success'); + CRM.status('{/literal}{ts escape='js'}Saved{/ts}{literal}'); } if ( response.action == 'select' ) { setVal = valArray; diff --git a/templates/CRM/common/enableDisableApi.tpl b/templates/CRM/common/enableDisableApi.tpl index d1b3cb1cb9..be3fd03313 100644 --- a/templates/CRM/common/enableDisableApi.tpl +++ b/templates/CRM/common/enableDisableApi.tpl @@ -29,6 +29,12 @@ cj(function($) { var $row, $table, info, enabled, fieldLabel; + function successMsg() { + {/literal} {* client-side variable substitutions in smarty are AWKWARD! *} + var msg = enabled ? '{ts escape="js" 1="%1"}%1 Disabled{/ts}' : '{ts escape="js" 1="%1"}%1 Enabled{/ts}'{literal}; + return ts(msg, {1: fieldLabel}); + } + function refresh() { // Call native refresh method on ajax datatables if ($.fn.DataTable.fnIsDataTable($table[0]) && $table.dataTable().fnSettings().sAjaxSource) { @@ -40,15 +46,12 @@ else { $row.closest('.crm-ajax-container, #crm-main-content-wrapper').crmSnippet().crmSnippet('refresh'); } - {/literal} {* client-side variable substitutions in smarty are AWKWARD! *} - var msg = enabled ? '{ts escape="js" 1="%1"}%1 Disabled{/ts}' : '{ts escape="js" 1="%1"}%1 Enabled{/ts}'{literal}; - CRM.alert('', ts(msg, {1: fieldLabel}), 'success'); } function save() { $table = $row.closest('table'); $table.block(); - CRM.api(info.entity, 'setvalue', {id: info.id, field: 'is_active', value: enabled ? 0 : 1}, {success: refresh}); + CRM.api3(info.entity, 'setvalue', {id: info.id, field: 'is_active', value: enabled ? 0 : 1}, {success: successMsg}).done(refresh); if (enabled) { $(this).dialog('close'); } -- 2.25.1