Connecting Civicrm to Quickbooks classes / subclasses I have three organizations that use Quickbooks and some other process to track contributions.  I would like to encourage all of them to move to Civicrm.  (They are currently using out-of-date MS Access or Excel for tracking donations.)  Each have set up Quickbooks to use classes and sub-classes in their accounting. Are you actually using Civicrm and Quickbooks, AND using classes and sub-classes in Quickbooks, AND have set up Civicrm to then transfer that data into Quickbooks effectively?  I have read all over the Internet and the Civi site.  What I am seeking is someone who is using both programs.  Practically speaking, what did you do in the setup and execution to get classes and sub-classes to translate from Civicrm to Quickbooks?  I have read a little of some people using custom fields and then others who adapt Campaigns or Financial Types to make this happen, but no practical setup or practical process is communicated in their postings.  Help?

We use Civi & QuickBooks. Our QBs is only used for accounting. If we need to see donation details, we look in Civi. We do not record contribution detail in Quickbooks. We do not see a need to have that data stored in two places.

We just record the deposit in QBs. We use Class in QB for our Functional Expense allocations (Program, Restricted, and Unrestricted). Note, since most donations are not related to Functional Expense allocations (other than Program Income), we have created 2 additional Classes in QBs--Unrestricted and Restricted. So most deposits are recorded using these 2 QB Classes. We use Customer Job in QB for Line Item detail from Civi (General Fund, Building Fund, Scholarship). We do not have any donors entered as a Customer in QB.

We have our payment options in Civi to match our payment processor's deposit schedule. ACH, Visa/Mastercard, Discover. That way we can pull Line Item reports by Payment Type and date and they match our Processor Deposits. Then we record that deposit in QB with Class info (Program...) and Customer Job (We sum the Line Item Types from Civi and have one line on the Deposit entry for General Fund, Building Fund, etc).

FYI, we use the same Class and Customer Job options when recording Expenses in QBs. This allows us to run reports by Class to see Functional Expense (for expenses we do have QB Classes for Management & Fundraising). And reports by Customer Job to see Campaigns-showing income and expense for Capital Campaign.


Contribution Status Edit in Options Group The set of Contribution Status are available in the Options Group and allowed for Edit, though it seems that it is just for the names of the respective Contribution Status.  What should be considered when changing these names ?  For example, if I need a contribution status of "Waived", can i just rename the existing status of "Cancelled" ?  I looked around and there seems to be concerns in adding/changing of contribution status as they are connected to account rules of the contribution.  Thanks.

Just to be sure I would add a new contribution status rather then meddle with the existing ones. But maybe that is just being to careful :-)


How to add an activity for the contacts generated via a report? I have a list of contacts from a contribution report, and I would like to add an activity based on the latest result from the report. My first thought was to have a "action link" to update the activity, but don't see it there.  Is there any other way to achieve that? Thanks

I would just add all the contacts to a group (you have to create the group first) and then add the activity to all the contacts in the group.


How should I configure multiple Drupal sites to share a CiviCRM database? I have an existing CiviCRM instance on Drupal site (D1). I have a second Drupal site (D2), which does not have CiviCRM. I want to make the CiviCRM instance (data/contacts/settings) from D1 available inside of D2.

I want to have CiviCRM Views integration and CiviCRM Entity module working from both D1 and D2.

Reading the CiviCRM multisite documentation, it is still not clear to me what my ideal setup would be.

I am hoping that someone will share how they think it should be set up!

You should read about Drupal multi-site feature. That's we can use the same database and same modules if the D2 is working as an parked domain for D1 website.

I would like to share the reference link https://www.drupal.org/documentation/install/multi-site

Please check that one.


(How) Is it possible to add text-links to a report? This is to create a dashlet - hence links do make sense!

I know how to add a column to an existing template and create a new report template from scratch.

In each case my limitation is that I am reliant on database fields.

In the dashlet template that comes with CiviCRM I see this:

{sClass:'crm-contact-activity-links', bSortable:false},

But I don't know how to use this in a report.

I am editing a copy of the Activity Report template (safely copied to my custom php folder)

In this case of altering an existing template - find the function that controls how the activities are displayed and setting the $viewLinks variable to True - as shown below.

public function alterDisplay(&$rows) {
    $entryFound = FALSE;
    $activityType = CRM_Core_PseudoConstant::activityType(TRUE, TRUE, FALSE, 'label', TRUE);
    $activityStatus = CRM_Core_PseudoConstant::activityStatus();
    $viewLinks = TRUE;
    $context = CRM_Utils_Request::retrieve('context', 'String', $this, FALSE, 'report');
    $actUrl = '';


How do I update CiviCRM following a security update? I am getting a warning to update security. It says:

  New security release 4.7.9 is available. The site is currently
  running 4.7.3.

How do I update it?

Thanks.

Melissa
Brooklyn Commons
commonsbrooklyn.org

First of all, I should say that this is a job for someone who is reasonably technically minded and comfortable with using the command line.  If this doesn't sound like you, then I would suggest that you look for help with this - perhaps from the person that installed CiviCRM in the first place.

You can find detailed instructions in the Administrator Guide.  There are different versions depending on which CMS you use:

Upgrading CiviCRM for Drupal 7
Upgrading CiviCRM for WordPress
Upgrading CiviCRM for Joomla

See also my question on upgrading with drush (Drupal only):

Is it easy to upgrade CiviCRM using drush?

I would strongly recommend that you take a full backup before you do this.  You should also know how to restore from a backup in case anything goes wrong (which does happen unfortunately and can leave your site completely broken).

I would also recommend that you test the update on a development server before you attempt to update the live website.

If none of this makes any sense to you I think you should probably look for help from someone who has this technical knowledge - e.g. a CiviCRM partner.  Unfortunately, upgrading CiviCRM is not a simple one-click operation like upgrading WordPress.


Authorize.net Recurring Payment not being updated I have 2 or 3 recurring payments with Authorize.net that are not being updated in Civi.
Authorize.net shows that these recurring payments are being processed properly.
CiviCRM shows the recurring payment as 'in progress' but the payment never shows up in CiviCRM.
For the most part, I have no issue with recurring payments, but I'd like to find out if there is a way to troubleshoot these few payments and get things working properly again.

CiviCRM records post parameters send by Authorize.net you can find it in civicrm_system_log table. You can also use api explorer to get the data using SystemLog  entity.

If you know the system log id than you can replay the ipn request to civicrm.

Ref: https://civicrm.stackexchange.com/a/4510/155


Extension Manager fails and so do certain scheduled jobs I am using civicrm ver. 4.6.2 on Drupal 7; PHP version is 5.3.29, safe mode is off and open_basedir is not set:

When I try to upgrade through extensions manager I get:

WARNING: The downloader may be unable to download files which require HTTP redirection. This may be a configuration issue with PHP's open_basedir or safe_mode.

Unable to extract the extension.

Extension Upgrade Failed
Download failed - ZIP file is unavailable or malformed

Also, the scheduled jobs for iatapayments fail:

Entity: Job Action: IatsRecurringContributions
Summary
Finished execution of Call Job.IatsRecurringContributions API with result: Failure, Error message: API (Job, iatsrecurringcontributions) does not exist (join the API team and implement it!)
Details

Parameters parsed (and passed to API method):
a:1:{s:7:"version";i:3;}

Full message:
Finished execution of Call Job.IatsRecurringContributions API with result: Failure, Error message: API (Job, iatsrecurringcontributions) does not exist (join the API team and implement it!)

I believe problems must be related. Anyone know how to resolve this? I believe my resource directories and urls are configured properly. Everything is in the right place.

I was able to reproduce your issue and fix it on my Linux install.

It seems to only happen with Linux, not MacOSX.
I can fix it by changing the filename of the job to be first letter caps only, i.e. not camel case. Don't make any other changes.

Following the advice in various other locations, including civix or related issues, does not fix it (shortening, changing to all lower case, etc.).

I think part of the noise of this issue is related to changes in the upcoming v4 api which are not true of the v3 api that were introduced in 4.6.

My suspicion is that this patch is responsible for breaking things:
https://github.com/colemanw/civicrm-core/commit/bfcb4795c83dc61e854f4268ef149b6c761636aa


Why are export field mappings not available for custom search results? When using custom searches such as the Include/Exclude search, the resulting contacts can be exported, but there's no option given to select the fields. Fields to be included in the export file are apparently predefined in the search. That might make sense in some cases, but we have a scenario where the export file is pretty useless. Working around this with a temporary group or tag is a hassle.

Why is it that field mappings are not provided here? And can anybody assess what it might take to alter that behaviour in core, or which follow-up problems that would possibly implicate?

Martin - one of our team had a quick dig. He says there is code that is intentionally preventing this, presumably as there is no presumption on what entity (member/contact/activity) is involved in the search.

Code involved is here: https://github.com/civicrm/civicrm-core/blob/master/CRM/Export/Form/Select.php#L81-L88

If that is enough for you to make a custom change (hack) to your system to get you over the hurdle, then good luck (normal warnings apply ie backup, etc)

If you would like us to work with you to sort this out either just for your situation, or a more generic fix that could end up as a community contribution (change to core, extension etc) then pls get in touch.


Contacts export only contains one entry In CiviCRM 4.7.5 and 4.7.6 (tested in both) we have a problem exporting event participants.

If you 'find participants' > search results screen > select all records, and then click 'export participants' no matter what options you select on the next screen (primary fields vs selected fields), only one record is exported.

The same behaviour happens if you use the advanced search tool to export any list of contacts - eg a list of members, so I think there may be a bug in the search results screen, as this is used by both of the above routes.

Using Event Reports > Event Participant List > Export to CSV will export a full list of participants, but doesn't have our custom fields.

Is anyone else seeing this behaviour / bug?

This was a bug in CiviCRM which has since been fixed. You can upgrade to version 4.7.7 to fix your site.

See https://issues.civicrm.org/jira/browse/CRM-18378


how do you include email as field in all the contribution reports in Civi CRM I am new to Civi and am trying to create reports for a fundraising department. How do you add email (or other columns/fields) to the standard contribution reports.

If you are not seeing an option to edit the report columns/ filters etc you might be missing a permission


clickatell sms "Recipient phone number is invalid or recipient does not want to receive SMS" wordpress 4.9.6 Clickatell 4.1
All was working fine until upgrade to Civi 5.22 and upgrade to SMS API 1.5
(yup in retrospect should have tested separately!)

phone is home-mobile-primary

Looks like sites/all/modules/civicrm/CRM/Activity/BAO/Activity.php is failing in function function sendSMSMessage( because $doNotSms = TRUE; on line 3154. Set it to false and you should be Ok. However, the check will not happen, so all numbers (even Do Not SMS #s) will get the SMS.

The other option is to comment out the following block and add an if block:
/*
    if ($smsProviderParams['To']) {
      // If phone number is specified use it
      $toPhoneNumber = trim($smsProviderParams['To']);
      Civi::log()->debug(print_r($smsProviderParams, true)."\ntoID: $toID\n");
      //echo "<pre>".print_r($smsProviderParams, true)."</pre>";
      $doNotSms = FALSE;
    }
    elseif ($toID) {
*/
    if ($toID) {
      // No phone number specified, so find a suitable one for the contact


How do I find users who haven't opened any bulk mail from me recently? Bounce handling is broken on my site, and so I'm trying to clean my list through several steps.

I'd like to get a list of users who have not opened any mailings in the recent past (say six months).

I keep getting a server error 500 when I try to use the advanced search > mailings tab. But also I suspect that this search will simply give me a list of all contacts who have ever failed to open an email in the recent past, as opposed to the contacts who have never opened any emails.

Is there a way to do this?

Thanks!

I think you may be able to use the Custom Search of Include/Exclude and make a Group that includes those who have opened, so you can 'exclude' them from a search of all possible recipients.


Report error: Bad menu record in database I'm using drupal 7 with CiviCRM 4.4.6

This error appear frequently when I view my report (including dashboard):

Bad item

Array
(
    [path] => /6
)

  Sorry but we are not able to provide this at the moment.
  Bad menu record in database
  Return to home page.

The path "/6" differ according to the report ID.

I'm not sure how this could happen, and when this error appear, all civicrm related functions will show error.

Anyone know what's the problem and how to solve it?

Addition:
After following @Prem Patel suggestion, this is what I found in ***/files/civicrm/ConfigAndLog file

Nov 26 17:17:19  [info] $backTrace = #0 /home/warrior/www/www/sites/all/modules/civicrm/CRM/Core/Error.php(322): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /home/warrior/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(239): CRM_Core_Error::fatal("Bad menu record in database")
#2 /home/warrior/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(72): CRM_Core_Invoke::runItem((Array:1))
#3 /home/warrior/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:4))
#4 /home/warrior/www/www/sites/all/modules/civicrm/drupal/civicrm.module(456): CRM_Core_Invoke::invoke((Array:4))
#5 [internal function](): civicrm_invoke("report", "instance", "6")
#6 /home/warrior/www/www/includes/menu.inc(517): call_user_func_array("civicrm_invoke", (Array:3))
#7 /home/warrior/www/www/index.php(21): menu_execute_active_handler()
#8 {main}

Check after rebuilding the civicrm menu. You will get more details in your civicrm log file. Just enabled the debugging and logging from below link

site-name/civicrm/admin/setting/debug?reset=1

***/files/civicrm/ConfigAndLog


Where do I change the due date for event invoices and can I set a fixed date instead of a variable date? In our case, the invoices are being sent with each "pay later" event registration. The default appears to be 10 days. The client wants to change the date to September 3 of this year. Do I need a new invoice template? Can I do that? Can I do this somewhere in the Event setup for a set due date for all registrations?

There is a setting in Administer > CiviContribute > CiviContribute Component Settings that lets you change from the standard 10 days (you will need to tick the "enable tax and invoicing box to see it). But that doesn't get a fixed date. If you aren't using the invoices for something else then you could edit the "Contributions - Invoice" template in the "system workflow messages" tab in Administer > Communications > Message Templates.  Or if you do use the invoices for other things you could perhaps put some logic in the template to deal with the different cases. Hope that helps.


Add custom fields to cases Have managed to add custom fields to contacts, and have tried to do the same for cases. The option seems to be there, but they do not show up on the page for creating a new case.

I can add custom fields to activities within cases, but I would like them for the overall case itself.

Is there any extension to achieve this/ is there some setting I am missing?
Thanks.

You need to have selected a case type before the custom fields will appear.


Can you import financial data into Sage accounts? I am aware that you can export financial data from CiviCRM as an IIF or CSV file.  Can this data be imported into Sage accounts software?

Does anyone have any experience of this?

Yes we can import data directly to sage but using custom format

I did take a copy of CSV.php file and created a custom_export.php and then did the changes

But you can also directly change CSV.php file and do the required changes - In most case sage file will need only minimum fields like which can do by altering the SQL

Type -  Account Ref - Nominal - Reference - Date - Transaction - Net - Vat - Tax code

If you need more details please let me know - I guess this helps!!!


How do I add a custom Activity with custom fields to an extension? I want to extend my extension with a custom Activity type that has it's own custom fields. The Activity type is not part of a case.

I can not find in civix help and in http://wiki.civicrm.org/confluence/display/CRMDOC/Create+an+Extension how to do that.

Who knows?

And this is an example of a function to create an Activity type

  /**
   * Function to create activity type
   *
   * @param array $params
   * @return array
   * @throws Exception when params invalid
   * @throws Exception when error from API create
   * @access public
   * @static
   */
  public static function createActivityType($params) {
    $activityTypeData = array();
    $params['option_group_id'] = self::getOptionGroupIdWithName('activity_type');
    if (!isset($params['name']) || empty($params['name'])) {
      throw new Exception('When trying to create an Activity Type name is a mandatory parameter and can not be empty');
    }
    if (empty($params['label']) || !isset($params['label'])) {
      $params['label'] = self::buildLabelFromName($params['name']);
    }
    if (!isset($params['is_active'])) {
      $params['is_active'] = 1;
    }
    if (self::getActivityTypeWithName($params['name']) == FALSE) {
      try {
        $activityType = civicrm_api3('OptionValue', 'Create', $params);
        $activityTypeData = $activityType['values'][$activityType['id']];
      } catch (CiviCRM_API3_Exception $ex) {
        throw new Exception('Could not create activity type with name ' . $params['name']
          . ', error from API OptionValue Create: ' . $ex->getMessage());
      }
    }
    return $activityTypeData;
  }


Limit is ignored in civicrm_api3('Membership', 'get') Can anyone explain why limit here has no effect?  Still get 25 results every time.  Also tried 'api.Contact.get' => array(array('limit' => 1000))

Using offset to recurse through the set works but is a nuisance.

 require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-content/plugins/civicrm/civicrm.settings.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-content/plugins/civicrm/civicrm/CRM/Core/Config.php';
 $config = CRM_Core_Config::singleton( );
 require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-content/plugins/civicrm/civicrm/api/api.php';
 $result = civicrm_api3('Membership', 'get', array(
    'membership_type_id' => "$level",
    'limit' => 1000,
    'api.Contact.get' => array(),
 ));

You need to use options.limit to make this work.

  options.limit : The maximum number of records to return. You can make this unlimited by setting the value to 0.

Usage

$result = civicrm_api3('Membership', 'get', array(
  'membership_type_id' => "$level",
  'options' => array('limit' => 1000),
));

Get more details on the different parameters you can use under options.

Also check : How do I get more than 25 records from the API?


Unable to update participants using civicrm api? Instead of updating the Participant,its creating new participant.I need to change participant status from registered to attended and vice versa.

civicrm_initialize();
  $result = civicrm_api3('Participant', 'create', [
  'id' => $entity_id,
  'contact_id' => $context['civicrm_participant']->contact_id,
  'event_id'   => $context['civicrm_participant']->event_id,
  'status_id' => "Registered",
]);

I am executing the above code in the hook_action_info() drupal 7 using views bulk operations & custom entity module

function custom_changes_action_info() {
  return array(
     'custom_changes_actions_participant_status_attended_action' => array(
         'type' => 'civicrm_participant',
         'label' => t('Change Participant Status to Attended'),
         'configurable' => FALSE,
         'behavior' => array('changes_property'),
         'triggers' => array('any'),
     ),
      'custom_changes_actions_participant_status_registered_action' => array(
         'type' => 'civicrm_participant',
         'label' => t('Change Participant Status to Registered'),
         'configurable' => FALSE,
         'behavior' => array('changes_property'),
         'triggers' => array('any'),
     ),
  );
}

function custom_changes_actions_participant_status_attended_action($entity, $context = array()) {

  $entity_id = $entity->{$info['entity keys']['id']};

  civicrm_initialize();
 $result = civicrm_api3('Participant', 'create', [
  'id' => $entity_id,
  'contact_id' => $context['civicrm_participant']->contact_id,
  'event_id'   => $context['civicrm_participant']->event_id,
  'status_id' => "Attended",
]);
  //drupal_set_message($entity_id. 'entity_id');
 // $base_url = str_replace('_', '-', $context['entity_type']); // civicrm-participant
  //civicrm_entity_drupal_goto($base_url . '/' . $entity_id . '/edit');
}

Since you are passing $entity_id to id in participant params without checking it to be not empty. If $entity_id is empty then new participant will be created else it will be updated. Make sure your id is set before calling to participant api if you want to update the participant

Cheers

Pradeep


How do I use the API to check MembershipType and "active" status? I've been tinkering with API explorer and examples https://github.com/civicrm/civicrm-core/blob/4.5/api/v3/examples/ but can't find a solution.

Via Smarty I'm looking to print some text "blah blah blah" via the .tpl of a Donation (Contribution) Page if the current viewer of that page has:

a membership of a certain type (example: "1")
that is "active" (current or new status)

Note that this contribution page is not membership related, it is for donations.

Can someone please point me in the right direction?

I assuming you're doing this with a .tpl.extra file. I tried mocking this up in the API Explorer and found a couple shortcomings, namely the lack of support for arrays in smarty, and the inability to set a contact ID field to the magic "user_contact_id" value. Here's a fix for both those issues.

The upshot is you can now do this:

Instead of the boilerplate {foreach} loop you can do a simpler conditional. Here's the full code you would use:

{php}
  $this->assign("param_status_id", array('IN' => array("New", "Current", "Grace")));
{/php}
{crmAPI var='result' entity='Membership' action='get' contact_id="user_contact_id" membership_type_id=1 status_id=$param_status_id return="id"}
{if !empty($result.values)}
  Blah blah blah...
{/foreach}


Identifying contact voting district from KML data or from state website we use civicrm for a political org, and I'm trying to find out how to add voter district information to contacts in database.

The state doesn't have a public API from what I can tell. They have this website: http://whosmy.virginiageneralassembly.gov/, but getting the info out of this site would require some python scripting, and I don't know how to automate the export and reimport of the contact records.

There are KML files available from the census (https://www.census.gov/geo/maps-data/data/kml/kml_sld.html) that provide the boundaries for the districts. I'm wondering if anyone has advice on modules or approaches to take a contact's geocode address and determine which district boundary it falls in.

Thanks,

Google’s Civic Information API returns information about federal, state, local governments, school districts, etc. It takes as input an address string (not a lat/long pair). An API key is needed, but it’s free to obtain and use. In what little experimenting I’ve done recently, average latency has been ~350 ms.


How can I import the "communication style" field when importing contacts? In my csv I have a field named "Communication style", which I wish to map to the respective field in "communication preferences" for each contact in CiviCRM (formal / familiar).

Yet, while importing the constituents, on the "match fields" step 2, I don't see the "communication style" option in the drop-down.

Which is the way to do this matching?

From communication_style_id not fully supported in issues.civicrm.org:

  Unfortunately, support for this field is not completed: We can enter it,
  export it and search after it using the search builder, and use it within
  profiles.
  However, it also should be implemented for:

    Importing of contacts
    Advanced Search


can't "enable" a disabled event -- the "More" dropdown seems to be hidden behind other events and isn't clickable? I'm trying to "enable" a disabled event in CiviEvent but the user interface doesn't let me click the "Enable" item in the "More" dropdown menu. It's like it's grayed out and hidden behind the other elements.

I've tried both Firefox and Chrome and had the same problem in both.

I've tried and failed to reproduce your experience, I suspect it's specific to your "theme".

Here are a couple of other strategies:

Use an administrator theme for the CiviCRM administrative pages.
Shrink your content using the browser zoom (e.g. for chrome, "Ctrl -").


Event Registration - Require Payment I have a CiviCRM deployment using Pricesets and multiple participants.

Currently, a user is allowed to simply "hit next" without entering any values under the priceset options and register themselves for $0.00.

Would selecting "required" under all the different price-set options address this issue?

I see your price set has integer fields for each, presumably so someone can say 'i want 2 of this one and 5 of that one' but that presumably is not collecting you the data about each Participant. If that doesnt matter then yes, set each field to default to 0 (perhaps) and make each required. But if in registering multiple participants you want to know that John's ticket is $500 and Mary's is $2000 then I think you need a price set that is just pure radio buttons (and set as required) then when filling in the form they would enter number of participants, and hence fill in name and price for each one on subsequent windows. hope that is clear. can flesh out if not.


"Site can't be reached" error during CiviCRM Joomla install When I try to "Install from folder" (CiviCRM 4.7.15) on Joomla (3.6.5) I get the error "Site can't be reached." I've tried the troubleshooting tips listed here: https://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+Joomla#InstallingCiviCRMforJoomla-5.Trouble-shootingResources

But to no avail! I've also noticed that if I have my FTP client open and connected to my server, it gets disconnected at the exact same time that the install fails (about two minutes into the process). I then usually have com_civicrm folders in my Components and Admini/Components folders and a civicrm folder in my media folder, and one time I had civicrm in my plugins folder and it was working, but because I didn't get a confirmation screen I tried to reinstall properly and now nothing works!

Thanks for any help!
John

It turns out that I needed more privaleges on my MySQL account, ones that my host did not give me the option of enabling. Here is the list of requirements: https://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+MySQL+Permission+Requirements

My host wouldn't let me do Triggers or create routines, so I had to switch hosts and it now works.
In case anyone is reading this with the same problem, I looked for hosts on CiviCRM.org to find one that was compatible, and they were able to transfer me over and assist with the install for free with a new registration.


How can we add case details and filtering to the CiviCRM dashboard? In future CiviCRM versions would it be possible to added extra functionality to the civi case dashboard, specifically allowing the dashboard to use filters to display the data, e.g. order by contact name alphabetically.

It's opensource, whatever you want today you can change... provided you implement the change you want.

As for future versions... well, the future isn't written, so if you are willing to code or fund the changes you want, the answer is "yes", to whatever you make happen.


CiviDiscount - Automatic discounts for number of attendees I have a site that's using CiviDiscount and the question has come up if advanced filters for automatic discounts can be configured based on number of attendees being registered for an event, irrespective of membership type/status or contact type, etc.

Example

Single ticket @ £75
10 tickets @ £60/ticket

So once 10 participants added, I'd like an automatic discount (let's say 20%) applied.

I want to the extra participants registered so a price set won't work. I know there's potential workarounds in terms of using a price set and using custom fields etc. but thought it's worth asking the question.

Any guidance hugely appreciated.

Many thanks

this can be achieved using an event price set. If you create a price set you can create a ticket option which takes up multiple "seats" at the event. You can create a 10 person ticket option and then set the price of that option.

Note however in that approach you cannot require that all 10 attendees submit separate registration details and you can only collect the details from the first participant who is buying the 10 person ticket.

Best


Birthday only Month and Day We only have month/day data for most people. How can I change the format for the constituent profiles to just do month/day?

When we just have the month/day for the birthdate we set the year to a generic year like 1900. You still are able to get your birthdate notifications and run all the reports you want. It's just that the calculation of the contact's age will be wrong. We use a year that would make the person VERY old so that we know that the year is not known. It has worked for us without any issues.


Can we manually change recurring payment subscription statuses in the database if they're no longer linked to their original membership? We have ended up with about 30 recurring payment subscriptions in Civicrm that are either not connected any longer to their corresponding ARB in Auth.net, or they are no longer connected to to the membership they originally belonged to. (Because someone has cancelled auto-renew on the membership without attending to the recurring payment.)

So, my question: How can we edit Recurring payment subscription statuses when they have become dysfunctional in relation to Auth.net or to their original membership?

The best way I can think of would be to go into the database and change the relevant recurring payment subscriptions' contribution_status_id to whatever is appropriate. Most of the time this will be the status id for cancelled.

Will I get away with this? Remember, the subscription is already dysfunctional. I'm aware that if I changed this on a functioning subscription havoc might occur.

One thing that may be relevant... as I mentioned above, there are situations in which we have a functioning ARB in Auth.net, a corresponding and functioning Recurring Payment subscription in Civi, but which is no longer linked to the membership that created it, cos that membership is no longer in auto-renew state. So Auth.net will be pinging this Recurring payment subscription in Civi... the money just won't be getting allocated anywhere.

Would that be a problem?

I'd like to be able to set these subscriptions' statuses to 'cancelled' even though they're active, since they no longer relate to a membership (we then report on them manually).

Or is there a better way to accomplish all this? Thanks for your help!

More frequently than not I find myself tweaking records in civicrm_contribution_recur precisely for the reasons you mention.

You will need to be sure, however, to account for any amounts not collected and perhaps create new recurring contributions or pledges so that those amounts are not entirely lost. Depending on how payments were recorded after the subscriptions became dysfunctional, this might be a lengthy task.

In the case of dysfunctional subscriptions, updating the the contribution_status_id to whatever is appropriate should not impact anything else.

Regarding recurring contributions associated with memberships - contributions per force must have a financial type, this would be the financial type used to create the subscription, so there should never be a case where money doesn't get allocated somewhere, there would indeed be a problem on reporting financials if this were not the case - could you clarify further?

Hope this helps,
Tamar


Has anyone had any success integrating CiviCRM into Craft CMS? We have a potential client whose site is currently using CiviCRM and Drupal. They are interested in using Craft CMS. I've researched other CRM plugins for Craft similar to CiviCRM but they do not exist. We would like to stay with CiviCRM but has anyone had any success integrating the two?
Thanks
S.

I would strongly expect the answer to be No simply because integrating with a CMS is a big task and the only 3 that are officially done are WP Joomla and Drupal as I am sure you are aware. There are however solutions for having CiviCRM separate from a CMS but still have forms etc available eg
Remote Forms
CiviCRM Modular Remote-Access Framework


When editing my own profile visible under my contact dashboard, it does not enter CiviCRM "civicrm_post"API hook? When I try to edit my profile fields from my own contact dashboard as seen in the two images attached and click save, It does not seem to invoke civicrm_post hook in WordPress instance.

add_filter( 'civicrm_post', 'alter_profiles_event', 10, 4  );

function alter_profiles_event($op, $objectName, $objectId, &$objectRef){
   if ($objectName == 'Profile'){
    print_r($op);
    print_r($objectRef);
    die('ed');
    //does not enter here.
   }
}

How can I make sure the hook is invoked?

Add following line before add_filter function:

require_once(ABSPATH . 'wp-includes/pluggable.php');


Can you change multiple price set selections at one time? Lets say for example - you wanted to change 30 people from one price set option to another. Similar to how you could change the amount for multiple participants. Could you do that - or would you have to manually change those selections.

Probably the simplest approach would be to

find the participants you want to change
export those participants with the following fields: Event ID   Participant ID  Participant Status Id   Fee level   Fee Amount
Open the resulting CSV file and change the Fee Level column accordingly. You may need to experiment a bit if you have multiple fields in the price set, but if your selection is a simple radio button, just use the label for the selection you want to change it to. The export file will have the amount selected after the fee label (i.e. "Full Fee - 1"), but your changes should only use the label exactly as on the price set "Full Fee".
Also change the Fee Amount accordingly.
Save the file and Import Participants using the Update option for duplicates.

Note that this will not update any related contributions or payments.


Initialization error after moving installation of CiviCRM for Wordpress from localhost to Server I've just moved an installation from my localhost setup to my server on Nearlyfreespeech.

I've moved everything over and changed everything having followed this tutorial.

I initially got an error related to the civicrm.setttings.php file. I fixed this by following this advice.

Now I'm getting another error. It says 'Initialization Error' Warning: fopen(/home/public/wp-content/plugins/civicrm/../files/civicrm/ConfigAndLog/CiviCRM.f446a1fd9c619d6abf51f11bf29f358c.log): failed to open stream: Permission denied in /home/public/wp-content/plugins/civicrm/civicrm/packages/Log/file.php on line 216.

Full error at the url: http://logistics.nfshost.com/

Thanks for any help!

might want to delete the contents of the ConfigAndLog directory and start clean on the new server:

% rm -rf /home/public/wp-content/plugins/files/civicrm/ConfigAndLog

You probably need to root access and/or do the above operation as your webserver userid (which probably is the owner of the aboe directory)


Documentation on email templates I'd like to customize the event registration email. When looking at the template, I see things like

{capture assign=headerStyle}
{capture assign=labelStyle }

I haven't been able to find information about what these lines do. I'm going to guess its adding generated markup. Could someone provide some guidance?

Or, if anyone could tell me where headerStyle and labelStyle is configured, maybe I could figure it out by looking at that.

Thanks for your help!

The answer:

These lines allow CiviCRM tokens to be available to Smarty functions. The headerStyle value is contained within the {capture} item.

Documentation found here:

CiviCRM Wiki: Smarty in email templates
Smarty docs: {capture} tag


How can I import Memberships without e-mail addresses or external IDs? We are transitioning a small organization to CiviCRM 4.5, with about 2000 total contacts and about 150 memberships. The contacts imported without any problem, but when we went to import the memberships, we found that CiviCRM required either an e-mail address or an external ID.

About half of the members do not have an email address, and since the old membership system was a combination of Excel files and offline physical media, they have no unique membership numbers or other identifiers. All of the firstname+lastname combinations are unique, so we thought that should be sufficient, and we have the deduplication rule set to that effect elsewhere, but it seems to be inadequate for membership imports.

We don't want to be in the business of creating dummy email addresses, so it seems we must manually assign an external ID to the old contact list and the membership list, then reimport both in turn. But is there an easier workaround— some way to use Firstname+Lastname as the unique identifier? Or is there another "best practice" we could adopt here?

Here's an idea:

Import contacts (as you have already done)
Export the contacts you just imported, selecting the at least the following fields: contact ID, first name, last name
Use spreadsheet formulas to match the ID up like this:

Add a new sheet in your memberships spreadsheet
Paste in the exported data
Add a new column to the left (can't be right) of your exported data, and call this column "name".
Create and fill a formula for the name column to concatenate the first and last name (e.g. =C2&" "&D2 will concatenate the contents of cells C2 and D2, with a space in between.)
In your memberships sheet, create a new column called id, and create a formula like =VLOOKUP(A2,Sheet2.A$2:D$10000,2,0).

A2 is for the column in your memberships sheet that contains the full name. If you have two columns, then you'd want to write something like C2&" "&D2, as we did before.
Sheet2.A$2:D$10000 is an absolute reference (dollar signs so it won't change when formula is filled downwards) to the range containing all the ID reference data. I wrote 10000, but make sure you use a number large enough to encompass the whole data set. Note that Sheet2 is the name of the sheet.
2 is to say that the value you want to pull into your memberships sheet is the second column from the left in your ID data.
0 is to say that you want the VLOOKUP function to give you "#NA" if it can't find a match instead of the (terribly chosen) default behavior of picking the nearest match.

Export memberships spreadsheet to CSV, and then try importing into Civi using the ID values that you pulled in

(These formulas should be correct for LibreOffice, but may need to tweaking for MS Office, with which I'm less familiar.)


Users denied unsubscribe function Using CiviCRM generated URLs in the mandatory footer of a Civimail bulk mailing users are presented with error:
CiviCRM
You do not have permission to access this content.
The url form is:
https://example.org.uk/civicrm/?civiwp=CiviCRM&q=civicrm%252Fmailing%252Funsubscribe&reset=1&jid=8909&qid=254938&h=7be20f8b9c9c9389
Why are users being denied access?

Welcome to civicrm SE, Can you make sure if you have 'CiviMail: access CiviMail subscribe/unsubscribe pages' permission set to anonymous and autheticated sure?
Can Check under CiviCRM >> Administer >> Users and Permissions >> Permissions (Access Control) >>  WordPress Access Control


How to get php $_SESSION variable inside a template I am setting $_SESSION variable inside a payment response file and need this to display on Thank you page. Somehow nothing seems to work so far.

Tried following things:

$_SESSION['test'] = 'Hello World'; // Inside payment response file

Need this in confirm.tpl file. Tried

{$session->get('test') // does not work
{$smarty.session.test} // does not work

Tried so many other things but nothing seems to work. Also, it's not working for any other variable like $_SERVER, $_POST etc.

Any ideas?

Try following:

    // php code;
        $_SESSION['test'] = 'Hello World';

    // assign 'Hello World' to .tpl
        $this->assign('test', $_SESSION['test']);

    // use '{$test}' following in .tpl file to display on Thank you page, For e.g

         {$test}	 // this will print 'Hello World' on page


CiviCase Permissions So I am very new to both civicrm and Drupal, but I have read the setup and can’t seem to get the permissions to work for Civicase

Obviously my administrator account - it all works. I created a second user ( and yes I made sure the user was in both civicrm and drupal ) I get access denied for my other user and really the only permission for civicase that is different is seeing only my cases is checked for the standard user, and all cases is unchecked - can someone give me a basic persmissions list to make this work.

See Problem with CiviCase, which is scheduled to be fixed in version 5.6 as per the comments there.


opt-in to receive updates We all know GDPR is coming. I currently use drupal webforms with civicrm processing enabled. I use the privacy option to allow people to tick a box to opt out of receiving email update eg the person fills out a survey but doesn't want to be contacted, they can tick the box and it fills out the user opted out box on their record.

With GDPR this will be the wrong way round. I have to ask the user to tick a box to stay in. Obviously I can do this by creating a custom field and then unsubscibing those that don't, however I'm keen to do this automatically. I am aware there is a new extension being developed by Veda Consulting ( :) ) however it doesn't look like this deals with this? For clarity I am looking for general opt in rather than group opt in.

How are other people planning to deal with this? Am I missing something obvious in drupal webform?

Thank you!

Caroline

Sounds like you have an unusual use-case where you are in the habit of sending emails to every contact in your database. More typical uses of CiviCRM involve sending mailings to one or more groups of contacts. The Webform-CiviCRM module accommodates this nicely - add the Groups field to your webform (e.g. user-select) and then edit that webform field to only show the group(s) that are relevant to receiving mailings. Each group will appear as a checkbox on the form. After submitting the form, if the user selects a mailing group they will receive an email confirmation; they will not be considered as part of the group until they confirm by email. This is called "double opt-in" and is consistent with most anti-spam laws.

There is no setting in Webforms to control this behavior, the settings are in CiviCRM. To ensure your group subscriptions get double-opt-in, do the following:

Make sure it is considered a mailing group by CiviCRM (go to Manage Groups screen to confirm this).
Go to Administer -> CiviMail -> CiviMail Component Settings and make sure the first option on that screen "Enable Double Opt-in for Profile Group(s) field" is enabled.


How to extend end date limit for Membership? When creating/editing membership. End date is limited to 2026 (you cannot choose it in pop-up calendar and if you try to write the date yourself(exceeding the limit) php will not let you do it. which is not enough. The end date limit must be at least 50 years more. civicrm/admin/setting/preferences/date?reset=1 is not the page that is needed.
Where would I be looking for things like that? Can I configure it through the website itself, or do I have to go look at the source files?

I just replicated this problem - but I was able to successfully change the end date limit on the "Date Preferences" page that you said wasn't working.  Under Administer menu » Customize Data and Screens » Date Preferences, you can change the "activityTime" values and this will update the Membership end date.

The language on the page is a little vague:

  Date for activities including contributions: receive, receipt, cancel. membership: join, start, renew. case: start, end.

IMO it should read:

  Date for activities.  Also the date for contributions (receive date, receipt date, cancel date), memberships (join date, start date, end date), and cases (start date, end date).

Regardless, here's screenshots proving I've extended the end date from 10 to 15 years:


What is the best practice to change Email Address I use Webform Integration to access/update contacts informations.

Is it a good practice to use a Webform to modify a contact email address ?

What matching rule should I use ? What if an other Contact already has the new mail address ?

Will the modification be updated for the pertaining Drupal User ?
What if there is no pertaining Drupal User ?

Here is what we usually do :

either let people change their information by logging in the system, either after sending an email with a checksum link to let them update their own information. You can use a webform but in that case, you don't have to worry about the matching rule (i.e. you match with the user logged in or the checksum)
for anonymous form, i prefer to use Email + First Name as a matching rule as it is quite unlikely in most case that people with the same email will have the same first name.
the synchronisation between Drupal user email and CiviCRM contact email is not automatic and you will have to set some process to synchronize the 2. You might want to bloc edition of Drupal email and add a Drupal Rule to push master CiviCRM email into drupal account. I usually have my own custom code for such a thing.


What are the files and fields in CiviCRM? An organization I volunteer for is considering this software solution. I need to see the files and fields in those files to see how they match to our current system. A brief description of the purpose of the file would be appreciated also. We have about 70,000 records. I'm a software developer, so detail would be appreciated. A large percentage of our records are imported from a voter file provided by the Secretary of State, so voter info needs to be captured. These would need to be matched to the current file and data replaced.

I'm also interested in

match/merge of duplicate records;
capabilities of selecting subsets of contact files based on things like member type, zip code, has email address (or not);
import and export capabilities;
custom fields - how easy to add and maintain?.

No doubt I'll have more questions after I learn more.

Sounds like you're new to CiviCRM - Welcome to the community. Here's a link to the CiviCRM data architecture page on the CiviCRM wiki.

You can create multiple custom fields in CiviCRM so you should be able create the fields you need for your existing data. During import you can choose which fields get imported and which CiviCRM field they get mapped to.

For match/merge of duplicate records - see: Deduping and Merging

For capabilities of selecting subsets of contact files based on things like member type, zip code, has email address (or not) - see: Searching and Groups & tags

I've mentioned import already - there there various way to export data, including Exporting Contacts

You should try out the demo(s) or better still, download it and create a sandbox to explore CiviCRM's functionality.


Can't send individual emails from contact record When trying to send an email from an individuals Contact Record I am getting a pop-up with the following error listed.

I can send bulk emails to a test group and when I test the outbound email settings the system is sending me an email saying the settings are correct.  I have searched for an answer to this issue but can't find anything related to the error message.
Any assistance would be appreciated

Take a look at https://lab.civicrm.org/dev/core/-/issues/2220 - we never figured out why on some sites it doesn't load the defaults. But you can manually set it with e.g.
cv ev "Civi::settings()->set('simple_mail_limit', 50);"


Assign civi group by membership subscription? Is it possible to automactically assign contacts to a civi-group by membership subscription?

Then when membership expired or remove contacts will be remove from that group?

We need it for our joomla website so we can assign user to a joomla group by this plugin here https://github.com/lcdservices/CiviCRM-Group-Sync (we tried using civi-authenticate plugin for joomla, but thats dont work properly)

We are struggling, so will appreciate any help.

Thanks
Julash

in principe you could do that with the CiviRules extension (which you can get from https://civicrm.org/extensions/civirules). With this extension you can set up a trigger 'new membership' (or possibly a change of membership status?), add a condition for the specific membership type if required and add an action to automatically add the contact to a group.
There is a cookbook on CiviRules on the Wiki documentation: http://wiki.civicrm.org/confluence/display/CRMDOC/CiviRules+Cookbook


How do I restore a default report template? Using WP and current CiviCRM.
We changed a default Report Template.  Is there a way to restore a default report template?

Don't know a way through the UI, but I think you could do it through SQL.

The default reports appear to be defined in xml/templates/civicrm_navigation.tpl, which in turn gets copied into sql/civicrm_data.mysql.

You might make a new instance with the default settings by copying the definition:

Open sql/civircm_data.mysql and search for civicrm_report_instance. Find the INSERT statement which corresponds to your report.
Copy the INSERT statement into a text editor.
Change @domainID to 1 (unless you have a special/multidomain system; then adjust accordingly).
Open your MySQL tool (e.g. mysql cli or phpmyadmin) with an appropriate user+database.
Paste and execute the INSERT statement.

If you want to reset the existing report and know a bit of SQL, then you can massage the INSERT and produce an UPDATE for the existing report.


Getting CiviCRM resources to load on the Joomla frontend I have created an Event in CiviCRM and it all worsk fine in the Administrator side of Joomla when I test the Online Registration page. I have a price set of various ticket prices and the total adds up to the values as you would expect.

When I go the Registration(Live) page (i.e. the front end of Joomla) there is no Total Price text box, and the none of CiviCRM resources seem to load.  The browser console is full of 404 Not Found errors for the CiviCRM scripts.  On checking the path on the console the browser is trying to load the scripts from "/components/com_civicrm/civicrm/" instead of "administrator/components/com_civicrm/civicrm/".

This is a fresh install on CiviCRM 4.7.17 on Joomla 3.6.5.

What have I missed in the setup to get the CiviCRM resource loading from the Joomla frontend?

I found that on Joomla the default value for CiviCRM Resource URL (on Administer > System Settings > Resource URLs), which is [civicrm.root], doesn't work. For me, using a relative path for CiviCRM Resource URL does work:

administrator/components/com_civicrm/civicrm/

See also the answers to this question and the work being done by Coleman, but that patch didn't work on Joomla when I tried it.

EDIT: As of 4.7.17, the default setting of [civicrm.root] appears to work properly now.


Receipt template formatting (still) broken? We've upgraded civicrm multiple times the last few years. At a certain point, the receipt templates broke. It stopped showing credit card information and membership start/end date (for membership receipts) became blank.

I've just reverted 'back' to the default templates, assuming that default is the same as the most recent version of civicrm (so, not the 4.5 default we started with, but the 4.7 default we are at right now). But these fields are still broken.

So perhaps these are not the most recent templates. Are there more recent templates I can download somewhere ?

Particularly, I see

<td {$valueStyle}>
{$mem_start_date}
</td>

Shouldn't that be

<td {$valueStyle}>
{$mem_start_date|crmDate}
</td>

Or even

<td {$valueStyle}>
{$mem_start_date|truncate:10:''|crmDate}
</td>

and

 {$credit_card_type}<br />
 {$credit_card_number}

prints nothing but blanks, as does

 {$credit_card_exp_date|truncate:7:''|crmDate}

You should be able to find the current template files in the repository (https://github.com/civicrm/civicrm-core).  It's not clear whether you're on 5.x or in fact still on 4.7 but previous versions should be available as well for you to pull from.


Can I add phone number as a searchable field on Advanced search Page? We are currently running on civiCRM version 4.1. Can I add phonenumber as a searchable field on Advanced search Page?

Sure thing. Just upgrade to version 4.4 or later and it will be there :)


Get or generate a contact checksum via API? Is there a way to view or generate a Contact's checksum via the REST API?

I'm looking to use the checksum to provide relevant form links, etc., but need to get it programmatically on a Contact basis.  Any and all insight is appreciated. Thanks!

I have never seen the checksum available in the API.

I have successfully obtained it programmatically though with code similar to:

$cs = CRM_Contact_BAO_Contact_Utils::generateChecksum($contact_id);

(This snippet is adapted from core code in CRM/Utils/Token.php)


Error when accessing Activities for contact (after upgrade to 4.7.2) When a management user tries to open Activities tab for a contact he gets error message

Error that I see when I try to trace it:

API permission check failed for Case/getcount call; insufficient permission: require Array

That affects users with particular role (works fine for administrator) and appeared after upgrade to 4.7.2

I just tested the same condition against a Plan copy of CiviCRM Version 4.7.2

I can View the activities without any error - so please try disabling all the installed extension first and try the same if you are still getting an error then - Try to install an Plan copy and test it again


Changed URL- and getting errors I'd installed my WP like this:
www.original_domain_name.com/wordpress.
Now I've changed the index.php to call the installation under www.original_domain_name.com (i.e. so that it shows as a root URL) - no moving files/databases etc.. That works fine and e.g. CiviCRM profiles are being shown correctly under e.g. www.original_domain_name.com/profile

Second change - I've added a new domain name, and while everything displays fine when not invoking CiviCRM, I get following error when e.g. profiles are supposed to be displayed -> e.g. www.new_domain_name.com/profile

Could not find the required contact id parameter (id=) for viewing a contact record with a Profile.

Is there anything I need to change to reference the new www.new_domain_name.com?

Cheers

Yes! Update the contents of your civicrm.settings.php file.

Then clear cache in CiviCRM.

Then clear your browser's cache.

[But my gut tells me that that error is unrelated.]


After Upgrade to 5.10 unable to close Case I get yellow screen with message as One of parameters (value: 2019-02-13 00:25:00) is not of the type Timestamp when i close the ongoing case. This use to work on 5.9.0 but recent upgrade to 5.10 stopped working. Any clue?

Yes, this is a regression bug caused due to recent change to datetime on Activity forms. This is now fixed at PR#13497 and should be part of 5.11 release. You can either wait for 5.11 release or apply patch from here.

Thanks

Pradeep


CiviMail Report - Administrator Permission Problem I'm using CiviCRM 4.7.20, but the problem showed up at some point while I was using 4.7.11. I'm using the current version of WordPress. I'm the administrator and used this userID/password to upgrade to 4.7.20, hoping this problem would go away. WordPress Users shows that I'm the administrator. At some point, the Report links on the CiviMail Report screen, started giving me: "Sorry but we are not able to provide this at the moment. You do not have permission to access this page." I can still access the Advanced Search links on the same screen. What's going on??

I'm using the WP Members Plugin, but disabling it doesn't help. I've gone into WP Roles and made sure the Administrator is granted every permission and denied nothing. What's going on??

Here's the backTrace I get from clicking on menu item: Mailing Reports

#0 /home/mysite/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(374): CRM_Core_Error::backtrace()
#1 /home/mysite/wp-content/plugins/civicrm/civicrm/CRM/Utils/System/WordPress.php(354): CRM_Core_Error::fatal("You do not have permission to access this page.")
#2 [internal function](): CRM_Utils_System_WordPress->permissionDenied()
#3 /home/mysite/wp-content/plugins/civicrm/civicrm/CRM/Utils/System.php(74): call_user_func_array((Array:2), (Array:0))
#4 /home/mysite/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(230): CRM_Utils_System::__callStatic("permissionDenied", (Array:0))
#5 /home/mysite/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(230): CRM_Utils_System::permissionDenied()
#6 /home/mysite/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:14))
#7 /home/mysite/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:3))
#8 /home/mysite/wp-content/plugins/civicrm/civicrm.php(1227): CRM_Core_Invoke::invoke((Array:3))
#9 [internal function](): CiviCRM_For_WordPress->invoke("")
#10 /home/mysite/wp-includes/class-wp-hook.php(298): call_user_func_array((Array:2), (Array:1))
#11 /home/mysite/wp-includes/class-wp-hook.php(323): WP_Hook->apply_filters("", (Array:1))
#12 /home/mysite/wp-includes/plugin.php(453): WP_Hook->do_action((Array:1))
#13 /home/mysite/wp-admin/admin.php(222): do_action("toplevel_page_CiviCRM")
#14 {main}

I fixed it. At some point I disabled the CiviReport component of the system. I didn't know I needed CiviReport to look at that part of CiviMail. A better error message would be nice!


Civicrm update failed - from 5.19.2 to 5.29.0 - Drupal7 error log - page not found Update failed - Get initial upgrade screen with message template warnings & The database will be upgraded from 5.19.2 to 5.29.0.. ..see screenshot of following page when I click "Upgrade Now". Screen distorted (see below) and stops. Upgrade doesn't work.
Drupal error log - first of many messages - "page not found"
Example:
LOCATION    https://mysite.org/drupal//home/mysite/public_html/drupal/sites/all/modules/civicrm/bower_components/jquery-ui/themes/smoothness/jquery-ui.min.css
REFERRER    https://mysite.org/drupal/civicrm/upgrade?reset=1
MESSAGE home/mysite/public_html/drupal/sites/all/modules/civicrm/bower_components/jquery-ui/themes/smoothness/jquery-ui.min.css

check you drupal directory path in your apache/nginx conf. If its different than 'home/mysite/public_html/drupal' either you can change in apache/nginx conf or replace $civicrm_root and template_c path in civicrm.settings.php
Or add below line at the end of the file in civicrm.settings.php
global $civicrm_paths;
$civicrm_paths['civicrm.root']['url'] = CIVICRM_UF_BASEURL . 'sites/all/modules/civicrm/';

NOTE: make sure you have '/' at the end for CIVICRM_UF_BASEURL value.


How to autofill/autopopulate profile forms? I created a public profile form with fields First Name, Last Name, email, and I'd like those fields to be auto-filled when a contact is logged in.

I thought it was supposed to do this by default, but it does not seem to in both the official demo Civicrm or my local.

Here is a link to a public profile I created on the CiviCRM, but this link will die when the demo site resets.  http://d45.demo.civicrm.org/civicrm/profile/create?gid=15&reset=1

I think the issue is purely to do with your URL - you have the 'create' link - which is intended to provide an empty set of fields.

If you change to http://d45.demo.civicrm.org/civicrm/profile/edit?gid=15&reset=1 you should see the data pre-filled


Civisualize not reporting Gender Civisualize seems to be reporting on most things, however the Gender report shows a green circle with 99% but no breakdown of gender even though we have male and female members. Any ideas?


Is there a problem with the REST interface on CiviCRM API? I have the CiviCRM API REST interface working fine for retrieving Case information for individual cases. But I'd like to use the options features options.limit and options.offset so I can retrieve data page by page from CiviCRM in response to a search. But whatever I try, nothing seems to alter the limit and the offset numbers of the retrieved records. Only the first 25 records are returned, ie the default number. Has anyone else had a similar problem?

The json payload looks like this:

json={
"return":"id,custom_116,custom_16",
"custom_116":{"IS NOT NULL":1},
"options":{"limit":100,"offset":100}
}

This is the REST format suggested by the API explorer (v3).

Am I doing something wrong? The search criterion ("IS NOT NULL") is ignored as above, but searches works correctly when not in object format, eg "custom_116":"StringToSearch". The limit and offset parameters are also ignored. So it seems likely that the problem is to do with the object format for these parameters. Any ideas? Or is there an alternative way of formatting the query json? Thanks.

CiviCRM 5.9.0
Joomla 3.9.1
php 7.0.31

In the end, I was only able to make it work by using array notation. Some examples below. All these worked in the array notation on the right, but not in the object notation on the left:
"options": {"limit":"100","offset":"100"}  --->  "options[limit]": "1","options[offset]": "100""custom_1": {"IS NOT NULL":"1"}  --->  "custom_1[IS NOT NULL]": "1""custom_1": {"LIKE": "%stringtosearch%}  --->  "custom_1[LIKE]":"%stringtosearch%"So in my case my json payload looked like this:

json = {
      "return": "id,custom_116,custom_16",
      "custom_16[IS NOT NULL]": "1",
      "custom_15[<>]": "",
      "options[limit]": "50",
      "options[offset]": "50",
      "options[sort]": "id"
    }

Next task is to work out how to convert the OR option into array notation:"options":{"or":[["custom_15","custom_16"]]}  ---> ???


some recurring contributions linked to memberships are not moving on the membership end date I'm working with @wmortada debugging some recurring contribution membership renewal issues.

We have lots of memberships with recurring contributions but some of the memberships are not updating as expected when the recurring contribution is received.

The memberships that were not updating were not linked to the recurring contributions via the civicrm_membership.contribution_recur_id field. So we added recurring contribution the link manually. My assumption was that when a contribution for a recurring contribution linked to a membership in this way is received, it would be linked to the membership. But this is not happening for those where we added the field manually.

As a result (as I understand it) CRM_Contribute_BAO_Contribution::updateMembershipBasedOnCompletionOfContribution() is unable to find the related membership and update the membership end date.

We are using @artfulrobot's GoCardless extension for the recurring contribution. CRM_GoCardless_Page_Webhook::doPaymentsConfirmed() calls civicrm_api3('Contribution', 'repeattransaction', $contribution); passing in params for a contribution linked to the recurring contribution.

Can anyone point me to the code that adds a membership payment for a contribution created by Contribution.repeattransaction. Or do I have the wrong end of the stick?

Unfortunately CiviCRM doesn't look for civicrm_membership.contribution_recur_id t update the membership. I believe for membership to get auto renewed it should have

The latest recurring contribution for the membership should be linked via civicrm_membership_payment
civicrm_line_item.contribution_id should be set for the membership (the latest one)

Since you had added membership to the standalone recurring contribution than you need to make sure that above 2 step is fixed before next subsequent payment is recorded.


issue with Joomla and CiviCRM Dashboard as a Menu Item I'm following the directions found here:

http://book.civicrm.org/user/current/website-integration/integrating-with-joomla/

I'm having no problem adding some of the other CiviCRM menu item types to a menu, but when I try to add CiviCRM Dashboard to a menu item then navigate to the page using the navigation on the front end, I receive the following error message:

"0
SORRY BUT WE ARE NOT ABLE TO PROVIDE THIS AT THE MOMENT.
COULD NOT FIND VALID VALUE FOR ID
RETURN TO HOME PAGE.

OH MY GOSH! YOU FOUND IT!!!
Looks like the page you're trying to visit doesn't exist.
Please check the URL and try your luck again.
TAKE ME HOME"

I've gone through the "Advanced, Link Type, Page Display, Metadata, ..." etc options under Menu Manager and I haven't been able to uncover anything obvious.  I also have made sure that access is set at "Registered", and I am logged in as "Registered" on the front end.   Any ideas?

There are actually several dashboards in CiviCRM. The two you may be confusing are

the "user dashboard" which is visible at http://example.org/index.php/?option=com_civicrm&task=civicrm/user&reset=1
the main "backend" dashboard at http://example.org/administrator/index.php?option=com_civicrm&task=civicrm/dashboard

Both require the user to be logged in or the page will not work.
Note that the url's are constructed differently, and any page you want available to normal (non super) users should point to /index.php and not /administrator.


Editing Recurring Contributions without user login How do I generate an e-mail with a link to get to the dashboard so the user can edit the credit card details of a recurring contribution, without the user having to have login privileges to get to that dashboard?

Credit cards are expiring or card numbers change, and we need a way for the user to update their cards.  Preferably without going through a whole new creation process. The dashboard is there, but they can't access it without having far too much power given to them through the ACL's.

CiviCRM 4.7, Wordpress, Authorize.net

I almost have this polished, just one little piece that may be beyond what my pea brain can handle. The short of it is that from the affected contact you need to send an e-mail with tokens. (I've put this into a template.) In the body of the e-mail put a link similar to this:

https://yoursite.com/civicrm/?page=CiviCRM&q=civicrm/contribute/updatebilling&reset=1&crid=XX&{contact.checksum}&cid={contact.contact_id}&context=dashboard

You need to replace the crid=XX with the correct crid for that failed transaction.  The only way I've found to get that crid from the front end is through a few steps.
1.  Open up the contact of the failed contribution.
2.  Click on the "Actions" button, then Right Click on the "Contact Dashboard" and choose "Open in new Tab."  This will open up the dashboard in a separate tab, as you'll need the first page later and can't easily get back to it.
3.  On the Contact Dashboard page, you'll find a "Recurring Contributions" line.  Click the "more" button, then Right Click on the "Change Billing Details" and choose "Open in new Tab."  This will open up the "Billing Details" in a new tab.  In the address bar, you'll find the "crid=" value buried in the string.

Moving forward, I'm hoping that someone with more skills than I can figure out how to add this crid as a token, and then be able to search for failed contributions and send the template e-mail to multiple contacts at once.  To go even a step further, being able to automate this once a failed transaction happens, the system automatically sends out this notice.


Processed as Activity: Cron job output Recently we have had our cron email us anytime there is an output as typically that only occurs when there is an email. Processed as Activity: Cron job output - I have the same cron running on other installations and I do not get this output - is this normal?

Do you have the inbound email processor configured? It has that as output. And it sounds like you are sending cron logs to the email processor.


Setting email reminders I would like to be able to set email reminders for individual actions to be completed on a set date/time.  Can I set these via customer records so that I receive an email reminder on the date I specify?

You could use Scheduled Reminders (accessed via the Admin menu) to link an email reminder to an activity that you set up in the contact's record.

Or you could set up CiviCase to create a workflow if you want a series of connected actions/emails


A problem I have with getting a box on my home page for visitors to sign up for a mailing list? I am running CiviCRM under WordPress on a local host

I have set up a Group named "Mailing List" with "Join Our Mailing List" as the description.

Under Group Type "Mailing List" is checked - and I've tested with "Access Control" both checked and unchecked.  Visibility is set to "Public Pages".  Reserved Group? is unchecked.  Is Active? is checked.

I can enter contacts in the back end on Word Press and they appear as contact in CiviCRM, but there is no box on the front end --something that will appear to a user who is not logged in -- in which a user can enter himself as a contact.  What must I do to get a box in "Public Pages" where a visitor can enter his name and email address and have this information become part of the CiviCRM mailing list group?

As peterdnz says, the documentation is at https://docs.civicrm.org/user/en/latest/email/set-up/ (Using a Profile).
For WordPress I think the easiest way to display a form publicly is by using a shortcode. After preparing a WordPress Page, click the CiviCRM button above the editor. For Page Type select Profile. On the next drop-down that appears, select the name of the profile that you have created. Select Edit on the radio button option just below the drop-downs, so that you give users access to edit data in your database (i.e. to add their email address and name to your database). Click Insert Form and the shortcode will be added to the editor.
Hope this helps


"Print selected rows" option missing in Event Participant listing dropdown actions After a recent upgrade from 4.7.29 to 5.2.1 (Joomla) I am experiencing the following problem:

After doing an Events/Find Participants search and selecting some or all participants, the "Print selected rows" option in no longer appearing in the Actions dropdown.

An Advanced Search when displaying results as Event Participants also is missing this option.  The option does appear when results are displayed as Contacts.

I have verified the same behavior on dmaster.demo (running 5.4.alpha1).

This is a core bug introduced during refactoring of task action. I have submitted core PR at https://github.com/civicrm/civicrm-core/pull/12310 . Can you please and if possible comment on PR your test results.

Issue logged at https://lab.civicrm.org/dev/core/issues/185

Thanks

Pradeep


Forwarding of CiviMail to addresses on same hosting service fails I have email accounts at the hosting service that hosts my CiviMail 4.6.2 in WordPress 4.1.7. The accounts forward mail to other addresses. I.e. CiviCRM is on www.mydomain.com and the addresses are @mydomain.com, but the mail is forwarded elsewhere.

Non-CiviMail email from CiviCRM to these @mydomain.com addresses is received but CiviMail is reported as "success" but is never received, not seen as spam.  CiviMail to other addresses (@elsewhere.com) is received. (In a CiviMail mailing that includes both @mydomain.com and @elsewhere.com the @elsewhere.com posts arrive and @mydomain.com posts don't.)

CiviMail to @mydomain.com used to work, apparently stopped several months ago.

What configuration should I be looking at in order to get this going again?

(Most, but not all, of the @mydomain.com addresses forward to Google Apps mail servers. However the non-receipt affects all @mydomain.com addresses, not just the ones handed on to ASPMX.L.GOOGLE.COM .)

The hosting company mail server was objecting to VERP mailoxes like
Return-Path: b.544.88425.a5cada51f4f1fa94@mydomain.com
that are not prefixed with a real mailbox, treating them as unknown addresses and discarding the post. The discarding is noted in the logs, which are not available to me.

There is a setting CiviCRM > Adminster > CiviMail > Mail Accounts
in which "Localpart" of the Bounce record needs to be a host mailbox followed by "+" e.g "reply-mail+".
(There is also a setting "Return-Path" which seems to be ignored, at least if VERP is being used.)
Localpart gets prefixed to the VERP addresses to make, e.g.
Return-Path: <reply-mail+b.578.89179.a1e28883fd23b0e3@mydomain.com>
and the addresses are no longer seen as unknown and the posts are sent on their way. Delivery was ultimately successful to Gmail apps mail (where it usually went to the Promotions tab) and to other services.

This post is pertinent.


Assigning only a part of a contribution to a Contribution Page Our organization just had its annual fundraising dinner/auction. People paid in one transaction for a number of things: auction items, raffle, sales tax, etc., as well as donations designated for a number of things. Most of this am recording in Civi using a Price Set with Text/Numeric Quantity for the various fields.

However, undesignated donations are going to a specific campaign that is a challenge match. I have also set up a Contribution page for this Matching Challenge. I want to be able to record the amount from only one of the price fields against this Matching Challenge Contribution Page - so the widget on our website is accurate among other reasons.

For instance, I might record this as a transaction:

Name: Joe
Total Amount: $175
Payment Instrument: Credit Card
Price Field: Auction = $100
Price Field: Raffle = $25
Price Field: Match donation = $50

So, only the $50 should be counted to the Matching Challenge contribution page.

Is there any way to do this other than making it two transactions, which could lead to confusion?

As far as I know, since the link to the contribution page is determined by the source of the contribution as opposed to its individual line items, I do not believe this is currently possible. Even if you recorded two separate contributions, unless you have a corresponding contribution page for each (which would indeed be confusing as you state), they would both still be associated with the same contribution page

You may want to research alternative methods of pulling this information by line item financial type into an alternative widget - my knowledge of widgets is limited.

Hope this helps,
Tamar


Remove events from webform when full? I've looked about but to no avail - hopefully one of you fine people know the answer!

I have a webform with a user-select list for event registration. I would like the events to disappear from the list when they're full. Does anyone know how to make it happen?

I do have the 'show remaining space in events' popup at the top on, so that registrants can see the capacity, but it'd be more user-friendly to have full events removed from the select list.

Many thanks!

It strikes me that this is something which (if you're a coder) could be done via a webform hook, or even better, by modifying the code to do it (should be a simple-ish change to add as an option). This is a good idea for a feature - so why not suggest it at issues.civicrm.org?


How can I search in CIviCRM for people who have got a "Full" membership less than 5 months after their "Student" membership expired? We are looking at membership progression. So we want to find out who has a current "Full" membership who started their full membership less than 5 months after their "Student" membership expired.
Anyone know how I could create a search in CiviCRM that would provide this information?
Our CiviCRM is also connected to Drupal so happy to build this in Drupal views is that easier.

How we did this in the end was to create some custom code that when a new membership was added it would check if there was a membership of the previous membership type. ie if they were purchasing a Full membership if they had a current or expired Student membership.

If there was then it would calculate the number of days between the end date of the previous membership and the start date of the new membership and store this value in a custom field. We also added a feature that if the previous membership had not yet expired we would end it because in our case you were not allow to hold more than one membership at a time.

We can now run all the searches and views we like off this value.


eWay Payment Processor error 9001 on contribution - help please eWay Payment Processor error 9001 on Contact's Contribution page.

Setup new eWay account works fine with Xero, however, with CiviCrm (4.7.10) when used with a Contact's Contribution page I get a "9001 error. Connection to payment gateway failed - no data found". Have tried the delivered eWay processor and also Chris Chincilla's V1.2 and I get the same behaviour.

Have checked the setup many times and it is correct. Have deleted the payment processor and then re-added it. No change.

Can anybody help me or point me in he right direction please?

This has been fixed. My hosting company migrated my site to another server which could communicate with eWay and it is now working.


Only logged in users can change billing and recurring amount We are using Civi 5.1 on Wordpress 4.9

Today we got our recurring payments to work again when we switched to IATS.
When someone makes a recurring contribution, they receive an email reciept that says

  You can update billing details for this recurring contribution by visiting this web page.
  You can update recurring contribution amount or change the number of installments for this recurring contribution by visiting this web page.

However, unless they are logged in, clicking those links just takes them to homepage of our site.  These are donors, they are not creating log in credentials when they donate.

I would like them to be able to make changes without needing to login.  I read the older post on this subject and tried those suggestions, by using the below URL.

oursite.org/oursite-donate/?page=CiviCRM&q=civicrm/contribute/updatebilling&reset=1&coid=xxxx&{contact.checksum}

I even tried the change & to ? as someone suggested

oursite.org/oursite-donate/?page=CiviCRM&q=civicrm/contribute/updatebilling?reset=1&coid=xxxx&{contact.checksum}

When entering that URL while logged off I get the below message.

  Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
  You do not have permission to access this page.

Am I missing something?

Thank you.

Two bits are required for anonymous users to be able to access URLs like:

/civicrm/contribute/updatebilling?reset=1&coid=4263&cs=b88004e51f6c99b0601aceab7e489315_1530392348_168

Permissions: make online Contributions
Administer -> CiviContribute -> IATS Payments Settings
Check the box: Enable self-service to recurring contribution Contact Billing info:

PS - as you may have noticed this is no longer working in higher 5.x versions of CiviCRM. This regression can be fixed with this solution (PR) which was posted here: https://github.com/civicrm/civicrm-core/pull/12668 - unfortunately it was closed. It's only one line of code you need to add to this file: CRM/Contribute/Form/UpdateBilling.php

$processorParams['recur_id'] = $this->_subscriptionDetails->recur_id;


Trying to use CiviCRM to take memberships for an event I've been looking at CiviCRM to see if it would work for running an event in about 3 years time.

I'm pretty new to CiviCRM. The event is a convention and is a one off. People can join many years ahead and their membership is effectively lifetime.  I'm trying to set up a membership system that lets you join as one member type, then upgrade. Using a contributions page, I'm just adding the membership types for their prices. (I'm also using CiviDiscount to discount your upgrade). You can successfully upgrade, BUT it then keeps showing you the lower tier memberships. And you can choose them... Is there a way of not having them show up?

I'm glad to be pointed at educational resources. And glad to change code, but I'm not sure where.

I realise that this isn't really what CiviCRM is designed for. But the other features are so useful, that really if I can get past the membership problems I'm having, it may be worth it.

Thanks,
Norman

You can alter the price options to hide lower-tier memberships with a custom extension.  This is a more maintainable alternative to editing the code directly, since it will work through an upgrade.

Check the docs for creating extensions and install civix.  Then use the buildAmount hook to edit the price sets.  Some folks think this is easier with the buildForm hook; you may want to try both.


Manual Contributions Showing up as 0 Against Contact When I add in a manual contribution against a contact and specify an amount - when submitting, the amount gets registered as 0 which is not what was input initially. In the database it is seen as 0 also.

The warnings/errors that comes up are:

Warning: key() expects parameter 1 to be array, null given in CRM_Contribute_Form_Contribution->submit() (line 1461 of /home/xxx/www/www/sites/all/modules/civicrm/CRM/Contribute/Form/Contribution.php).
Warning: key() expects parameter 1 to be array, null given in CRM_Contribute_Form_Contribution->submit() (line 1462 of /home/xxx/www/www/sites/all/modules/civicrm/CRM/Contribute/Form/Contribution.php).
Notice: Undefined index: html_type in CRM_Price_BAO_PriceSet::processAmount() (line 718 of /home/xxxx/www/www/sites/all/modules/civicrm/CRM/Price/BAO/PriceSet.php).

and the error in the log is:

TYPE    php
DATE    Thursday, May 25, 2017 - 20:26
USER    admin
LOCATION    civicrm/contribute/add
REFERRER    civicrm/contribute/add?reset=1&action=add&context=standalone
MESSAGE Notice: Undefined index: html_type in CRM_Price_BAO_PriceSet::processAmount() (line 718 of /home/xxxx/www/www/sites/all/modules/civicrm/CRM/Price/BAO/PriceSet.php).
SEVERITY    notice
HOSTNAME    xxx.xxx
OPERATIONS

This site was upgraded from previous versions to CiviCRM version 4.7.19 and there were some problems with the old database. There was an " Invalid Price Fields " message with regards to the 'Contribution Amount' price set which we couldn't fix, so we just hid that message.

Any help would be much appreciated.

Edit 1:
Just to note, however, that adding by selecting a price set works. Its just the manual input for amount.

Edit 2: just to let you know that some price fields were disabled so I enabled them and it all worked!

This problem arises when the default price set, or any of its fields, are inactive

It took a lot of digging to find this, but if you enter a contribution with no price set, it looks up the default price set and runs some code against that, which fails under these conditions, and causes the total price to be set to 0.

Assuming that the default price set is the one with id 1 (as it is on my system), running this sql will fix the problem:

update civicrm_price_field set is_active = 1 where price_set_id = 1;
update civicrm_price_set set is_active = 1 where id = 1;

This is the sql that runs and must return something - test it, and if it doesn't, make the required changes:

mysql> SELECT id,name,label,html_type,is_enter_qty,help_pre,help_post,weight,is_display_amounts,options_per_line,is_active,active_on,expire_on,javascript,visibility_id,is_required,is_required FROM civicrm_price_field WHERE price_set_id = 1 ORDER BY weight;

If this does not work then perhaps your default price set has a different id; I don't know how to check this except to put an error_log statement around line 1470 of CRM/Contribute/Form/Contribution.php to log the value of $priceSetId


Auto-Renew option not displaying membership contribution page Anyone know why the checkbox that allows memberships to automatically renew would not appear? Everything in the membership type and the contribution page settings is correct, providing the option to renew. We have one site that this is happening on and can't quite figure out what it could be. First time I'm seeing this, so wanted to see if anyone else had experience this before.

When a membership is selected it the space where the check box should appear expands, but is empty. When inspecting source it shows as follows:

But should be something like this

                 <input id="auto_renew" name="auto_renew" type="checkbox" value="1" class="form-checkbox" readonly="readonly" checked="checked">&nbsp;Please renew my membership automatically.

Any ideas?

This is running on CiviCRM 4.6.9 and WordPress 4.3.1.

Not using a price set,just the membership tab on the contrition page options.

I've found that this happens if Pay Later is selected in the contribution - and this is not the behaviour I'd expect. If I turn off Pay Later, the auto-renew checkbox is ticked - but also readonly, which is also not what I've expect for an optional auto-renew. I'm on 4.6.14 and Drupal. Anyway: this might get you going.

Here's my similar question


CiviCase Will Not Save Settings for Activities I am using CiviCRM 4.5.5 on Drupal 7.

When I go to the settings page for my Case configuration (Administer -> CiviCase ->Case Types) I can add activities to the list of activities and appears to save.  No error message is being raised.  However if you edit the Case type again you will that none of your changes are there.

I  will note that this instance of CiviCRM and CiviCase have been upgraded since somewhere in Civi 3.x.

Thanks in advance for the help.

Thanks,
Steve

There are a couple of things to look out for.

If you are creating a new case type, we had to delete the default role that is automatically assigned (case coordinator I believe), save and then re-add the role before it would save.

If you are working form the older xml files to configure cases, I'm not sure that the case ui will work with those.  You may have to edit those files manually.


"Already subscribed to list" message after submitting contribution (Drupal) By default, all contributions add the associated email address to our mailing list.  In the case of people who are either already subscribed, or who are logged in to a Drupal account (which also are default opted in to the mailing list), upon completing the contribution, they receive a CiviCRM info message stating " is already subscribed to the list."

Obviously we'd like to avoid this if possible.  Is there a way to avoid trying to subscribe people to the list if they are already added?

Unfortunately, this is a consequence of using the profile to add contacts to a group.  There are a couple of ways to work around this that may be better for your needs:

Make a smart group.  If everyone who makes a contribution should be in a group, why record that information separately from the contribution?  Just make the email list a smart group of all contacts with contributions.
Have people opt in.  Are you certain that donors know they're signing up for the email list?  If not, you really should make that explicit.  You could add the "Group(s)" field to the profile to let people choose among all public groups, or you could add a single checkbox field for someone to say they'd like to subscribe, and you could base a smart group on that.
CiviRules. You may find that you can create a workflow for this step using CiviRules and if it does throw up a warning about the contact already being in the group, at least it is out of public view


Caldera Forms (Wordpress) - Handling of Duplicate matching rules Does anyone know what duplicate matching rules are applied when a contact registers on a website using Caldera Forms to capture the contact details?
When using creating a profile in CiviCRM which can used accessed via shortcode in Wordpress to present the profile as form on your website, we can specify tell CiviCRM what to do when a duplicate match is encountered from these 3 options:

Issue warning and do not save
Update the matching contact
Allow duplicate contact to be created

I want to have the ability to do the same with Caldera Forms. In particular, I want to be able to allow a duplicate contact to be created for a specific use case for our organization.

Dedupe rules are set in the contact processor. If you want it to create a duplicate, create a dedupe rule in Civi that it can never satisfy. A dummy one basically :)


Is the free() method being called inadvertently on my DataObject? This behaviour happens on a certain environment, but not on another. I am trying to work out why.

There is a while loop in CRM_Mailing_BAO_MailingJob::deliver() that cycles through emails to be delivered.

I noticed that the loop was ending prematurely. I tracked this down to some custom code I had addes that was adding a token. In this code, I was calling MailingJob.getsingle.

It turns out that many calls to the API and it seems other methods too will cause the loop to end prematurely.

The simplest proof of concept I came up with was

var_dump($eq->N);
while ($eq->fetch()) {
  civicrm_api3('Contact', 'get');
  var_dump($eq->N);
  var_dump($eq->fetch());exit;

which outputs

int(50)
int(50)
bool(false)

which is madness, I am sure you will agree.

Do you have any ideas what is going on here?

I was not aware that the system had been patched with https://github.com/civicrm/civicrm-core/pull/10844/files. Reversing the patch resolved the problem.


Cannot delete contributions I am trying to delete a contribution and after I confirm that I want to it just hangs with the pop up and a spinning CiviCRM logo indefinitely. I get the following in the error log.
Feb 24 10:07:53  [error] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -26
[message] => DB Error: insufficient permissions
[mode] => 16
[debug_info] => DELETE FROM civicrm_activity WHERE source_record_id IN ( 3710 ) AND activity_type_id IN ( 6 ) [nativecode=1142 ** TRIGGER command denied to user 'coma6771_crmwp'@'localhost' for table 'civicrm_activity']
[type] => DB_Error
[user_info] => DELETE FROM civicrm_activity WHERE source_record_id IN ( 3710 ) AND activity_type_id IN ( 6 ) [nativecode=1142 ** TRIGGER command denied to user 'coma6771_crmwp'@'localhost' for table 'civicrm_activity']
[to_string] => [db_error: message="DB Error: insufficient permissions" code=-26 mode=callback callback=CRM_Core_Error::handle prefix="" info="DELETE FROM civicrm_activity WHERE source_record_id IN ( 3710 ) AND activity_type_id IN ( 6 ) [nativecode=1142 ** TRIGGER command denied to user 'coma6771_crmwp'@'localhost' for table 'civicrm_activity']"]

)
The user has full access for the database, but I can't see anything about table specific access.I know it was working quite recently and don't think I have changed anything relevant.
I'm on WordPress and CiviCRM 5.26.2

Did you move the database with mysqldump and mysql? Then trigger can fail because he has rights in the old database, and not in the new. The solution is to recreate all triggers. This can be done with the following command.
wp eval "Civi::service('sql_triggers')->rebuild(NULL, FALSE);"


Wordpress subscribe.url not using base page I'm setting up a mailing list in CiviCRM 4.7.14 and the latest Wordpress.  In Administer->System Settings->CMS Database Integration, I have the base page set to /civicrm.  Yet when a mailing list subscribe confirmation is sent, the subscribe.url token uses http://mydomain.com/wp-admin/admin.php?page=CiviCRM&q=civicrm/mailing/confirm&reset=1&etc...

By default, the link goes to the standard Wordpress login screen.  If I change the URL manually in the browser to use /civicrm instead of /wp-admin/admin.php it processes the subscription.  Or if I log in, the admin.php link processes the subscription.

I understand the "base page" stuff has been evolving through recent versions.  I did upgrade this CiviCRM install from 4.6.x, so maybe there was a glitch with that.  Is there something I can do to correct things?  I tried changing the base page to something else, then back to /civicrm to reset things, but it didn't help.

I haven't tested the unsubscribeUrl token, but can do so if it would help with debugging.

Thanks for any thoughts!

SOLVED at https://lab.civicrm.org/dev/wordpress/issues/27/

Old workarounds:

I tracked down the problem somewhat and opened an issue at the bug tracker.  I describe a code change which makes this work...but I don't know whether it's the best solution.

https://issues.civicrm.org/jira/browse/CRM-20053

UPDATE: I couldn't get that old fix to work any more after upgrading to CiviCRM 4.7.21.  So I put in an Apache rule in my .htaccess file to redirect:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}  ^/wp-admin/admin\.php$
RewriteCond %{QUERY_STRING} q=civicrm/mailing/confirm
RewriteRule ^(.*)$ /civicrm [L,R=302]
</IfModule>


Is there a Civicrm hook for new contact/user insert? I want to create new users in Drupal 7 whenever there is a new contact created from the civicrm.

Also, how can I use the civicrm primary email address as a username in the Drupal 7?

Please suggest

Check out this post, which uses CiviCRM Entity and Rules to create Drupal users when Civi contacts are created.

Within the CiviCRM Entity module, check out the function civicrm_entity_action_create_user() to see how the username is set. You could patch it to implement a way to choose a username field/pattern, rather than hard-coding it to the Civi Display Name field.


Problems with testing mailing I am trying to test a mail out before sending. When I send test to my personal email address, it says sent but doesn't arrive. When I send test to a company email address it says sent but doesn't arrive. When I send to a gmail address, it says sent and DOES arrive! Any ideas what might be the problem? I'm on a deadline! Thanks

In addition to JonG's answer, I would definitely recommend using a professional SMTP Gateway. For instance we pay 10€ / month for 10 000 emails with great deliverability. They will provide SPF and DKIM entries for your Domain and your emails will reach their recipients. In CiviCRM you just need to set the parameters and you're done!


Multi-value Custom fields not showing up for export I have created custom fields for individuals. When I am trying to export data, those which are single value custom fields, I am able to export. While Multi-value Custom fields are not showing up for export

Multi-value (also called multi-record) custom fields can't be exported by the normal export. See https://docs.civicrm.org/user/en/latest/organising-your-data/creating-custom-fields/#multiple-record-fieldsets.

However you can get round this using a report then exporting as CSV. Two caveats. Not all reports will include the multiple values. Constituent detail doesn't allow CSV export, but I have found constituent summary to work for all I need.