details:   https://code.openbravo.com/erp/devel/main/rev/430d18e9b3fd
changeset: 22805:430d18e9b3fd
user:      Augusto Mauch <augusto.mauch <at> openbravo.com>
date:      Wed Apr 02 10:38:53 2014 +0200
summary:   Fixes issue 26139: Adds missing constraint in AD_TABLE_TREE table

The column obserds_datasource_id of the ad_table_tree is a foreign key to the 
key column of the obserds_datasource. There should be a contraint to explicit 
this in the database.

details:   https://code.openbravo.com/erp/devel/main/rev/56638b661719
changeset: 22806:56638b661719
user:      David Baz Fayos <david.baz <at> openbravo.com>
date:      Wed Apr 02 21:28:50 2014 +0200
summary:   [scupgrade] Fixed issue 26129: 'Checkboxes' now display focus status 
again

details:   https://code.openbravo.com/erp/devel/main/rev/9a05e9c93af7
changeset: 22807:9a05e9c93af7
user:      David Baz Fayos <david.baz <at> openbravo.com>
date:      Thu Apr 03 00:12:07 2014 +0200
summary:   [scupgrade] Related to issue 26068: Removed lines that prevented 
'tab' key proper behavior

details:   https://code.openbravo.com/erp/devel/main/rev/7ab5d94d70f0
changeset: 22808:7ab5d94d70f0
user:      David Baz Fayos <david.baz <at> openbravo.com>
date:      Tue Apr 01 21:11:15 2014 +0200
summary:   Related to issue 26092: Checkboxes are now always left-aligned in 
grid view
even after column resizing

details:   https://code.openbravo.com/erp/devel/main/rev/14d1a848d623
changeset: 22809:14d1a848d623
user:      David Baz Fayos <david.baz <at> openbravo.com>
date:      Tue Apr 01 21:13:44 2014 +0200
summary:   Related to issue 26092: inputs are now always centered while editing 
records in the grid

details:   https://code.openbravo.com/erp/devel/main/rev/f706c3200488
changeset: 22810:f706c3200488
user:      Sandra Huguet <sandra.huguet <at> openbravo.com>
date:      Wed Apr 02 17:56:36 2014 +0200
summary:   Fixed issue 26144, fixed issue 26145

details:   https://code.openbravo.com/erp/devel/main/rev/b51a6856810d
changeset: 22811:b51a6856810d
user:      Guillermo Gil <guillermo.gil <at> openbravo.com>
date:      Thu Apr 03 12:39:27 2014 +0200
summary:   Fixed issue 26162: CSV Text Encoding preference is not working

Deleted auto set character encoding

details:   https://code.openbravo.com/erp/devel/main/rev/ac88c6ab5577
changeset: 22812:ac88c6ab5577
user:      Sandra Huguet <sandra.huguet <at> openbravo.com>
date:      Thu Apr 03 13:30:46 2014 +0200
summary:   Related to issue 25696 proper ipsc to the reconciliations

diffstat:

 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
                  |   48 +---
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ReconciliationProcess.java
           |   51 -----
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java
              |    8 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
                  |    8 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
              |    3 -
 
modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceServlet.java
                   |    2 +-
 
modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/isomorphic/ISC_Combined.js
 |    4 +-
 src-db/database/model/tables/AD_TABLE_TREE.xml                                 
                                        |    3 +
 src/org/openbravo/event/PaidStatusEventHandler.java                            
                                        |  100 ++++++++++
 9 files changed, 132 insertions(+), 95 deletions(-)

diffs (truncated from 391 to 300 lines):

diff -r 648c4d0c52f8 -r ac88c6ab5577 
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 Apr 01 06:51:31 2014 +0000
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
     Thu Apr 03 13:30:46 2014 +0200
@@ -687,7 +687,7 @@
         }
 
         // Do not restore paid amounts if the payment is awaiting execution.
-        boolean restorePaidAmounts = 
(FIN_Utility.seqnumberpaymentstatus(payment.getStatus())) <= (FIN_Utility
+        boolean restorePaidAmounts = 
(FIN_Utility.seqnumberpaymentstatus(payment.getStatus())) == (FIN_Utility
             
.seqnumberpaymentstatus(FIN_Utility.invoicePaymentStatus(payment)));
         // Initialize amounts
         payment.setProcessed(false);
@@ -741,7 +741,7 @@
             for (FIN_PaymentScheduleDetail paymentScheduleDetail : 
paymentDetail
                 .getFINPaymentScheduleDetailList()) {
               Boolean invoicePaidold = paymentScheduleDetail.isInvoicePaid();
-              if (invoicePaidold) {
+              if (invoicePaidold | 
paymentScheduleDetail.getInvoicePaymentSchedule() == null) {
                 BigDecimal psdWriteoffAmount = 
paymentScheduleDetail.getWriteoffAmount();
                 BigDecimal psdAmount = paymentScheduleDetail.getAmount();
                 BigDecimal amount = psdAmount.add(psdWriteoffAmount);
@@ -827,38 +827,22 @@
                       paymentScheduleDetail.getOrderPaymentSchedule(), 
psdAmount.negate(),
                       psdWriteoffAmount.negate());
                 }
-
-                // when generating credit for a BP SO_CreditUsed is also 
updated
-                if (paymentScheduleDetail.getInvoicePaymentSchedule() == null
-                    && paymentScheduleDetail.getOrderPaymentSchedule() == null
-                    && paymentScheduleDetail.getPaymentDetails().getGLItem() 
== null
-                    && restorePaidAmounts && !paymentDetail.isRefund()) {
-                  // BP SO_CreditUsed
-                  if (isReceipt) {
-                    increaseCustomerCredit(businessPartner, amount);
-                  } else {
-                    decreaseCustomerCredit(businessPartner, amount);
-                  }
-                }
-
-                if (paymentScheduleDetail.getOrderPaymentSchedule() != null && 
restorePaidAmounts) {
-                  FIN_AddPayment.updatePaymentScheduleAmounts(
-                      paymentScheduleDetail.getOrderPaymentSchedule(), 
psdAmount.negate(),
-                      psdWriteoffAmount.negate());
-                }
-                // when generating credit for a BP SO_CreditUsed is also 
updated
-                if (paymentScheduleDetail.getInvoicePaymentSchedule() == null
-                    && paymentScheduleDetail.getOrderPaymentSchedule() == null
-                    && paymentScheduleDetail.getPaymentDetails().getGLItem() 
== null
-                    && restorePaidAmounts && !paymentDetail.isRefund()) {
-                  // BP SO_CreditUsed
-                  if (isReceipt) {
-                    increaseCustomerCredit(businessPartner, amount);
-                  } else {
-                    decreaseCustomerCredit(businessPartner, amount);
+                if (restorePaidAmounts) {
+                  // when generating credit for a BP SO_CreditUsed is also 
updated
+                  if (paymentScheduleDetail.getInvoicePaymentSchedule() == null
+                      && paymentScheduleDetail.getOrderPaymentSchedule() == 
null
+                      && paymentScheduleDetail.getPaymentDetails().getGLItem() 
== null
+                      && restorePaidAmounts && !paymentDetail.isRefund()) {
+                    // BP SO_CreditUsed
+                    if (isReceipt) {
+                      increaseCustomerCredit(businessPartner, amount);
+                    } else {
+                      decreaseCustomerCredit(businessPartner, amount);
+                    }
                   }
                 }
               }
+
               if (strAction.equals("R")
                   || (strAction.equals("RE")
                       && paymentScheduleDetail.getInvoicePaymentSchedule() == 
null
@@ -1034,7 +1018,7 @@
               for (final FIN_PaymentScheduleDetail paymentScheduleDetail : 
paymentDetail
                   .getFINPaymentScheduleDetailList()) {
                 Boolean invoicePaidold = paymentScheduleDetail.isInvoicePaid();
-                if (invoicePaidold) {
+                if (invoicePaidold | 
paymentScheduleDetail.getInvoicePaymentSchedule() == null) {
                   paymentScheduleDetail.setInvoicePaid(false);
                 }
                 BigDecimal outStandingAmt = BigDecimal.ZERO;
diff -r 648c4d0c52f8 -r ac88c6ab5577 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ReconciliationProcess.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ReconciliationProcess.java
      Tue Apr 01 06:51:31 2014 +0000
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ReconciliationProcess.java
      Thu Apr 03 13:30:46 2014 +0200
@@ -34,10 +34,7 @@
 import org.openbravo.erpCommon.utility.OBDateUtils;
 import org.openbravo.erpCommon.utility.OBError;
 import org.openbravo.erpCommon.utility.Utility;
-import org.openbravo.model.financialmgmt.payment.FIN_FinaccTransaction;
 import org.openbravo.model.financialmgmt.payment.FIN_FinancialAccount;
-import org.openbravo.model.financialmgmt.payment.FIN_PaymentDetail;
-import org.openbravo.model.financialmgmt.payment.FIN_PaymentScheduleDetail;
 import org.openbravo.model.financialmgmt.payment.FIN_Reconciliation;
 import org.openbravo.model.financialmgmt.payment.FIN_ReconciliationLine_v;
 import org.openbravo.scheduling.ProcessBundle;
@@ -111,28 +108,6 @@
         OBDal.getInstance().save(reconciliation);
         OBDal.getInstance().flush();
 
-        Boolean invoicePaidold = false;
-        for (FIN_FinaccTransaction finacctransaction : 
reconciliation.getFINFinaccTransactionList()) {
-          if (finacctransaction.getFinPayment() != null) {
-            for (FIN_PaymentDetail pd : 
finacctransaction.getFinPayment().getFINPaymentDetailList()) {
-              for (FIN_PaymentScheduleDetail psd : 
pd.getFINPaymentScheduleDetailList()) {
-                invoicePaidold = psd.isInvoicePaid();
-                if (!invoicePaidold) {
-                  if 
((FIN_Utility.invoicePaymentStatus(finacctransaction.getFinPayment()
-                      .getPaymentMethod(), reconciliation.getAccount(), 
finacctransaction
-                      
.getFinPayment().isReceipt()).equals(finacctransaction.getFinPayment()
-                      .getStatus()))) {
-                    psd.setInvoicePaid(true);
-                  }
-                  if (psd.isInvoicePaid()) {
-                    FIN_Utility.updatePaymentAmounts(psd);
-                  }
-                }
-              }
-            }
-            
FIN_Utility.updateBusinessPartnerCredit(finacctransaction.getFinPayment());
-          }
-        }
         // ***********************
         // Reactivate Reconciliation
         // ***********************
@@ -194,32 +169,6 @@
         OBDal.getInstance().save(reconciliation);
         OBDal.getInstance().flush();
         Boolean invoicePaidold = false;
-
-        for (FIN_FinaccTransaction finacctransaction : 
reconciliation.getFINFinaccTransactionList()) {
-          if (finacctransaction.getFinPayment() != null) {
-            for (FIN_PaymentDetail pd : 
finacctransaction.getFinPayment().getFINPaymentDetailList()) {
-              for (FIN_PaymentScheduleDetail psd : 
pd.getFINPaymentScheduleDetailList()) {
-                invoicePaidold = psd.isInvoicePaid();
-                if (invoicePaidold) {
-                  if (FIN_Utility.invoicePaymentStatus(
-                      finacctransaction.getFinPayment().getPaymentMethod(),
-                      reconciliation.getAccount(), 
finacctransaction.getFinPayment().isReceipt())
-                      .equals(finacctransaction.getFinPayment().getStatus())) {
-                    boolean restore = 
(FIN_Utility.seqnumberpaymentstatus(finacctransaction
-                        .getFinPayment().getStatus())) <= (FIN_Utility
-                        
.seqnumberpaymentstatus(FIN_Utility.invoicePaymentStatus(finacctransaction
-                            .getFinPayment().getPaymentMethod(), 
reconciliation.getAccount(),
-                            finacctransaction.getFinPayment().isReceipt())));
-                    if (restore) {
-                      FIN_Utility.restorePaidAmounts(psd);
-                    }
-                  }
-                }
-              }
-            }
-          }
-        }
-
       }
       reconciliation.setProcessNow(false);
       OBDal.getInstance().save(reconciliation);
diff -r 648c4d0c52f8 -r ac88c6ab5577 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java
 Tue Apr 01 06:51:31 2014 +0000
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java
 Thu Apr 03 13:30:46 2014 +0200
@@ -109,12 +109,13 @@
                   }
                   if (psd.isInvoicePaid()) {
                     FIN_Utility.updatePaymentAmounts(psd);
+                    FIN_Utility.updateBusinessPartnerCredit(payment);
                   }
                   OBDal.getInstance().save(psd);
                 }
               }
             }
-            FIN_Utility.updateBusinessPartnerCredit(payment);
+
           } else {
             transaction.setStatus(transaction.getDepositAmount().compareTo(
                 transaction.getPaymentAmount()) > 0 ? "RDNC" : "PWNC");
@@ -179,9 +180,8 @@
               for (FIN_PaymentScheduleDetail psd : 
pd.getFINPaymentScheduleDetailList()) {
                 invoicePaidold = psd.isInvoicePaid();
                 if (invoicePaidold) {
-                  boolean restore = 
(FIN_Utility.seqnumberpaymentstatus(payment.isReceipt() ? "RPR"
-                      : "PPM")) < 
(FIN_Utility.seqnumberpaymentstatus(FIN_Utility
-                      .invoicePaymentStatus(payment)));
+                  boolean restore = 
(FIN_Utility.seqnumberpaymentstatus(payment.getStatus())) == (FIN_Utility
+                      
.seqnumberpaymentstatus(FIN_Utility.invoicePaymentStatus(payment)));
                   if (restore) {
                     FIN_Utility.restorePaidAmounts(psd);
                   }
diff -r 648c4d0c52f8 -r ac88c6ab5577 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
     Tue Apr 01 06:51:31 2014 +0000
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
     Thu Apr 03 13:30:46 2014 +0200
@@ -886,7 +886,11 @@
         func = this.getGridSummaryFunction(fld),
         isSummary = record && (record[this.groupSummaryRecordProperty] || 
record[this.gridSummaryRecordProperty]);
     if (!fld.clientClass && rowNum === this.getEditRow()) {
-      return 'center';
+      if (fld.editorType === 'OBCheckboxItem') {
+        return isRTL ? isc.Canvas.RIGHT : isc.Canvas.LEFT;
+      } else {
+        return isc.Canvas.CENTER;
+      }
     }
 
     if (isSummary && func === 'count') {
@@ -3317,8 +3321,6 @@
 
     this.view.isEditingGrid = true;
 
-    record[this.recordBaseStyleProperty] = this.baseStyleEdit;
-
     // also called in case of new
     var form = this.getEditForm();
 
diff -r 648c4d0c52f8 -r ac88c6ab5577 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
 Tue Apr 01 06:51:31 2014 +0000
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
 Thu Apr 03 13:30:46 2014 +0200
@@ -472,7 +472,6 @@
         completeFieldsWithoutImages, fieldsWithoutImages;
     if (this.tabId && this.tabId.length > 0) {
       this.formGridLayout = isc.HLayout.create({
-        canFocus: true,
         width: '100%',
         height: '*',
         overflow: 'visible',
@@ -535,7 +534,6 @@
       // in ob-view-form-linked-items is still called on the correct
       // object 
       this.statusBarFormLayout = isc.VLayout.create({
-        canFocus: true,
         width: '100%',
         height: '*',
         visibility: 'hidden',
@@ -562,7 +560,6 @@
 
       // and place the active bar to the left of the form/grid/messagebar
       this.activeGridFormMessageLayout = isc.HLayout.create({
-        canFocus: true,
         height: (this.hasChildTabs ? '50%' : '100%'),
         width: '100%',
         overflow: 'hidden'
diff -r 648c4d0c52f8 -r ac88c6ab5577 
modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceServlet.java
--- 
a/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceServlet.java
      Tue Apr 01 06:51:31 2014 +0000
+++ 
b/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceServlet.java
      Thu Apr 03 13:30:46 2014 +0200
@@ -232,6 +232,7 @@
           } finally {
             OBContext.restorePreviousMode();
           }
+          response.setHeader("Content-Disposition", "attachment; 
filename=ExportedData.csv");
           if (getDataSource(request) instanceof DefaultDataSourceService) {
             QueryJSONWriterToCSV writer = new QueryJSONWriterToCSV(request, 
response, parameters,
                 getDataSource(request).getEntity());
@@ -284,7 +285,6 @@
       try {
         OBContext.setAdminMode();
         response.setHeader("Content-Disposition", "attachment; 
filename=ExportedData.csv");
-        response.setCharacterEncoding("UTF-8");
         writer = response.getWriter();
         VariablesSecureApp vars = new VariablesSecureApp(request);
         Window window = parameters.get("tab") == null || 
parameters.get("tab").equals("undefined") ? null
diff -r 648c4d0c52f8 -r ac88c6ab5577 
modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/isomorphic/ISC_Combined.js
--- 
a/modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/isomorphic/ISC_Combined.js
    Tue Apr 01 06:51:31 2014 +0000
+++ 
b/modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/isomorphic/ISC_Combined.js
    Thu Apr 03 13:30:46 2014 +0200
@@ -8602,7 +8602,9 @@
 
_1=_9+(_1!=null?_1:isc.emptyString);if(isc.Browser.isIE){if(_1&&_1.startsWith("<nobr>"))
 _1=_1.substring(6);if(_1&&_1.endsWith("</nobr>"))
 _1=_1.substring(0,_1.length-7);try{_8.innerHTML=_1}catch(e){var 
_10=document.createElement("span");_10.innerHTML=_1;_8.innerHTML="";_8.appendChild(_10)}}else{_8.innerHTML=_1}
-if(!this.clipValue||this.height==null||this.width==null){this.adjustOverflow("textBox
 value changed")}}},isc.A.$17j=function 
isc_FormItem__updateValueIcon(_1){if(this.suppressValueIcon||!this.isDrawn())return;var
 
_2=this.$144(_1),_3=this.$15v();if(_2!=null){if(this.imageURLSuffix!=null)_2+=this.imageURLSuffix;_2=isc.Canvas.getImgURL(_2,this.imageURLPrefix||this.baseURL||this.imgDir);if(_3!=null){_3.src=_2}else{var
 _4=false;if(this.hasDataElement()){var 
_5=this.getDataElement();if(_5!=null){isc.Element.insertAdjacentHTML(_5,"beforeBegin",this.$xq(_1));_5.style.width=this.getTextBoxWidth(_1);_4=true}}else{var
 
_6=this.$15h();if(_6!=null){isc.Element.insertAdjacentHTML(_6,"afterBegin",this.$xq(_1));_4=true}}
+if(!this.clipValue||this.height==null||this.width==null){this.adjustOverflow("textBox
 value changed")}}},isc.A.$17j=function isc_FormItem__updateValueIcon(_1){
+if(this.suppressValueIcon||!this.isDrawn())return;if(_1==null)_1=this.getValue();var
 
_2=this.$144(_1),_3=this.$15v();if(_2!=null){if(this.imageURLSuffix!=null)_2+=this.imageURLSuffix;var
 
_7=this.imageURLPrefix||this.baseURL||this.imgDir;if(_3!=null){isc.Canvas.$wg(_3,_2,_7);}
+else{_2=isc.Canvas.getImgURL(_2,_7);var _4=false;if(this.hasDataElement()){var 
_5=this.getDataElement();if(_5!=null){isc.Element.insertAdjacentHTML(_5,"beforeBegin",this.$xq(_1));_5.style.width=this.getTextBoxWidth(_1);_4=true}}else{var
 
_6=this.$15h();if(_6!=null){isc.Element.insertAdjacentHTML(_6,"afterBegin",this.$xq(_1));_4=true}}
 if(!_4)this.redraw()}}else 
if(_3!=null&&!(isc.isAn.Array(_1)&&_1.length>1)){isc.Element.clear(_3);if(this.hasDataElement()){var
 
_5=this.getDataElement();_5.style.width=this.getTextBoxWidth(_1)}}},isc.A.setPrompt=function
 isc_FormItem_setPrompt(_1){this.prompt=_1},isc.A.setHint=function 
isc_FormItem_setHint(_1){this.hint=_1;if(this.showHint)this.redraw()},isc.A.setHintStyle=function
 isc_FormItem_setHintStyle(_1){if(!this.$712()&&this.getHint()){var 
_2=this.$59t();if(_2)_2.className=_1}},isc.A.$66t=function 
isc_FormItem__showInFieldHint(){if(!this.$66u&&!this.hasFocus){var 
_1=this.getDataElement();if(_1){_1.className=this.$66v();if(this.isA.TextItem){this.$857=_1.type;_1.type="text"}}else{var
 _2=this.$15h();if(_2!=null){_2.className=this.$66v()}}
 var 
_3=this.getHint();if(_3)_3=_3.unescapeHTML();this.setElementValue(_3);this.$66u=true}},isc.A.$66s=function
 isc_FormItem__hideInFieldHint(_1){if(this.$66u){var 
_2=this.getDataElement();if(_2){_2.className=this.getTextBoxStyle();if(this.$857){_2.type=this.$857;delete
 this.$857}}else{var 
_3=this.$15h();if(_3!=null){_3.className=this.getTextBoxStyle()}}
 
if(!_1)this.setElementValue(isc.emptyString);this.$66u=false}},isc.A.$66v=function
 
isc_FormItem__getInFieldHintStyle(){if(this.showDisabled&&this.isDisabled())return
 this.textBoxStyle+"DisabledHint";return 
this.textBoxStyle+"Hint"},isc.A.$712=function 
isc_FormItem__getShowHintInField(){return false},isc.A.getDefaultValue=function 
isc_FormItem_getDefaultValue(){if(this.defaultDynamicValue){this.convertToMethod("defaultDynamicValue");var
 _1=this,_2=this.form,_3=this.form.getValues();return 
this.defaultDynamicValue(_1,_2,_3)}
diff -r 648c4d0c52f8 -r ac88c6ab5577 
src-db/database/model/tables/AD_TABLE_TREE.xml
--- a/src-db/database/model/tables/AD_TABLE_TREE.xml    Tue Apr 01 06:51:31 
2014 +0000
+++ b/src-db/database/model/tables/AD_TABLE_TREE.xml    Thu Apr 03 13:30:46 
2014 +0200
@@ -100,6 +100,9 @@
       <foreign-key foreignTable="AD_TABLE" name="AD_TABLETREE_AD_TABLE" 
onDelete="cascade">
         <reference local="AD_TABLE_ID" foreign="AD_TABLE_ID"/>
       </foreign-key>
+      <foreign-key foreignTable="OBSERDS_DATASOURCE" 
name="AD_TABLETREE_DATASOURCE">
+        <reference local="OBSERDS_DATASOURCE_ID" 
foreign="OBSERDS_DATASOURCE_ID"/>
+      </foreign-key>
       <foreign-key foreignTable="AD_MODULE" name="AD_TABLTREE_AD_MODULE">
         <reference local="AD_MODULE_ID" foreign="AD_MODULE_ID"/>
       </foreign-key>
diff -r 648c4d0c52f8 -r ac88c6ab5577 
src/org/openbravo/event/PaidStatusEventHandler.java
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/event/PaidStatusEventHandler.java       Thu Apr 03 
13:30:46 2014 +0200
@@ -0,0 +1,100 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to