CRM-14856 - Fix regression with Drupal-Profile integration
authorTim Otten <totten@civicrm.org>
Tue, 24 Jun 2014 02:59:06 +0000 (19:59 -0700)
committerTim Otten <totten@civicrm.org>
Tue, 24 Jun 2014 02:59:06 +0000 (19:59 -0700)
CRM/Profile/Form.php
CRM/Profile/Form/Edit.php

index f223130a948473a434cad6a702b4f23774749fdc..7bae7ccda647ac1b5a31c32247054293f5324c4b 100644 (file)
@@ -245,10 +245,6 @@ class CRM_Profile_Form extends CRM_Core_Form {
       $this->set('gid', $this->_gid);
     }
 
-    if (!$this->_gid) {
-      CRM_Core_Error::fatal(ts('The required parameter "gid" is missing or malformed.'));
-    }
-
     $this->_activityId = CRM_Utils_Request::retrieve('aid', 'Positive', $this, FALSE, 0, 'GET');
     if (is_numeric($this->_activityId)) {
       $latestRevisionId = CRM_Activity_BAO_Activity::getLatestActivityId($this->_activityId);
@@ -268,14 +264,14 @@ class CRM_Profile_Form extends CRM_Core_Form {
         $this->_ufGroup = (array) $dao;
       }
       $dao->free();
-    }
-    $this->assign('ufGroupName', $this->_ufGroup['name']);
 
-    if (!CRM_Utils_Array::value('is_active', $this->_ufGroup)) {
-      CRM_Core_Error::fatal(ts('The requested profile (gid=%1) is inactive or does not exist.', array(
-        1 => $this->_gid,
-      )));
+      if (!CRM_Utils_Array::value('is_active', $this->_ufGroup)) {
+        CRM_Core_Error::fatal(ts('The requested profile (gid=%1) is inactive or does not exist.', array(
+          1 => $this->_gid,
+        )));
+      }
     }
+    $this->assign('ufGroupName', $this->_ufGroup['name']);
 
     $gids = empty($this->_profileIds) ? $this->_gid : $this->_profileIds;
 
index da71bedbc5bd64be233ae02f412591953113c948..216bf8fc72f5d1cca12dd36de5ce8288143c0b8d 100644 (file)
@@ -113,6 +113,13 @@ class CRM_Profile_Form_Edit extends CRM_Profile_Form {
 
     parent::preProcess();
 
+    // make sure the gid is set and valid
+    if (!$this->_gid) {
+      CRM_Core_Error::fatal(ts('The requested Profile (gid=%1) is disabled, OR there is no Profile with that ID, OR a valid \'gid=\' integer value is missing from the URL. Contact the site administrator if you need assistance.',
+          array(1 => $this->_gid)
+          ));
+    }
+
     // and also the profile is of type 'Profile'
     $query = "
 SELECT module