present friendlier error message if petition cannot be displayed.
authorJamie McClelland <jm@mayfirst.org>
Mon, 5 Jun 2023 16:50:57 +0000 (12:50 -0400)
committerJamie McClelland <jm@mayfirst.org>
Mon, 5 Jun 2023 16:50:57 +0000 (12:50 -0400)
CRM/Campaign/Form/Petition/Signature.php
templates/CRM/Campaign/Form/Petition/Signature.tpl

index 965f72d6f5fac9b72936428f1faf854a7b81893e..2c13088366147b52f541b55aa8b953c483c12f93 100644 (file)
@@ -193,7 +193,10 @@ class CRM_Campaign_Form_Petition_Signature extends CRM_Core_Form {
       CRM_Core_Error::statusBounce(ts('Petition doesn\'t exist.'));
     }
     if ($this->petition['is_active'] == 0) {
-      CRM_Core_Error::statusBounce(ts('Petition is no longer active.'));
+      $this->assign('isActive', FALSE);
+    }
+    else {
+      $this->assign('isActive', TRUE);
     }
 
     //get userID from session
index f34c4367677f107750a0750fdffe8a82046bc7d9..452c1cd311f1379fe6bd1316bcdd04a828283dd5 100644 (file)
   <div class='clear'></div>
 {/if}
 
-<div id="intro" class="crm-section">{$petition.instructions}</div>
-<div class="crm-block crm-petition-form-block">
-
-{if $duplicate == "confirmed"}
-  <p>
-  {ts}You have already signed this petition.{/ts}
-  </p>
-{/if}
-{if $duplicate == "unconfirmed"}
-  <p>{ts}You have already signed this petition but you still <b>need to verify your email address</b>.{/ts}<br/> {ts}Please check your email inbox for the confirmation email. If you don't find it, verify if it isn't in your spam folder.{/ts}</p>
-{/if}
-{if $duplicate}
-  <p>{ts}Thank you for your support.{/ts}</p>
-  {if $is_share}
-    {include file="CRM/Campaign/Page/Petition/SocialNetwork.tpl" petition_id=$survey_id petitionTitle=$petitionTitle}
-  {/if}
+{if ! $isActive}
+  <p>{ts}This petition is no longer active.{/ts}</p>
 {else}
-  <div class="crm-section crm-petition-contact-profile">
-    {include file="CRM/UF/Form/Block.tpl" fields=$petitionContactProfile hideFieldset=true}
-  </div>
-
-  <div class="crm-section crm-petition-activity-profile">
-    {include file="CRM/UF/Form/Block.tpl" fields=$petitionActivityProfile hideFieldset=true}
-  </div>
+  <div id="intro" class="crm-section">{$petition.instructions}</div>
+  <div class="crm-block crm-petition-form-block">
 
-  <div class="crm-submit-buttons">
-    {include file="CRM/common/formButtons.tpl" location="bottom"}
-  </div>
+  {if $duplicate == "confirmed"}
+    <p>
+    {ts}You have already signed this petition.{/ts}
+    </p>
+  {/if}
+  {if $duplicate == "unconfirmed"}
+    <p>{ts}You have already signed this petition but you still <b>need to verify your email address</b>.{/ts}<br/> {ts}Please check your email inbox for the confirmation email. If you don't find it, verify if it isn't in your spam folder.{/ts}</p>
+  {/if}
+  {if $duplicate}
+    <p>{ts}Thank you for your support.{/ts}</p>
+    {if $is_share}
+      {include file="CRM/Campaign/Page/Petition/SocialNetwork.tpl" petition_id=$survey_id petitionTitle=$petitionTitle}
+    {/if}
+  {else}
+    <div class="crm-section crm-petition-contact-profile">
+      {include file="CRM/UF/Form/Block.tpl" fields=$petitionContactProfile hideFieldset=true}
+    </div>
+
+    <div class="crm-section crm-petition-activity-profile">
+      {include file="CRM/UF/Form/Block.tpl" fields=$petitionActivityProfile hideFieldset=true}
+    </div>
+
+    <div class="crm-submit-buttons">
+      {include file="CRM/common/formButtons.tpl" location="bottom"}
+    </div>
+  {/if}
 {/if}
-
 </div>