From 753f3087edccdf914496980e9ec1c4347d5e6ff2 Mon Sep 17 00:00:00 2001 From: Deepak Srivastava Date: Fri, 20 Sep 2013 14:11:58 +0530 Subject: [PATCH] CRM-13382 - fixes based on brian's feedback - allow draft & other status combination, archive & cancel ambiguity fix, default elements for archive screen. --- CRM/Mailing/Form/Search.php | 1 - CRM/Mailing/Selector/Browse.php | 16 +++++----- templates/CRM/Mailing/Form/Search.tpl | 29 ++++-------------- templates/CRM/Mailing/Page/Browse.tpl | 44 +++++++++------------------ 4 files changed, 27 insertions(+), 63 deletions(-) diff --git a/CRM/Mailing/Form/Search.php b/CRM/Mailing/Form/Search.php index ade608c01a..fa27eb8d4b 100644 --- a/CRM/Mailing/Form/Search.php +++ b/CRM/Mailing/Form/Search.php @@ -87,7 +87,6 @@ class CRM_Mailing_Form_Search extends CRM_Core_Form { $defaults['is_archived'] = 0; } if ($parent->get('archived')) { - $statusVals = array('Scheduled', 'Complete', 'Running', 'Canceled'); $defaults['is_archived'] = 1; } foreach ($statusVals as $status) { diff --git a/CRM/Mailing/Selector/Browse.php b/CRM/Mailing/Selector/Browse.php index 89ab00e913..91a85409c5 100644 --- a/CRM/Mailing/Selector/Browse.php +++ b/CRM/Mailing/Selector/Browse.php @@ -508,22 +508,20 @@ LEFT JOIN civicrm_contact scheduledContact ON ( $mailing.scheduled_id = schedul $isDraft = 1; } + $statusClauses = array(); if ($isDraft) { - $clauses[] = "civicrm_mailing_job.status IS NULL"; - $clauses[] = "civicrm_mailing.scheduled_id IS NULL"; + $statusClauses[] = "civicrm_mailing.scheduled_id IS NULL"; } - - // CRM-4290, do not show archived or unscheduled mails - // on 'Scheduled and Sent Mailing' page selector if (!empty($mailingStatus)) { - $clauses[] = "civicrm_mailing.scheduled_id IS NOT NULL"; - $clauses[] = "civicrm_mailing_job.status IN ('" . implode("', '", array_keys($mailingStatus)) . "')"; + $statusClauses[] = "civicrm_mailing_job.status IN ('" . implode("', '", array_keys($mailingStatus)) . "')"; + } + if (!empty($statusClauses)) { + $clauses[] = "(" . implode(' OR ', $statusClauses) . ")"; } if (isset($isArchived)) { if ($isArchived) { - // CRM-6446: archived view should also show cancelled mailings - $clauses[] = "(civicrm_mailing.is_archived = 1 OR civicrm_mailing_job.status = 'Canceled')"; + $clauses[] = "civicrm_mailing.is_archived = 1"; } else { $clauses[] = "(civicrm_mailing.is_archived IS NULL OR civicrm_mailing.is_archived = 0)"; } diff --git a/templates/CRM/Mailing/Form/Search.tpl b/templates/CRM/Mailing/Form/Search.tpl index c5ad9ae736..e3fa925e62 100644 --- a/templates/CRM/Mailing/Form/Search.tpl +++ b/templates/CRM/Mailing/Form/Search.tpl @@ -77,42 +77,25 @@ {literal}