-
-
Notifications
You must be signed in to change notification settings - Fork 825
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[REF] extract internals of Payment.create into function on BAO class.
This is a partial of #13330 - trying to separate out the main code move from the changes. My only change was to change the name to addPayment since that is what we are doing but here are some additionaly thoughts. 1) I'm inclined to put the class onto a new pseudo-bao CRM_Finanial_BAO_Payment. We already have this pseudo-entity on the api level & it gives us a way to build up a place for the functions we are migrating towards. 2) I think we should consider changing the input parameters to this function to be - contributionID, total_amount & line_items or in some way limiting the parameters tha t get passed through. We have historically gotten ourselves in trouble by having people hacking in another parameter to go through whereas the strength of the api is clear inputs & outputs. I note the api will need to support 'is_email_receipt' as will this fn & the CRM_Contribute_Form_AdditionalPayment::emailReceipt should be moved off the form layer - possibly to our new BAO 3) I think the exceptions need to be CRM_Core_Exceptions if thrown in the BAO although this is kinda cosmetic
- Loading branch information
1 parent
3e1289c
commit 0d061a7
Showing
3 changed files
with
179 additions
and
68 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
<?php | ||
/* | ||
+--------------------------------------------------------------------+ | ||
| CiviCRM version 5 | | ||
+--------------------------------------------------------------------+ | ||
| Copyright CiviCRM LLC (c) 2004-2018 | | ||
+--------------------------------------------------------------------+ | ||
| This file is a part of CiviCRM. | | ||
| | | ||
| CiviCRM is free software; you can copy, modify, and distribute it | | ||
| under the terms of the GNU Affero General Public License | | ||
| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. | | ||
| | | ||
| CiviCRM is distributed in the hope that it will be useful, but | | ||
| WITHOUT ANY WARRANTY; without even the implied warranty of | | ||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | | ||
| See the GNU Affero General Public License for more details. | | ||
| | | ||
| You should have received a copy of the GNU Affero General Public | | ||
| License and the CiviCRM Licensing Exception along | | ||
| with this program; if not, contact CiviCRM LLC | | ||
| at info[AT]civicrm[DOT]org. If you have questions about the | | ||
| GNU Affero General Public License or the licensing of CiviCRM, | | ||
| see the CiviCRM license FAQ at http://civicrm.org/licensing | | ||
+--------------------------------------------------------------------+ | ||
*/ | ||
|
||
/** | ||
* Trait CRMTraits_PCP_PCPTestTrait | ||
* | ||
* Traits for testing PCP pages. | ||
*/ | ||
trait CRMTraits_PCP_PCPTestTrait { | ||
/** | ||
* Build and return pcpBlock params. | ||
* | ||
* Create the necessary initial objects for a pcpBlock, then return the | ||
* params needed to create the pcpBlock. | ||
* | ||
*/ | ||
public function pcpBlockParams() { | ||
$contribPage = CRM_Core_DAO::createTestObject('CRM_Contribute_DAO_ContributionPage'); | ||
$contribPageId = $contribPage->id; | ||
$supporterProfile = CRM_Core_DAO::createTestObject('CRM_Core_DAO_UFGroup'); | ||
$supporterProfileId = $supporterProfile->id; | ||
|
||
$params = array( | ||
'entity_table' => 'civicrm_contribution_page', | ||
'entity_id' => $contribPageId, | ||
'supporter_profile_id' => $supporterProfileId, | ||
'target_entity_id' => 1, | ||
'is_approval_needed' => 1, | ||
'is_tellfriend_enabled' => 1, | ||
'tellfriend_limit' => 1, | ||
'link_text' => 'Create your own PCP', | ||
'is_active' => 1, | ||
); | ||
|
||
return $params; | ||
} | ||
|
||
/** | ||
* Build and return pcp params. | ||
* | ||
* Create the necessary initial objects for a pcp page, then return the | ||
* params needed to create the pcp page. | ||
*/ | ||
public function pcpParams() { | ||
$contact = CRM_Core_DAO::createTestObject('CRM_Contact_DAO_Contact'); | ||
$contactId = $contact->id; | ||
$contribPage = CRM_Core_DAO::createTestObject('CRM_Contribute_DAO_ContributionPage'); | ||
$contribPageId = $contribPage->id; | ||
|
||
$params = array( | ||
'contact_id' => $contactId, | ||
'status_id' => '1', | ||
'title' => 'My PCP', | ||
'intro_text' => 'Hey you, contribute now!', | ||
'page_text' => 'You better give more.', | ||
'donate_link_text' => 'Donate Now', | ||
'page_id' => $contribPageId, | ||
'is_thermometer' => 1, | ||
'is_honor_roll' => 1, | ||
'goal_amount' => 10000.00, | ||
'is_active' => 1, | ||
); | ||
|
||
return $params; | ||
} | ||
|
||
} |