dev/user-interface#14 Fix regression whereby links from membership dashboard don...
authoreileen <emcnaughton@wikimedia.org>
Fri, 13 Mar 2020 03:00:19 +0000 (16:00 +1300)
committereileen <emcnaughton@wikimedia.org>
Fri, 13 Mar 2020 03:03:23 +0000 (16:03 +1300)
Note it  also applies to membership_status_id but the lack of a uniquename makes the fix trickier  so I'm reluctant to target the
rc

CRM/Core/Form/Search.php
CRM/Member/BAO/Query.php
CRM/Member/DAO/Membership.php
CRM/Member/Page/DashBoard.php
xml/schema/Member/Membership.xml

index 66cebe8282bef5ba7c4b8c9d18eb92871c4af8ab..0a9969685f7b4908ec3b0e8060c368849c008ee8 100644 (file)
@@ -202,6 +202,9 @@ class CRM_Core_Form_Search extends CRM_Core_Form {
           if (isset($fields[$fieldName]['unique_title'])) {
             $props['label'] = $fields[$fieldName]['unique_title'];
           }
+          elseif (isset($fields[$fieldName]['html']['label'])) {
+            $props['label'] = $fields[$fieldName]['html']['label'];
+          }
           elseif (isset($fields[$fieldName]['title'])) {
             $props['label'] = $fields[$fieldName]['title'];
           }
index a8908e0553a7696fc1b7de1ace08f86be679dc54..0bbe5dadc08bfb999c2f5fee4b6e4175cf31dad9 100644 (file)
@@ -505,6 +505,7 @@ class CRM_Member_BAO_Query extends CRM_Core_BAO_Query {
       'membership_join_date',
       'membership_start_date',
       'membership_end_date',
+      'membership_type_id',
     ];
     $metadata = civicrm_api3('Membership', 'getfields', [])['values'];
     return array_intersect_key($metadata, array_flip($fields));
@@ -514,6 +515,8 @@ class CRM_Member_BAO_Query extends CRM_Core_BAO_Query {
    * Build the search form.
    *
    * @param CRM_Core_Form $form
+   *
+   * @throws \CiviCRM_API3_Exception
    */
   public static function buildSearchForm(&$form) {
     $form->addSearchFieldMetadata(['Membership' => self::getSearchFieldMetadata()]);
@@ -525,13 +528,6 @@ class CRM_Member_BAO_Query extends CRM_Core_BAO_Query {
       'class' => 'crm-select2',
     ]);
 
-    $form->addEntityRef('membership_type_id', ts('Membership Type'), [
-      'entity' => 'MembershipType',
-      'multiple' => TRUE,
-      'placeholder' => ts('- any -'),
-      'select' => ['minimumInputLength' => 0],
-    ]);
-
     $form->addElement('text', 'member_source', ts('Source'));
     $form->add('number', 'membership_id', ts('Membership ID'), ['class' => 'four', 'min' => 1]);
 
index a4b79fffecc0b995f64e781ad6c5c04e7784b9a0..24582838d31bd0f4541b4fd76b0e95c1774a8b87 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/Membership.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:15846e936cabb40c951fc8bc37c6f79a)
+ * (GenCodeChecksum:8a676a436711b85a6c7228e6566a12fc)
  */
 
 /**
@@ -222,6 +222,7 @@ class CRM_Member_DAO_Membership extends CRM_Core_DAO {
           'FKClassName' => 'CRM_Member_DAO_MembershipType',
           'html' => [
             'type' => 'Select',
+            'label' => ts("Membership Type"),
           ],
           'pseudoconstant' => [
             'table' => 'civicrm_membership_type',
index d44ce85c25fb9ca6bb37e7ddbddd1a647270d81a..66aeba71ae05910f3ebebf9a9552ad6eb74d7edc 100644 (file)
@@ -168,9 +168,9 @@ class CRM_Member_Page_DashBoard extends CRM_Core_Page {
     foreach ($membershipSummary as $typeID => $details) {
       if (!$isCurrentMonth) {
         $membershipSummary[$typeID]['total']['total']['url'] = CRM_Utils_System::url('civicrm/member/search',
-          "reset=1&force=1&start=&end=$ymd&status=$status&type=$typeID"
+          "reset=1&force=1&start=&end=$ymd&status=$status&membership_type_id=$typeID"
         );
-        $membershipSummary[$typeID]['total_owner']['total_owner']['url'] = CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&start=&end=$ymd&status=$status&type=$typeID&owner=1");
+        $membershipSummary[$typeID]['total_owner']['total_owner']['url'] = CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&start=&end=$ymd&status=$status&membership_type_id=$typeID&owner=1");
       }
       else {
         $membershipSummary[$typeID]['total']['total']['url'] = CRM_Utils_System::url('civicrm/member/search',
@@ -178,11 +178,11 @@ class CRM_Member_Page_DashBoard extends CRM_Core_Page {
         );
         $membershipSummary[$typeID]['total_owner']['total_owner']['url'] = CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&status=$status&owner=1");
       }
-      $membershipSummary[$typeID]['current']['total']['url'] = CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&status=$status&type=$typeID");
-      $membershipSummary[$typeID]['current_owner']['current_owner']['url'] = CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&status=$status&type=$typeID&owner=1");
+      $membershipSummary[$typeID]['current']['total']['url'] = CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&status=$status&membership_type_id=$typeID");
+      $membershipSummary[$typeID]['current_owner']['current_owner']['url'] = CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&status=$status&membership_type_id=$typeID&owner=1");
     }
 
-    $totalCount = array();
+    $totalCount = [];
 
     $newCountPreMonth = $newCountMonth = $newCountYear = 0;
     $renewCountPreMonth = $renewCountMonth = $renewCountYear = 0;
index 9522592d80db54634e6e87b6bf9167a979abd7dd..15d53ab3a2e15dc660b2d891e1bc219ecc62bf01 100644 (file)
@@ -61,6 +61,7 @@
     </pseudoconstant>
     <html>
       <type>Select</type>
+      <label>Membership Type</label>
     </html>
     <add>1.5</add>
   </field>