3

Membership in our organization currently includes a T-Shirt which is implemented as a "Premium" on the contribution page. Members must pick up their T-Shirt in person, so I'm looking for a way to report (create a list) on the fulfillment status of all current members.

There is a field for fulfillment date on the Contribution Detail page, but I can't seem to find this as a field in any of the available reports.

Any suggestions would be appreciated.

enter image description here

4

UPDATE: As of version 4.6.4, the code below is merged into core. Use the Contribution and Membership Details report.

This was such a good question I decided to dig into the code.

I used grep to search the Reports folder for the word "Premium" - and found that the only report that includes premium info right now is the Contribution and Membership Details report (found in the "Membership Reports" section). That report shows the Premium and Premium Option, but not the fulfilled date. However, it's only three lines of code to add if you use this report as your base.

Create a PHP override directory - there's documentation that shows you how - and copy the ContributionDetail.php file into the appropriate place in the folder. Then find the section that reads:

  'civicrm_contribution_product' => array(
    'dao' => 'CRM_Contribute_DAO_ContributionProduct',
    'fields' => array(
      'product_id' => array(
        'no_display' => TRUE,
      ),
      'product_option' => array(
        'title' => ts('Premium Option'),
      ),
      'contribution_id' => array(
        'no_display' => TRUE,
      ),
    ),
  ),

Change it to read:

  'civicrm_contribution_product' => array(
    'dao' => 'CRM_Contribute_DAO_ContributionProduct',
    'fields' => array(
      'product_id' => array(
        'no_display' => TRUE,
      ),
      'product_option' => array(
        'title' => ts('Premium Option'),
      ),
      'fulfilled_date' => array(
        'title' => ts('Premium Fulfilled Date'),
      ),
      'contribution_id' => array(
        'no_display' => TRUE,
      ),
    ),
  ),

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.