From 933c5f44488798b69f569f82edc417200e06ea1c Mon Sep 17 00:00:00 2001 From: dpradeep Date: Wed, 6 Aug 2014 19:35:21 +0530 Subject: [PATCH] VAT-570 Added creditnote_id column for civicrm_contribution table. --- CRM/Contribute/Form/AdditionalInfo.php | 14 ++++++++++++++ CRM/Contribute/Form/Task/Invoice.php | 10 ++++++---- CRM/Upgrade/Incremental/sql/4.5.alpha1.mysql.tpl | 3 +++ .../Form/AdditionalInfo/AdditionalDetail.tpl | 2 ++ xml/schema/Contribute/Contribution.xml | 13 +++++++++++++ 5 files changed, 38 insertions(+), 4 deletions(-) diff --git a/CRM/Contribute/Form/AdditionalInfo.php b/CRM/Contribute/Form/AdditionalInfo.php index 1af7b19d9f..b22fce029c 100644 --- a/CRM/Contribute/Form/AdditionalInfo.php +++ b/CRM/Contribute/Form/AdditionalInfo.php @@ -139,6 +139,19 @@ class CRM_Contribute_Form_AdditionalInfo { array('CRM_Contribute_DAO_Contribution', $form->_id, 'invoice_id') ); } + $element = $form->add('text', 'creditnote_id', ts('Credit Note ID'), + $attributes['creditnote_id'] + ); + if ($form->_online) { + $element->freeze(); + } + else { + $form->addRule('creditnote_id', + ts('This Credit Note ID already exists in the database.'), + 'objectExists', + array('CRM_Contribute_DAO_Contribution', $form->_id, 'creditnote_id') + ); + } $form->add('select', 'contribution_page_id', ts('Online Contribution Page'), @@ -286,6 +299,7 @@ class CRM_Contribute_Form_AdditionalInfo { 'net_amount', 'trxn_id', 'invoice_id', + 'creditnote_id', 'campaign_id', 'contribution_page_id', ); diff --git a/CRM/Contribute/Form/Task/Invoice.php b/CRM/Contribute/Form/Task/Invoice.php index c647a85b23..377c826859 100644 --- a/CRM/Contribute/Form/Task/Invoice.php +++ b/CRM/Contribute/Form/Task/Invoice.php @@ -219,11 +219,9 @@ class CRM_Contribute_Form_Task_Invoice extends CRM_Contribute_Form_Task { $stateProvinceAbbreviation = CRM_Core_PseudoConstant::stateProvinceAbbreviation($billingAddress[$contribution->contact_id]['state_province_id']); if ($contribution->contribution_status_id == $refundedStatusId) { - $invoiceId = CRM_Utils_Array::value('credit_notes_prefix', $prefixValue). "" .$contribution->id; - } - else { - $invoiceId = CRM_Utils_Array::value('invoice_prefix', $prefixValue). "" .$contribution->id; + $creditNoteId = CRM_Utils_Array::value('credit_notes_prefix', $prefixValue) . "" . $contribution->id; } + $invoiceId = CRM_Utils_Array::value('invoice_prefix', $prefixValue) . "" . $contribution->id; //to obtain due date for PDF invoice $contributionReceiveDate = date('F j,Y', strtotime(date($input['receive_date']))); @@ -309,6 +307,7 @@ class CRM_Contribute_Form_Task_Invoice extends CRM_Contribute_Form_Task { 'component' => $input['component'], 'id' => $contribution->id, 'invoice_id' => $invoiceId, + 'creditnote_id' => $creditNoteId, 'imageUploadURL' => $config->imageUploadURL, 'defaultCurrency' => $config->defaultCurrency, 'amount' => $contribution->total_amount, @@ -381,6 +380,9 @@ class CRM_Contribute_Form_Task_Invoice extends CRM_Contribute_Form_Task { } $updateInvoiceId = CRM_Core_DAO::setFieldValue('CRM_Contribute_DAO_Contribution', $contribution->id, 'invoice_id', $invoiceId); + if ($contribution->contribution_status_id == $refundedStatusId) { + $updateInvoiceId = CRM_Core_DAO::setFieldValue('CRM_Contribute_DAO_Contribution', $contribution->id, 'creditnote_id', $creditNoteId); + } $this->_invoiceTemplate->clearTemplateVars(); } diff --git a/CRM/Upgrade/Incremental/sql/4.5.alpha1.mysql.tpl b/CRM/Upgrade/Incremental/sql/4.5.alpha1.mysql.tpl index 2ff658a74d..0cd386835f 100644 --- a/CRM/Upgrade/Incremental/sql/4.5.alpha1.mysql.tpl +++ b/CRM/Upgrade/Incremental/sql/4.5.alpha1.mysql.tpl @@ -565,3 +565,6 @@ INSERT INTO `civicrm_option_value` (`option_group_id`, {localize field='label'}`label`{/localize}, `value`, `name`, `grouping`, `filter`, `is_default`, `weight`, {localize field='description'}`description`{/localize}, `is_optgroup`, `is_reserved`, `is_active`, `component_id`, `visibility_id`) VALUES (@option_group_id_udOpt, {localize}'{ts escape="sql"}Invoices / Credit Notes{/ts}'{/localize}, @option_group_id_udOpt_val+1, 'Invoices / Credit Notes', NULL, 0, NULL, @option_group_id_udOpt_wt+1, NULL, 0, 0, 1, NULL, NULL); + +-- Add new column creditnote_id in contribution table +ALTER TABLE `civicrm_contribution` ADD `creditnote_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'unique credit note id, system generated or passed in'; \ No newline at end of file diff --git a/templates/CRM/Contribute/Form/AdditionalInfo/AdditionalDetail.tpl b/templates/CRM/Contribute/Form/AdditionalInfo/AdditionalDetail.tpl index 1daf235126..ababbec2f3 100644 --- a/templates/CRM/Contribute/Form/AdditionalInfo/AdditionalDetail.tpl +++ b/templates/CRM/Contribute/Form/AdditionalInfo/AdditionalDetail.tpl @@ -38,6 +38,8 @@ {ts}Net value of the contribution (Total Amount minus Fee).{/ts} {$form.invoice_id.label}{$form.invoice_id.html}
{ts}Unique internal reference ID for this contribution.{/ts} + {$form.creditnote_id.label}{$form.creditnote_id.html}
+ {ts}Unique internal Credit Note ID for this contribution.{/ts} {$form.thankyou_date.label}{include file="CRM/common/jcalendar.tpl" elementName=thankyou_date}
{ts}Date that a thank-you message was sent to the contributor.{/ts} diff --git a/xml/schema/Contribute/Contribution.xml b/xml/schema/Contribute/Contribution.xml index c20417fb89..e5e5772f1c 100644 --- a/xml/schema/Contribute/Contribution.xml +++ b/xml/schema/Contribute/Contribution.xml @@ -448,6 +448,19 @@ Select + + creditnote_id + Credit Note ID + varchar + 255 + true + /creditnote(.?id)?/i + unique credit note id, system generated or passed in + 4.5 + + Text + + tax_amount decimal -- 2.25.1