From f6f92366b78e2dbab8881cbb43782885c4d839c8 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 11 Dec 2014 11:04:33 -0500 Subject: [PATCH] dashboard: Show personal campaign pages. * CRM/Memberdashboard/Page/MemberDashboard.php (CRM_Memberdashboard_Page_MemberDashboard) [campaignPages]: New method. [run]: Assign 'campaignPages' variable for use from smarty. * templates/CRM/Memberdashboard/Page/MemberDashboard.tpl: Render PCP table. --- CRM/Memberdashboard/Page/MemberDashboard.php | 27 +++++++++++++ .../Memberdashboard/Page/MemberDashboard.tpl | 39 +++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/CRM/Memberdashboard/Page/MemberDashboard.php b/CRM/Memberdashboard/Page/MemberDashboard.php index 2d2185e..cce52e3 100644 --- a/CRM/Memberdashboard/Page/MemberDashboard.php +++ b/CRM/Memberdashboard/Page/MemberDashboard.php @@ -32,6 +32,32 @@ class CRM_Memberdashboard_Page_MemberDashboard extends CRM_Memberdashboard_Page return ts('Welcome, ') . $this->contact['first_name'] . '!'; } + /** + * There isn't a function that does this simple task in the PCP BAO, + * surprisingly. + */ + function campaignPages() { + $dao = CRM_Core_DAO::executeQuery( + 'SELECT id, title, is_active, is_honor_roll FROM civicrm_pcp WHERE contact_id=%1', + array( 1 => array($this->contact['id'], 'Integer') ) + ); + + $pages = array(); + + while($dao->fetch()) { + $pages[] = array( + 'id' => $dao->id, + 'title' => $dao->title, + 'is_active' => $dao->is_active, + 'is_honor_roll' => $dao->is_honor_roll + ); + } + + $dao->free(); + + return $pages; + } + function run() { $helper = new CRM_Memberdashboard_Page_ComponentHelper(array( 'CiviMember', @@ -40,6 +66,7 @@ class CRM_Memberdashboard_Page_MemberDashboard extends CRM_Memberdashboard_Page $helper->run(); $this->assign('dashboardElements', $helper->buildDashboardElements()); + $this->assign('campaignPages', $this->campaignPages()); parent::run(); diff --git a/templates/CRM/Memberdashboard/Page/MemberDashboard.tpl b/templates/CRM/Memberdashboard/Page/MemberDashboard.tpl index 6b40840..85a9192 100644 --- a/templates/CRM/Memberdashboard/Page/MemberDashboard.tpl +++ b/templates/CRM/Memberdashboard/Page/MemberDashboard.tpl @@ -24,3 +24,42 @@ {include file="CRM/Memberdashboard/Page/DashboardElement.tpl" element=$dashboardElements.CiviContribute } + +
+
Personal Campaign Page(s)
+
+ {if count($campaignPages) == 0} +
+
+ There are no personal campaign pages on record for you. +
+ {else} + + + + + + + + + + {foreach from=$campaignPages item=page} + + + + + + {/foreach} + +
TitleActive?Honor roll enabled?
+ + {$page.title} + + + {if $page.is_active}Yes{else}No{/if} + + {if $page.is_honor_roll}Yes{else}No{/if} +
+ {/if} +
+
-- 2.25.1