title: Unable to Select Mailing Recipients

text:
# Question
Title: Unable to Select Mailing Recipients
CiviCRM 4.6.10 and 4.6.11 Joomla 2.5.28 No Civi extensions installed Have tried different templates, disabling Joomla plugins, switching WYSIWYG editors, etc.

Rather extensive error log in web inspector points to js errors in bower components and angular. I can temporarily set CiviMail back to legacy mode, but not a good long term solution. Please advise if I should open an issue on Jira.

```
[Error] Error: b.indexOf is not a function. (In 'b.indexOf("[object Object])', 'b.indexOf' is undefined)
b@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:6995
initContainerWidth@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:7176
initContainer@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:13032
init@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:1:19485
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:31032
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:2979
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:839
select2@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:30777
http://domainname.net/administrator/components/com_civicrm/civicrm/js/Common.js?r=9T92B:44:12
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:2979
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:839
crmSelect2@http://domainname.net/administrator/components/com_civicrm/civicrm/js/Common.js?r=9T92B:41:20
http://domainname.net/administrator/components/com_civicrm/civicrm/js/Common.js?r=9T92B:52:15
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:2979
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:839
crmEntityRef@http://domainname.net/administrator/components/com_civicrm/civicrm/js/Common.js?r=9T92B:45:74
init@http://domainname.net/administrator/?option=com_civicrm&task=civicrm/ajax/angular-modules&format=js&r=9T92B:60:37
link@http://domainname.net/administrator/?option=com_civicrm&task=civicrm/ajax/angular-modules&format=js&r=9T92B:61:5
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:98
Z@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:150
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:256
g@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:51:336
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:50:445
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:52:323
h@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:56:323
link@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:239:290
Z@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:150
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:256
g@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:51:336
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:200
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:66:210
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:112:183
$eval@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:126:250
$digest@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:123:370
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:126:344
e@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:40:79
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:44:163
    (anonymous function)
    (anonymous function)
    Z
    I
    g
    (anonymous function)
    (anonymous function)
    h
    link
    Z
    I
    g
    I
    (anonymous function)
    (anonymous function)
    $eval
    $digest
    (anonymous function)
    e
    (anonymous function)
[Error] Error: b.indexOf is not a function. (In 'b.indexOf("[object Object])', 'b.indexOf' is undefined)
b@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:6995
initContainerWidth@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:7176
initContainer@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:13032
init@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:1:19485
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:31032
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:2979
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:839
select2@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:30777
init@http://domainname.net/administrator/?option=com_civicrm&task=civicrm/ajax/angular-modules&format=js&r=9T92B:58:32
link@http://domainname.net/administrator/?option=com_civicrm&task=civicrm/ajax/angular-modules&format=js&r=9T92B:59:5
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:98
Z@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:150
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:256
g@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:51:336
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:200
g@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:51:336
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:50:445
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:52:323
h@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:56:323
link@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:239:290
Z@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:150
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:256
g@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:51:336
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:200
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:66:210
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:112:183
$eval@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:126:250
$digest@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:123:370
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:126:344
e@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:40:79
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:44:163
    (anonymous function)
    (anonymous function)
    Z
    I
    g
    I
    g
    (anonymous function)
    (anonymous function)
    h
    link
    Z
    I
    g
    I
    (anonymous function)
    (anonymous function)
    $eval
    $digest
    (anonymous function)
    e
    (anonymous function)
[Error] Error: b.indexOf is not a function. (In 'b.indexOf("[object Object])', 'b.indexOf' is undefined)
b@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:6995
initContainerWidth@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:7176
initContainer@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:13032
init@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:1:19485
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:31032
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:2979
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:839
select2@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:30777
init@http://domainname.net/administrator/?option=com_civicrm&task=civicrm/ajax/angular-modules&format=js&r=9T92B:58:32
link@http://domainname.net/administrator/?option=com_civicrm&task=civicrm/ajax/angular-modules&format=js&r=9T92B:59:5
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:98
Z@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:150
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:256
g@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:51:336
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:200
g@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:51:336
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:50:445
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:52:323
h@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:56:323
link@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:239:290
Z@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:150
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:256
g@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:51:336
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:200
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:66:210
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:112:183
$eval@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:126:250
$digest@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:123:370
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:126:344
e@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:40:79
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:44:163
    (anonymous function)
    (anonymous function)
    Z
    I
    g
    I
    g
    (anonymous function)
    (anonymous function)
    h
    link
    Z
    I
    g
    I
    (anonymous function)
    (anonymous function)
    $eval
    $digest
    (anonymous function)
    e
    (anonymous function)
[Error] Error: b.indexOf is not a function. (In 'b.indexOf("[object Object])', 'b.indexOf' is undefined)
b@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:6995
initContainerWidth@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:7176
initContainer@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:13032
init@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:1:19485
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:31032
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:2979
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:839
select2@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:30777
init@http://domainname.net/administrator/?option=com_civicrm&task=civicrm/ajax/angular-modules&format=js&r=9T92B:58:32
link@http://domainname.net/administrator/?option=com_civicrm&task=civicrm/ajax/angular-modules&format=js&r=9T92B:59:5
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:98
Z@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:150
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:256
g@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:51:336
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:200
g@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:51:336
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:50:445
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:52:323
h@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:56:323
link@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:239:290
Z@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:150
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:256
g@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:51:336
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:200
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:66:210
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:112:183
$eval@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:126:250
$digest@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:123:370
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:126:344
e@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:40:79
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:44:163
    (anonymous function)
    (anonymous function)
    Z
    I
    g
    I
    g
    (anonymous function)
    (anonymous function)
    h
    link
    Z
    I
    g
    I
    (anonymous function)
    (anonymous function)
    $eval
    $digest
    (anonymous function)
    e
    (anonymous function)
[Error] Error: b.indexOf is not a function. (In 'b.indexOf("[object Object])', 'b.indexOf' is undefined)
b@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:6995
initContainerWidth@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:7176
initContainer@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:22728
init@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:1:19485
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:31032
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:2979
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:839
select2@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:30777
link@http://domainname.net/administrator/?option=com_civicrm&task=civicrm/ajax/angular-modules&format=js&r=9T92B:119:19
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:98
Z@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:70:150
I@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:59:256
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:66:210
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:112:183
$eval@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:126:250
$digest@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:123:370
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:126:344
e@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:40:79
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:44:163
    (anonymous function)
    (anonymous function)
    Z
    I
    (anonymous function)
    (anonymous function)
    $eval
    $digest
    (anonymous function)
    e
    (anonymous function)
[Error] Error: b.indexOf is not a function. (In 'b.indexOf("%")', 'b.indexOf' is undefined)
b@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:6995
initContainerWidth@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:7176
initContainer@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:13032
init@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:1:19485
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:31032
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:2979
each@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/jquery/dist/jquery.min.js?r=9T92B:2:839
select2@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/select2/select2.min.js?r=9T92B:2:30777
http://domainname.net/administrator/?option=com_civicrm&task=civicrm/ajax/angular-modules&format=js&r=9T92B:89:13336
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:139:176
e@http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:40:79
http://domainname.net/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js?r=9T92B:44:163
    (anonymous function)
    (anonymous function)
    (anonymous function)
    e
    (anonymous function)
[Warning] Invalid CSS property declaration at: * (administrator, line 1)
```

# Answer
> -1 votes
I had similar problems, but it was in drupal, not joomla. So this is probably not the same issue. For me, the final culprit was a Civicrm extension: "pogstone fancy tokens".

---
Tags: civimail, mailing, 4.6, javascript
---


# Question
Title: Forms generation with CivicRM Profiles under Wordpress
When trying to use a profile for form input on a page, one of my profiles is available but the others are not. Any ideas on what I may be missing?

# Answer
I'm not sure what you're wanting to do is possible, see a solution here, which is to create one new profile with all the fields: https://forum.civicrm.org/index.php?topic=32718.0

That said - CiviCRM 4.6 with Wordpress has the ability to render multiple profiles, but I'm still not sure if you can have multiple profile forms: https://civicrm.org/blogs/haystack/working-civicrm-46-wordpress
> 1 votes

---
Tags: wordpress, custom-fields, profile
---


# Question
Title: How can I get rid of the "Name" field in a profile listing?
I'm trying to create a membership directory, and I don't want to display the "Name" field, which shows the "sort name". How can I accomplish this?

# Answer
> 1 votes
This question was asked 5 years ago on the old CiviCRM forum, here.

Here's a solution updated to work with CiviCRM 4.6.10:

```
templates/CRM/Profile/Page/Listings.tpl
@@ -59,26 +51,30 @@
     <table>
       <tr class="columnheader">
       {foreach from=$columnHeaders item=header}
-        <th scope="col">
-        {if $header.sort}
-          {assign var='key' value=$header.sort}
-          {$sort->_response.$key.link}
-        {else}
-          {$header.name}
+        {if $header.sort neq 'sort_name' }
+          {if $header.sort}
+          <th scope="col">
+            {assign var='key' value=$header.sort}
+            {$sort->_response.$key.link}
+           </th>
+          {else}
+            {$header.name}
+          {/if}
         {/if}
-         </th>
       {/foreach}
       </tr>

       {counter start=0 skip=1 print=false}
       {foreach from=$rows item=row name=listings}
       <tr id="row-{$smarty.foreach.listings.iteration}" class="{cycle values="odd-row,even-row"}">
-      {foreach from=$row key=index item=value}
+      {foreach from=$row key=index item=value key=field}
+        {if $field gt 1}
         {if $columnHeaders.$index.field_name}
           <td class="crm-{$columnHeaders.$index.field_name}">{$value}</td>
         {else}
           <td>{$value}</td>
         {/if}
+        {/if}
       {/foreach}
       </tr>
       {/foreach}

```

---
Tags: profile
---


# Question
Title: How can I deal with a missing or corrupt binary ("advanced") log table?
Sometimes I install an extension that creates a new MySQL table, but it breaks because I have binary ("advanced") logging enabled. CiviCRM tries to write to the binary log, and it fails because the table doesn't exist.

Other times, there's a corrupt binary log table, which I can only fix by dropping it.

In these situations, I know that disabling and re-enabling binary logging will fix the situation, but then I lose my existing logs! Is there another less destructive solution?

# Answer
> 4 votes
As of CiviCRM 4.7, you can fix this by installing any extension; see CRM-15078. Schema differences are fixed on extension installation.

If you are on an earlier version of CiviCRM, there's a trick you can do. Edit the PHP for a page that doesn't normally get used - I like the API Explorer page (CRM/Admin/Page/APIExplorer.php).

Right after `public function run() {`, I put:

```
$temp = new CRM_Logging_Schema();
$temp->fixSchemaDifferences(TRUE);
echo "Binary log schema differences are now fixed.";
die;

```

Once I get back the "now fixed" message, I remove the code from the page and everything works.

---
Tags: developer, logging
---


# Question
Title: Moneris Payment Processor - use CIviCRM Invoice ID as Order ID in Moneris
For simple reconciliation, our client is requesting that the CiviCRM Invoice # be passed to Moneris as the Order ID for more straight-forward reconciliation.

We are referring to the default INV\_xxxxx Invoice ID that CiviCRM generates.

Right now, Moneris passes back a random hash (ie, 0xf99c700c82a2e0011d750b925fd2db).

We currently use the modified Moneris plugin as provided by adixon @ Blackfly - https://github.com/adixon/ca.civicrm.moneris

# Answer
> 1 votes
Sounds like a good idea, most payment processors don't really like those 'random hash' things. But that random hash is the "invoice\_id", and it's just how civicrm generates it (for good reasons, actually). The "Invoice ID" you describe is an optional piece of 4.6, so not always available. Also, I'm not sure if it's available to the payment processor plugin. Anyone else have an idea?

---
Tags: civicontribute, payment-processor
---


# Question
Title: Exported custom date fields formatted incorrectly
The error seems to occur during the export process and affects only custom date fields, not those that are built-in.

My custom date field is set to use "mm/dd/yyyy", and stores correctly in the sql table as "yyyy-mm-dd hh:mm:ss". But then after export, the CSV in notepad shows "Month day, year" (ex: August 17**th**, 2015).

The "th" in "17th" prevents Excel from recognizing it as a date when opening the CSV. That can be fixed with find/replace, but doesn't address the root problem.

Where can I change the date export format for custom fields, or at least get rid of those ordinal suffixes?

# Answer
> 4 votes
Based on your description, I think the export format *might* be controlled by the "Complete Date and Time" and "Complete Date" settings at Administer \> Localization \> Date Formats. The default values for those fields are:

```
Complete Date and Time - %B %E%f, %Y %l:%M %P
Complete Date - %B %E%f, %Y

```

The help text on that screen reads:

> Use this screen to configure formats for date display and date input fields. Defaults are provided for standard United States formats. Settings use standard POSIX specifiers. Available specifiers and the values produced will vary based on your operating system and locale.
>
> Commonly Used Specifiers
>
> %b - abbreviated month name ('Jan'..'Dec')
> %B - full month name ('January'..'December')
> %d - day of the month as a decimal number, 0-padded ('01'..'31')
> %e - day of the month as a decimal number, blank-padded (' 1'..'31')
> %E - day of the month as a decimal number ('1'..'31')
> **%f - English ordinal suffix for the day of the month ('st', 'nd', 'rd', 'th')**
> %H - hour in 24-hour format, 0-padded ('00'..'23')
> %I - hour in 12-hour format, 0-padded ('01'..'12')
> %k - hour in 24-hour format, blank-padded (' 0'..'23')
> %l - hour in 12-hour format, blank-padded (' 1'..'12')
> %m - month as a decimal number, 0-padded ('01'..'12')
> %M - minute, 0-padded ('00'..'60')
> %p - lowercase ante/post meridiem ('am', 'pm')
> %P - uppercase ante/post meridiem ('AM', 'PM')
> %Y - year as a decimal number including the century ('2015')

If you change the values for those settings, perhaps the export format will change?

---
Tags: export, dates
---


# Question
Title: How can I redirect users to the contact dashboard after login?
We're on civicrm 4.5.8 and drupal 7.

I'm testing accepting donations including recurring, which means the contacts will need logins. When they login I think I'd like the landing place to be their contact dashboard or at the very least have a direct link to it in the menu. Right now it seems that the users have to select My Account then after their name and address stuff there is a link for View Contact Dashboard.

Can I make it go their directly after they login?

Really, ideally, depending on their role I'd like them to be directed to different places, e.g. back office staff goes to the standard Civicrm home page normal users go to contact dashboard.

# Answer
Your best bet with Drupal is to use the Rules module. I think you also need to have CiviCRM Entity installed to get the proper tokens.

**Add a new Rules Component:**

1. Component Plugin: Action Set
2. Name the component (e.g.: Fetch CiviCRM ID of logged in user)
3. You only need one variable, choose CiviCRM \> CiviCRM Contact (may need the CiviCRM Entity module for this step). Give it a label (e.g.: Contact) and a machine name (e.g. civi\_contact). For usage, leave it on Parameter.

For the actions in the Action Set:

*Add new action (1):*

1. Entities \> Fetch Entity by Property (not one of the many possibilities listed under CiviCRM headings)
2. Value: User
3. Property - Value: CiviCRM Contact
4. For Value - Data Selector, choose whatever the machine name of your Variable above is (e.g. civi-contact).
5. Limit the result count to 1.
6. Save

*Add new action (2):*

7. System \> Page redirect
8. Specify your URL - you should now be able to use the `[your-machine-name:id]` token (e.g. `[civi-contact:id]`) to fill in the logged in user's Civi Contact ID.
9. Save

**Then create a new rule**

1. Reacts on Event: User \> User has logged in
2. Add a condition: User \> User has role(s); specify which role(s)
3. Set actions: use the Rules component that you just created (all the way at the bottom of the list).

Lastly, clone the rule component and rule as much as you need depending on how many different roles are going to different places.
> 6 votes

# Answer
Allen has a great explanation for how to do this, particularly for anytime anyone logs in. Just for completeness, I wanted to make sure this simple option was documented, too.

You may not really want all logins to go to the contact dashboard. It may be really that you want certain links to lead people there, but others logging in (you and other admins, for example) should end up somewhere else. In that case, you can link to

```
http://example.org/user?destination=civicrm/user

```

(replacing `http://example.org` with your base URL) wherever you want people to log in and end up at the user dashboard.

Note that this does not work well with additional parameters, so a redirect to a particular contribution page won't work well, since the page ID isn't in the main Drupal path.
> 4 votes

---
Tags: drupal, dashboard, redirect
---


title: "does not equal" operator not working

text:
# Question
Title: "does not equal" operator not working
We're trying to set up a search that includes contacts with one tag but excludes ones with another tag. Yet the "does not equal" operator does not appear to be functioning. Any ideas what the issue could be?

# Answer
You have to watch out using the search builder when your search involves related entities. Searching for `does not equal` `X` on something doesn't exclude contacts with a related entity with a field's value as `X`, it searches for contacts who *have* that related entity so long as the value doesn't equal `X`.

In other words, searching for contacts where tag name `does not equal` `Prospect` doesn't exclude all prospects; it finds all contacts with tags so long as those tags aren't `Prospect`.

Although it seems foreign in the context of tags, groups, and some entities, it makes lots of sense regarding addresses: if you search for people where the state `does not equal` `Alabama`, it'll exclude people who **only** have an address in Alabama, but it'll include people who live in Alabama but have a work address in Georgia.

To reliably exclude contacts, you either need a specialized search like the include/exclude search, or you need to run a search with the criteria you want to *include* on, tag those contacts, run a search with the criteria you want to *exclude* on, and remove the tag from those contacts.

For example, to find everyone in Baltimore who *has not* attended an event in the past year, run a search (Advanced Search is easiest) for everyone in Baltimore, and use the "Actions" drop-down to tag all the results with a new tag called "Baltimore - no events". Then, run a search for participants at events in the past year, and use the "Actions" drop-down to untag all the results, removing the "Baltimore - no events" tag. (It doesn't matter that your second search will catch people in Glen Burnie or whatever who never had the tag in the first place.)
> 4 votes

# Answer
I got around the problem by using the Include/Exclude search eventually.
> 1 votes

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


# Question
Title: Hosting provider claims normal use of CiviCRM is "brute force attack"
In using CiviCRM on a shared server with a local hosting provider, my IP address continually gets blocked by the server's security script. According to my provider my \[legitimate CiviCRM\] activity is seen as a Brute Force attack on the server.

My question: is this a problem related to the host, or is it related to some misconfiguration of my CiviCRM or Joomla CMS?

# Answer
> 3 votes
Sounds a bit like a problem with mod\_security, see also

https://forum.civicrm.org/index.php?topic=36028.0

I have also asked a hoster once of one of my clients to switch it off for that site. But this forum topic even gives options about how to configure mod\_security rules to keep it switched on and still have CiviCRM working.

---
Tags: joomla, configuration, hosting
---


# Question
Title: Can a contact be registered for an event through another event
After some wrangling with ideas on how to make registration easier for participants I've come up against a problem and wonder if CiviCRM can even be used to fix the issue without a tremendous amount of custom coding. I'm looking for ideas on how to overcome the issue.

Brief site description Our site runs 10 events a year for two groups: Students and Instructors. Members from both groups log in and sign up for events they will attend. Instructors don't pay but Students do. In fact, Students receive a discount if they sign up for more than one event. If they sign up for a single event early, they get a discount but early and 'bulk' discounts are not combined.

Easy Registration Rather than create 20 events (10 for students, 10 for instructors) I create 2 'super registration' events (one for students, one for instructors) that allows registration to any or all of the events. In the event I have a checkbox list with 5 choices, of which any number of choice can be selected.

Event 1: Apr 29-30 Event 2: June 1-2, Event 3: July 10-11 etc . . .

Pricing is listed as:

ONE Event: $100 TWO Events: $180 THREE Events: $270 . . . .

Problem 1: I cannot find a method to force the number of event choices to the correct corresponding price. For example, Student picks Event 1 and 3, but then only picks ONE Event for pricing 'accidentally' paying for one, rather than two events. This requires 'administrative intervention' in the form of an email (Dear user so sorry to see you can't count. Pay for the correct number of events or we're only signing you up for the number you paid for). Be great if I could somehow count the number of selected events and force that price.

Is there a way to do this?

Problem 2: While using CiviReports and Excel is fine to manage the two super events I was wonder if I could use CiviCRM to manage all events. I was thinking, create my user accessible 'super event' but also create admin-access only events to track which users are actually going to which event. For example:

Event List Student Registration event - allow users to sign up for any number of events Student Event 1 (for admins only) - Track whose coming to event 1 Student Event 2 (for admins only) - Track whose coming to event 2 Student Event 3 (for admins only) - Track whose coming to event 3

dito for instructors

Is there a way to do this?

I've considered the shopping cart but it still forces users to pick each event, put it in a cart, pay and the bulk pricing becomes tricky as the percentage of discount changes depending on number of events picked. The shopping cart is still a bit creaky too. The 'super event' is pretty popular with users so I'd like to keep it.

# Answer
I certainly would investigate the CiviDiscount extension: https://civicrm.org/extensions/cividiscount

It might already bring functionality that would be close to what you need, if not... it has it's own API, so a custom extension that would meet your needs would be smaller with CiviDiscount then without.
> 1 votes

# Answer
I think both of your questions need custom code, but not a whole lot.

For question 1, use hook\_civicrm\_validateForm. Count the number of events they selected and ensure it matches the number of events they paid for. If not, raise an error. You can write this in a few lines of code, if you are (or have access to) someone who codes such thing.

For question 2...hmm. If you're using Civi 4.6+, you can create a recurring event as a way to easily create 10 events at once. And I can imagine some sort of hook\_civicrm\_post hook on Participant records. It could check if your event type is "super event", and if so, parses the values in it and creates Participant records on the "regular" events for those users. Doing that such that you won't have to edit the code for each new super event is a little trickier; I'm sure it can be done, but might need some clever data structuring.
> 0 votes

---
Tags: civievent
---


# Question
Title: How can I change what data gets exported using the Accounting Batches feature?
I want to use the accounting batch feature to group together and export transactions data so that I can them import that data into my accounting system (Xero). But Xero has a strictly defined structure for the CSV file it will accept, and there doesn't seem to be any way to edit the order of fields, or to add in any custom fields, to the data that CivicRM exports.

I did find this useful blog post https://civicrm.org/blogs/pogstonesarahgladstone/creating-accounting-batch-export-format-accountedge which gives some pointers about how to hack the core files to make changes.

Surely there has to be an easier way?

# Answer
> 1 votes
Have you seen Eileen's extension for integration with Xero? CiviXero

# Answer
> 1 votes
You can alter your accounting batches with hook\_civicrm\_batchItems and hook\_civicrm\_batchQuery.

---
Tags: accounting, export
---


# Question
Title: Can I report data from a disabled custom field or option?
I'd like to disable some custom field fields, because we no longer want users to enter that data. But then I can no longer see the field in report filters. Is there another way I can get that data out without re-enabling the field?

I would also like to disable some field options. Is the data preserved? Assuming so (maybe I shouldn't) how can I report or export it after it's disabled?

Thanks everyone

Thanks for the suggestions - however, I'm new to CiviCRM, what is CSS? I think being able to change the visibility in the field when inputting would help, but you'd still have to have it visible for reporting. (Other systems I have used just have a 'selectable' option tick box for each entry in the pick list - but this only controls new choices in a pick list, as all options are available for reporting.)

# Answer
You might consider using css to hide the fields not in used, in this case you can still have them available for reporting,
> 3 votes

# Answer
Unfortunately, "disabled" controls both availability for entering data as well as for visibility on reports.

If you disable field options, the data IS preserved - but will only be available for reporting/export if you (temporarily) re-enable the options.

If this is completely unworkable in your scenario, you can try more advanced solutions for disabling items, such as Kboy's suggestion to hide unused fields with CSS, or running a SQL query directly against the database to pick up disabled options.
> 2 votes

---
Tags: custom-fields, civireport, export
---


# Question
Title: Advanced Search: Exporting Groups/tags fields from event participant search
When using advanced search to find event participants, the option to export Group(s) and Tags is not listed under "individual record type". Is there a way to pull this data together with event participant fields?

Thanks, Jon

# Answer
> 0 votes
A possible work around is to do the search twice, first search will be to add the contacts to a temporal group and export contacts with the right tags and groups, the second search, export the events related data and use excel function example Vlookup to add tags/groups to your last export. You may want to export the contact ID, which will be your unique column for Vlookup.

Hope this helps.

# Answer
> 0 votes
Unfortunately not, at least without resorting to spreadsheet trickery like Kboy suggests. You have a few options: * Commission a custom report, or for a modification to the current reports to export the data you want. * Restructure your data to use custom fields rather than groups/tags. You can always use smart groups based on your custom fields if you need to keep the groups for, e.g., mailings or other searches.

---
Tags: civievent, civimember
---


title: CiviEvent detailed schedule

text:
# Question
Title: CiviEvent detailed schedule
When creating multi-day events, I'd like to display a more detailed schedule than what's shown by the "When" field. The "When" field essentially shows the duration of the event, but I'd also like to have a "Schedule" field to show the days and times of the week. Is something this possible?

```
When      March 1st, 2016 7:00 PM   through   May 26th, 2016 9:30 PM
Schedule  Mondays 7:00 - 9:30 PM
          Wednesdays 7:00 - 9:00 PM
Location  ...

```

# Answer
> 0 votes
You could setup a custom field for the event (not the participants, but the event itself) such that you could input a schedule as needed. More details here: http://book.civicrm.org/user/events/setup/

---
Tags: civievent
---


# Question
Title: How to resolve issue with " Â " appears before currency sign?
Whenever I export a csv from any report, if it contains a £ sign, there is always Â appears before. How to resolve it please? I am using civicrm 4.6.11, my mysql database characterset is set to "UTF8".

# Answer
> 2 votes
My workaround for this is to immediately convert the CSV file in a text editor such as Notepad++ or UltraEdit.

As soon as it's downloaded I open the CSV as UTF8, then immediately save it as ANSI. It's a bit fiddly, but fixes the £ problem, as well as any unusual characters in names/addresses.

# Answer
> 1 votes
When you look at the csv, what software do you use? Are you looking with Excel, and if so is Excel also expecting UTF8?

---
Tags: civicontribute, currency
---


title: Custom Searches

text:
# Question
Title: Custom Searches
I created a custom search a while back. I copied an existing search and added the fields/sql I needed for the custom search. Things were working fine until the last civi upgrade. Now I am getting this error when trying to use that same custom search

Fatal error: Class CRM\_Contact\_Form\_Search\_Custom\_katiercase contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (CRM\_Contact\_Form\_Search\_Interface::buildTaskList) in /home/lifelight/www/www/civicrm\_custom\_php/CRM/Contact/Form/Search/Custom/katiercase.php on line 265

Does anyone know if something changed that would have caused this? The php file is a little lengthy, but I can add it in if that would help. Any help on this would be greatly appreciated. Thanks!

# Answer
It's a change on 4.6.x and you need to implement a new method "buildTaskList"

http://wiki.civicrm.org/confluence/display/CRMDOC/API+changes#APIchanges-4.6.0:CRM\_Contact\_Form\_Search\_Interface-%3EbuildTaskList

Classes which implement this interface must implement a new method called buildTaskList. This method is responsible for building the list of actions (e.g., Add to Group) that may be performed on set of search results. It differs from hook\_civicrm\_searchTasks in that the hook allows a developer to specify tasks by entity (e.g., Contact, Event, etc.) whereas buildTaskList provides the ability to target a specific form. The new method takes a CRM\_Core\_Form\_Search object as an argument and should return an array. Dump CRM\_Core\_Form\_Search-\>\_taskList to learn about the format of the array. The array returned by buildTaskList will completely replace the task list.

> Aside from the community-maintained custom searches in CRM/Contact/Form/Search/Custom/, this change does not affect CiviCRM core. Custom searches which extend CRM\_Contact\_Form\_Search\_Custom\_Base (as do those built on civix) will not be affected, as the method is implemented there.
> 2 votes

---
Tags: custom-search
---


# Question
Title: How do I remove a contact from a group using the API?
As part of an import process, I'm trying to remove contacts from a group. There is a `delete` call for the `GroupContact` entity but this has been deprecated in favour of `create` (which I find puzzling). A `getfields` call shows that a `CRM_Core_SelectValues::groupContactStatus` callback is available, but this takes no arguments and is for display purposes only as far as I can tell.

How do I use the `create` function to remove a specific contact from a group, or if that isn't possible, how do I use the API to remove a contact from a group?

# Answer
> 2 votes
From using the API Explorer (**Support menu \> Developer \> API Explorer**) I can see that you can delete a GroupContact entity by specifying a GroupContact ID and a Group Contact Status of "Removed".

I don't think that makes a lot of sense - even for a non-standard API such as GroupContact, since a Group Contact Status of "Removed" is NOT the same as a deleted contact.

Note that my findings are at variance with CRM-16878, which covers the same topic.

---
Tags: api, groups
---


# Question
Title: No Gift Option "Pre selected" Need to fix this please
Hi so i have a premium contribution page set up and i noticed the "no gift" option is pre selected and grayed out so i cant change it. I need this option to be deselected until the user chooses it. The image below shows what im talking about and heres a link directly to the page

http://www.mendleton.com/merchandise/

# Answer
> 1 votes
It looks like you've got some JavaScript errors. That's going to break all your JavaScript, including the premium enable/disable script. See if this post on troubleshooting JavaScript for CiviCRM can help you?

---
Tags: premiums
---


# Question
Title: Best way to record court appointed community service?
Our charity is a source for court appointed community service. Those volunteers are normally assigned to activities in and around the office, like cleaning, moving boxes of food around for the food pantry, etc. I hate to call it this, but in a lot of cases it might just be busy work in order to satisfy the probation conditions. In other words, it's probably not the type of event the original coders had in mind when developing this app. I have been reading and watching everything I can about events and I cannot convince myself that that is the best approach to recording activity/task hours for these types of people.

If that's it, then I'll go with it and figure out the best configuration within the framework of that feature.

BTW, this is running on Drupal and I have CiviVolunteer installed and working.

Thanks in advance and kind regards

# Answer
CiviVolunteer 2.0 (currently available in beta) allows you to assign volunteer time without tying it to an event. This may solve your issue. However, in your case, I think Xavier is right, and an activity should be sufficient if all you're trying to do is record time, not manage the volunteer process.

You can add a custom field to activities to indicate if time is court-appointed community service, so you can record all time the same way but easily segment it if need be.
> 2 votes

# Answer
it might be easier to log these as activities. you can create new activity types, eg community service.

if you need a more complete overview of the activities spent around a volunteer,eg not only being able to see the time they spent, but also the monitoring and helping tasks of others, or record court events, try civicase. more complete, but more complex to set up
> 2 votes

---
Tags: civievent, civivolunteer
---


# Question
Title: Can I easily sync/import Facebook Event attendees with a CiviCRM Event participant list?
A lot of my users like to use Facebook Events for quickly inviting their friends and contacts to an Event.

Facebook allows Event attendees and status to be exported by the Event owner or manager - the only fields allowed to be exported are the Guest (attendee) full name and Facebook Event status (Going, Maybe or Invited).

I can export that attendee list from Facebook and import the attendees into Civi using an Unsupervised dedupe rule with First Name and Last Name (once I separate them out in the .csv file) and an updated Event Status to match Civi values (Registered or Attended).

But - is anyone using the Facebook API (or other Facebook Developer tools) or CiviCRM API to automate this process, and/or able to get more fields exported out from Facebook?

And if you're wondering "why not force your users to use a Civi online event registration page instead?", that's valid, but I'd rather not discourage my users from using other tools - especially Facebook, with which they are already very familiar and like - which is often not the case with Civi :(. I'd rather figure out how to quickly sync/integrate/import Facebook data into Civi.

# Answer
I was using drupal to create a facebook event when a civicrm event was created and add the participants. There was a change in the facebook API that no longer supported post types for event objects. I'm not sure if that allows event registration though. The idea was using The Drupal Facebook Post module. and civicrm entity which created a rule on event creation or update and did a post to facebook. It worked pretty well and if the API supports adding people to an event you might take that approach (shouldn't require any code.) Please update us if you explore this approach.
> 4 votes

---
Tags: civievent, api, import, facebook
---


# Question
Title: How to display the Event Registration Form for public?
I am just starting about a week to use CiviCRM & CiviEvents running on Drupal. Managed to create an event and its Online Registration Form.

However, the form appears differently for logged-in and non logged-in users.

**My question:** *How to display the same form for logged-in and non logged-in users?*

What I did so far:

1. I created 2 profiles for the form, "Registration Info" & "Course Type".\*
2. On the Event's Online Registration, I included these 2 profiles.
3. If a logged-in user click the Register Now button at the event page the system displays the correct form:

4. But when public click the button, the system displays this form:

Thanks in advance!

Regards,

Voldi Sinarta

# Answer
You should look at permissions. It seems anonymous users are not allowed to access these custom fields.

You can do this with the drupal permission "CiviCRM: access all custom data "

Or, if you do not want to let anonymous people access all custom data, then you can use the CiviCRM permission system ACL, which lets you configure more fine grained access to custom fields.

More info: http://book.civicrm.org/user/initial-set-up/permissions-and-access-control/
> 4 votes

---
Tags: civievent
---


title: Major Performance Hit After 4.6 Upgrade

text:
# Question
Title: Major Performance Hit After 4.6 Upgrade
I recently upgraded from 4.4 to 4.6 using Drupal 7 and since then I have had some major performance problems (Search Builder responds to everything with a Timeout now.) Even simple queries for users in a group will often timeout. Before the upgrade I had no problems. Has anyone else run into performance problems with 4.6.10? Any suggestions?

**Updates**

* Searches were fine before the update
* I am using smart groups

# Answer
You may be running into performance issues if you have groups in your Search Builder queries. See CRM-16483.
> 2 votes

# Answer
Do you have the problem with the search builder interface that is too slow or after you search to get the result?

How is the advanced search behaving?

The problem is that it's hard to find what the root cause of the problem, as it's likely dependent of your configuration and how you are using civicrm.

One thing you can do is log the slow queries (it's a configuration option in mysql) that takes more than a second. It's not going to solve the problem, but at least might help you to identify the problem

And a wild guess: do you have smart groups? These can have a massive impact on performance. ACL might be another reason that it's slow.

EDIT: more suggestions now that you confirmed smart groups

You might want to cache the smart groups for a longer period of time (say 2 hours) Administer \> Customize Data and Screens \> Search Preferences

and enable the cronjob to re-build the smart groups cache every hour

As for the general speed, it's likely that you need more resources to run civicrm 4.6 compare to 4.4, if your server was already borderline too weak to handle 4.4, the new features introduced by 4.6 might be the extra nudge needed to make it trip over. It might be worthwhile investing a bit more on your hosting.
> 1 votes

---
Tags: performance
---


# Question
Title: How can I display the members of a group?
I would like to go into a group to see who is listed in it, please advise how I can view a group. Thank you

# Answer
There's more than one way to view the contacts added to a group, here are a few, all of them will list the contacts belonging to the searched group.

Option 1) Navigate to **Search -\> Find Contacts**, select your group filling the field ***in any group***, leave the rest of the fields blank and hit search.

Option 2) Navigate to **Search -\> Advanced Search**, select your group from the **Groups** field and hit search.

Option 3) Navigate to **Contacts -\> Manage Groups**, here you can search/create/delete groups, on the right hand side of the screen there's a ***Contacts*** button for each created group, click it.
> 5 votes

# Answer
There are several ways, here are two options:

* If you go to the Contacts menu option, there hit the Manage Groups option you get a list of all groups. Behind each group is a Contacts option, hit that you get all members.
* If you go to the Search menu and select Find Contacts, you can select a group there and the result will be all members of that group
> 4 votes

# Answer
**Using API Explorer** -

1) Navigate to `Support -> Developer -> Api Explorer`

2) Select Entity as `GroupContact` Action `get`

3) select your group as parameter -\> Execute

Eg :

```
$result = civicrm_api3('GroupContact', 'get', array(
  'sequential' => 1,
  'group_id' => "Advisory Board",
));

```
> 2 votes

---
Tags: contacts, groups
---


title: Drupal Civicrm searchable profiles

text:
# Question
Title: Drupal Civicrm searchable profiles
I Have a production drupal website(7.32) integrated with CIVICRM(4.4), and I have drupal user object which is associated with CIVICRM Profiles.

I am trying to integrate a membership dashboard as shown in http://wiki.civicrm.org/confluence/display/CRMDOC/Creating+a+website+member+directory.

In my membership dashboard all the civicrm profiles are listed is there any way to display Drupal user related fields in the dashboard?

# Answer
> 2 votes
A couple of ideas within your framework: 1) Use civicrm fields exposed to drupal user registration and do away with the fields from the drupal db, so everything is housed in civicrm.

2) Write a Rules action to update civicrm fields based on the drupal fields so you can display them.

Our solution to the issue of displaying civicrm fields and drupal profile fields uses views 3 integration for a 'civicrm membership view' and better exposed filters to search, which is a different strategy than the link you provided and from what you have built out so far but it does the job well.

# Answer
> 2 votes
If you need to include both CiviCRM and Drupal fields in a member listing, then you should use Drupal Views rather than a CiviCRM profile.

---
Tags: drupal, civimember, profile
---


# Question
Title: Transaction went through, but Contribution missing
using 4.6.8 on Drupal 7. FirstData is our payment processor.

This week we received a transaction confirmation from FirstData from one of our long time members. FirstData calls this a "gateway receipt" and is generated directly from them with no involvement with CiviCRM, for every transaction approved. We have his money.

But there's no record of the contribution in CiviCRM itself. I've looked through the database directly (phpmyadmin), looking for transactions of the same dollar amount, or for the same contact, or even orphaned line items with no transaction. Nothing.

Has anyone seen this before or have ideas about how it can happen? Possibly a timeout for transaction response from FirstData?

# Answer
Rob,

Since you're processing a lot of transactions I think we can assume that there isn't an issue with CiviCRM or the payment processor or gateway. We have seen this occur with our clients with a variety of payment processors and generally we recommend not spending much time researching unless it starts to happen regularly.

I do recommend that create a daily reconciliation report (you may have already done so) that gets emailed to out accountant each morning so that the CiviCRM transactions and the payment processor transactions can be compared. For larger organizations something like this is required by their auditing practice. Ensure the CiviCRM report uses the same time cut-off as the payment processor.
> 1 votes

# Answer
I have seen this before on several occasions with Eway as the payment processor.

It happened more frequently when we had a spate of double processing of a single transaction when our settings were to leave out the contribution confirmation page. Often only one of the transactions would be recorded in CiviCRM although both were processed by Eway.

Since we went back to including the contribution confirmation page, double processing of a payments has stopped.

However, very occasionally we have the situation where two different people submit transactions to Eway within one second of each other and only one of those contributions is recorded in CiviCRM.

I am not a developer, so don't know whether Eway or CiviCRM is the culprit. Our developer has looked at the problem, but there was no easy fix for the money we could afford to spend.

As our organisation reconciles Eway income and income recorded in CiviCRM as coming from Eway on a daily basis, we just live with it. (The daily reconciliations have 'always' been done and include income from all sources, they haven't been introduced because of this problem.)
> 0 votes

# Answer
@Rob Brandt, your comment in response to @pkeogan's answer is illuminating. My sense is that the transaction was sent to your payment processor but the Apache process died for some reason before the response from it was recorded. There could be innumerable issues that would cause a thread to crash, such as memory issues like you have guessed.

Organizations with auditors, and some without that are well-run, invest in followable auditable procedures. This generally means checking financial transactions in two ways. Reconciling your CiviCRM system data against actual receipts from payment processors is an essential part of this. CiviCRM allows you to export financial information in batches that can be imported into a number of financial account packages like QuickBooks or anything that accepts a .csv file.
> 0 votes

---
Tags: civimember, contributions
---


# Question
Title: Adding a comment to an event during registration
Created an event with a profile for registration information. One of the fields added to the profile was the Note field, associated with a contact. However, when the confirmation e-mail was sent, the e-mail included the last note connected to the contact, yet the current note was created in the primary contact record without any link to event registration. It also does not show up when you view the registration. Additionally, the note did not attach to the secondary contact that was registered in the same registration.

Said a different way. Contact1 created an event registration and included a note in the contact note field that was part of the profile. Rather than attaching that note to the confirmation e-mail, the note that was attached was the newest note linked to each Contact. For Contact1, that was an e-mail from a month ago. For Contact2, whom Contact1 was registering, it was an e-mail from a year ago. Afterwards, the system then created the note from the registration form, attaching it to Contact1's contact record, but did not attach the note to Contact2 or the registration.

What's the proper way to create a comment field on an event registration?

# Answer
You could setup a custom field for *participants* of the event (not contacts, nor the event, but the registration itself; Civi differentiates between contacts and participants; the registration entity is called 'Participants').

When creating the Custom Field Set, the "Used For" field would be for `Participants` (again, this is different from Contact). Then when you add the field to the Profile you are going to use, the first dropdown for Field Name would be Participants; the second dropdown would be the custom field you just created.

Done this way, the Notes custom field you created only appears in the registration information (if you View the registration under a contact's Event tab), not in the Contact's Notes tab.

More details here: http://book.civicrm.org/user/events/setup/

Regarding the token for the confirmation email, because the custom field is for the registration/`participant` entity and not the `contact` entity, I think you will have to create a custom Token to access that data in the email template.
> 4 votes

---
Tags: civievent, profile, registration
---


# Question
Title: Phonenumber error Joomla 3.4.8 civicrm 4.6.11
I got an error in Joomla 3.4.8 Civicrm 4.6.11. When I try to save contacts with a phone number it says:

```
NETWORK ERROR Unable to reach the server. Please refresh this page in your browser and try again.

```

Without phone number working. When I write "what so ever" in phonenumber it be error. Trying all kind of phonenumbers us and eu number only numbers and +46 in still results in this error.

Separately, on the same instance, when creating a contact from start it I get the following error:

Fatal error: Uncaught CRM\_Core\_Exception: \[0: Transaction integrity error: Expected to find active frame thrown in /public\_html/administrator/components/com\_civicrm/civicrm/Civi/Core/Transaction/Manager.php on line 107

Although this error does not appear when I save it without a phonenumber.

Is there an easy fix to this?

Kind Regards

Thomas Rosenhoff

# Answer
If this is not an intermittent problem that has gone away by now, then likely your installation or upgrade has caused some problems. My guess is that you need to check the base\_url in your civicrm.settings.php file, or more properly, in the CiviCRM Resource URL field under Administer \> System Settings \> Resource URLs.
> 1 votes

# Answer
I had a similar problem when I first set up our Civi. Here's my question. I didn't get much response to it, and we ended up changing hosting servers, and on the new server I didn't have the same problem. Which means, I didn't get to try out the one answer to my question that may have solved it, but you can try it!
> 0 votes

---
Tags: contacts, joomla, error
---


# Question
Title: Crediting event payments by another contact
We fairly often have events where a registrant pays for part of their fee, and another contact (sometimes also a participant) pays the rest. I'd like to record the payment for the Contact and soft credit it to the appropriate participant's event fee.

Any chance this is possible? I'd be open to manipulating the database, if it's not possible in the civi interface.

# Answer
> 2 votes
You could hack the civicrm\_participant\_payment table which links a contribution to a participant. You could also create an extension to link a contribution to a particpant from the user interface. This way you make it easier for the event manager to this.

---
Tags: civievent
---


# Question
Title: I only want people to confirm their membership type (or choose another one) via a webform, but no membership to be renewed or created
Is that possible via webform-civicrm?

I can think of just making it a webform only field, so no connection to CiviCRM, but then the user does not see his current setting.

I can also think of creating a custom module that gets the current value via API and placing it in the webform only field, but am curious if I overlooked something and whether this is possible without custom coding.

# Answer
> 1 votes
You could display a (read-only) Views block on your webform that shows the contact's Membership status. Relevant links and details on how to get the info to pre-populate are here:

Displaying a Views block with a CiviCRM-enabled webform

---
Tags: drupal, civimember, webform-civicrm
---


title: Prefill Profile in create mode

text:
# Question
Title: Prefill Profile in create mode
What is the easiest was to prefill a field on a profile that is in create mode? I am linking from a drupal view where they click on the name of their organization and it will put the org name in the url. But i have been unable to use anything in the url to prefill the org name field on the profile.

# Answer
Which url parameters did you try? cid? contact\_id? etc.. Another solution which is working is using Drupal CiviCRM Webforms and link to a prefilled webform from within your view.
> 1 votes

# Answer
Maybe i misunderstand but if you want the profile prefilled then you should change the word 'create' in the url to 'edit' - then a logged in user or person with a checksum will see their data in the fields.
> 0 votes

---
Tags: profile, urls
---


title: Do you have a french version?

text:
# Question
Title: Do you have a french version?
We are looking for a French version of your app

# Answer
There is a French translation of CiviCRM available here: https://civicrm.org/download-translations

There is also a guide to 'Using CiviCRM in your own language' available.

It doesn't look like the WP demo site lets you change the language to test, but you can do it on the Drupal test site: http://dmaster.demo.civicrm.org/: Administer \> Localization \> Languages
> 3 votes

---
Tags: wordpress
---


title: Managing Events -> Log Volunteer hours

text:
# Question
Title: Managing Events -> Log Volunteer hours
When logging volunteer hours for events and selecting "no-show" in the status it asks me to put the "Actual Duration". Value '0' or '-' doesnt work. Any idea how to fix this problem?

Thanks,

Alek

# Answer
> 1 votes
Just to add the answer, as mentioned by Alek. This is a legitimate bug report and the issue is being tracked here: https://issues.civicrm.org/jira/browse/VOL-172

It is slated to be included in the 2.1 release and a link to the patch will be available on the issue when it is released.

---
Tags: civivolunteer
---


title: Delete activity of a contact

text:
# Question
Title: Delete activity of a contact
I have created few activities for a contact. I want delete one of the contact. When tried to delete, it is not showing proper screen after deleting the activity

# Answer
This appears to have been fixed for version 4.7. After deleting an activity you remain on the 'Activities' tab for the contact. I tested this on http://dmaster.demo.civicrm.org/
> 1 votes

---
Tags: activity
---


title: Offline event payment

text:
# Question
Title: Offline event payment
I want to register offline payments of an event. The total cost of event is € 100. Contacts can pay twice. € 50 at the end of October and 50€ at the end of December. I want to send the email notification to remind payments. When i put a partecipiant registration to the event, I can select the payment status. If you register a second payment instead I can not select the payment status. Why ?

Thanks. Marco

# Answer
The 'Contribution status' is automatically updated when the second payment is added. For example:

* Register a participant for an event that costs $800
* Log the contribution as $400 and save the registration
* Note that the contribution is 'Partially paid' in the registration list
* View the participant record, click on 'Add payment'
* Add a payment of $400
* Note that the contribution status has been updated to 'Completed'

If you want to manually change the status of the entire contribution, you can do so by editing the contribution.

If you want to change the status of individual payments then that looks like a feature request! It doesn't appear to be possible to even edit individual payments at the moment.
> 2 votes

---
Tags: civievent, wordpress
---


# Question
Title: Profile disabled/not configured CiviEvent error
Getting this error when anonymous users or users not login in try to register for an event:

> The requested Profile (gid=17) is disabled OR it is not configured to be used for 'Profile' listings in its Settings OR there is no Profile with that ID OR you do not have permission to access this profile

I have tried setting ACL in Civi for anonymous to register.

# Answer
> 2 votes
Following my comment, you get this error when you don't have necessary permissions of the profiles for anonymous users.

Required Permission - `profile listings and forms`

`register for events` permission is needed if you get Access Denied on Event registration page.

More info on **Civi Permissions**:

http://wiki.civicrm.org/confluence/display/CRMDOC/Default+Permissions+and+Roles

http://wiki.civicrm.org/confluence/display/CRMDOC/Linking+Profiles#LinkingProfiles-PermissionsforProfiles(DrupalOnly)

---
Tags: civievent
---


title: Command line import error message

text:
# Question
Title: Command line import error message
I'm using the command line import, following info provided here:

How do I import contacts through the command line?

https://forum.civicrm.org/index.php?topic=34033.0

But getting the following error message: Invalid file format for filepath/filename.csv. It must be a valid csv with separator ',' or ';'

My file is a valide csv, downloaded using Google Docs to csv, which has been an acceptable way to create clean csv files. Not sure why the import.php won't accept this file.

# Answer
> 2 votes
I found the problem. My csv file was on a staging server that required a user name and password for access. The error message was misleading, nothing wrong with the csv file. Once I put the file on the server in a place that is not password protected, it worked fine.

---
Tags: import, cli
---


title: Public CiviEvents Showing as Private

text:
# Question
Title: Public CiviEvents Showing as Private
Using CiviCRM 4.6.8 and Wordpress 4.3.2, all of my Event Info pages and Registration pages show as being private even though I've selected public and the Manage Events interface lists them as public. Regardless, visitors to the site are unable to access these pages.

I'm really not sure what I could be missing here. Any suggestions?

# Answer
Under Administer \> System Settings \> CMS Database Integration, my WordPress Base Page was set to "civicrm". I removed that value and now everything works, with anonymous users having access to view my event pages.
> 0 votes

# Answer
Have you checked that users have the right permission in the CMS?

'CiviEvent: view event info'
> 0 votes

# Answer
I believe that you are experiencing the same issue I had. Here's a link to that topic: Bug or feature? Logged in, can't do event registration. Not logged in, Event Registration loads
> 0 votes

---
Tags: civievent
---


# Question
Title: Can I specify a dedupe rule and import type (e.g. update) when using command line import
I'm using the command line import, following info provided here:

How do I import contacts through the command line?

https://forum.civicrm.org/index.php?topic=34033.0

Since I have data that includes address, relationships and membership, I assume I'll have to import in stages. How do I specify a dedupe (based on email address) command and do updates using the command line?

# Answer
> 3 votes
The command line import uses the default unsupervised rule for deducing. Out of the box that's just email.

When using command line import if the unsupervised dedupe rule says the import line is a duplicate then it will do an update instead of a creating new record.

---
Tags: import, cli
---


title: Membership fee based on custom field

text:
# Question
Title: Membership fee based on custom field
Seeking advice on the best practice way to implement membership fees based on the custom field which contains organisation income. i.e. Membership fee would be 1% of income for type 'A' contact.

I understand custom development is likely to be involved, so would it be best to create a module & which hooks or classes to override? Something that is maintainable through releases without constant code changes would be good.

# Answer
> 1 votes
Take a look at the membershipTypeValues hook and implement that in an extension.

---
Tags: civimember
---


title: Add column to Membership Details report

text:
# Question
Title: Add column to Membership Details report
It seems to me that this should be easy - but I cannot figure out how to do this. I would like to create a Membership Detail report and for those members who are of type Individual, I would like to show their Employer. What is an easy way to accomplish this?

Thank you.

# Answer
On current versions of civicrm as per demo at http://d46.demo.civicrm.org/civicrm/report/instance/22?reset=1 you can click on Column tab and tick 'Organization Name' (which is the organisation the person is an employee of).

Organization Name was added as of CiviCRM 4.6.9 - see here.
> 1 votes

---
Tags: reports
---


title: Pay later for membership by PayPal?

text:
# Question
Title: Pay later for membership by PayPal?
Here's the scenario:

* we are using civicrm 4.6 with Wordpress
* we want to accept payments for membership via PayPal
* we don't want to take payment until membership request approved

So basically we want to accept membership applications that remain as Pending and then when we accept them we request PayPal payment to be made.

Any ideas?

I've created contribution page with 'pay later' option. This works great in that individual record and membership are created with status Pending. There is even an option to then manually record a payment to complete membership- but not via PayPal!

Now I don't know much about PayPal and IPN, but would it be feasible to have PayPal as a manual 'pay later' option that when invoked fired off email to customer asking them to make PayPal payment using a specific URL provided (or reference) and then PayPal via IPN notifies CiviCRM on success and membership then set to active? I'm guessing CiviCRM must have a PayPal 'listener' but does this only listen for responses made to request directly made from CiviCRM to start with or can responses come one way from PayPal to complete a transaction?

Any help appreciated.

Thanks

# Answer
> 2 votes
A complete sidestep would be to use a standalone Profile for submitting the membership 'application' and then when approved fire them an email with checksum to the Contribution page which has the membership optionsn on it, which uses the paypal payment processor so you get paid and creates the membership. just a thought.

---
Tags: civicontribute, civimember, paypal, ipn
---


# Question
Title: Send contribution receipt when updating contribution via API
On my CiviCRM site, I have a v3 API to update the status of a pending contribution (for payments sent offline). The current PHP code for this is the following:

```
$params = array(
  'contribution_id' => $contribid,
  'payment_instrument_id' => 4, // check = 4
  'note' => 'Contribution record updated via group updater',
  'contribution_status_id' => 1,
  'version' => 3,
);

$result = civicrm_api( 'contribution','create',$params );

```

This works well, but I would like to be able to send a receipt to the person that submitted this contribution via this API call. Is that doable?

# Answer
I found my own answer in this api function:

```
civicrm_api3('contribution', 'sendconfirmation', array('id' => $result['id']));

```

This triggers the confirmation email to be sent.

P.S. I wish there was something similar for the Event Participants, that seems to be quite trickier.
> 3 votes

---
Tags: civicontribute
---


# Question
Title: What's the best way to record payments in installments?
In the setup I currently have, parents can choose to pay tuition in one annual, two bi-annual, or 10 monthly installments. I attempted to set it up as pledges, but payments do not get counted towards the pledges, nor do I seem to be able to go in afterwards and connect the payments to the pledge. (Is there any way to do this?) So as it stands, it's all manually checking whether an individual has paid for the month, there is no easy report to call up. This works at our current scale, but won't for much longer.

How would you set this up if you were to start from scratch?

# Answer
> 2 votes
I would consider using Membership Types rather than Pledges. You could set up each payment term as its own Membership Type, with different terms (ie 1-month membership that lasts for 10 months; 6-month membership; etc). Then create Membership Contribution pages for each term. You could turn on the auto-renew feature, or make that optional and setup payment reminder emails.

You could also create a new Financial Type called Registration Fee (or something similar) so that it's clearer what the payment is for. Even if you already have memberships set up for something else, you can set the system to allow multiple memberships, and just change the wording on the public-facing pages so it doesn't confuse the parents.

Caveat - I haven't set up CiviCRM this way before, but am currently considering it for one of my clients that is a preschool. I played around in the demo a bit to see if this would work as I'd like it to, and so far haven't run into anything that would make it seem otherwise.

# Answer
> 2 votes
You can create a membership type called tuition and set the term to be 1 month at the rate for 1 month.

Then create a price set for that membership and include 3 prices and select the term which that price purchases.

For example:

price #1 is $100 and pays for 1 term (which is 1 month) and auto renew and ends after 10 months.

Price #2 is $450 and pays for 5 terms (5 months) and auto renews and ends after 10 months

So on and so forth

---
Tags: civicontribute, contributions, pledges, civipledge
---


# Question
Title: Troubleshooting some Drupal and CiviCRM accounts becoming mis-linked
We are having an issue in Drupal 7.41 and civiCRM 4.6.4 (this was also happening to us with Drupal 7.34 and civiCRM 4.4) seemingly one at a time Drupal user accounts and CiviCRM accounts are becoming mis-linked to each other by one digit.

I haven't been able to determine a pattern to the users this happens to, or the timing e.g. we might get one in two weeks or two in one day. We usually get notice of this when a member cannot see their member profile field in their drupal account page.

For example, civicrm user tdavis@example.org has a link to their drupal account in their contact summary, pointing to UID 8190. When I go to the drupal user account for tdavis@example.org the UID is in fact 8189, and the link back to the civicrm contact summary simply says "profile not found".

The other symptom is that there tend to be multiple (I've seen anywhere between 1 and 15) civicrm records that are just the email address for the account that is mis-linked (for example tdavis@example.org is the only information, no names or drupal uid or anything). These records seem to be created after the mis-linking. Possibly related to number of actions the person takes in drupal?

Any ideas where to start to troubleshoot/replicate this issue or has it been seen before?

I can fix it through the uf\_match table or by merging the contact into a new record without transferring the drupal link and using 'sync users to contacts', but i'd like to squelch the issue if possible...

# Answer
> 1 votes
The second part (tons of contacts with just the email address) is "normal", it's when civi realises that it doesn't have a contact mapping the drupal user and tries to create is with the limited info it has.

As for the first one, it isn't something I've experienced. Do you have a standard drupal for the accounts or are you using extra modules related to the account managements (eg. LDAP integration)?

---
Tags: drupal, user-account
---


title: Mailings aren't sent immediately

text:
# Question
Title: Mailings aren't sent immediately
When I try to send a mailing, even if I chose to send it directly, it doesn't send and its status stays on "planned". I have to go in the schedule job menu to force the task. What can I do to just send mailings immediately?

Thank you.

s.

# Answer
The normal way to do this is to automate the execution of the scheduled jobs by setting up a cron command.

You can define how often that cron command is executed. If you set it every 5 or 10 minutes, then the Mailing will be sent at maximum 5-10 min after your submit.

The reason why Mailings are not send immediately is that CiviCRM is build to send very large Mailings. An action that is started via the browser has usually a maximum execution time. It is not unlikely that for larger Mailings it takes longer to send to all of them then that time. The cron command is run on the server and has no limitations in that regard.

Much more information about cron and how to set it up: http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs
> 6 votes

# Answer
"Send immediately" in CiviCRM mailing is to be interpreted as "put in the send queue to be sent as soon as possible", not "send it now while I wait".

As Catorghans indicates all mailings are sent from a "cron job" which is run periodically. So when "Send directly" will actually send will be dependent on when your next mailing job will run. Typically a few minutes from now.
> 1 votes

---
Tags: mailing, scheduling
---


# Question
Title: Why can't I have CiviEvents without dates?
Incremental and iterative planning and development is the modern way. In CiviEvent I can't create events that have no date. To me that would be a first step in a planning process, creating the event with a brief description, then later add a date and more information.

I could even see uses of having public events without dates. That creates visibility into what might be coming.

# Answer
> 0 votes
It makes sense to me that you might want to do it that way, unfortunately CiviEvent does not allow it as it is now. Can you add your enhancement request on the CiviCRM issue tracker? (https://issues.civicrm.org/)

---
Tags: civievent
---


# Question
Title: How do I change the expiry date on one of our donors recurring credit card donations?
One of our donors has had their credit card replaced and the expiry date has changed. How do I change the expiry date to reflect the new date? IATS is our payments processor.

# Answer
> 2 votes
Using iATS for recurring contributions means that CiviCRM only holds onto a 'token' that is used to trigger subsequent contributions in the schedule. Which means that the card information all lives over on the iATS servers, and the easy answer is that you can edit it there using the iATS payments administrative interface.

But also note that the next release of the extension (tentatively 1.5.0) in a couple of weeks will allow you to do that editing directly in CiviCRM so it'll be much easier.

And finally - note that earlier versions of the extension will not try and run credit cards that it thinks are expired, based on the expiry date of the card originally used. In other words, in those versions, you'd need to re-enter a new card for a new recurring contribution. That rule was taken out of the last couple of releases (1.4.2? not sure), since expired cards can still work during a recurring series (as long as they are not expired when you first set them up).

---
Tags: recurring-contributions, iats
---


# Question
Title: CiviContribute: transaction rate limiting
Recently we've had some bots testing (stolen?) CC numbers against our CiviContribute form. Our payment processor declines them all, but it sometimes results in our account getting suspended for 30 minutes.

Has anyone implemented per-IP-address transaction rate limiting? As a module, or some other way?

# Answer
Jim,

This is a very common scam, the best way is to add recaptcha; it's worked for all of our clients with this issue. The new recaptcha "I am not a robot" is very user friendly. This can be set up from the CiviCRM admin menu.

If your coming to the CiviCRM User summit today, please speak with Steven from iATS, he is very knowledgeable in this space and is giving a talk on security that will include this topic.
> 1 votes

# Answer
The Authorize.net fraud detection suite now includes a "Transaction IP Velocity Filter." This must be new since the last time I looked at the fraud settings. In any case, you can now set a rule to block IPs that attempt more than 5 transactions in an hour, and you can also whitelist IPs.

Hoping this will take care of the issue.
> 0 votes

# Answer
iATS Payments also provides a server-level transaction ip velocity filter, amongst other security features, as listed here:

http://home.iatspayments.com/fraud-protection-features
> 0 votes

---
Tags: civicontribute, payment-processor
---


# Question
Title: How to make personal data fields non editable
I received a survey titled 'civiCRM survey 2016' with my first name, last name and email fields pre-filled and not editable. How did you achieve this? Are you using the no-overwrite extension or webforms disabled fields also work when using the civiCRM checksum?

# Answer
> 2 votes
That survey uses a Webform-civicrm form. The 'existing contact' field has had 'Field Locking' applied to the Name and Email fields (first time i saw this feature - nice addition!).

if you want to achieve the same directly in civicrm profile when you add a field to the profile you have the option to set it to read-only.

ADDENDUM: Nathan below comments that "I believe this is available in Webform CiviCRM 7.x-4.15 based on the notes and code in the change comparison listed here: github.com/colemanw/webform\_civicrm/compare/7.x-4.14...7.x-4.15"

---
Tags: extension, webform-civicrm, civisurvey
---


# Question
Title: Conditional statements in 'manual' emails or thank you letters
Do conditional statements with tokens not work when you manually send an email or 'print' a thank you letter? I have a bunch set up inside the auto generated emails for contribution receipts or event registrations but when I add a statement to a message template - and send it out using 'actions - send email to contacts' or 'actions - thank you letters for contributions' the if statement is ignored.

(I'm in Wordpress 4.3.2 and Civi 4.6.4)

# Answer
Yes, what you are describing is the default setting for CiviCRM.

Only Message Templates and Automated Messages make use of the so called smarty template engine. The smarty template engines makes "if"-statements possible. The reason for this is that these Templates and Automated Messages are for more experienced users and administrators.

Normal mails, mailings and pdf reports can be used by regular CiviCRM users. And it might make their daily work much more difficult if they suddenly run into smarty template coding.

But, this is only the default setting. In your civicrm.settings.php is an option to override this and expose the smarty template engine to normal email too:

```
/**
 * Enable this constant, if you want to send your email through the smarty
 * templating engine(allows you to do conditional and more complex logic)
 *
 */
define( 'CIVICRM_MAIL_SMARTY', 0 );

```

Set this to 1 and you can use "if"-statements in normal email.
> 4 votes

---
Tags: message-templates, receipts
---


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

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

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

---
Tags: civicase, dashboard
---


title: Department/Team/Franchise Setup

text:
# Question
Title: Department/Team/Franchise Setup
I'm trying to figure out how to divide people up and group them organizationally. Adding each person to an organization and creating a relationship is easy. However, I need to break them down further than one top level organization. I'll use the word team for generalization. Most of my searches have ended up back in the '07 discussion on sub-organizations, and to some degree that's what I need. However, 9 years later, it still seems unclear. So, what am I missing?

Org has departments. Departments have teams. Teams can have sub-teams. Each level also has roles, which easily fits into a relationship. (Org has President, Department has VP, Team has Team Leader and team member, etc.) Each level has it's own set of documents, cases, workflows, etc. (A new team has a Case with a timeline of "New Team", each team has a goal document, each department has a set of protocol documents, the org has overarching protocol documents, etc.)

Without being able to nest Orgs, or a massive amount of manual adjustment with each change, how do I show that Team Member C, on Team D, which is part of Department G, is an employee of Org? Also, each contact needs to have a membership to the org.

Confused yet?

# Answer
> 1 votes
It sounds like departments, teams, and sub-teams could be set up as contact sub-types of the organization contact type, possibly with custom relationships between each that are intuitively named, as described here:

https://civicrm.org/blogs/mjpforsberg/using-contact-subtypes-clutter-free-life

The hiccup with that setup might be trying to reliably get memberships to attribute from the parent organization through those relationships to the individual contacts themselves.

---
Tags: configuration
---


title: multi-value import issue

text:
# Question
Title: multi-value import issue
I created several custom fields & groups but I am not seeing all of them when I try to import my contacts.

Like I have a few custom sets/groups and custom fields within each. But only one set is showing when I import my contacts & try to match them up to the fields. I have checked the settings, and everything is the same. Any ideas?

Update: I found the "import multi-value custom data" part of the import contacts ... almost impossible for anyone to find without spending too much time looking through this forum.

HOWEVER when I import it does its normal "column names", "import data (row 1)", "import data (row 2)" thing.... problem is, its putting half of my row 1 in row 2 and not importing all of row one. If that makes sense? In fact not all the column names are in there either. And YES I did check the CSV before uploading & after the error. There is nothing wrong with it. When I imported that same doc for the main import contacts screen it worked fine.

Any ideas? Thanks in advanced!

Update: I decided to upload the multi-value's in smaller chunks to match the specific custom data field that I created. The custom data is broken down into one custom field with a bunch of options in the checkbox setting. When I go to upload the content pertaining to just that, I will go through everything and just set it to the base custom field (since I cannot choose the options). When I do that it processes & then throws out a "DB Error: constraint violation" .

Any ideas, anyone?

# Answer
> 1 votes
You can check in custom field settings if "Is this Field Searchable?" is enabled. I think it is necessary to mark it, to appear in the import selectable fields.

# Answer
> 1 votes
I would double-check that the none of the custom data that you are importing exceeds the length constraint set for those custom fields, and raise that constraint if necessary for the long fields.

I believe default is 255 characters for most, and I believe that includes all options for multi-value sets smashed together, not just 255 characters per option.

---
Tags: custom-fields, import, error, multi-record, field-mapping
---


title: Reset external ID to null

text:
# Question
Title: Reset external ID to null
We frequently try to match facebook event attendees to contacts in our database in order to send targeted emails to the person. By matching them to our database we know a lot more about the people (e.g. geolocation to include reference to an elected representative). The process in civi to do this is cumbersome. We take the list of people from facebook (names only) and assign an external ID, then import the list to civi. We assume that names are unique (a somewhat reasonable assumption for our database). Following this process we want to free up the contact's external ID field to allow the next import to run without having to manually de-dupe anyone who has an external ID previously set. How can we either:

1. Do this without external IDs
2. Reset the external ID to null

We are using wordpress 4.4.1 and civi 4.6.10

# Answer
If you have sql access, it's a very simple update query

```
update civicrm_contact c
set    c.external_identifier = null
where  c.external_identifier is not null

```

This, of course, will null all of them for all contacts but I think that is what you're asking for.
> 4 votes

# Answer
You could do a batch update via profiles see CiviCRM user and administrator guide.

I just tried it and it only took a couple of minutes to set the profile up. You only need one field for External Contact Id. In a nutshell, once you set up the profile, you query up the contacts you wish to change, select Batch Update via Profile, select the profile. Then you can null out the first record click on the copy icon and it nulls out all the rest.

One caveat is you can only batch update one contact type at a time so you if you have both households and individuals you'll need to do the query twice.
> 3 votes

---
Tags: civievent, import
---


# Question
Title: exporting data with custom field nantionality exports country id instead of country name
I have a custom field nationality and after upgrading to Civi 4.6.9, i noticed that when i export contacts with custom field nationality, first entry has the name but the rest are the country ids, see screen shot.

I have also tested this on the demo site http://d46.demo.civicrm.org/ and it is the same problem

# Answer
> 3 votes
The same thing happens to us. I just create an issue and proposed a patch as a provisional workaround.

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

**\[Edited\]**

Seems that the issue is fixed for 4.6.12 version.

---
Tags: contacts, export
---