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

Reply via email to