From 560641fb5ec54aaa80acb46836ec9dbd7fbf5dc7 Mon Sep 17 00:00:00 2001 From: Andrew Hunt Date: Tue, 12 May 2020 12:33:48 -0400 Subject: [PATCH] Comm prefs: add condition param for {privacyFlag} --- .../Smarty/plugins/function.privacyFlag.php | 5 ++++- templates/CRM/Contact/Form/Selector.tpl | 17 +++++------------ templates/CRM/Contact/Page/Inline/Address.tpl | 2 +- templates/CRM/Contact/Page/Inline/Email.tpl | 2 +- templates/CRM/Contact/Page/Inline/Phone.tpl | 8 ++++---- 5 files changed, 15 insertions(+), 19 deletions(-) diff --git a/CRM/Core/Smarty/plugins/function.privacyFlag.php b/CRM/Core/Smarty/plugins/function.privacyFlag.php index e4e3593291..a3b63e78cf 100644 --- a/CRM/Core/Smarty/plugins/function.privacyFlag.php +++ b/CRM/Core/Smarty/plugins/function.privacyFlag.php @@ -13,7 +13,6 @@ * * @package CRM * @author Andrew Hunt, AGH Strategies - * $Id$ * */ @@ -23,12 +22,16 @@ * @param $params * - field: the applicable privacy field * (one of CRM_Core_SelectValues::privacy() or `on_hold`) + * - condition: if present and falsey, return empty * * @param $smarty * * @return string */ function smarty_function_privacyFlag($params, &$smarty) { + if (array_key_exists('condition', $params) && !$params['condition']) { + return ''; + } $icons = [ 'do_not_phone' => 'fa-phone', 'do_not_email' => 'fa-paper-plane', diff --git a/templates/CRM/Contact/Form/Selector.tpl b/templates/CRM/Contact/Form/Selector.tpl index 36cf635081..1f34763c9f 100644 --- a/templates/CRM/Contact/Form/Selector.tpl +++ b/templates/CRM/Contact/Form/Selector.tpl @@ -81,7 +81,7 @@ {if $row.is_deleted}{/if}{$row.sort_name}{if $row.is_deleted}{/if} {if $action eq 512 or $action eq 256} {if !empty($columnHeaders.street_address)} - {$row.street_address|mb_truncate:22:"...":true}{if $row.do_not_mail} {privacyFlag field=do_not_mail}{/if} + {$row.street_address|mb_truncate:22:"...":true}{privacyFlag field=do_not_mail condition=$row.do_not_mail} {/if} {if !empty($columnHeaders.city)} {$row.city} @@ -99,23 +99,16 @@ {if $row.email} {$row.email|mb_truncate:17:"...":true} - {if $row.on_hold} - {privacyFlag field=on_hold} - {elseif $row.do_not_email} - {privacyFlag field=do_not_email} - {/if} + {privacyFlag field=do_not_email condition=$row.do_not_email} + {privacyFlag field=on_hold condition=$row.on_hold} {/if} {if $row.phone} {$row.phone} - {if $row.do_not_phone} - {privacyFlag field=do_not_phone} - {/if} - {if $row.do_not_sms} - {privacyFlag field=do_not_sms} - {/if} + {privacyFlag field=do_not_phone condition=$row.do_not_phone} + {privacyFlag field=do_not_sms condition=$row.do_not_sms} {/if} {else} diff --git a/templates/CRM/Contact/Page/Inline/Address.tpl b/templates/CRM/Contact/Page/Inline/Address.tpl index 94cc45f2e7..fc0bb61c5a 100644 --- a/templates/CRM/Contact/Page/Inline/Address.tpl +++ b/templates/CRM/Contact/Page/Inline/Address.tpl @@ -24,7 +24,7 @@
{ts 1=$add.location_type}%1 Address{/ts} - {if $privacy.do_not_mail}{privacyFlag field=do_not_mail}{/if} + {privacyFlag field=do_not_mail condition=$privacy.do_not_mail} {if $config->mapProvider AND !empty($add.geo_code_1) AND is_numeric($add.geo_code_1) AND diff --git a/templates/CRM/Contact/Page/Inline/Email.tpl b/templates/CRM/Contact/Page/Inline/Email.tpl index afc29d4beb..bb5323097d 100644 --- a/templates/CRM/Contact/Page/Inline/Email.tpl +++ b/templates/CRM/Contact/Page/Inline/Email.tpl @@ -29,7 +29,7 @@
{$item.location_type} {ts}Email{/ts} - {if $privacy.do_not_email}{privacyFlag field=do_not_email}{elseif $item.on_hold}{privacyFlag field=on_hold}{/if} + {privacyFlag field=do_not_email condition=$privacy.do_not_email}{privacyFlag field=on_hold condition=$item.on_hold}
{if !$item.on_hold and !$privacy.do_not_email} diff --git a/templates/CRM/Contact/Page/Inline/Phone.tpl b/templates/CRM/Contact/Page/Inline/Phone.tpl index 3ab90ab126..8388f4aee3 100644 --- a/templates/CRM/Contact/Page/Inline/Phone.tpl +++ b/templates/CRM/Contact/Page/Inline/Phone.tpl @@ -19,8 +19,8 @@
{ts}Phone{/ts} - {if $privacy.do_not_sms}{privacyFlag field=do_not_sms}{/if} - {if $privacy.do_not_phone}{privacyFlag field=do_not_phone}{/if} + {privacyFlag field=do_not_sms condition=$privacy.do_not_sms} + {privacyFlag field=do_not_phone condition=$privacy.do_not_phone}
@@ -29,8 +29,8 @@ {if $item.phone || $item.phone_ext}
- {if $privacy.do_not_sms}{privacyFlag field=do_not_sms}{/if} - {if $privacy.do_not_phone}{privacyFlag field=do_not_phone}{/if} + {privacyFlag field=do_not_sms condition=$privacy.do_not_sms} + {privacyFlag field=do_not_phone condition=$privacy.do_not_phone} {$item.location_type} {$item.phone_type}
-- 2.25.1