civicrm-core.git
5 years agoAdd unit test to date parsing on import
eileen [Thu, 14 Mar 2019 21:08:02 +0000 (10:08 +1300)]
Add unit test to date parsing on import

This is primarily as a demo of how to test this class.

Basically extract the parts that we want to check the formatting of into manageable
functions. I made the name on the second one pretty generic so slowly all formatting can
be moved into it, with testing.

This would include moving the various bits of work done in
_civicrm_api3_deprecated_formatted_param
into this function - that code really does just belong on this class as it
is not called from anywhere else.

It also does the checking, but not the formatting, for these date fields - sigh

I would have liked to have made the method protected but the mucking around that required
in the test classes didn't seem to justify it

5 years agoMerge pull request #13816 from MegaphoneJon/core-798
colemanw [Thu, 14 Mar 2019 21:01:47 +0000 (17:01 -0400)]
Merge pull request #13816 from MegaphoneJon/core-798

core#798 - fix rendering of public-facing prefix/suffix select2

5 years agoMerge pull request #13778 from eileenmcnaughton/paymetn_next
Monish Deb [Thu, 14 Mar 2019 05:02:01 +0000 (10:32 +0530)]
Merge pull request #13778 from eileenmcnaughton/paymetn_next

[REF] small cleanups on payment.create flow.

5 years agoMerge pull request #13799 from mfb/zetacomponents
Eileen McNaughton [Thu, 14 Mar 2019 04:33:15 +0000 (17:33 +1300)]
Merge pull request #13799 from mfb/zetacomponents

Upgrade zetacomponents/base and zetacomponents/mail

5 years agoMerge pull request #13802 from mattwire/membership_address
Eileen McNaughton [Thu, 14 Mar 2019 04:28:16 +0000 (17:28 +1300)]
Merge pull request #13802 from mattwire/membership_address

Membership form address fields for payment processors

5 years agoMerge pull request #13703 from mfb/form-temp-tables
Eileen McNaughton [Wed, 13 Mar 2019 23:17:39 +0000 (12:17 +1300)]
Merge pull request #13703 from mfb/form-temp-tables

Use temp table methods; provide TempTable::getCreateSql() method for debugging

5 years agoMerge pull request #13818 from civicrm/5.12
Eileen McNaughton [Wed, 13 Mar 2019 23:13:47 +0000 (12:13 +1300)]
Merge pull request #13818 from civicrm/5.12

5.12 to master

5 years agoMerge pull request #13810 from totten/master-wp-stdrr
Eileen McNaughton [Wed, 13 Mar 2019 23:12:58 +0000 (12:12 +1300)]
Merge pull request #13810 from totten/master-wp-stdrr

(ops#878) phpunit.xml.dist - Prevent conflict in WordPress E2E with "stderr=true"

5 years agoMerge pull request #13811 from totten/master-wp-loadboot
Eileen McNaughton [Wed, 13 Mar 2019 23:10:56 +0000 (12:10 +1300)]
Merge pull request #13811 from totten/master-wp-loadboot

(ops#878) Enforce common signature for CRM_Utils_System::loadBootStrap(). Fix WP E2E error.

5 years agoMerge pull request #13801 from eileenmcnaughton/5.12
Seamus Lee [Wed, 13 Mar 2019 21:14:43 +0000 (08:14 +1100)]
Merge pull request #13801 from eileenmcnaughton/5.12

Fix unrelased regression where activity date relative filters are ingnored in the rc

5 years agoMerge pull request #13383 from seamuslee001/report_cleanup_mailing_summary
Seamus Lee [Wed, 13 Mar 2019 19:48:54 +0000 (06:48 +1100)]
Merge pull request #13383 from seamuslee001/report_cleanup_mailing_summary

(dev/core#491) Standardise the adding of campaign fields on the maili…

5 years agoMerge pull request #13814 from mattwire/testentity
Eileen McNaughton [Wed, 13 Mar 2019 19:43:33 +0000 (08:43 +1300)]
Merge pull request #13814 from mattwire/testentity

Add a class to handle test entities consistently

5 years agoMerge pull request #13812 from mattwire/corepayment_comments
Eileen McNaughton [Wed, 13 Mar 2019 19:14:02 +0000 (08:14 +1300)]
Merge pull request #13812 from mattwire/corepayment_comments

Add comments about usage for doPayment() function

5 years agoMerge pull request #13817 from civicrm/5.12
Eileen McNaughton [Wed, 13 Mar 2019 19:13:11 +0000 (08:13 +1300)]
Merge pull request #13817 from civicrm/5.12

5.12 to master

5 years agoMerge pull request #13808 from totten/5.12-wp-e2e
Eileen McNaughton [Wed, 13 Mar 2019 19:12:14 +0000 (08:12 +1300)]
Merge pull request #13808 from totten/5.12-wp-e2e

(ops#878) (Fast)ArrayDecorator - Emit expected exception when using WP and strict PSR-16

5 years ago(ops#878) Enforce common signature for CRM_Utils_System::loadBootStrap(). Fix WP...
Tim Otten [Wed, 13 Mar 2019 07:35:54 +0000 (00:35 -0700)]
(ops#878) Enforce common signature for CRM_Utils_System::loadBootStrap(). Fix WP E2E error.

Before
------

1.  Most `CRM_Utils_System_*` classes implement a method `loadBootStrap($params = array(),...)`.  However, `WordPress`
   and `UnitTests` implement a different signature (`loadBootStrap($name = NULL, $pass = NULL)`), and `Soap` does not
   implement it all.  This is problematic -- because the function is invoked in a centralized way (e.g.
   `CRM_Utils_System::loadBootStrap()` invokes `$config->userSystem->loadBootStrap($params, $loadUser, $throwError,
   $realPath)`), which implies that all UF drivers need to support this signature.

2. When running any of the end-to-end (E2E) tests on CiviCRM-WordPress, the output is polluted with these warnings:

```
bknix-dfl:~/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm] phpunit5 tests/phpunit/E2E/Cache/FastArrayDecoratorTest.php ; echo "exit=$?"
PHPUnit 5.7.27 by Sebastian Bergmann and contributors.

PHP Warning:  strip_tags() expects parameter 1 to be string, array given in /Users/totten/bknix/build/wpmaster/wp-includes/formatting.php on line 4649
PHP Stack trace:
PHP   1. {main}() /Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar:0
PHP   2. PHPUnit_TextUI_Command::main() /Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar:598
PHP   3. PHPUnit_TextUI_Command->run() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/TextUI/Command.php:116
PHP   4. PHPUnit_TextUI_TestRunner->doRun() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/TextUI/Command.php:186
PHP   5. PHPUnit_Framework_TestSuite->run() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/TextUI/TestRunner.php:517
PHP   6. call_user_func:{phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/Framework/TestSuite.php:679}() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/Framework/TestSuite.php:679
PHP   7. E2E_Cache_CacheTestCase::setUpBeforeClass() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/Framework/TestSuite.php:679
PHP   8. CRM_Utils_System::loadBootStrap() /Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm/tests/phpunit/E2E/Cache/CacheTestCase.php:43
PHP   9. CRM_Utils_System_WordPress->loadBootStrap() /Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm/CRM/Utils/System.php:1477
PHP  10. wp_authenticate() /Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm/CRM/Utils/System/WordPress.php:495
PHP  11. sanitize_user() /Users/totten/bknix/build/wpmaster/wp-includes/pluggable.php:515
PHP  12. wp_strip_all_tags() /Users/totten/bknix/build/wpmaster/wp-includes/formatting.php:1850
PHP  13. strip_tags() /Users/totten/bknix/build/wpmaster/wp-includes/formatting.php:4649

Warning: strip_tags() expects parameter 1 to be string, array given in /Users/totten/bknix/build/wpmaster/wp-includes/formatting.php on line 4649

Call Stack:
    0.0026     425040   1. {main}() /Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar:0
    0.0766   14246216   2. PHPUnit_TextUI_Command::main() /Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar:598
    0.0766   14246952   3. PHPUnit_TextUI_Command->run() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/TextUI/Command.php:116
    0.4267   23405608   4. PHPUnit_TextUI_TestRunner->doRun() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/TextUI/Command.php:186
    0.4336   23511184   5. PHPUnit_Framework_TestSuite->run() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/TextUI/TestRunner.php:517
    0.4403   23516840   6. call_user_func:{phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/Framework/TestSuite.php:679}() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/Framework/TestSuite.php:679
    0.4403   23516920   7. E2E_Cache_CacheTestCase::setUpBeforeClass() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/Framework/TestSuite.php:679
    0.5065   31975824   8. CRM_Utils_System::loadBootStrap() /Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm/tests/phpunit/E2E/Cache/CacheTestCase.php:43
    0.5065   31976344   9. CRM_Utils_System_WordPress->loadBootStrap() /Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm/CRM/Utils/System.php:1477
    0.6517   57998912  10. wp_authenticate() /Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm/CRM/Utils/System/WordPress.php:495
    0.6517   57998992  11. sanitize_user() /Users/totten/bknix/build/wpmaster/wp-includes/pluggable.php:515
    0.6517   57999088  12. wp_strip_all_tags() /Users/totten/bknix/build/wpmaster/wp-includes/formatting.php:1850
    0.6517   57999736  13. strip_tags() /Users/totten/bknix/build/wpmaster/wp-includes/formatting.php:4649
```

3.  The warning indicates that (on WordPress) the E2E test is not doing what it's trying to do -- specifically,
    `E2E_Cache_CacheTestCase::setUpBeforeClass()` (or, similarly, `CiviEndToEndTestCase::setUpBeforeClass()`) calls
    `CRM_Utils_System::loadBootStrap()` to authenticate as the CMS administrator, but this fails because WP's
    implementation of `loadBootStrap()` does not respect the same signature.

After
-----

1. `CRM_Utils_System_Base` defines an abstract function `loadBootStrap($params = array(),...)`. Any non-compliant driver (which
   uses a different signature or which omits the function) will produce a syntax error.

2. The classes `CRM_Utils_System_{WordPress,UnitTests}` have been updated to comply with the signature.

3. The class `CRM_Utils_System_Soap` nominally complies. However, this class isn't really a UF driver, and it doesn't make sense for
   it to extend this base class, and the implementation is a stub. But we don't need to scope-creep the bugfix.

4. The `loadBootStrap...strip_tags()...` warnings are no longer generated when running E2E tests on WP.

Comments
--------

* I verified that all extant classes in `CRM/Utils/System/*.php` are loadable/compilable (i.e they now comply with the delcared signature).
* The SOAP integration has test-coverage viia `E2E_Extern_SoapTest`.
* In the PR test output, you'll only see E2E results from D7.  *However*, this patch is part of a bigger effort
  (infrastructure/ops#878) which will eventually give some visibility on that.

5 years agocore#798 - fix rendering of public-facing prefix/suffix select2
Jon Goldberg [Wed, 13 Mar 2019 16:12:41 +0000 (12:12 -0400)]
core#798 - fix rendering of public-facing prefix/suffix select2

5 years agoAdd a class to handle test entities consistently
Matthew Wire (MJW Consulting) [Wed, 13 Mar 2019 14:00:14 +0000 (14:00 +0000)]
Add a class to handle test entities consistently

5 years agoAdd comments about usage for doPayment() function
Matthew Wire (MJW Consulting) [Wed, 13 Mar 2019 10:29:57 +0000 (10:29 +0000)]
Add comments about usage for doPayment() function

5 years ago(ops#878) phpunit.xml.dist - Prevent conflict in WordPress E2E with "stderr=true"
Tim Otten [Wed, 13 Mar 2019 07:16:43 +0000 (00:16 -0700)]
(ops#878) phpunit.xml.dist - Prevent conflict in WordPress E2E with "stderr=true"

Before
------

When running any of the end-to-end (E2E) tests on CiviCRM-WordPress, the output is polluted with these warnings:

```
[bknix-dfl:~/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm] phpunit5 tests/phpunit/E2E/Cache/FastArrayDecoratorTest.php
PHPUnit 5.7.27 by Sebastian Bergmann and contributors.

PHP Warning:  session_start(): Cannot send session cookie - headers already sent by (output started at phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/Util/Printer.php:110) in /Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm.php on line 346
PHP Stack trace:
PHP   1. {main}() /Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar:0
PHP   2. PHPUnit_TextUI_Command::main() /Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar:598
PHP   3. PHPUnit_TextUI_Command->run() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/TextUI/Command.php:116
PHP   4. PHPUnit_TextUI_TestRunner->doRun() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/TextUI/Command.php:186
PHP   5. PHPUnit_Framework_TestSuite->run() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/TextUI/TestRunner.php:517
PHP   6. call_user_func:{phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/Framework/TestSuite.php:679}() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/Framework/TestSuite.php:679
PHP   7. E2E_Cache_CacheTestCase::setUpBeforeClass() phar:///Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar/phpunit/Framework/TestSuite.php:679
PHP   8. CRM_Utils_System::loadBootStrap() /Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm/tests/phpunit/E2E/Cache/CacheTestCase.php:43
PHP   9. CRM_Utils_System_WordPress->loadBootStrap() /Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm/CRM/Utils/System.php:1477
PHP  10. require_once() /Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm/CRM/Utils/System/WordPress.php:479
PHP  11. require_once() /Users/totten/bknix/build/wpmaster/wp-load.php:37
PHP  12. require_once() /Users/totten/bknix/build/wpmaster/wp-config.php:94
PHP  13. do_action() /Users/totten/bknix/build/wpmaster/wp-settings.php:325
PHP  14. WP_Hook->do_action() /Users/totten/bknix/build/wpmaster/wp-includes/plugin.php:453
PHP  15. WP_Hook->apply_filters() /Users/totten/bknix/build/wpmaster/wp-includes/class-wp-hook.php:323
PHP  16. call_user_func_array:{/Users/totten/bknix/build/wpmaster/wp-includes/class-wp-hook.php:298}() /Users/totten/bknix/build/wpmaster/wp-includes/class-wp-hook.php:298
PHP  17. CiviCRM_For_WordPress->setup_instance() /Users/totten/bknix/build/wpmaster/wp-includes/class-wp-hook.php:298
PHP  18. session_start() /Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm.php:346
```

After
-----

The session_start warnings are no longer generated..

Comments
--------

The problem appears to be this:

1. When PHPUnit starts, it puts some messages on STDOUT.
2. When the specific tests/test-suites are setup, they bootstrap WordPress, and WordPress tries to setup a session, which requires setting some headers
3. But we've already started writing STDOUT, and we can't send any headers.

The patch is based on suggestion [a StackExchange
discussion](https://stackoverflow.com/questions/23270650/cannot-send-session-cookie-headers-already-sent-phpunit-laravel/38045422)
-- basically, by setting the `stderr` option (which is documented lightly in the cli `phpunit5 --help`), we prevent
step 1 above -- because PHPUnit now prints messages to STDERR instead of STDOUT.

The only concern (`r-tech`) would be...  is there anything in our ecosystem which depends on piping information from
PHPUnit's STDOUT?  Obviously, I can't speak for third-parties, but the general pattern in `civicrm.org` CI scripts
(e.g.  `civi-test-run`) is to evaluate PHPUnit output through a mix of (1) exit-codes and (2) JUnit files.  In which case...
it doesn't matter if PHPUnit writes messages to STDERR or STDOUT.

I'd suggest paying close attention to the console output for the PR-test here; if that's good, then we're probably OK.

5 years ago(Fast)ArrayDecorator - Emit expected exception when using WP and strict PSR-16
Tim Otten [Wed, 13 Mar 2019 05:15:20 +0000 (22:15 -0700)]
(Fast)ArrayDecorator - Emit expected exception when using WP and strict PSR-16

Suppose someone calls `ArrayDecorator::get()` or `FastArrayDecorator::get()`
with an invalid key (e.g.  passing `float` or an `array` instead of a
`string`).  This patch improves error-reporting for that scenario.

This is primarily about fixing multiple test failures in `E2E_Cache_ArrayDecoratorTest` reported on `wp-demo`. These
generally look like

```
1) E2E_Cache_ArrayDecoratorTest::testGetInvalidKeys with data set #1 (true)
array_key_exists(): The first argument should be either a string or an integer

/Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm/CRM/Utils/Cache/ArrayDecorator.php:102
/Users/totten/bknix/build/wpmaster/wp-content/plugins/civicrm/civicrm/packages/Cache/IntegrationTests/LegacySimpleCacheTest.php:409
/Users/totten/bknix/civicrm-buildkit/extern/phpunit5/phpunit5.phar:598
```

Before
------

The ArrayDecorator first checks its front cache (`array_key_exists`) to see if the key is defined.  In the `wp-demo`
environment, this produces a warning and causes the test to fail.

The condition *is* erroneous, but PSR-16 specifies that the error should be reported as exception.

After
-----

The condition is reported as the expected exception. The test passes on `wp-demo`.

Comment
-------

This brings the code in `(Fast)ArrayDecorator.php` into alignment with most of the other `CRM/Utils/Cache/*.php`
drivers; in most drivers, it is typical to validate the key at the start of most functions.

5 years agoMerge pull request #13806 from eileenmcnaughton/array_form
Tim Otten [Wed, 13 Mar 2019 04:26:58 +0000 (21:26 -0700)]
Merge pull request #13806 from eileenmcnaughton/array_form

[NFC] reformat Contact api file to switch to new array formatting

5 years agoMerge pull request #13803 from herbdool/issue-13788-alt
Eileen McNaughton [Wed, 13 Mar 2019 02:22:17 +0000 (15:22 +1300)]
Merge pull request #13803 from herbdool/issue-13788-alt

 civicrm/admin/setting/uf - Fix advice about Backdrop Views ($database_prefix)

5 years ago[NFC] reformt Contact api file to switch to new array formatting
eileen [Wed, 13 Mar 2019 01:53:16 +0000 (14:53 +1300)]
[NFC] reformt Contact api file to switch to new array formatting

This is just an IDE reformat.  A few tweaks beyond the straight array swap but not much

5 years agoCRM/Admin/Form/Setting/UF.tpl - Change "add" to "add or update"
Tim Otten [Wed, 13 Mar 2019 00:35:08 +0000 (17:35 -0700)]
CRM/Admin/Form/Setting/UF.tpl - Change "add" to "add or update"

If an admin follows the advice literally (and merely *adds* the item),
and if there's already an existing as directive higher-up (as
there would be in a stock Backdrop `settings.php`), then the
`settings.php` would have two copies of the directive.

That'd be liable to cause confusion during subsequent maintenance.

5 years agoMerge pull request #13805 from mattwire/static
Eileen McNaughton [Tue, 12 Mar 2019 22:34:28 +0000 (11:34 +1300)]
Merge pull request #13805 from mattwire/static

checkEditInboundEmailsPermissions should be a static function

5 years ago(dev/core#491) Standardise the adding of campaign fields on the mailing summary repor...
Seamus Lee [Wed, 2 Jan 2019 20:45:16 +0000 (07:45 +1100)]
(dev/core#491) Standardise the adding of campaign fields on the mailing summary report and add a post upgrade message about needing to re-save report given the changes made to the report template

Update language on postupgrade message

Move upgrade to 5.13

5 years agoMerge pull request #13783 from eileenmcnaughton/confirm_btn
Eileen McNaughton [Tue, 12 Mar 2019 20:34:39 +0000 (09:34 +1300)]
Merge pull request #13783 from eileenmcnaughton/confirm_btn

[REF] minor code simplification - remove over-handling of amount comp with zero

5 years agocheckEditInboundEmailsPermissions should be a static function
Matthew Wire (MJW Consulting) [Tue, 12 Mar 2019 17:03:34 +0000 (17:03 +0000)]
checkEditInboundEmailsPermissions should be a static function

5 years agoMerge pull request #13791 from eileenmcnaughton/revert
Eileen McNaughton [Tue, 12 Mar 2019 20:23:17 +0000 (09:23 +1300)]
Merge pull request #13791 from eileenmcnaughton/revert

Attempted test fix

5 years agoMerge pull request #13781 from eileenmcnaughton/title
colemanw [Tue, 12 Mar 2019 20:22:03 +0000 (16:22 -0400)]
Merge pull request #13781 from eileenmcnaughton/title

Standardise setTitle method on forms

5 years agoalt to issue-13788 assign db mapping to database_prefix
Herb vd Dool [Tue, 12 Mar 2019 04:44:59 +0000 (00:44 -0400)]
alt to issue-13788 assign db mapping to database_prefix

5 years agoFix relative dates when searching on activity_date_time
eileen [Tue, 12 Mar 2019 00:39:51 +0000 (13:39 +1300)]
Fix relative dates when searching on activity_date_time

In testing I found that there is an unreleased regression relating to our date conversion
on activity_date_time in activity search. This fixes and adds tests. (regression was it
was being ignored).

Note that the option value is capitalised which makes the capitalisation slightly odd but
I think accepting that is the least bad option

5 years agoActually use the values processed by processBillingAddress()
Matthew Wire (MJW Consulting) [Tue, 12 Mar 2019 00:49:10 +0000 (00:49 +0000)]
Actually use the values processed by processBillingAddress()

5 years agoFormatting cleanup
eileen [Tue, 12 Mar 2019 00:11:15 +0000 (13:11 +1300)]
Formatting cleanup

5 years agoFix invalid quoted-printable encoding of test fixture emails.
mark burdett [Mon, 11 Mar 2019 22:07:11 +0000 (15:07 -0700)]
Fix invalid quoted-printable encoding of test fixture emails.

5 years agoNon-multipart body is now an ezcMailFile object stored in tmp directory.
mark burdett [Mon, 11 Mar 2019 22:04:23 +0000 (15:04 -0700)]
Non-multipart body is now an ezcMailFile object stored in tmp directory.

5 years agoStandardise setTitle method on forms
eileen [Thu, 7 Mar 2019 11:25:14 +0000 (00:25 +1300)]
Standardise setTitle method on forms

We have inconsistent methodology for setting the title. This is a minor simplification and
consistency improvement. It also means hooks can call 'getTitle' - ideally all forms would call thi
s & title handling would be consistent.... one day

5 years agoMerge pull request #13700 from colemanw/CRM-21008
Seamus Lee [Mon, 11 Mar 2019 20:08:19 +0000 (07:08 +1100)]
Merge pull request #13700 from colemanw/CRM-21008

CRM-21008 - Checkbox to explicitly change employer when sharing address

5 years agoUpgrade zetacomponents/base and zetacomponents/mail.
mark burdett [Mon, 11 Mar 2019 02:54:57 +0000 (19:54 -0700)]
Upgrade zetacomponents/base and zetacomponents/mail.

5 years agoAttempted test fix
eileen [Fri, 8 Mar 2019 09:01:28 +0000 (22:01 +1300)]
Attempted test fix

This revert test has started failing frequently. It's possible the reason is performance
Improvements, resulting ineffectively no change in time between the entries.

I's also possible the issue is with the timestamp being used but I think that has
a permitted variance

5 years agoMerge pull request #13792 from yashodha/reports
Eileen McNaughton [Sun, 10 Mar 2019 21:36:26 +0000 (10:36 +1300)]
Merge pull request #13792 from yashodha/reports

CRM-21677 - sybunt report clean up

5 years agoUse TempTable methods; add getCreateSql() method for debugging purposes.
mark burdett [Mon, 25 Feb 2019 12:09:05 +0000 (04:09 -0800)]
Use TempTable methods; add getCreateSql() method for debugging purposes.

5 years agoCRM-21677 - sybunt report clean up
yashodha [Fri, 8 Mar 2019 11:01:33 +0000 (16:31 +0530)]
CRM-21677 - sybunt report clean up

5 years agoMerge pull request #13790 from yashodha/reports
Eileen McNaughton [Fri, 8 Mar 2019 07:45:13 +0000 (20:45 +1300)]
Merge pull request #13790 from yashodha/reports

CRM-21677 - report clean up

5 years agoCRM-21677 - report clean up
yashodha [Fri, 8 Mar 2019 06:28:25 +0000 (11:58 +0530)]
CRM-21677 - report clean up

5 years agoMerge pull request #13774 from mattwire/membership_fataltothrow
Eileen McNaughton [Fri, 8 Mar 2019 00:40:13 +0000 (13:40 +1300)]
Merge pull request #13774 from mattwire/membership_fataltothrow

Fatal error to exception on Membership BAO

5 years agoMerge pull request #13786 from eileenmcnaughton/free
Eileen McNaughton [Thu, 7 Mar 2019 20:27:33 +0000 (09:27 +1300)]
Merge pull request #13786 from eileenmcnaughton/free

dev/core#562 remove more instances of ->free()

5 years agoMerge pull request #13784 from eileenmcnaughton/confirm_google
colemanw [Thu, 7 Mar 2019 19:17:56 +0000 (14:17 -0500)]
Merge pull request #13784 from eileenmcnaughton/confirm_google

Remove reference to google checkout

5 years agodev/core#562 remove more instances of ->free()
eileen [Thu, 7 Mar 2019 19:15:49 +0000 (08:15 +1300)]
dev/core#562 remove more instances of ->free()

Per https://lab.civicrm.org/dev/core/issues/562 we have been incrementally removing these as
1) we free resources on DAO->_destruct now and
2) in some edge cases freeing resources in an 'inner loop' can free outer loop
resources - resulting in a hard-to-analyse bug

5 years ago[REF] small cleanups on payment.create flow.
eileen [Thu, 7 Mar 2019 05:07:23 +0000 (18:07 +1300)]
[REF] small cleanups on payment.create flow.

In the interests of keeping some momentum I added this small cleanup which does 3 things

1) uses the preferred function to get 'from_financial_account_id', 2 moves a line of code to get participantID
& 3 removes the conditionals around is_payment. This probably needs the most double checking but
I believe recordPartialPaymet used to be called from places other than Payment.create so
it may not have always been handling a payment - however it I can't see a case for it not be
is_payment now

5 years agoRemove reference to google checkout
eileen [Thu, 7 Mar 2019 13:29:47 +0000 (02:29 +1300)]
Remove reference to google checkout

5 years agoMerge pull request #13782 from eileenmcnaughton/tplwhite
Eileen McNaughton [Thu, 7 Mar 2019 13:30:03 +0000 (02:30 +1300)]
Merge pull request #13782 from eileenmcnaughton/tplwhite

[NFC] template whitespace cleanup

5 years ago[REF] minor code simplification
eileen [Thu, 7 Mar 2019 13:28:11 +0000 (02:28 +1300)]
[REF] minor code simplification

This just removes the duplicate assign codes & simplifies the /bin/bash condition

5 years ago[NFC] template whitespace cleanup
eileen [Thu, 7 Mar 2019 11:47:48 +0000 (00:47 +1300)]
[NFC] template whitespace cleanup

5 years agoMerge pull request #13780 from yashodha/reports
Eileen McNaughton [Thu, 7 Mar 2019 11:16:59 +0000 (00:16 +1300)]
Merge pull request #13780 from yashodha/reports

CRM-21677 - report clean up

5 years agoCRM-21677 - report clean up
yashodha [Thu, 7 Mar 2019 07:56:59 +0000 (13:26 +0530)]
CRM-21677 - report clean up

5 years agoSet version to 5.13.alpha1
CiviCRM [Thu, 7 Mar 2019 01:37:18 +0000 (01:37 +0000)]
Set version to 5.13.alpha1

5 years agoSet version to 5.12.beta1
CiviCRM [Thu, 7 Mar 2019 01:26:52 +0000 (01:26 +0000)]
Set version to 5.12.beta1

5 years agoMerge pull request #13777 from seamuslee001/master
Tim Otten [Thu, 7 Mar 2019 01:23:50 +0000 (17:23 -0800)]
Merge pull request #13777 from seamuslee001/master

Merge forward 5.11 => master

5 years agoMerge in 5.11
Seamus Lee [Thu, 7 Mar 2019 01:12:52 +0000 (12:12 +1100)]
Merge in 5.11

5 years agoMerge pull request #13594 from agh1/5.11.0-releasenotes
Tim Otten [Thu, 7 Mar 2019 00:23:36 +0000 (16:23 -0800)]
Merge pull request #13594 from agh1/5.11.0-releasenotes

5.11.0 release notes

5 years ago5.11.0 release notes: late changes
Andrew Hunt [Wed, 6 Mar 2019 22:54:30 +0000 (17:54 -0500)]
5.11.0 release notes: late changes

5 years agoSet version to 5.11.0
CiviCRM [Wed, 6 Mar 2019 22:11:50 +0000 (22:11 +0000)]
Set version to 5.11.0

5 years agoMerge pull request #13773 from eileenmcnaughton/5.11-
Seamus Lee [Wed, 6 Mar 2019 21:58:17 +0000 (08:58 +1100)]
Merge pull request #13773 from eileenmcnaughton/5.11-

dev/core#745 Further on_hold fix - it has been suggested the value might be an array like ['']

5 years ago5.11.0 release notes: bulk of work from Alice
Alice Frumin [Wed, 6 Mar 2019 21:49:48 +0000 (16:49 -0500)]
5.11.0 release notes: bulk of work from Alice

* moving things to misc

* organizing prs

* linking to gitlab issues

* first stab

* more release notes

* more release notes progress

* annotating

* cleaning up

* updating contributers

5 years ago5.11.0 release notes: added boilerplate
Andrew Hunt [Thu, 14 Feb 2019 15:48:50 +0000 (10:48 -0500)]
5.11.0 release notes: added boilerplate

5 years ago5.11.0 release notes: raw from script
Andrew Hunt [Thu, 14 Feb 2019 15:46:36 +0000 (10:46 -0500)]
5.11.0 release notes: raw from script

5 years agoMerge pull request #13770 from eileenmcnaughton/mcrypt
colemanw [Wed, 6 Mar 2019 21:36:05 +0000 (16:36 -0500)]
Merge pull request #13770 from eileenmcnaughton/mcrypt

Remove mcrypt system status check

5 years agoMerge pull request #13766 from eileenmcnaughton/api_between
Eileen McNaughton [Wed, 6 Mar 2019 20:05:35 +0000 (09:05 +1300)]
Merge pull request #13766 from eileenmcnaughton/api_between

Fix api bug whereby 0 & '0' are not accepted as range parameters for BETWEEN

5 years agoMerge pull request #13283 from aydun/token_note_fix
Seamus Lee [Wed, 6 Mar 2019 19:54:38 +0000 (06:54 +1100)]
Merge pull request #13283 from aydun/token_note_fix

Render Note field tokens correctly - they are already HTML.

5 years agoMerge pull request #13776 from lcdservices/dev-core-644
Seamus Lee [Wed, 6 Mar 2019 19:53:38 +0000 (06:53 +1100)]
Merge pull request #13776 from lcdservices/dev-core-644

dev/core#644 fix from address before calling hook

5 years agodev/core#644 fix from address before calling hook
Brian Shaughnessy [Wed, 6 Mar 2019 17:34:28 +0000 (12:34 -0500)]
dev/core#644 fix from address before calling hook

5 years agoFatal error to exception on Membership BAO
Matthew Wire (MJW Consulting) [Wed, 6 Mar 2019 11:47:43 +0000 (11:47 +0000)]
Fatal error to exception on Membership BAO

5 years agoMerge pull request #13756 from eileenmcnaughton/payment_try2
Monish Deb [Wed, 6 Mar 2019 09:03:16 +0000 (14:33 +0530)]
Merge pull request #13756 from eileenmcnaughton/payment_try2

[REF] separate financial handling & component transitioning in Payment.create

5 years agoFurther on_hold fix - it has been suggested the value might be an array like ['']
eileen [Wed, 6 Mar 2019 03:38:03 +0000 (16:38 +1300)]
Further on_hold fix - it has been suggested the value might be an array like ['']

This would filter that out

5 years agoMerge pull request #13754 from eileenmcnaughton/5.11-
Seamus Lee [Wed, 6 Mar 2019 03:32:48 +0000 (14:32 +1100)]
Merge pull request #13754 from eileenmcnaughton/5.11-

dev/core#745 do not filter on 'on_hold' if it is an empty string

5 years agoMerge pull request #13771 from mattwire/typo
Eileen McNaughton [Wed, 6 Mar 2019 01:11:46 +0000 (14:11 +1300)]
Merge pull request #13771 from mattwire/typo

Fix typo in comments

5 years agoMerge pull request #13769 from eileenmcnaughton/matt
Eileen McNaughton [Wed, 6 Mar 2019 01:11:12 +0000 (14:11 +1300)]
Merge pull request #13769 from eileenmcnaughton/matt

Removes redundant IF

5 years agoTypo in comments
Matthew Wire (MJW Consulting) [Tue, 5 Mar 2019 23:25:43 +0000 (23:25 +0000)]
Typo in comments

5 years agoMerge pull request #13758 from eileenmcnaughton/no_load
Eileen McNaughton [Tue, 5 Mar 2019 23:20:28 +0000 (12:20 +1300)]
Merge pull request #13758 from eileenmcnaughton/no_load

Do not load membership contribution as updateMembershipBasedOnCompletionOfContribution loads it within the function

5 years agoRemove mcrypt system status check
eileen [Tue, 5 Mar 2019 23:18:38 +0000 (12:18 +1300)]
Remove mcrypt system status check

Php 7.2 doesn't support this & it is being deprecated so having this here causes
sites to try to install it - creating a migration problem they wouldn't otherwise have

The situation here is unresolved but this check doesn't solve more confusion than it creates

5 years agoRemoves redundant IF
eileen [Tue, 5 Mar 2019 23:11:51 +0000 (12:11 +1300)]
Removes redundant IF

 self::getRelatedMemberships already filters out empty rows. I left removing this
IF for it's own PR due to the legibility issues in the whitespace change

5 years agoMerge pull request #13759 from eileenmcnaughton/matt
Eileen McNaughton [Tue, 5 Mar 2019 23:08:04 +0000 (12:08 +1300)]
Merge pull request #13759 from eileenmcnaughton/matt

[REF] towards cleanup of update membership code

5 years agoMerge pull request #13735 from eileenmcnaughton/query_extract
Eileen McNaughton [Tue, 5 Mar 2019 22:55:22 +0000 (11:55 +1300)]
Merge pull request #13735 from eileenmcnaughton/query_extract

Extract getSearchSQLParts function

5 years agoMerge pull request #13746 from eileenmcnaughton/activity_search
Seamus Lee [Tue, 5 Mar 2019 22:41:13 +0000 (09:41 +1100)]
Merge pull request #13746 from eileenmcnaughton/activity_search

Convert activity_date_time field to datepicker and add support for url input

5 years agoAdd enotice handling for weird s....'
eileen [Tue, 5 Mar 2019 21:30:33 +0000 (10:30 +1300)]
Add enotice handling for weird s....'

5 years agoFix related search classes to have the same signature
eileen [Mon, 4 Mar 2019 01:54:29 +0000 (14:54 +1300)]
Fix related search classes to have the same signature

5 years agoAdd form rule for chronological ordeR
eileen [Mon, 4 Mar 2019 00:47:35 +0000 (13:47 +1300)]
Add form rule for chronological ordeR

5 years agoFix group conversion to add relative key
eileen [Sun, 3 Mar 2019 22:09:16 +0000 (11:09 +1300)]
Fix group conversion to add relative key

Old format doesn't seem to have it

5 years agoAdd upgrade routine
eileen [Sun, 3 Mar 2019 20:09:50 +0000 (09:09 +1300)]
Add upgrade routine

5 years agoConvert activity_date_time field to datepicker and add support for url input
eileen [Sat, 2 Mar 2019 05:48:47 +0000 (18:48 +1300)]
Convert activity_date_time field to datepicker and add support for url input

This converts the form to being a metadata defined field & a date-picker field as well
as adding standardised url support for input.

The input format is
activity_date_time_high=20100101

I stripped out the complex and probably broken based on feedback  & not used in core
existing hard-coded url support.

Note that there are some outstanding items
1) the upgrade script item needs to be added - this includes dealing with renaming of the field
since I made it more consistent
2) I stripped out the check to ensure the high date is greater than the low date
- if we still want this we should re-add as a generic thing. My guess is it's a bit optional

5 years agoFix api bug whereby 0 & '0' are not accepted as range parameters for BETWEEN
eileen [Tue, 5 Mar 2019 00:21:36 +0000 (13:21 +1300)]
Fix api bug whereby 0 & '0' are not accepted as range parameters for BETWEEN

In other news I'm not thrilled about the 0 casting to a string here but that is for another time

5 years agoCall getSearchSQLParts to get the desired part instead of sql wrangling
eileen [Tue, 5 Mar 2019 00:05:16 +0000 (13:05 +1300)]
Call getSearchSQLParts to get the desired part instead of sql wrangling

5 years agoExtract getSearchSQLParts function
eileen [Thu, 28 Feb 2019 22:49:46 +0000 (11:49 +1300)]
Extract getSearchSQLParts function

5 years agoMerge pull request #13720 from eileenmcnaughton/extract_2
Eileen McNaughton [Mon, 4 Mar 2019 23:32:29 +0000 (12:32 +1300)]
Merge pull request #13720 from eileenmcnaughton/extract_2

Speed up contribution results by removing join on civicrm_financial_type table when rendering search results.

5 years agoMerge pull request #13765 from seamuslee001/test_empty_on_hold
Eileen McNaughton [Mon, 4 Mar 2019 23:31:53 +0000 (12:31 +1300)]
Merge pull request #13765 from seamuslee001/test_empty_on_hold

Try and add data set example where email_on_hold / on_hold is NULL in…

5 years ago[REF] towards cleanup of update membership code
eileen [Mon, 4 Mar 2019 04:11:20 +0000 (17:11 +1300)]
[REF] towards cleanup of update membership code

This PR limits itself to siphoning off how the memberships are fetched & having that function
- return as an array of arrays rather than an array of objects
- index the array by id rather than membership type

This is a step towards the changes in https://github.com/civicrm/civicrm-core/pull/12542

& it should allow a separation of concerns relating to the LOADING of memberships from the
processing.

I note that the PR I'm looking at changes what gets loaded & that should be it's own PR
but also that there is an extraneous if() here - I didn't alter that because
it is a big white space change & doing on it's own will make that easy to review

5 years agoEliminate unnecessary join to civicrm_financial_type table to improve performance
eileen [Thu, 28 Feb 2019 03:55:21 +0000 (16:55 +1300)]
Eliminate unnecessary join to civicrm_financial_type table to improve performance

Although this join is indexed it affects index choice, often causing the right index not to
be used and slowing performance. I got subtantial speed improvement by eliminating this join

5 years agoAdd hack for qill
eileen [Thu, 28 Feb 2019 05:06:14 +0000 (18:06 +1300)]
Add hack for qill

This is a very minor extension of an existing hack but we should de-hack at some point.

Before this the qill is broken on payment instrument & contribution page too