# Question
Title: Why is my Menu and dashboards not working on clean installation on Wordpress?
I have installed Civicrm 5.4 on a new Wordpress installation, I ran through the setup with one issue of a dashboard contact ID and have gone through the Configuration Checklist, but after that my Civicrm Menu never shows.

I went through the fixes online and implemented everything from making sure the resource urls are correct everywhere, resetting the menu through another plugin, clearing the menu in the DB, changing settings in the civicrm.settings.php file but with no success.

I have manually added an entry in the dashboards table so I can atleast see the Resources on the front dashboard but I am unable to move it next to the News.

I am running wordpress 4.9.8 and php version 5.6.5 on a company server.

Please let me know if there is more information I can give and thank you in advance.

# Answer
I had a similar situation on a new installation of CiviCRM on WordPress, but the hostname had changed from when it was first installed, and https had been enforced.

Updating `wp-content/uploads/civicrm/civicrm.settings.php` and changing all relevant URL's to the new https URL then reloading the page was enough to get the menus to show.
> 0 votes

---
Tags: wordpress, error, dashboard, menu
---


# Question
Title: Rule to create a Linked Drupal user account for a specific CiviCRM Contact Subtype
I’m using **Drupal 7.56**, the Rules module 7.x-2.11 and **CiviCRM 4.6.31**.

I'm trying to create a **Drupal Rule** that checks the **subtype of contact** to create a Linked Drupal User Account just for a specific subtype of CiviCRM contacts when they submit a Membership Signup form.

I need to trigger that rule when a ***"CiviCRM Membership has been created"***, as Drupal needs an email to create the user account. If I include the Event "***CiviCRM contact has been created***" instead of "*CiviCRM Membership has been created*" to trigger the rule evaluation, the email for the contact is not available yet on the database, as e-mail address is an independent entity in CiviCRM and created after the contact has been created, so the rule fails when trying to create the Drupal user account.

The condition "***CiviCRM Contact is of subtype***" only works if I make the CiviCRM contact available from the "***CiviCRM contact has been created***" Event. So when I have the Event ***"CiviCRM Membership has been created"***, required for my rule to work, the CiviCRM Contact accessible from this Entity/Event (CiviCRM Membership) doesn't work with the condition "CiviCRM Contact is of subtype", as the Contact Subtype is an Array:

... (Array, 1 element)

```
 0 (String, 6 characters) Parent

```

Is there any way to make CiviCRM Contact Entity accessible from two different Events that trigger the rule evaluation, as ***"CiviCRM Membership has been created"*** and "***CiviCRM contact has been created***", so that the condition "***CiviCRM Contact is of subtype***" can have the appropriate CiviCRM contact parameter?

Or if it's not possible, how can I access the **Array variable**? I know I have to use the Rules Condition **List contains item**, but I'm not able to make "Contact Subtype" Array variable available to evaluate the Condition.

Any help will be very much appreciated.

# Answer
I'm assuming you are also using the CiviCRM Entity module?

For it to work on membership create, you need to load the contact entity from the membership-\>contact\_id property.

Use the "Fetch entity by id" action.

Because of this, you may need the Rules Conditional module, which let's you put conditionals in the "actions" portion of the Rule.

There you can add an "If" conditional action, and the "CiviCRM Contact is of subtype" condition provided by CiviCRM Entity should work for you there.
> 1 votes

---
Tags: civicrm-entity, drupal-rules
---


# Question
Title: How do I get my iCal feed to show past events?
How do I get the iCal feed that displays as html at `/civicrm/?page=CiviCRM&q=civicrm/event/ical&reset=1&list=1&html=1` or as a feed at `/civicrm?page=CiviCRM&q=civicrm/event/ical&reset=1&list=1` to show past events?

Using Wordpress

# Answer
Simply add the param `&start=YYYYMMDD`

On the html side use `civicrm/?page=CiviCRM&q=civicrm/event/ical&reset=1&list=1&start=20070101&html=1`

on the ical side use `/civicrm?page=CiviCRM&q=civicrm/event/ical&reset=1&list=1&start=20070101`

In that example 20070101 is January 1st 2007 - you can change the date to whatever you would like.
> 2 votes

---
Tags: civievent
---


# Question
Title: Activity search by subject - advanced search vs activity search
I've noticed the upgrade to the activity search now lets you search either the Subject or details of an activity (I'm in Civi 5.5.3, Drupal 7.59) which is great but on the Advanced search screen it seems to use the strict "=" qualifier.

I've verified the following behavior of the demo site (5.8) as well:

* Run an Advanced search for an activity that contains "Tell a Friend" in the subject line - **no results**.
* Run an activity search for an activity that contains "Tell a Friend" in the subject line - returns all the activities that subject line contains the search term, including "Subject for Tell a Friend".
* Same problem when you search details or both.

I can see in feedback for the the blank search results:

```
No matches found for:
Activity targeted to ...AND...
Activity Text (Subject Only) = 'Tell a Friend' ...AND...
Activity Status In Completed

```

Versus the summary that shows on the full set of results:

```
Activity targeted to ...AND...
Activity Text (Subject Only) Like '%Tell a Friend%' ...AND...
Activity Status In Completed

```

I'd like to use advanced search so that I can return contact results and add them to a group. Any idea where I take a look to change the Advanced Search from "=" to "LIKE"?

Also, any idea if this was intentional behavior - it doesn't seem like it would be very useful but maybe that's me? Is this worthy of a bug report?

# Answer
> 2 votes
You can use wildcard characters (%xxxx%) in search to change the default operator of "=" to "LIKE" - e.g. on demo:

**Using Search \> Find Activities:**

2. Activity Text = Tell a Friend
3. Status = Scheduled, Completed
4. Generates the same query as you listed in your question and at the time I write results in 204 records:

Activity targeted to ...AND...

Activity Text (Subject Only) Like '%Tell a Friend%' ...AND...

Activity Status In Scheduled, Completed

The same query is generated when using **Search \> Advanced Search** with the following parameters:

1. Activity Text = %Tell a Friend%
2. Status = Scheduled, Completed

The above returns 89 contacts, but if you display the results as activities, you get the same 204 that you did using **Search \> Find Activities.**

Hope this helps, Tamar

---
Tags: activities, search
---


title: Contribution Receipt

text:
# Question
Title: Contribution Receipt
The contribution receipt that is emailed to a donor has the person's first name such as: Dear Albert,

Is there any way to have it also include the last name such as: Dear Albert Jones,

# Answer
> 3 votes
Yes - you can change the default email greeting by navigating to Administer \> Communications \> Email Greetings - the system will use whatever format is marked as the default unless a different format is indicated in the **Communication Preferences** of contact's record.

Hope this helps!

# Answer
> 1 votes
It's complicated but you can edit the system workflow message at Admin \> Communications \> Message templates, then go to the workflow tab and edit the appropriate Contributions - receipt. Find the line with Dear, then edit to replace the display name token with the first name and last name tokens. IIRC you need to change the Smarty by replacing each token separately, and use a special Smarty something to get rid of space if one of the names is empty. HTH

---
Tags: civicontribute
---


# Question
Title: Where is the developer documentation for making core CiviCRM database changes, to the schema and to the initial data?
I'm working on a (newer) PR for CRM-19751, which requires some database schema changes and addition of an option group with its options. Obviously I knew something about this when I created the original PR last year, but now can't seem to find documentation for such things as

* How to get these code changes to actually perform the schema changes in my dev environment;
* How to test (even manually, or else by some better method) that the upgrade script will work correctly;
* The various directories/files in which I should be sure to make the changes (e.g., the appropriate DAO, xml/templates/civicrm\_data.tpl, what else?)

So this question is not really to get an answer to the above points (though that would be helpful); rather it's to find out where this stuff is documented, or else where's the best place to ask someone about it?

# Answer
1. Change the appropriate file(s) under xml/schema so the tarballs are created properly.
2. The data insert statements for the tarballs go in https://github.com/civicrm/civicrm-core/blob/master/xml/templates/civicrm\_data.tpl as you mention.
3. Create, or more likely edit, appropriately named file for version you are targeting PR to go into under https://github.com/civicrm/civicrm-core/tree/master/CRM/Upgrade/Incremental/sql. Your insert or alter commands for upgrading sites go in there.
4. Very rarely, instead of or in addition to 3, you may want to put some php code into appropriately named file under https://github.com/civicrm/civicrm-core/tree/master/CRM/Upgrade/Incremental/php.
5. Usually the schema changes are simple for the tarball and you need to worry about the upgrades working properly. Manual tests are all I know about. :(

HTH. If this works maybe submit it to a developer doc page.
> 1 votes

# Answer
I believe it would be the civix documentation, here https://docs.civicrm.org/dev/en/latest/extensions/civix/#generate-upgrader

But not sure about current test procedures.
> 0 votes

---
Tags: database, developer, mysql, documentation
---


# Question
Title: Set defaults values and attributes to membership form fields with PHP
Its possible to set default values of a membership custom fields through a civiCRM hook? I have seen that the values are generated by ajax when membership type is changed but i dont see any hook for this.

thanks!

# Answer
you should be able to do this with the buildForm hook that is described here: https://docs.civicrm.org/dev/en/latest/hooks/hook\_civicrm\_buildForm/. Keep in mind that the custom fields are actually posted on a different form, so I usually first dump the form names to the log with `Civi::log()->debug` so I can check what the name I need is.
> 2 votes

---
Tags: webform-civicrm
---


title: Civicrm:ping INI file not found

text:
# Question
Title: Civicrm:ping INI file not found
I have installed civicrm and want to develop an extension. I installed civix for creating this extension but when i run `civix civicrm:ping` command in my civicrm folder, I get the following error:

`C:\xamp\htdocs\civicrm>civix civicrm:ping`

> \[RuntimeException\]
>
> **Failed to determine INI file path**.

How to solve this problem?

# Answer
> 4 votes
I was just dealing with this and found your question..

Since you used `C:\`, i'll assume you're in windows.

**TLDR;** Try checking your PHP environment variable for 'HOMEPATH' vs 'HOME' and editing the file I mention below.

The first thing I will say is that you can increase verbosity of errors in civix by using `-v`, `-vv`, or `-vvv` options for most verbose. It helped me a lot with this issue.

I will leave the important details of my environment here as well, for others who may find this question:

A working Drupal 7 + CiviCRM 4.7.17 locally installed (manually) with MAMP on a Windows 10 machine, configured to use PHP 5.6.28. MAMP is installed to `C:/MAMP` and the site root is `C:/MAMP/htdocs/drupal/`

Civix is installed to `C:/Users/"Eli Lisseck"/` and I am seeing the same behavior as you that civicrm:ping throws and exception.

Running the more verbose command `civix civicrm:ping -vvv` led me to the file `C:\Users\Eli Lisseck\civix\vendor\civicrm\cv\src\Config.php` line 54.

Check if it is looking for your HOME environment variable correctly, versus what you have under environment variables when you run `php -i`. I found it was only looking for 'HOME' but what existed was 'HOMEPATH'... so I added at line 52:

```
elseif (getenv('HOMEPATH')) {
      $file = getenv('HOMEPATH') . '/.cv.json';
      return $file;
    }

```

Now I get `civix civicrm:ping Ping successful`

Hope this is helpful!

# Answer
> 2 votes
I was about to take Eli's approach, but then I realized it is much simpler:

1. close your current cmd shell/terminal;
2. press `Win` \+ `R`, type `setx CV_CONFIG "%userprofile%\.cv.json"` and press `Enter`;
3. reopen the shell, goto your project's directory and test with `civix civicrm:ping -vvv`.

Alternatively, if you prefer to check/set environment variables for your account, **run**:

* `%windir%\system32\rundll32.exe sysdm.cpl EditEnvironmentVariables`

# Why?

If you notice `civix\vendor\civicrm\cv\src\Config.php@getFileName()`, the first environment variable that it expects is `CV_CONFIG`, and when it doesn't find it, it will try `getenv('HOME') . '/.cv.json'`.

Therefore, you can either set the new variable I mentioned above or just:

* `setx HOME %userprofile%`.

# Answer
> 1 votes
Shortcut to Eli's answer; just `civix civicrm:ping -vvv` and check for ...`\civix\vendor\civicrm\cv\src\Config.php`. If you find it, it means you need to change `HOME` to `HOMEPATH`.

From

```
elseif (getenv('HOME')) {
  return getenv('HOME') . '/.cv.json';
}

```

to

```
elseif (getenv('HOMEPATH')) {
  return getenv('HOMEPATH') . '/.cv.json';
}

```

---
Tags: error, civix, windows
---


# Question
Title: How will I maintain versioning of civicrm in github?
I customized a civicrm. I want to put on github.I cannot maintain a mysql database versioning. How can I do that?

# Answer
It's really bad idea to customize CiviCRM core files when you can do thing using extensions. If you feel your customization fixes core issues than you should try to submit pull request against civicrm-core. If your changes are client specific than you can either move those files into custom php or custom template(again bad idea since its very difficult to maintain for future upgrade) or implement JS/hooks. There are many hooks available in CiviCRM where you can alter the content of website or perform additional function that is missing for example sending emails to group admin when a contact is created or change the content of Thank you page of Contribution or Membership signup or Event registration.

If you want to maintain the versioning of db then I would suggest to create extension and implement install/upgrade hook to create/update/delete custom fields or any settings in this way you can version your extension and can deploy on various instances without any hassle. There are also various migration tools available in CiviCRM which is responsible to migrate custom fields, contact types etc from one instance to another. You can also use them to copy your custom fields over staging or production instances.

https://www.drupal.org/project/civicrm\_field\_migrate https://github.com/CiviCooP/org.civicoop.configitems https://github.com/catorghans/net.trinfinity.orgis.mi.dataquality https://github.com/xurizaemon/civicrm-configexport
> 3 votes

---
Tags: database, civicrm.settings.php
---


# Question
Title: Discount entry field not displaying on membership signup
A discount entry field is not displayed on my membership signup form. I have created membership types and created a discount for one of the membership types. The discount is active. The top of my signup form looks like this:

My discount looks like this:

I added the price field options in hopes that would make it work, but it didn't. Any ideas?

I have other discounts for events and they work fine. I am using civi 5.4.1.

# Answer
For the particular client that reported this, it turns out that the issue was caused by a change made to a membership type after the price set was already associated with the contribution page, but the error was only presented if one clicked on the Save button of Memberships tab of the contribution page configuration.

To confirm whether this is the case to you - navigate to the Memberships tab of your contribution page and click the Save button to see if you are presented with the following error message:

> The membership price set associated with this online contribution allows a user to select BOTH an auto-renew AND a non-auto-renew membership. This requires submitting multiple processor transactions, and is not supported for one or more of the payment processors enabled under the Amounts tab.

Meaning - when using a price set, you can either offer auto-renew for all memberships on a given page, or none of them, but you can't offer a mix. On the other-hand, if you use the built-in membership fees section, you can select which membership types you wish to have the option (or be required) to auto-renew (so long as your **payment processor** supports auto-renewal).

If you don't have a payment processor that is configured to allow for auto-renewal:

1. Navigate to Administer \> CiviMember \> Membership Types
2. Ensure that the Auto-renew Option for all membership types is to to "No auto-renew option"
3. Navigate back to the Memberships tab of the contribution page and click the Save button - the message should no longer appear
4. Click on the Contribution Links button at the top and select Test or Live - the discount box should now appear (assuming that the discount code is configured accordingly).

Hope this helps!
> 0 votes

---
Tags: civimember, cividiscount
---


# Question
Title: How to retrieve contact image URL in CiviCRM with the API
I'm trying to retrieve contact with the below api call

```
CRM.api3('Contact', 'get', {
  "return": ["image_URL","first_name","last_name"]
}).done(function(result) {
  // do something
});

```

but my image url is always empty despite having an image on my contacts profile. This is what the response looks like

```
"is_error": 0,
"version": 3,
"count": 5,
"values": {
    "1": {
        "contact_id": "1",
        "image_URL": "",
        "first_name": "",
        "last_name": "",
        "contact_is_deleted": "0",
        "id": "1"
    },
    "2": {
        "contact_id": "2",
        "image_URL": "",
        "first_name": "AdminJoshua",
        "last_name": "AdminAroke",
        "contact_is_deleted": "0",
        "id": "2"
    },
    "3": {
        "contact_id": "3",
        "image_URL": "",
        "first_name": "Joshua",
        "last_name": "Aroke",
        "contact_is_deleted": "0",
        "id": "3"
    },
    "4": {
        "contact_id": "4",
        "image_URL": "",
        "first_name": "Oluwajuwon",
        "last_name": "Aroke",
        "contact_is_deleted": "0",
        "id": "4"
    },
    "5": {
        "contact_id": "5",
        "image_URL": "",
        "first_name": "Ogirima",
        "last_name": "Aroke",
        "contact_is_deleted": "0",
        "id": "5"
    }
}
}

```

I have been trying to put this to work. I'm using drupal 7 and I have profile image set on my contact. Please, let me know what to do right

# Answer
> 1 votes
The image\_URL returned by the API is the image that is attached to the CiviCRM contact, not to the Drupal user. You can upload an image of a contact by selecting edit and upload a file with "Browse/Upload Image" in the first section.

# Answer
> 0 votes
This works (tested after attaching an image to a contact on the demo site):

```
CRM.api3('Contact', 'get', {
  "sequential": 1,
  "return": ["image_URL","first_name","last_name","email"],
  "image_URL": {"IS NOT NULL":1}
}).done(function(result) {
  // Debug first image URL retrieved:
  console.log(result.values[0].image_URL);
})

```

# Answer
> 0 votes
Following API call returned image\_url

`$result = civicrm_api3('Contact', 'get', array(
 'return' => "image_URL",
 'id' => CONTACT_ID,
));`

Response looks like this:

`{
 "is_error": 0,
 "version": 3,
 "count": 1,
 "id": xxxxxx,
 "values": [
 {
 "contact_id": "xxxxxx",
 "image_URL": "xxxxxxxxxxxxxxxxxxxxxx.com/civicrm/contact/imagefile?photo=Img1_ca0063c865d7fe65019be27dd071258c.png",
 "id": "xxxxxx"
 }
 ]
}`

---
Tags: drupal, api, contact-image
---


# Question
Title: Error in CRM_Contact_Form_Relationship->setEmploymentRelationship() when saving an edited relationship
When editing and then saving a relationship, the AJAX overlay hangs with the spinning symbol. If the page is refreshed, the 'Relationship record has been updated." notification is shown and the change is saved in the DB

Console shows:

```
POST http://www.example.com/civicrm/contact/view/rel?action=update&cid=1234&id=4321&rtype=a_b&snippet=json 500 (Service unavailable (with message))

```

In syslog I'm getting the error:

```
http://www.example.com/civicrm/contact/view/rel?action=update&cid=24068&id=6749&rtype=b_a&snippet=json|http://www.example.com/civicrm/contact/view?reset=1&cid=24068|2386||Error: Call to undefined method CRM_Contact_BAO_Relationship::isCurrentEmployerNeedingToBeCleared() in CRM_Contact_Form_Relationship->setEmploymentRelationship() (line 654 of /var/www/html/sites/all/modules/civicrm/CRM/Contact/Form/Relationship.php).

```

This used to work correctly and seems like it may have stopped working after 5.x upgrade, though the server was also updated about the same time.

Appreciate any ideas on how to resolve this

# Answer
> 3 votes
The error claims that civi is not able to find the `isCurrentEmployerNeedingToBeCleared()` function in `CRM/Contact/BAO/Relationship.php` file.

It is not possible as this change was merged recently with the function being declared and used in the same PR https://github.com/civicrm/civicrm-core/pull/12032.

Quite possible that one of your custom extension OR custom php directory might be overriding `CRM/Contact/BAO/Relationship.php` file and is not updated to the latest 5.x version.

If you can check and update that file or simply disable the extension that overrides the file - the error should be fixed.

---
Tags: error, relationships
---


# Question
Title: CiviCRM (Drupal 7) Problem sending bulk emails
Before anything I hope you can escuse my poor english and little technical knoledge.

We are working with CiviCRM (4.2.7) on Drupal () and the function of bulk mail have sudenly stopped working.

You can prepare and redact an email and even send it, but the email is never sendt, keeping you waiting and waiting forever.

We dont have this problem sending individual mails, only with the bulk mail function.

I wonder if anyone have ever sufferd similar problems and what have they done to fix this.

Can someone help us?

Thank you all

# Answer
Sending bulk emails depend on execution of scheduled jobs present at `civicrm/admin/job?reset=1` URL path OR `Administer -> System Settings -> Scheduled Jobs` navigation menu.

The name of the job is `Send Scheduled Mailings`. Pls check if this job is enabled and running on your site.

Also, check the status of the bulk mail you created via civimail.

* If the status is scheduled - the mailing is awaiting the execution of the scheduled job.
* If it is "Completed" - the mailing is sent to the recipients.

For more info - check https://docs.civicrm.org/user/en/latest/email/mass-mailings-using-civimail/
> 3 votes

---
Tags: civimail, mailing
---


# Question
Title: Permission role to access Cases when using Volunteer?
The context is Drupal 7 w/ CiviCRM When a contact/user given in Drupal, want to access Cases (with full Volunteer & Case permissions given), there is an warning :

```
Warning: Declaration of CRM_Volunteer_Permission::check($permissions) should be compatible with CRM_Core_Permission::check($permissions, $contactId = NULL) in require_once() (line 218 of /var/data/sites/photo/public_html/sites/all/modules/civicrm/CRM/Core/ClassLoader.php).

```

And a bug issue :

```
$backTrace = #0 /www-site/public_html/sites/all/modules/civicrm/CRM/Core/Error.php(948): CRM_Core_Error::backtrace("backTrace", TRUE) #1 /www-site/public_html/sites/all/modules/civicrm/packages/PEAR.php(921): CRM_Core_Error::exceptionHandler(Object(DB_Error)) #2 /www-site/public_html/sites/all/modules/civicrm/packages/DB.php(985): PEAR_Error->__construct("DB Error: unknown error", -1, 16, (Array:2), "\nINSERT INTO civicrm_acl_contact_cache ( user_id, contact_id, operation )\nS...") #3 /www-site/public_html/sites/all/modules/civicrm/packages/PEAR.php(575): DB_Error->__construct(-1, 16, (Array:2), "\nINSERT INTO civicrm_acl_contact_cache ( user_id, contact_id, operation )\nS...") #4 /www-site/public_html/sites/all/modules/civicrm/packages/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -1, 16, (Array:2), "\nINSERT INTO civicrm_acl_contact_cache ( user_id, contact_id, operation )\nS...", "DB_Error", TRUE) #5 /www-site/public_html/sites/all/modules/civicrm/packages/DB/common.php(1907): PEAR->__call("raiseError", (Array:7)) #6 /www-site/public_html/sites/all/modules/civicrm/packages/DB/mysqli.php(933): DB_common->raiseError(-1, NULL, NULL, "\nINSERT INTO civicrm_acl_contact_cache ( user_id, contact_id, operation )\nS...", "1213 ** Deadlock found when trying to get lock; try restarting transaction") #7 /www-site/public_html/sites/all/modules/civicrm/packages/DB/mysqli.php(403): DB_mysqli->mysqliRaiseError() #8 /www-site/public_html/sites/all/modules/civicrm/packages/DB/common.php(1216): DB_mysqli->simpleQuery("\nINSERT INTO civicrm_acl_contact_cache ( user_id, contact_id, operation )\nS...") #9 /www-site/public_html/sites/all/modules/civicrm/packages/DB/DataObject.php(2415): DB_common->query("\nINSERT INTO civicrm_acl_contact_cache ( user_id, contact_id, operation )\nS...") #10 /www-site/public_html/sites/all/modules/civicrm/packages/DB/DataObject.php(1607): DB_DataObject->_query("\nINSERT INTO civicrm_acl_contact_cache ( user_id, contact_id, operation )\nS...") #11 /www-site/public_html/sites/all/modules/civicrm/CRM/Core/DAO.php(438): DB_DataObject->query("\nINSERT INTO civicrm_acl_contact_cache ( user_id, contact_id, operation )\nS...") #12 /www-site/public_html/sites/all/modules/civicrm/CRM/Core/DAO.php(1411): CRM_Core_DAO->query("\nINSERT INTO civicrm_acl_contact_cache ( user_id, contact_id, operation )\nS...", TRUE) #13 /www-site/public_html/sites/all/modules/civicrm/CRM/Contact/BAO/Contact/Permission.php(250): CRM_Core_DAO::executeQuery("\nINSERT INTO civicrm_acl_contact_cache ( user_id, contact_id, operation )\nS...") #14 /www-site/public_html/sites/all/modules/civicrm/CRM/Contact/BAO/Contact/Permission.php(320): CRM_Contact_BAO_Contact_Permission::cache(3) #15 /www-site/public_html/sites/all/modules/civicrm/CRM/Contact/BAO/Contact.php(3576): CRM_Contact_BAO_Contact_Permission::cacheSubquery() #16 /www-site/public_html/sites/all/modules/civicrm/CRM/Utils/SQL.php(48): CRM_Contact_BAO_Contact->addSelectWhereClause() #17 /www-site/public_html/sites/all/modules/civicrm/CRM/Case/BAO/Case.php(3229): CRM_Utils_SQL::mergeSubquery("Contact") #18 /www-site/public_html/sites/all/modules/civicrm/CRM/Core/DAO.php(2713): CRM_Case_BAO_Case->addSelectWhereClause() #19 /www-site/public_html/sites/all/modules/civicrm/Civi/API/SelectQuery.php(390): CRM_Core_DAO::getSelectWhereClause("a") #20 /www-site/public_html/sites/all/modules/civicrm/Civi/API/SelectQuery.php(111): Civi\API\SelectQuery->getAclClause("a", "CRM_Case_BAO_Case") #21 /www-site/public_html/sites/all/modules/civicrm/api/v3/utils.php(1241): Civi\API\SelectQuery->__construct("Case", TRUE) #22 /www-site/public_html/sites/all/modules/civicrm/api/v3/Case.php(359): _civicrm_api3_basic_get("CRM_Case_BAO_Case", (Array:4), TRUE, "Case", Object(CRM_Utils_SQL_Select)) #23 /www-site/public_html/sites/all/modules/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_case_get((Array:3)) #24 /www-site/public_html/sites/all/modules/civicrm/Civi/API/Kernel.php(169): Civi\API\Provider\MagicFunctionProvider->invoke((Array:9)) #25 /www-site/public_html/sites/all/modules/civicrm/Civi/API/Kernel.php(100): Civi\API\Kernel->runRequest((Array:9)) #26 /www-site/public_html/sites/all/modules/civicrm/api/api.php(23): Civi\API\Kernel->runSafe("Case", "get", (Array:3), NULL) #27 /www-site/public_html/sites/all/modules/civicrm/api/v3/Generic.php(296): civicrm_api("Case", "get", (Array:3)) #28 /www-site/public_html/sites/all/modules/civicrm/Civi/API/Provider/MagicFunctionProvider.php(86): civicrm_api3_generic_getcount((Array:9)) #29 /www-site/public_html/sites/all/modules/civicrm/Civi/API/Kernel.php(169): Civi\API\Provider\MagicFunctionProvider->invoke((Array:9)) #30 /www-site/public_html/sites/all/modules/civicrm/Civi/API/Kernel.php(100): Civi\API\Kernel->runRequest((Array:9)) #31 /www-site/public_html/sites/all/modules/civicrm/api/api.php(43): Civi\API\Kernel->runSafe("Case", "getcount", (Array:2)) #32 /www-site/public_html/sites/all/modules/civicrm/CRM/Case/BAO/Case.php(1957): civicrm_api3("Case", "getcount", (Array:2)) #33 /www-site/public_html/sites/all/modules/civicrm/CRM/Case/BAO/Case.php(2975): CRM_Case_BAO_Case::caseCount(NULL, FALSE) #34 /www-site/public_html/sites/all/modules/civicrm/CRM/Case/Form/Search.php(77): CRM_Case_BAO_Case::isCaseConfigured() #35 /www-site/public_html/sites/all/modules/civicrm/CRM/Core/Form.php(585): CRM_Case_Form_Search->preProcess() #36 /www-site/public_html/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Display.php(92): CRM_Core_Form->buildForm() #37 /www-site/public_html/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform(Object(CRM_Case_Form_Search), "display") #38 /www-site/public_html/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Case_Form_Search), "display") #39 /www-site/public_html/sites/all/modules/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("display") #40 /www-site/public_html/sites/all/modules/civicrm/CRM/Core/Invoke.php(309): CRM_Core_Controller->run((Array:3), NULL) #41 /www-site/public_html/sites/all/modules/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:14)) #42 /www-site/public_html/sites/all/modules/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:3)) #43 /www-site/public_html/sites/all/modules/civicrm/drupal/civicrm.module(445): CRM_Core_Invoke::invoke((Array:3)) #44 /www-site/public_html/includes/menu.inc(527): civicrm_invoke("case", "search") #45 /www-site/public_html/index.php(21): menu_execute_active_handler() #46 {main}

```

There is no trouble for the admin user to access Cases. Where should I look in order to tune the Role permissions ?

# Answer
CiviVolunteer is not fully tested for 5.x version and might have compatibility issue like you are facing. This issue has been fixed and is probably waiting in PR queue for it to get merged in next release.

You can either download the patch from here or wait for next release.

HTH

Pradeep
> 4 votes

---
Tags: civicase, civivolunteer
---


# Question
Title: How to create extension using phpStorm 2018.2.5
I want to create an simple extension.How can I do that using phpStorm? Please guide me with steps.

# Answer
You can study about creating CiviCRM extensions here: https://docs.civicrm.org/dev/en/latest/extensions/

You would need to use Civix to create extensions and can use PHPstorm as text editor to write code i guess.

Thanks
> 4 votes

---
Tags: extension
---


# Question
Title: Can a Drupal webform be used to create a waitlist registration?
I have a CiviCRM Event which allows waitlist registrations and handles them correctly within Civi - including sending emails when there is a cancellation.

However, a Drupal webform used to enter registrations does not seem to allow/create waitlist registrations.

Is it possible to use the Drupal webform for waitlist registrations?

# Answer
I do think that this is possible it also depends on the event configuration in CiviCRM.

If it is not possible you could create a webform in which each participant gets the status on waitlist instead of registered. That way you could create a waitlist.

To enable Participant Status - on waitlist in your webform -\> you need to visit: /civicrm/admin/participant\_status?reset=1 and enable both `On waitlist` as well as `Pending from waitlist`
> 1 votes

# Answer
I think you would need to use custom code to achieve that. You can use webform, but not civicrm fields in it but regular and use hook\_webform\_submission\_insert which will get fired when webform is submitted and then using API calls, you can add participants in waitlist.

Thanks
> 0 votes

---
Tags: civievent, webform-civicrm, waitlist
---


# Question
Title: How to generate a receipt when Pay Later contribution is received
I am using a Contribution page to take payments for Memberships, and wish to use the 'Pay Later' option. I can set this up and it records the contribution OK, and a administrator can record the Paymant when it arrives, thus actually starting the Membership. However:

The system emails the user an Invoice when the Contribution page is completed, but I cannot get it to send a Receipt (or anything else) when the payment is confirmed. Apart from anything else I want to (automatically) send an email at this point which will act as a membership card.

I have also tried the CiviRules extension, but can't find an appropriate combination of Trigger and Conditions to get the right result - i.e. only on Pay Later (Card payment generates a receipt immediately, fine), not if the administrator does the whole process off-line, and covering both initial Membership Payments and Renewals.

Thank you.

# Answer
There are 2 ways of recording a pay later contribution

1. Find related contribution, click on more link and then record payment. Or on view contribution page click on 'Record payment link'. Fill in the details and tick 'send receipt' checkbox.

2. Edit the contribution and change the status from pending to completed with 'send receipt' checkbox ticked.

Note: #1 is a new method for recording pay later payments and will be same in coming days however #2 will be removed in future.
> 5 votes

# Answer
You can use custom code for that, `hook_civicrm_postProcess` can be used which will get fired whenever a form is submitted, you can limit functionality based on form name and contribution ID to send email through code.

Detail of hook use: https://docs.civicrm.org/dev/en/latest/hooks/hook\_civicrm\_postProcess/

Thanks
> 0 votes

---
Tags: email, contributions, receipts
---


title: how to setup civicrm on windows 8

text:
# Question
Title: how to setup civicrm on windows 8
Please could anybody direct me on how to setup civiCRM on my windows OS and also code with it. I am totally new to this type of platform and with no clue on how to go about anything, however, I have a strong knowledge of PHP and php based frameworks like laravel and lumen. I believe if directed on what to do I should be able to standard on my own. I have tried google but nothing significant.

Thanks.

# Answer
> 1 votes
You would need a Windows web development environment like WampServer and need to create a site on localhost. There you could install wordpress/Drupal/Joomla any of those for which civicrm is available to be installed and then follow steps to install civicrm following docs here: https://docs.civicrm.org/sysadmin/en/latest/

Thanks!

---
Tags: evaluating-civicrm, civicrm-home, civicrm-buildkit
---


# Question
Title: Webform with existing contact results in undefine index
Running into this problem in a form to create an activity with two existing contacts. The form creates the activity successfully, but the UX is marred by angry red error messages. I replicated the problem in a test form with nothing but one existing contact. This test form is accessible at http://cc.unidosnow.org/node/7?cid1=200. Submitting the test form results in similar error messages as seen with the full fledged form:

* Notice: Undefined index: address in wf\_crm\_webform\_postprocess-\>saveContactLocation() (line 751 of /home/unidosnow/www/www/sites/all/modules/webform\_civicrm/includes/wf\_crm\_webform\_postprocess.inc).
* Notice: Undefined index: email in wf\_crm\_webform\_postprocess-\>saveContactLocation() (line 752 of /home/unidosnow/www/www/sites/all/modules/webform\_civicrm/includes/wf\_crm\_webform\_postprocess.inc).

Seems to be wanting address and email (to enable contact creation?), but the only thing checked in the webform's CiviCRM tab is Existing Contact and that's all I need from the contacts in the full fledged form.

I am running CiviCRM 7.x-4.7.29, Drupal 7.58, Webform 7.x-4.16, Webform CiviCRM Integration 7.x-4.20, PHP 5.6.

Thoughts?

# Answer
> 1 votes
It looks like a fix for this issue has been committed to the webform\_civicrm project and should be present in version 7.x-4.21+

Details are here: https://www.drupal.org/project/webform\_civicrm/issues/2966760

The fix itself is here: https://github.com/colemanw/webform\_civicrm/pull/139

---
Tags: webform-civicrm
---


# Question
Title: Any extension for customize the dashboard
I want a extension that can change the dashboard layout and configure as per requirement.

# Answer
In addition to Pete's answer, you can also put Views blocks into CiviCRM dashlets: https://civicrm.org/blog/brandonferrell/drupal-views-in-civicrm-dashlets
> 1 votes

# Answer
AFAIK there is nu such extension at the moment. You are quite welcome to either develop one or offer funding to have an expert develop one?
> 0 votes

# Answer
if you are using Drupal you can build Views blocks and set them at the dashboard path but 'above' the civi dashboard and hence set up whatever you like there
> 0 votes

---
Tags: extension
---


# Question
Title: Membership Management Customization: Assessment Sign up
Member sign up I want a process that allows for association members to apply for membership, register and submit documentation related to their certifications . These then need to be assessed and approved by administrators

Can the CiviCRM system accommodate that?

Regards Andrew

# Answer
There is an approach whereby you set up a Membership Status of 'waiting approval' that kicks in at 'join date' and puts the membership in to a non-current status (overridden) - there are some old threads around that may give more pointers eg

IN terms of providing documentation, this can be done via a CiviCRM Profile
> 2 votes

# Answer
The type of process you are requesting is actually available through events and is called the **Participant Approval Process**, but as you know, online membership sign-up is handled via contribution pages so it would indeed require customization. You may wish to reach out to several **developers** to obtain quotes for this work.

Hope this helps, Tamar
> 0 votes

---
Tags: civimember, registration
---


# Question
Title: CiviVisualize example graphs and visuals are not showing up
I have a question about CiviVisualize. So, I cloned the CiviVisualize repo from github in my C:\wamp64\www\drupal\custom\_ext\CiviCRM Extensions Directory and then reran drupal. CiviVisualize comes up but the demo visuals are no where to be found. I'd love some help\]

# Answer
This is likely a problem in how you have incorrectly set up the extension url in civicrm.

To work, this (and many other) extension need to be able to load additional resources, javascript or images, and you need to configure civicrm to tell which url to use. (under /civicrm/admin/setting/url )

what is the right url to put there depends on where you have put the extensions folder, but on the good news, you will need to adjust your setting ones and it will work for every extension
> 1 votes

---
Tags: drupal, civimember, civicrm-home
---


# Question
Title: How can we move customise civicrm from development mode to production?
I want to move the customize civicrm from development to production. But the problem is that if it goes in production then how can I customize again?

# Answer
Assuming you did your customizations in an extension you would install the extension on production. If you then want continue updating your customizations in your extension you can do so on test, and then issue a new release of your extension.

The Upgrader (check https://docs.civicrm.org/dev/en/latest/extensions/civix/#generate-upgrader) can help you to manage what needs to happen on a new installation.
> 1 votes

---
Tags: deployment
---


title: Completed emails showing on draft list

text:
# Question
Title: Completed emails showing on draft list
We've got 27 emails that show as completed, have a report, etc; however, they are showing on the list of Draft/Unscheduled emails. What could be causing this to happen? I'm trying to clean up the back-end for the new volunteers who will be working with the site this year, but I don't want to delete emails that have actually been sent.

We're on Drupal 7 and CiviCRM 5.5.3

# Answer
I just verified that a completed mailing (in my test installation of 5.5.3) will show up in the draft/unscheduled list IF the original creator of the email is a deleted (permanently) user. Doesn't solve the problem but at least gives us a cause.
> 2 votes

---
Tags: civimail
---


title: Advanced search using and

text:
# Question
Title: Advanced search using and
Hello my search builder is out of action and I’m trying to use advanced search to give me everyone in group A and group B - in the section above (search settings) the ‘and’ radio button is selected. But the search results are an “or” set not an “and” set. Is it possible to do this in advanced search?

# Answer
> 1 votes
I believe the AND OR operators you're referring to only control the relationship between different criteria (i.e. contained in X group AND had an activity of a certain type) not more than one option in the same criteria.

A workaround for sure but perhaps you could add all contacts from one of the groups to a tag and try searching all the belong to group A AND the newly created tag.

---
Tags: advanced-search
---


# Question
Title: In CiviMember, can one set a rule where expired members, when renewing, are assigned probation status
We have assigned status rules in Civi member, which flow as follows: Member joins = Probation After 6 months = Current

In next year, until end of March if hasn't renewed = Grace-Voting If renews = Current

After March, if hasn't renewed = Grace Non-Voting If renews = Current

If Grace Non-Voting for full year = Expired

If expired and renews = Current

Our membership rules state that where members renew after their membership has expired they must serve the 6 month probationary period. Hence rule should be:

If expired and renews = probationary

Is it possible to set this status rule in CiviMember?

# Answer
> 1 votes
Welcome Lawrence: One thought would be to take the approach that if an expired member signs up again, that rather than renewing the original membership, it creates a brand new one - in which case i assume your existing Probation process would work fine.

I don't recall if there is an Extension or just a setting to change CiviMember to always create a new membership but i know it has been done as some Ors prefer that.

If you think that could work for you, I or someone else can probably post a link to it if providing you with the idea is not enough to help you find it yourself.

UPDATE

Also note that eg for Drupal there is a Member Role Synch module that lets you specify what User Roles are given/removed based on the civi membership type and status

---
Tags: civimember, status
---


# Question
Title: Drupal CiviCRM Menu not full length (shoreditch and otherwise)
I upgraded three sites today.

Site 1 - Already had Civi 5.6 - updated to Drupal 7.60 and Shoreditch (SD) Alpha26. Result: CiviCRM menu is not full length.

Site 2: Updated from SD 25 to 26 - and to Drupal 7.60 - No issues - Was civi 5.3, upgraded to 5.6 - Result: Civi menu is not full length.

Site 3: Updated to Civi 5.6 and SD 26 - Wordpress site - no issues.

I do not think this is a Shoreditch issue, rather there is a menu issue between Civi 5.6 & Drupal 7.6.

Could this be related to this Drupal 8 change?

# Answer
This isn't directly related to the Drupal 8 change but instead is related to a change to the `civicrm-drupal7.js` file.

The JS is forcing the CiviCRM menu to 97% width - to allow for the Drupal admin toolbar's shortcut bar toggle element. It doesn't however account for sites which don't use the core toolbar module or styling or sites which don't use the toggle element.

A fix for this issue has been committed to CiviCRM (located here) and should be merged in to 5.8 at the latest.

The release summary documentation is worth reading and provides a high level overview of how releases are managed and what kinds of changes are (generally) included/accepted at which stages.
> 5 votes

---
Tags: drupal, menu, shoreditch, global-menu
---


# Question
Title: Membership with recurring fee (monthly or yearly)
I really need your advise on how I can solve my problem. Let me explain first our situation: We have members who pay monthly or yearly his fee. Most of those are paying in cash or bank transfer. What I would like to achieve is that the membership fees are somehow created but pending as long as I did not book the payment. I would like to see an overview of mymembers and if the fee is due or pending. In the Perfect case i would like to put the member to status inactive if he didn‘t pay after 3 months.

I hope it is clear what I need. Otherwise please let me know and i will rephrase it.

Best regards, Said

# Answer
If you mark the payment as pending (see screenshot 1 below) then the resulting membership will be pending. When you update the payment, the membership will be automatically updated.

To set the member status to Inactive after payment hasn't been received for three months, go to **Administer menu » CiviMember » Membership Status Rules**. Click **Edit** next to the *Grace* status, and set the end event to "Membership End Date" and "End Event Adjustment" to "3 months". This creates a three month grace period from the membership end date, and will change to "Expired" after that (assuming you haven't changed other membership status rules).
> 3 votes

---
Tags: civimember
---


title: Is CiviCRM SAML 2.0 compatible?

text:
# Question
Title: Is CiviCRM SAML 2.0 compatible?
I would like to know if CiviCRM conforms to the SAML 2.0 standard for user authentication

Thanks

Norma Tovey

# Answer
CiviCRM itself does not have user authentication. CiviCRM runs within a CMS: Wordpress, Drupal, Joomla or Backdrop. So IMO the question should be: does the CMS you will be using conform to the SAML 2.0 standard?
> 2 votes

---
Tags: authentication
---


# Question
Title: Custom fields of type text not displaying in filter tab of reports (CiviCRM for Drupal 5.5.1)
after upgrading CiviCRM 5.5.1 in the filters of all reports, custom fields (type text) are not visibile. They are only visible only select fields. In column tab are instead visibile. And they are visibile in Advanced Search. Is it a bug?

Thanks

# Answer
I had the same problem. I tried to create a custom field (String data type) and checked it as searchable but it didn't appear in Filters tab.

Checking and debugging the code I found the function `addCustomDataToColumns()` (in `/sites/all/modules/civicrm/CRM/report/Form.php`) which deals with Custom Fields Data

I noticed that String, StateProvince and Country data type are handled in the same way and this probably makes String data type Field not be visible in Filters tab. See this part of the code of the function mentioned above:

```
...

switch ($customDAO->data_type) {

...

case 'String':

case 'StateProvince':

case 'Country':

      $curFilters[$fieldName]['type'] = CRM_Utils_Type::T_STRING;

      $options = CRM_Core_PseudoConstant::get('CRM_Core_BAO_CustomField', 'custom_' . $customDAO->cf_id, array(), 'search');

      if ($options !== FALSE) {

        $curFilters[$fieldName]['operatorType'] = CRM_Core_BAO_CustomField::isSerialized($customDAO) ? CRM_Report_Form::OP_MULTISELECT_SEPARATOR : CRM_Report_Form::OP_MULTISELECT;

        $curFilters[$fieldName]['options'] = $options;

      }

      break;

...

}

...

```

I tried to put some changes in order to handle String data type in this way:

```
...

switch ($customDAO->data_type) {

...

case 'String':

        // I-Mod Giovanni Dal Mas 17102018: add new code lines for case 'String'
        $curFilters[$fieldName]['type'] = CRM_Utils_Type::T_STRING;

        $curFilters[$fieldName]['operatorType'] = CRM_Report_Form::OP_STRING;

        break;

        // E-Mod Giovanni Dal Mas 17102018

case 'StateProvince':

case 'Country':

...

}

...

```

With these changes, I can see the String data type field in Filters tab

Best Regards

Giovanni
> 2 votes

---
Tags: civireport
---


# Question
Title: shoreditch: no option to enable on /civicrm/admin/setting/url?reset=1
So I installed shoreditch on a drupal 7 civicrm. I can enable on the extensions page but on /civicrm/admin/setting/url?reset=1 I see no option to enable the shoreditch them. I can add the custom-civicrm.css there but not the shoreditch option I see on another (Wordpress) installation. This is on a civicrm 5.6.0. Any thoughts?

# Answer
> 2 votes
Frequent reason for that error: Double-check, that your URL resource entries are correct! At best, you should use the URL variables, such as e.g.:

\[civicrm.files\]/extensions

# Answer
> 1 votes
In Drupal, install the Shoredich theme extension. Make sure you use the latest one! Check the extension documentation.

Basically in Drupal you choose the Seven theme as the CiviCRM admin theme.

/admin/appearance

Then, back over in CiviCRM in Resource URLs, you set the CSS to use the Shoreditch CSS.

/civicrm/admin/setting/url?reset=1

Should then work as intended.

# Answer
> 0 votes
Had that once before, as @Laryn mentioned clearing my caches helped!

---
Tags: shoreditch
---


# Question
Title: Email signature is set but does not appear in messages I compose
This question: Customize a User's Signature indicates that it should be possible for CiviCRM to automatically include an email signature if one is set for the sending user. I have set a signature set for the sending user, but nothing appears when I compose a message. I know that I can include it in the message using a template or manually insert a token into my email, but this is harder for my users to remember to do. They expect it to "just work" as shown in the above question. What is going wrong here?

# Answer
> 4 votes
Jeremy,

This was regression error introduced because of change in code. This is now fixed in later version of CiviCRM and should be available in next version. You can either apply the patch or wait for next release.

# Answer
> 2 votes
Not a direct answer to your question but maybe intersting for many users: We have developed an extension that provides a set of features for using signatures in CiviCRM.

Please keep in mind that this extension is currently still in beta/dev stage and has an issue when merging contacts.

---
Tags: civimail, email
---


title: Customize a User's Signature

text:
# Question
Title: Customize a User's Signature
I'm running WordPress with CIVI 4.6.2, at some point in the set-up I managed to modify my personal email template to include my signature and logo. I am not using any extensions.

Currently my contact info and logo automatically appear in email messagew when I decide to email a contact through civicrm. Here's a picture of what I mean:

Unfortunately this modification only appears when I send emails. I have not been able to duplicate this modification for other users in the system. I cannot remember how I did this in the first place.

Any pointers on how I can accomplish this without installing an extension?

Thank you,

# Answer
You can only edit the email signature when you open the full edit screen for your contact, not when you do an inline edit for email addresses.

* Go open the contact whose signature you want to set
* Click **Edit** at the top of the contact's record
* Then, scroll down and you'll see **Signature** below each email address. You can set it there.
> 10 votes

# Answer
Not a direct answer to your question but maybe intersting for many users: We have developed an extension that provides a set of features for using signatures in CiviCRM.

Please keep in mind that this extension is currently still in beta/dev stage and has an issue when merging contacts.
> 1 votes

---
Tags: email
---


# Question
Title: After upgrade to 5.6 status still shows 5.4.0
I have CiviCRM for Drupal 7. Just upgraded from 5.4.0 to 5.6.0 via drush. Everything seems OK, including database. Drupal module page shows 7.x-5.6.0. However, CiviCRM status page still thinks that I have 5.4.0 and suggests that I either apply patch to 5.4.1 or upgrade to 5.6.0. I deleted template\_c files... How come?

# Answer
I suppose, *never mind*... By the morning it started showing everything correctly. Still curious, where this information is coming from - maybe running `cron` in CRM changed it. I ran `cron` in Drupal - but probably not in CiviCRM
> 1 votes

# Answer
I find sometimes upgrading via drush does not run the db upgrades but instead gives a message about being already upgraded. Drush prints the URL that you need, and pasting that to your browser completes the upgrade.
> 0 votes

---
Tags: drupal, upgrade
---


# Question
Title: Paste from Text and Paste from Word in WYSIWYG Editor Throws Error
On CiviCRM 5.5.1 and Drupal 7.

When creating a Civimail, if you click "Paste from Text" or "Paste from Word" buttons in Google Chrome 70 (64 bit) you receive an error:

"Press Ctrl+Shift+V to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option."

How can we fix this or remove the buttons?

# Answer
> 6 votes
You can customize the CKE editor under Administer \> Custom Data & Screens \> Settings \> Display Preferences, you can remove those buttons from the wysiwyg interface if you like.

---
Tags: wysiwyg
---


# Question
Title: CiviCase - remember user choices in search filters for activities
We are using CiviCRM 5.5.3 and CiviCase on Wordpress 4.9.8

Similar to "make activity filter user preference an optional setting" CRM-20799 we wish to make the system remember user choices in case activity tab. Currently all filters are remove with every refresh.

Alternatively we would be happy if we could set the field Status to "Scheduled" by default.

Any way to accomplish that.

# Answer
The setting `Preserve activity filters as a user preference` present in Display Preferences is limited to only Activity tab displayed on the contact summary page. As of now, there is no way to save the user choices in case activity tab.

Similarly, to select `Scheduled` as a default option for status, you might need to write a minor customization in an extension to make it work. Either using the `buildForm` hook and setting default value OR using a smal js code snippet.
> 1 votes

---
Tags: wordpress, civicase
---


# Question
Title: How to add a custom extension on navigation?
I create a simple extension but I want to put it on navigation bar.A simple menu inside a events menu. How can I do that?

# Answer
See the documentation for hook\_civicrm\_navigationMenu including the civix helper functions.
> 3 votes

# Answer
Here is an example of an existing navigationMenu hook:

```
/**
 * Implements hook_civicrm_navigationMenu().
 *
 * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_navigationMenu/
 */
function dmciviapi_civicrm_navigationMenu(&$menu) {

  _dmciviapi_civix_insert_navigation_menu($menu, 'Administer', array(
    'label' => E::ts('Domus Medica API Volledige Rechten'),
    'name' => 'dmciviapi_dmapisettings',
    'url' => 'civicrm/dmciviapi/form/dmapisettings',
    'permission' => 'administer CiviCRM',
    'attributes' => [],
    'operator' => 'OR',
    'separator' => 0,
  ));
  _dmciviapi_civix_navigationMenu($menu);
}

```

In this example the url contains the URL of a form I created with `civix generate:form`
> 1 votes

---
Tags: api
---


# Question
Title: Installing Webform CiviCRM from an Installation Profile
The background is that I have an installation profile that installs certain Drupal modules and CiviCRM. The list of module dependencies goes in my profile's `.info` file. However if I include webform\_civcirm the installation fails. The failure seems to be because CiviCRM has not been installed yet:

```
[ok]
Starting Drupal installation. This takes a while. Consider using the   --notify global option.
[warning]
WD php: Warning: include_once(sites/default/civicrm.settings.php): failed to open stream: No such file or directory in civicrm_initialize() (line 190 of /var/www/site/profiles/compuclient/modules/civicrm/drupal/civicrm.module).
[warning]
WD php: Warning: include_once(): Failed opening 'sites/default/civicrm.settings.php' for inclusion  (include_path='<my include path>') in civicrm_initialize() (line 190 of /var/www/site/profiles/compuclient/modules/civicrm/drupal/civicrm.module).
[warning]
WD php: Warning: Invalid argument supplied for foreach() in civicrm_menu_alter() (line 482 of /var/www/site/profiles/compuclient/modules/civicrm/drupal/civicrm.module).
[error]
Drush command terminated abnormally due to an unrecoverable error.

```

I might be trying to do something the module just isn't designed for, i.e. installing it when CiviCRM isn't yet installed on the site. The step that installs CiviCRM takes place after the site's dependencies are downloaded and enabled.

# Answer
> 1 votes
AFAIK you can not install Webform CiviCRM if CiviCRM is not installed yet.

---
Tags: webform-civicrm
---


# Question
Title: One host, multiple Wordpress domains, one CiviCRM database
We want to use CiviCRM on one host which has several domains each with their own Wordpress installation. The CiviCRM database is located on the same host. I have looked at: https://wiki.civicrm.org/confluence/pages/viewpage.action?pageId=86213708

but cannot figure out which scenario applies. Is there something else I should look at?

I think I want to put the CiviCRM plugin in the wp-content/plugins in each domain, but indicate the same CiviCRM database for each. Is that correct?

# Answer
I haven't done multisite with Wordpress, but I think this link is more up-to-date documentation:

https://docs.civicrm.org/sysadmin/en/latest/install/multi-site/#wordpress-multisites

> If using a WordPress multisite when CiviCRM is activated the civicrm.settings.php file is added within the uploads directory for that site. Site 1, generally the main site of the multisite, uses the default upload path /wp-content/uploads/. But all other sites will use be in /wp-content/uploads/sites/#/civicrm, the # being the website ID for that site. This default setup allows multiple CiviCRM databases to share one codebase...
> 2 votes

# Answer
This sounds like a scenario with multiple website but one CiviCRM, and the websites communicating with CiviCRM using the API. Some more information on this kind of scenario on https://civicrm.org/blog/jaapjansma/using-civicrm-form-processor-extension-to-handle-form-submissions-from-an-external and https://docs.civicrm.org/civiproxy/en/latest/
> 2 votes

# Answer
i'm french, is it somes différents wordpress or a WPMU ? if it's diffrent wordpress, each files "civicrm.settings.php" need to b connected with your database in line "define('CIVICRM\_DSN'"xxxxxxx) if you use a WPMU, you cans set like the previous URL "wordpress-mulstisites". Il use an other way that do the same thing. best regards
> 1 votes

---
Tags: wordpress, settings, multisite
---


title: Batch update cases - closing cases

text:
# Question
Title: Batch update cases - closing cases
I was very excited to test out the new capability that you can batch update cases but I'm not sure I'm testing it as intended. I was hoping to be able to use it to close multiple cases at once. Here is what's happeneing:

* Even though I can update the case statuses to a 'closed' status like "Resolved" it doesn't record an activity (with the date that the case was closed).
* If I add the case end date to the profile, a undefined notice pops up on the batch edit screen and I can only select today's date. Notice: Undefined index: formatType in CRM\_Utils\_Date::addDateMetadataToField() (line 1878 of /srv/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Utils/Date.php).
* If I do process the update with today's date, I don't see anywhere that the date is referenced (aside from being able to search by end date, I don't see a reference inside the case itself.)

I'm assuming I'm expecting too much (mixing capabilities)? It is after all technically updating the case status and date.

(While I am currently in Civi 5.5.3 - I verified this behavior is also on the dmaster demo site.)

# Answer
> 0 votes
Seems like either it was unfinished or the usual tracking was maybe intentionally left out. More info here https://github.com/civicrm/civicrm-core/pull/11411

---
Tags: civicase
---


# Question
Title: What is the best way for an end user to get all the contact and activity data from the database?
Our group is using CiviCRM to house membership data for a small food cooperative. We've lost our web developer and we're trying to get all of our data out of CiviCRM with only the user interface tools. I've tried the various search tools, but the results are perplexing. When I go to Search \>\> Find Activities and search without any filtering, I get 124 activities. When I do Custom Searches \>\> Activity Search without any filtering, I get 898 activities. The discrepancy between the two is confusing, but if I assume the custom searches gives me the complete list, then my problem is that custom search doesn't allow me to specify which fields to download. The regular activity search provides over 80 data points whereas custom search only gives 13 data points. Feel free to point me to documentation if it's covered out there. Thank you.

# Answer
The difference in counts might be explained by the fact that at one time Find Activities only returned results where the With Contact field wasn't empty, and a quick check on the public demo suggests that's still true.

That also seems true for Advanced Search.

You can also try Search Builder, but the list of fields is minimal.

If you're using Drupal, you could try creating a View on the Drupal side that lists the activities.
> 2 votes

# Answer
Custom searches often have built-in filters that may not be very obvious, where as built-in searches allow you to query data with limited restriction. My suggestion to you would be to create a **smart group** of "All Contacts" (if you don't already have one), then use **Search** \> **Advanced Search** and change the **Display Results As** filter as needed - e.g. start with Display Results As = Activities, then work through the list of entities as desired:

Hope this helps!
> 0 votes

---
Tags: database, activities
---


# Question
Title: Is there any paid extension or all are free?
All extensions are free or I have to pay a money for that. I am creating a extension then how will I get the money?

# Answer
In the CiviCRM extension directory all extensions are free. It is common in open source to share your work for free.

I am a freelance CiviCRM developer and all my extensions are free. However I get paid by clients for developing extensions for them and I then share those extensions for free.

So one way is to find clients and start working for them.

May I ask what brings you to asking this question? Is it that you like developing and you what some rewardds or is it something else?
> 4 votes

---
Tags: extension
---


# Question
Title: Charity wordpress template that works with CiviCRM
I want to move our website from Drupal/CiviCRM to Wordpress/CiviCRM but understand that not all wordpress template will work with CiviCRM. Does anyone have a recommendation on the best charity wordpress template to use? We are a very small NFP and don't have money to spend on development.

Thank you!

# Answer
The default Wordpress theme seems to work fine and that is free. Unless you have any specific requirements, I'd stick with that.
> 1 votes

---
Tags: wordpress, templates
---


# Question
Title: Feature Request: Partial Event Registrations (like abandoned carts)
Is it within the realm of possibility to have CiviCRM create a record of an authenticated users registration after they hit submit (before completing payment)? It would be awesome to use this to see what someone selected and judge why they did not complete payment. Sometimes, a user will have a payment error and quit through frustration (card decline, address mismatch, etc.) or spontaneously have to stop their registration (need to go, kid crying, etc.). It would be awesome if they could pick up their previous session and complete it.

Additionally, sometimes we encounter strange errors on CiviEvent registrations that I am having a hard time finding in the debug logs. It would be great if the partial registration could also have any errors attached to it somehow.

If this was enabled, extensions could also offer exit-detection and offer discounts to continue with a registration, or follow-up emails to complete it.

Thank you for your ideas and thoughts.

# Answer
It depends on the scale of the partial registrations you have, but I don't think you need any additional functionality. We get a small number and I think they are best followed up manually. All of them have been people failing to complete the transaction in PayPal. One was them was someone who fell asleep (!) and the rest were people uncomfortable with anything online and not understanding PayPal and a friendly personal email was the right thing where an automated message would probably have not helped.

You can Find Participants with status "Pending (incomplete transaction)". Also I think you need to do it manually so that you can see if they tried again soon afterwards and were successful, which has often been the case.
> 1 votes

---
Tags: civievent
---


# Question
Title: Which local download version of CiviCRM is most like the Spark and what aspects of Spark can be customized?
Is there is a download version CiviCRM that is close to the Spark version. I would like to download it first locally and get comfortable with it then try Spark.

Also I think that the Admin functionality is available for tweaking some stuff but I also think there is a limited number of extensions available at this point. For instance can I add new or rename variables and menu items?

How about creating web page forms for embedding in a website such as a WordPress or Drupal CMS? I know it uses Drupal but still learning about running CiviCRM stand alone and then integrating with a CMS. I personally believe Drupal integration would best long term but might need to integrate with an Existing WordPress site for now. That is if the Spark version even allows integration with a CMS.

Thanks, Carl

# Answer
> 1 votes
Spark is identical to the version of CiviCRM you would download, except that a) you can't install new extensions (it comes with iATS, PayPal, Shoreditch and Mosaico if I recall). You're also limited in the number of contacts you can have.

Note that a "local" copy is a bit misleading in that you need to run a webserver to use CiviCRM. While you could theoretically do this locally, it's requires tech chops - and if you have the capability to set up a local server, you probably don't need Spark.

Spark supports embedding basic web page forms in a separate CMS - but those forms are quite basic and can't take payments. Payment forms will exist in the Spark install. When discussing "CMS Integration" with CiviCRM, you're generally discussing options that are only available when installing CiviCRM within the CMS you're integrating with.

# Answer
> 1 votes
> I would like to download it first locally and get comfortable with it then try Spark.

The idea behind Spark is the reverse! You can get started quickly and easily with CiviCRM using Spark and experiment with what it can do, albeit with some restrictions. From there, you could choose to continue with Spark or select a different hosting option - either hosted or local.

I don't think there is a specific download available matching the Spark configuration, but the latest release plus Shoreditch gives you a similar view.

There are also several demo sites around if you just want to experiment, although they are public and regularly reset. See https://civicrm.org/demo

---
Tags: civicrm-spark
---


# Question
Title: Edit 'Welcome Mr xyz' message on Contribution Form
My Contribution Pages have a message at the top saying, roughly, 'Welcome Mr so and so. To complete this form on behalf of someone else Click Here.'

A few weeks ago I edited this massage, but now I want to do so again and CAN'T FIND IT ANYWHERE.

Can anyone please direct me to where I can edit this message?

Thank you.

# Answer
> 1 votes
Too obvious - I hadn't edited the source, just added some CSS to apply 'display:none' to the 'a' tag.

Thanks for the other suggestions.

# Answer
> 3 votes
I think you're looking for the "Welcome Mr X (Not Mr X, or want to do this for a different person?)" message. That text is in `templates/CRM/Contribute/Form/Contribution/Main.tpl`

It is possible to override templates - see https://docs.civicrm.org/dev/en/latest/framework/templates/customizing/ for details. As the documentation warns, there are problems associated with doing this.

---
Tags: contribution-page
---


# Question
Title: Unable to View Household members on Contact Dashboard
CiviCRM was recently upgraded from 3.5.x to 4.6.36 I can see Household members when logged in as an Admin on Drupal 7.50 website. When I am logged in as an authenticated user,
I don't see the Relationship on contact dashboard

What would be the appropriate permission I need to set to enable authenticated users to view Relationships(household members)?

# Answer
In recent versions of CiviCRM, if you go to Contact Summary Page, Relationships tab, and edit a relationship, there are options there for each side of the relationship to edit, view or have no permission for the other contact. I'm pretty sure this predated 4.6.
> 2 votes

---
Tags: drupal, relationships, accessibility
---


title: Missing Log Tables Error

text:
# Question
Title: Missing Log Tables Error
It seems that daily, my System Status page is giving me the following error:

```
Missing Log Tables
You don't have logging enabled on some tables. This may cause errors on performing insert/update operation on them.

```

I then create the log tables, error goes away - next day - repeat.

Two activities I did in past couple weeks might have triggered this

1. Upgraded PHP version from 7 to 7.1 - while I believe I selected all the proper modules/extensions - there may have been something I missed.
2. Updated from 5.3.1 to 5.6

Wordpress

# Answer
Most people who have this issue are on CiviCRM 5.3-5.6, and is caused by the "missing logging tables" check assuming that temp tables should have a logging table. There is a fix available on Github, and it's part of CiviCRM 5.7+.
> 3 votes

# Answer
Here is summary of our situation after ours reappeared.

This was actually a wrong message shown on the status page. The logging is disabled on /civicrm/admin/setting/misc?reset=1.

The flow which can lead to this error is -

* Logging is enabled on the site which generates a list of log tables in the database.
* User now disables the logging functionality on the site which now stops generating any more log tables.
* User create a custom set on the site which creates a new table in the database.
* The system status page notices a missing log table for the above and displays a warning.

The last step should also check if the logging is enabled on the site even if it is able to find some core log tables already present in the db.

Will submit a PR for this tomorrow.
> 2 votes

# Answer
Cleared Litespeed Cache (a Wordpress cache) and error persisted. Cleared CiviCRM Cache - error disappeared - but returned the next day. Same result as clicking rebuild tables. So the issue persists.
> 1 votes

---
Tags: logs, logging, db-logging
---


# Question
Title: Scheduled reminders on membership end date not sending
CiviCRM 4.7.28, Drupal 7

Scheduled reminders send if set for a specific date fine, but aren't triggered by membership end date - am i perhaps doing something wrong?

I have a relevant membership ending on 30/09/2019 hence the hours to test, but tried with days too.

Unless scheduled reminders are created on the membership creation, so not retroactive?

Thanks

# Answer
> 3 votes
I posted a summary **HERE** just yesterday that should provide you with way too much detail as to the cause of the issue, but by far the easiest way to fix the issue for existing records is to enable repetition (being sure to enter every 1 year until 0 days before membership end or the scheduled job will get mad and won't run).

In the "Current Behavior" section of the same post, you will find a detailed description of how to test to make sure schedule reminders will continue to work - if you don't have access to the database and want to be completely sure that the renewal reminders will send when expected, the next easiest option would be to create new schedule reminders and disable the old ones.

Hope this helps, Tamar

---
Tags: scheduled-reminders
---


title: Permissions: profile listings and forms

text:
# Question
Title: Permissions: profile listings and forms
Via the System Adminsitrator Guide: `profile listings and forms : If you plan on collecting name and address or other information from visitors, enable this permission for the "anonymous" role.`

Via the permissions page the following is noted: `Warning: Give to trusted roles only; this permission has privacy implications. Add/edit data in online forms and access public searchable directories.`

To most - Anonymous is not a "trusted" role - wondering why the warning is given - and what is the best practice.

# Answer
> 2 votes
Yes - it sounds a bit contradictory, but the true reference is to prevent anonymous users access to things like membership directories. Even so, unless you want to force everyone to login to provide this information (be it through an online contribution page, an event registration or a standalone profile), you'll need to grant this permission to the Anonymous User role. If you offer online directories to which you wish to limit access, you can limit access to that directory by using **CMS permissions** (e.g. require login to view the page/block/element through which this directory can be accessed on your website).

---
Tags: permissions
---


title: Documentation and examples civicrm

text:
# Question
Title: Documentation and examples civicrm
I want full documentation of civix tool for creating civicrm extension. I already saw a document on github. I need more information about civix.

# Answer
Hopefully you have already found the developer documentation at https://docs.civicrm.org/dev/en/latest/ alongside the other documentation at https://docs.civicrm.org/

The chapter on civix is at https://docs.civicrm.org/dev/en/latest/extensions/civix/

If you have specific questions after reading the documentation then ask here.
> 1 votes

# Answer
You might want to check if there is a CiviCRM partner/expert near you that would be willing to organise a developer training (or give you a private one). You will probably have to pay for it but it might save you quite some headaches trying to figure it out on your own.
> 0 votes

---
Tags: civix
---


# Question
Title: I would like a complete list of features via email please
My problem is asking for a list of features through this difficult portal.

I hope the software isn't as user unfriendly as this portal.

Please send list of features to my work email address = loris@outsidein.org

# Answer
You could also have a look at the User Guide to find out what CiviCRM can do. You can find the User Guide here: https://docs.civicrm.org/user/en/latest/

Also, it helps if you understand the CiviCRM is supported by a community. Almost all the people answering questions here do so in their own time without getting paid. They will do their best to help you. A command like: "Please send list of features to my work email address = loris@outsidein.org" sound just like that: a command.
> 3 votes

# Answer
welcome to StackExchange. This forum is used typically for questions about using, administering, extending, and troubleshooting CiviCRM. That's not to say if you search the forum there haven't been questions asked and answered about what CiviCRM can do - but they are usually a little more narrow in scope.

For information on the features of CiviCRM, I'd suggest starting here: https://civicrm.org/explore-civicrm

If you are considering implementing the software and are looking for a more in-depth conversation about its capabilities you might consider reaching out to one of the CiviCRM partners (experts) listed here: https://civicrm.org/partners-contributors
> 2 votes

---
Tags: database
---


# Question
Title: how to add custom validation rules to civievent registration form
I've got an event registration form that I've customized putting Jquery into a custom .tpl override file. It's all working fine, except I'm not sure how to go about adding a custom validation rule. I don't want to override any of the existing validation, I just want to add an extra rule. However, I'm not sure exactly how I should implement this.

I've found this post (https://civicrm.org/comment/6311) but that seems to apply to adding validation rules for ALL forms, and involves editing core files, which I don't want to do.

Do I have to create the whole form from scratch using a plugin? Or can I just add validation javascript to the tpl file?

And yes I know Webforms would be able to handle this, but this system is on Joomla so Webforms is not an option :-)

# Answer
More straight-forward way is to write a simple `validateForm` hook - https://docs.civicrm.org/dev/en/latest/hooks/hook\_civicrm\_validateForm/ into an extension.

If you are new to creating an extension, this might be a good place to start - https://docs.civicrm.org/dev/en/latest/extensions/civix/
> 1 votes

---
Tags: civievent, forms, validation
---


# Question
Title: How can I add my extension API into civicrm API?
I create a extension with API but I want to add in API 3 (i.e.on civicrm portal in support-\>developer -\>API explorer.)

# Answer
If you've added an api in the extension, it will be automatically seen in the API explorer, provided -
> 1 votes

---
Tags: api
---


# Question
Title: Extended Reports Extension - reports do not appear
I have installed the Extended Reports Extension, but cannot see any reports, or any configuration options related to them. Where should I be looking?

I have tried on two installations with the same result:

Extended Reports 3.5; CiviCRM 5.5.1; Drupal 7.60-dev; PHP 7.2.11-2+ubuntu18.04.1+deb.sury.org+1

Extended Reports 3.5; CiviCRM 5.3.0; Drupal 7.59; PHP 7.1.16

# Answer
The extended report lists the newly added report as a template, so you need to look at `civicrm/admin/report/template/list?reset=1`, i.e, `Administer -> CiviReport -> Create New Report from Template` menu path.

Click on any template to create your required report.
> 2 votes

---
Tags: extension, reports
---


# Question
Title: Temporary table keeps showing up and throwing MYISAM error and Missing Log Tables error
One installation I help with keeps throwing a MYISAM error that is related to a temporary table, as well as a "Missing Log Tables" error (which I assume is related as they always appear together). If I clear caches, the table disappears and the errors in the system status go away, but they comes back later.

Based on some grepping, it seems this is a "durable" temporary table, generated in `civicrm/CRM/Utils/SQL/TempTable.php` -- is there some way in this file that should be specifying INNODB? Or is there a configuration setting on my server/database that isn't set right?

Table name: `civicrm_tmp_d_dflt_randomstringofnumbersandlettershere`

# Answer
I had a server tech look at this and it looks like this installation is on a server that has been upgraded from some time back, but retained an old setting:

> It looks like the default engine set within /etc/my.cnf was still set to MyISAM...

We are in process of updating that and will restart MySQL in the middle of the night soon. I'm assuming this will fix it (but will update here if not).
> 0 votes

---
Tags: mysql, system-status
---


# Question
Title: How can I increase the rate at which the 'fetch bounce' job works
The scenario is that bounces weren't being fetched and there is now a major backlog, and that running 50 every cron is too slow to make real progress.

# Answer
Here is one approach - modify /civicrm/CRM/Utils/Mail/EmailProcessor.php

so it has multiple iterations specified (in example below = 40) then run via

drush cvapi Job.fetch\_bounces

around line 178

`// process fifty at a time, CRM-4002
 $iterations = 0;
 while ($iterations < 40 && $mails = $store->fetchNext(MAIL_BATCH_SIZE)) {
 $iterations++;
 print("\nBeginning iteration $iterations ");
 foreach ($mails as $key => $mail) {
 print(".");`
> 1 votes

---
Tags: civimail, bounce
---


title: On line donation Thank You

text:
# Question
Title: On line donation Thank You
I would like to customize the auto TY email that is generated to a donor once a donation is made. Can I do this? If so- can you please tell me how? Thanks so much!

# Answer
There are a few places that contribute to the TY email.

On the Receipt tab of the Contribution page config you can add a message there in "Receipt Message".

Also any 'pay later' instructions will also be inserted.

The main template that sucks those bits in and adds a lot of other bits is under \> Administer \> Communications \> Message Templates then click on System Workflow Messages and look for eg Contributions - Receipt (on-line)
> 1 votes

---
Tags: email
---


# Question
Title: Contact Print Summary - can fields be added?
I would like to add Employer and Job Title to the Print Summary. Is this possible? If so, how?

# Answer
> 3 votes
It's hard to tell, but I think this is unintentional. There's a line in the code that says to hide the first section of the contact when in print summary mode, but I suspect the "first section" used to be something else. I can't see any reason why this should be removed.

I can tell you the quick fix, but I'll also submit this for consideration to others.

For now, you need to know how to find where CiviCRM is installed on your folder.

* Inside that folder, find the file located at `<civiroot>CRM/Contact/Page/View/Print.tpl`. This controls the print view.
* Open the file and find the line (about 4 lines from the bottom) that says:

`cj('#contact-summary' ).children(':first').remove();`

* Delete that line and save the file.

That should fix your problem!

UPDATE: Submitted a bug report here: https://lab.civicrm.org/dev/core/issues/477

---
Tags: contacts
---


# Question
Title: What's the best way to handle a matching donation?
We often receive annual appeal donations that include a matching gift from the donor's employer. Is there a better way to handle these other than creating a record for the employer, and soft-crediting the match to the donor?

# Answer
> 4 votes
This is highly dependent on your development department's workflow - but I'd say what you described is the most popular approach.

If you do go this route, you may want to consider installing an extension I wrote called Auto Matching Gift. It's mostly a labor-saver: When you enter the original gift, you select the Matching Gift organization from a list. A pending contribution will be created on their record, and it will be soft-credited to the original donor.

Note that this was developed for an organization that pays for a service of all organizations that match gifts - so if you have to create the organization first, it's not much of a time-saver. Hopefully one day I (or someone else) will improve it to allow adding organizations on the fly.

---
Tags: civicontribute
---


# Question
Title: Is there a simple way to import recurring SEPA mandates that have been processed outside CiviCRM previously and should now be managed using CiviSEPA?
In the CiviSEPA Setup Instructions there is a section regarding importing SEPA mandates, but instead of an answer there is a question... (similar to the one I am asking.)

I have been checking the database tables and *Contribute* options and unless I have missed something, there is no way to import the contributions along with the mandates. That is, using the *Import contributions* option will populate the `civicrm_contribution` table, but not the `civicrm_contribution_recur` table which stores the details of the recurring transactions.

There is also the question of populating the `civicrm_sdd_*` tables which are specific to the **CiviSEPA** extension.

I don't intend to have all the history of the mandates I want to import, but at least a working mandate list that may be used to generate future mandates.

I suppose that I could create a script to inject the data in the proper tables or through the API, but would like to know if someone has tried something easier or has something to start with.

**UPDATE**

I have found this question that also mentions `SepaMandate` and `createfull`: Need to create a SepaMandate for street walkers?

# Answer
> 3 votes
Indeed there is not a standard importer for SEPA mandates. I have migrated SEPA mandates a few times and I use the `SepaMandate createfull` API. That will create the mandate and the recurring contribution.

If you then want to import actual payments you should fill the column `contribution_recur_id` to ensure they are linked to the mandate.

---
Tags: import, civisepa
---


# Question
Title: How to assign a Contribution to a different contact or otherwise have the receipt go to a different contact
A contribution is made by Contact A, but they require the receipt to go to Contact B. What other option is there other than deleting the Contribution record and creating a new one for Contact B.

I have re-read about Soft Credit but see nothing that offers this functionality.

With access to the DB we can update the record (and associated Activities) directly but not ideal.

Is there any 'transfer Contribution' type feature or extension anyone has come across? There was an "I am making one" comment here

# Answer
A long time after the question was asked ... but see https://civicrm.org/extensions/move-contribution
> 1 votes

---
Tags: civicontribute, receipts
---


# Question
Title: Best way to handle memberships involving multiple contacts?
In trying various scenarios with memberships that involve multiple contacts (our most common scenario is partners/spouses), where I landed at this point that seems to work best for my needs is to use households, have the membership at a household level, and use the "Household Member is" relationship on the membership type so the membership applies to everyone with that relationship.

The issue I'm running into with this is when I run a membership report it includes each member of the household (which is good!) and ALSO includes the household itself (not so good). Particularly when it comes to generating a membership sign-in list for our meetings (and our meetings can be pretty large), it's not ideal to have the households on the list.

Unless I'm totally missing it, I don't see that you can filter by contact type on the membership reports. If I could limit the contact type to individuals that would solve my problem. I'm comfortable with SQL and could take the query listed on the Developer tab as my starting point, but if I do that am I then in the realm of creating an extension to do this?

I also did a lot of reading up on Households in general and it looks like a lot of people don't use them at all. I could go the "payment by other member" route and do a soft credit but that seems cumbersome to me (you have to create the payment on the NON-paying user FIRST from what I can tell), so given all of this how have others gone about handling memberships with multiple contacts?

Thanks for your thoughts and experiences on this.

# Answer
> 5 votes
We tend to:

* not use households but use individual memberships and the inheritance feature to construct Family (Household-like) Memberships
* use Drupal Webform CiviCRM module to make this a one form signup (adults + children on one form) - with Webform CiviCRM you can add more then one Contact on the Form and specify relationships between these Contacts
* use inherit (on the Membership Type config) -\> so that the children inherit the Family Membership by relation

Example - below (adding Children) - in this case we can't add Spouses - they need to sign their own waiver. But we do get them a Free Spousal membership if they specify a Spousal relationship to the Primary Contact.

---
Tags: civimember, households
---


# Question
Title: Error When Expanding Relationship Section on Advanced Search
I'm on CiviCRM 5.6.0 on WordPress 4.9.8, and I have created some custom relationships, all with contact type A of individual, and contact type B of organization.

When I go to Search -\> Advanced Search and expand the Relationships section, I get this notice: Network Error Unable to reach the server. Please refresh this page in your browser and try again.

When I check the logs, this is the full error message that occurs when I expand the Relationships section:

`[Wed Oct 24 15:42:05.499499 2018] [proxy_fcgi:error] [pid 32638:tid 140566905980672] [client X.X.X.X:56697] AH01071: Got error 'PHP message: PHP Warning: array_key_exists(): The first argument should be either a string or an integer in /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Contact/Form/Search.php on line 301\nPHP message: PHP Warning: array_key_exists(): The first argument should be either a string or an integer in /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Contact/Form/Search.php on line 301\n', referer: https://XXXX/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fcontact%2Fsearch%2Fadvanced&reset=1`

On another instance of CiviCRM 5.5.2, also on WordPress, on which I have not created any custom relationship types, I do not get this error. I tried disabling all the custom relationships I created in the instance on which I'm having issues but the error still occurs.

Anyone have any ideas on what might be going on? Thanks.

# Answer
> 1 votes
So this all boiled down to this issue, which has to do specifically with custom fields that are integer selects, and it was impacting both the custom fields and the relationships sections of the advanced search since I was using the same custom field on a custom relationship.

The short-term fix is I went into the database and made the custom field in question not searchable and set is\_search\_range to 0 as well, which resolved the issue with the relationships section on advanced search throwing an error.

That does mean that for the time being I can't search by that custom field, which is unfortunate since it's kind of a key piece of what I might want to sort/filter by, but I'll keep an eye on the bug and if push comes to shove I can always change that custom field into a text field and rework things since in this case although the data is integers it doesn't have to be since I'm not running math on it or anything, it's essentially just a numeric label.

Hope that helps someone else who runs into this with some thought process or at least raises awareness about the bug.

---
Tags: relationships, advanced-search
---


# Question
Title: greater-than-or-equal-to value in search builder is not displaying
When creating a smart group I am no longer able to select the greater-than-or-equal-to value in the operator field. I tested it several times and the only time I can choose the greater-than-or-equal-to value is when it is the first search in my search builder. In the image you can see that I can not choose the value I want to modify the date accordingly. I am using CiviCRM 5.3.1

# Answer
> 1 votes
I was able to replicate this bug on Civi 5.3.1 but not on the latest version (5.6.1). An upgrade should take care of this for you.

---
Tags: smartgroups, search-builder
---


title: Track membership fee belated

text:
# Question
Title: Track membership fee belated
I have a question regarding membership fees for the following scenario:

Let's say I have a member who joined in January 2018. He payed for 6 months until June 2018. As we are in October now, he is overdue for 4 months. When i try to extend the membership, i click on "renew" button on his overdue membership. I record a new payment and I assumed to extend the membership from the end of the previous membership. Unfortunatly the membership is extended based on "today" and not fromend of June.

Here the screen from the renew form:

Thanks for your help!

Best regards, Said

# Answer
Tamar is correct that you can change the date - but I assume what you're looking for is to change the *default* date that shows up in the "Date Renewal Entered" field.

I wrote an extension, Custom Renewal Start Date that does exactly this for a client a long time ago. I haven't shared it before, but I'm posting it because I saw this request!
> 4 votes

# Answer
You can make use of the "Date Renewal Entered" field for this purpose - e.g. if you enter a date of July 1, 2018, then a 6 month membership will be extended through December 31, 2018 - the date the payment was recorded can be left as the current date - when you click to view the membership, it will appear as displayed in the screenshot below:

Hope this helps!
> 4 votes

---
Tags: civimember
---


# Question
Title: I am to install CiviCRM on Windows 10 with WAMP
I have been trying to setup CiviCRM on Windows 10, But I am not able to install "bin/civi-download-tools" on it. Even I have installed and enabled Linux subsystem tools on windows.

Please guide me as I am to complete my test.

# Answer
> 1 votes
BuildKit does not work on Windows at present - CiviCRM BuildKit makes many assumptions about what tools and environment it has access to and at this time it is not Windows compatible.

It could be made to be so but the ease of setting up a Linux VM in Windows and the ever-improving "Windows Subsystem for Linux" make it unlikely that any explicit efforts are going to be made to make BuildKit natively support running on Windows/WAMP stacks.

---
Tags: installation, issues, windows
---


# Question
Title: How to search for multiple attendees linked to single payer in CiviEvent
I've CiviEvent webform that allows a payee to register multiple attendees on behalf of a single organization. When the transaction is completed the Participant List shows that each attendee from the same organization has paid independently without any reference to the payee or organization. Somehow I would think that Soft Credit would be involved here but is not. Please advise.

# Answer
Soft credits, by definition, allow you to credit a contact for a donation made by someone, for example the person who inspired the actual donor to make a donation. Paying for something on behalf of someone else is not considered a soft credit.

That said, the participant list that you access via the Participants hyperlink to the right-hand side of the event in question (e.g. under Events \> Manage Events) is a simple search meant to show you how many attendees you have. If you want additional information such as who registered/paid for a given person, you would be better off using a report, however, there does not seem to be one that will fit your needs:

The built-in participant report (Reports \> Event Reports \> Event Participant Report) will show only the Registered by Participant ID (not the name) and does not have grouping or sort options for either Registered by or Organization.

The **Extended Report** extension, on the other hand, gets you pretty close with Extended Report - Participants (Reports \> Create Reports from Templates \> Event Reports):

As you can see from the screenshot of the left-hand side of the report, Extended Report - Participants does offer the Registered by Participant Name and allows you to sort by the same, however (and this will be the same for any report you use) the person who submitted the registration will not have a value in the registered by field, so while you can group the additional participants together, the actual registrant will be listed in the "None" group.

The Fee Amount (which corresponds to the Fee Level) will always be divided up according to the selections made for each participant - this is important when you need to know who ordered what regardless of who actually paid. Both reports offer you the option of the Net Amount field (Total Amount less any Transaction Fees) that would only be populated for the person who paid, but neither of the reports offer you the Total Amount field (which would ***not*** exclude any transaction fees - screenshot below shows the right-hand side of the report):

So, in short, there does not appear to be something out of the box or available through an extension that will suit your needs, but from a development standpoint it is a simple thing to add additional fields to a given report.

Sorry not to be the bearer of better news, Tamar
> 1 votes

# Answer
Certainly, it would be nice to have this feature. The way I would work round this is to use the Participant search and then export the results as an excel spreadsheet. I exported the Participant ID, the Registered By ID and First Name, Last Name. Then its quite easy to use some Excel formulae to put in the names for who registered by (look up on the Participant ID) and where the Registered By ID is blank to use the Participant ID. Once you have worked out what you want its quite quick to do again. Certainly a lot quicker than writing a new report!
> 0 votes

---
Tags: civievent, participants
---