Declare 'amount' as required on ContributionRecur api
authoreileen <emcnaughton@wikimedia.org>
Sun, 16 Dec 2018 20:39:35 +0000 (09:39 +1300)
committereileen <emcnaughton@wikimedia.org>
Sun, 16 Dec 2018 20:39:49 +0000 (09:39 +1300)
This is effectively required already as you get a DB error without it.

The field is not required at the DB level (it probably should be that too) but
it has no default value so you wind up with

[nativecode=1364 ** Field 'amount' doesn't have a default value]

Note that making it required at the DB level won't change the need for this
patch & is separate. The api declares what is required at the api level
- somethings are required at the DB level but not at the api level as they are
calculated in the BAO

api/v3/ContributionRecur.php

index a990d48ad60f49488a5f3ef13156b4306a8e7657..4160e19fafcd8769c9d582dc5bfefad7a77c6244 100644 (file)
@@ -56,6 +56,7 @@ function _civicrm_api3_contribution_recur_create_spec(&$params) {
   $params['contact_id']['api.required'] = 1;
   $params['create_date']['api.default'] = 'now';
   $params['frequency_interval']['api.required'] = 1;
+  $params['amount']['api.required'] = 1;
   $params['start_date']['api.default'] = 'now';
   $params['modified_date']['api.default'] = 'now';
 }