details: https://code.openbravo.com/erp/devel/pi/rev/a71939e3dcc8 changeset: 19402:a71939e3dcc8 user: Pandeeswari Ramakrishnan <pandeeswari.ramakrishnan <at> openbravo.com> date: Thu Jan 17 14:15:41 2013 +0530 summary: Fixes Issue 22804: Remove Business Partner from the Open Items Restriction
details: https://code.openbravo.com/erp/devel/pi/rev/36dbe385905f changeset: 19403:36dbe385905f user: Pandeeswari Ramakrishnan <pandeeswari.ramakrishnan <at> openbravo.com> date: Thu Jan 17 14:18:36 2013 +0530 summary: Fixes Issue 22782: Business Partner should not be mandatory in G/L Journal line details: https://code.openbravo.com/erp/devel/pi/rev/cf2de0fafe31 changeset: 19404:cf2de0fafe31 user: David Miguelez <david.miguelez <at> openbravo.com> date: Tue Jan 22 18:51:23 2013 +0100 summary: Related to Issue 22782. Code Review changes. diffstat: modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPaymentFromJournalLine.java | 15 ++- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java | 41 +++++--- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java | 47 +++++---- src-db/database/model/tables/GL_JOURNALLINE.xml | 2 +- src-db/database/sourcedata/AD_MESSAGE.xml | 2 +- 5 files changed, 64 insertions(+), 43 deletions(-) diffs (198 lines): diff -r d30eff56b0f3 -r cf2de0fafe31 modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPaymentFromJournalLine.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPaymentFromJournalLine.java Tue Jan 22 18:25:28 2013 +0100 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPaymentFromJournalLine.java Tue Jan 22 18:51:23 2013 +0100 @@ -11,7 +11,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU - * All portions are Copyright (C) 2012 Openbravo SLU + * All portions are Copyright (C) 2013 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -92,11 +92,11 @@ throw new OBException("@FIN_NoMultiCurrencyAllowed@"); } if (journalLine.getDebit().subtract(journalLine.getCredit()).compareTo(BigDecimal.ZERO) > 0 - && !bPartner.isCustomer()) { + && bPartner != null && !bPartner.isCustomer()) { throw new OBException("@FIN_NoCustomer@"); } if (journalLine.getDebit().subtract(journalLine.getCredit()).compareTo(BigDecimal.ZERO) < 0 - && !bPartner.isVendor()) { + && bPartner != null && !bPartner.isVendor()) { throw new OBException("@FIN_NoVendor@"); } @@ -130,7 +130,8 @@ // Print result if (message.getType().equals("Error")) { - String exceptionMessage = payment.getBusinessPartner().getName(); + String exceptionMessage = payment.getBusinessPartner() != null ? payment + .getBusinessPartner().getName() : ""; exceptionMessage += ": " + message.getMessage(); throw new OBException(exceptionMessage); } else if (message.getType().equals("Warning")) { @@ -141,7 +142,11 @@ strMessageType = "Success"; } strMessageResult.append("@Payment@ ").append(payment.getDocumentNo()); - strMessageResult.append(" (").append(payment.getBusinessPartner().getName()).append(")"); + strMessageResult + .append(" (") + .append( + payment.getBusinessPartner() != null ? payment.getBusinessPartner().getName() : "") + .append(")"); if (!"".equals(message.getMessage())) strMessageResult.append(": ").append(message.getMessage()); strMessageResult.append("<br>"); diff -r d30eff56b0f3 -r cf2de0fafe31 modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java Tue Jan 22 18:25:28 2013 +0100 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java Tue Jan 22 18:51:23 2013 +0100 @@ -30,6 +30,7 @@ import org.openbravo.advpaymentmngt.utility.Value; import org.openbravo.base.secureApp.VariablesSecureApp; import org.openbravo.client.kernel.RequestContext; +import org.openbravo.dal.core.OBContext; import org.openbravo.dal.service.OBDal; import org.openbravo.database.ConnectionProvider; import org.openbravo.erpCommon.utility.OBError; @@ -110,24 +111,32 @@ return error; } } else { - for (FIN_PaymentDetail pd : payment.getFINPaymentDetailList()) { - for (FIN_PaymentScheduleDetail psd : pd.getFINPaymentScheduleDetailList()) { - BusinessPartner bPartner; - if (psd.getInvoicePaymentSchedule() == null) { - bPartner = psd.getOrderPaymentSchedule().getOrder().getBusinessPartner(); - } else { - bPartner = psd.getInvoicePaymentSchedule().getInvoice().getBusinessPartner(); - } - if (FIN_Utility.isBlockedBusinessPartner(bPartner.getId(), payment.isReceipt(), 4)) { - // If the Business Partner is blocked for Payments, the Payment will not be - // completed. - OBError error = new OBError(); - error.setType("Error"); - error.setMessage(strmessage1 + " " + bPartner.getIdentifier() + " " + strmessage2); - OBDal.getInstance().rollbackAndClose(); - return error; + OBContext.setAdminMode(true); + try { + for (FIN_PaymentDetail pd : payment.getFINPaymentDetailList()) { + for (FIN_PaymentScheduleDetail psd : pd.getFINPaymentScheduleDetailList()) { + BusinessPartner bPartner = null; + if (psd.getInvoicePaymentSchedule() != null) { + bPartner = psd.getInvoicePaymentSchedule().getInvoice().getBusinessPartner(); + } else if (psd.getOrderPaymentSchedule() != null) { + bPartner = psd.getOrderPaymentSchedule().getOrder().getBusinessPartner(); + } + if (bPartner != null + && FIN_Utility.isBlockedBusinessPartner(bPartner.getId(), payment.isReceipt(), + 4)) { + // If the Business Partner is blocked for Payments, the Payment will not be + // completed. + OBError error = new OBError(); + error.setType("Error"); + error + .setMessage(strmessage1 + " " + bPartner.getIdentifier() + " " + strmessage2); + OBDal.getInstance().rollbackAndClose(); + return error; + } } } + } finally { + OBContext.restorePreviousMode(); } } } diff -r d30eff56b0f3 -r cf2de0fafe31 modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java Tue Jan 22 18:25:28 2013 +0100 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java Tue Jan 22 18:51:23 2013 +0100 @@ -11,7 +11,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU - * All portions are Copyright (C) 2010-2012 Openbravo SLU + * All portions are Copyright (C) 2010-2013 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -96,27 +96,34 @@ return; } } else { - for (FIN_PaymentDetail pd : payment.getFINPaymentDetailList()) { - for (FIN_PaymentScheduleDetail psd : pd.getFINPaymentScheduleDetailList()) { - BusinessPartner bPartner; - if (psd.getInvoicePaymentSchedule() == null) { - bPartner = psd.getOrderPaymentSchedule().getOrder().getBusinessPartner(); - } else { - bPartner = psd.getInvoicePaymentSchedule().getInvoice().getBusinessPartner(); - } - if (FIN_Utility.isBlockedBusinessPartner(bPartner.getId(), payment.isReceipt(), 4)) { - // If the Business Partner is blocked for Payments, the Payment will not be - // completed. - msg.setType("Error"); - msg.setTitle(Utility.messageBD(conProvider, "Error", language)); - msg.setMessage(OBMessageUtils.messageBD("ThebusinessPartner") + " " - + bPartner.getIdentifier() + " " - + OBMessageUtils.messageBD("BusinessPartnerBlocked")); - bundle.setResult(msg); - OBDal.getInstance().rollbackAndClose(); - return; + OBContext.setAdminMode(true); + try { + for (FIN_PaymentDetail pd : payment.getFINPaymentDetailList()) { + for (FIN_PaymentScheduleDetail psd : pd.getFINPaymentScheduleDetailList()) { + BusinessPartner bPartner = null; + if (psd.getInvoicePaymentSchedule() != null) { + bPartner = psd.getInvoicePaymentSchedule().getInvoice().getBusinessPartner(); + } else if (psd.getOrderPaymentSchedule() != null) { + bPartner = psd.getOrderPaymentSchedule().getOrder().getBusinessPartner(); + } + if (bPartner != null + && FIN_Utility.isBlockedBusinessPartner(bPartner.getId(), payment.isReceipt(), + 4)) { + // If the Business Partner is blocked for Payments, the Payment will not be + // completed. + msg.setType("Error"); + msg.setTitle(Utility.messageBD(conProvider, "Error", language)); + msg.setMessage(OBMessageUtils.messageBD("ThebusinessPartner") + " " + + bPartner.getIdentifier() + " " + + OBMessageUtils.messageBD("BusinessPartnerBlocked")); + bundle.setResult(msg); + OBDal.getInstance().rollbackAndClose(); + return; + } } } + } finally { + OBContext.restorePreviousMode(); } } } diff -r d30eff56b0f3 -r cf2de0fafe31 src-db/database/model/tables/GL_JOURNALLINE.xml --- a/src-db/database/model/tables/GL_JOURNALLINE.xml Tue Jan 22 18:25:28 2013 +0100 +++ b/src-db/database/model/tables/GL_JOURNALLINE.xml Tue Jan 22 18:51:23 2013 +0100 @@ -241,6 +241,6 @@ <check name="GL_JOURNALLINE_C_TAX_ID_CHK"><![CDATA[(C_TAX_ID IS NULL) OR (C_WITHHOLDING_ID IS NULL)]]></check> <check name="GL_JOURNALLINE_ISACTIVE_CHECK"><![CDATA[ISACTIVE IN ('Y', 'N')]]></check> <check name="GL_JOURNALLINE_ISGENERATED_CHK"><![CDATA[ISGENERATED IN ('Y', 'N')]]></check> - <check name="GL_JOURNALLINE_OPENITEM_CHECK"><![CDATA[(OPEN_ITEMS = 'N') OR ((((((OPEN_ITEMS = 'Y') AND (FIN_FINANCIAL_ACCOUNT_ID IS NOT NULL)) AND (FIN_PAYMENTMETHOD_ID IS NOT NULL)) AND (C_GLITEM_ID IS NOT NULL)) AND (C_BPARTNER_ID IS NOT NULL)) AND (PAYMENTDATE IS NOT NULL))]]></check> + <check name="GL_JOURNALLINE_OPENITEM_CHECK"><![CDATA[(OPEN_ITEMS = 'N') OR (((((OPEN_ITEMS = 'Y') AND (FIN_FINANCIAL_ACCOUNT_ID IS NOT NULL)) AND (FIN_PAYMENTMETHOD_ID IS NOT NULL)) AND (C_GLITEM_ID IS NOT NULL)) AND (PAYMENTDATE IS NOT NULL))]]></check> </table> </database> diff -r d30eff56b0f3 -r cf2de0fafe31 src-db/database/sourcedata/AD_MESSAGE.xml --- a/src-db/database/sourcedata/AD_MESSAGE.xml Tue Jan 22 18:25:28 2013 +0100 +++ b/src-db/database/sourcedata/AD_MESSAGE.xml Tue Jan 22 18:51:23 2013 +0100 @@ -19040,7 +19040,7 @@ <!--96B02DEA21084AD28903E48E2612C52A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--96B02DEA21084AD28903E48E2612C52A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--96B02DEA21084AD28903E48E2612C52A--> <VALUE><![CDATA[gl_journalline_openitem_check]]></VALUE> -<!--96B02DEA21084AD28903E48E2612C52A--> <MSGTEXT><![CDATA[If Open Items is checked, Business Partner, Financial Account, Payment Method, GL Item and Payment Date fields must be filled.]]></MSGTEXT> +<!--96B02DEA21084AD28903E48E2612C52A--> <MSGTEXT><![CDATA[If Open Items is checked, Financial Account, Payment Method, GL Item and Payment Date fields must be filled.]]></MSGTEXT> <!--96B02DEA21084AD28903E48E2612C52A--> <MSGTYPE><![CDATA[E]]></MSGTYPE> <!--96B02DEA21084AD28903E48E2612C52A--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> <!--96B02DEA21084AD28903E48E2612C52A--></AD_MESSAGE> ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits