details:   /erp/devel/pi/rev/c99dc24110d6
changeset: 10212:c99dc24110d6
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 28 17:54:58 2011 +0100
summary:   Solved small bug in setting datasource in request

details:   /erp/devel/pi/rev/dd94fd3ca656
changeset: 10213:dd94fd3ca656
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 28 17:56:01 2011 +0100
summary:   Added threadsafe support on the client

details:   /erp/devel/pi/rev/f064637d2921
changeset: 10214:f064637d2921
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 28 17:56:36 2011 +0100
summary:   Changed save to apply in user info widget

details:   /erp/devel/pi/rev/b61b34623bea
changeset: 10215:b61b34623bea
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 28 17:57:47 2011 +0100
summary:   Grid editing work

details:   /erp/devel/pi/rev/d03405f9bbf0
changeset: 10216:d03405f9bbf0
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 28 17:58:02 2011 +0100
summary:   Take into account if record is writable for grid editing

details:   /erp/devel/pi/rev/1cf4262deea7
changeset: 10217:1cf4262deea7
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 28 17:59:06 2011 +0100
summary:   Support isthreadsafe on the client

details:   /erp/devel/pi/rev/64c89fdf2080
changeset: 10218:64c89fdf2080
user:      Martin Taal <martin.taal <at> openbravo.com>
date:      Fri Jan 28 17:59:26 2011 +0100
summary:   Added saved, modified, new messages in statusbar

diffstat:

 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
                                     |  44 ++++++
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-standard-view-window.js.ftl
 |   3 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
  |   5 +-
 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
      |   8 +
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-view.js
                   |   3 +
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-window.js
                 |   4 +
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-statusbar.js
                       |  47 ++++--
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-user-profile-widget.js
             |   4 +-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-form.js
                       |  23 ++-
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-grid.js
                       |  67 ++++++++-
 
modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java
                          |  30 ++++
 11 files changed, 199 insertions(+), 39 deletions(-)

diffs (truncated from 539 to 300 lines):

diff -r 3c014c6f21c0 -r 64c89fdf2080 
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
--- 
a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
        Fri Jan 28 17:41:43 2011 +0100
+++ 
b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MESSAGE.xml
        Fri Jan 28 17:59:26 2011 +0100
@@ -926,4 +926,48 @@
 <!--FF8081812DC813F3012DC82111700015-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
 <!--FF8081812DC813F3012DC82111700015--></AD_MESSAGE>
 
+<!--FF8081812DCD184B012DCD2BED740061--><AD_MESSAGE>
+<!--FF8081812DCD184B012DCD2BED740061-->  
<AD_MESSAGE_ID><![CDATA[FF8081812DCD184B012DCD2BED740061]]></AD_MESSAGE_ID>
+<!--FF8081812DCD184B012DCD2BED740061-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081812DCD184B012DCD2BED740061-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081812DCD184B012DCD2BED740061-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081812DCD184B012DCD2BED740061-->  
<VALUE><![CDATA[OBUIAPP_Apply]]></VALUE>
+<!--FF8081812DCD184B012DCD2BED740061-->  <MSGTEXT><![CDATA[Apply]]></MSGTEXT>
+<!--FF8081812DCD184B012DCD2BED740061-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081812DCD184B012DCD2BED740061-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081812DCD184B012DCD2BED740061--></AD_MESSAGE>
+
+<!--FF8081812DCD184B012DCD2C41780068--><AD_MESSAGE>
+<!--FF8081812DCD184B012DCD2C41780068-->  
<AD_MESSAGE_ID><![CDATA[FF8081812DCD184B012DCD2C41780068]]></AD_MESSAGE_ID>
+<!--FF8081812DCD184B012DCD2C41780068-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081812DCD184B012DCD2C41780068-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081812DCD184B012DCD2C41780068-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081812DCD184B012DCD2C41780068-->  
<VALUE><![CDATA[OBUIAPP_Saved]]></VALUE>
+<!--FF8081812DCD184B012DCD2C41780068-->  <MSGTEXT><![CDATA[Saved]]></MSGTEXT>
+<!--FF8081812DCD184B012DCD2C41780068-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081812DCD184B012DCD2C41780068-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081812DCD184B012DCD2C41780068--></AD_MESSAGE>
+
+<!--FF8081812DCD184B012DCD2C7770006F--><AD_MESSAGE>
+<!--FF8081812DCD184B012DCD2C7770006F-->  
<AD_MESSAGE_ID><![CDATA[FF8081812DCD184B012DCD2C7770006F]]></AD_MESSAGE_ID>
+<!--FF8081812DCD184B012DCD2C7770006F-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081812DCD184B012DCD2C7770006F-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081812DCD184B012DCD2C7770006F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081812DCD184B012DCD2C7770006F-->  
<VALUE><![CDATA[OBUIAPP_Modified]]></VALUE>
+<!--FF8081812DCD184B012DCD2C7770006F-->  
<MSGTEXT><![CDATA[Modified]]></MSGTEXT>
+<!--FF8081812DCD184B012DCD2C7770006F-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081812DCD184B012DCD2C7770006F-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081812DCD184B012DCD2C7770006F--></AD_MESSAGE>
+
+<!--FF8081812DCD184B012DCD2CB6360079--><AD_MESSAGE>
+<!--FF8081812DCD184B012DCD2CB6360079-->  
<AD_MESSAGE_ID><![CDATA[FF8081812DCD184B012DCD2CB6360079]]></AD_MESSAGE_ID>
+<!--FF8081812DCD184B012DCD2CB6360079-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FF8081812DCD184B012DCD2CB6360079-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FF8081812DCD184B012DCD2CB6360079-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FF8081812DCD184B012DCD2CB6360079-->  <VALUE><![CDATA[OBUIAPP_New]]></VALUE>
+<!--FF8081812DCD184B012DCD2CB6360079-->  <MSGTEXT><![CDATA[New]]></MSGTEXT>
+<!--FF8081812DCD184B012DCD2CB6360079-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--FF8081812DCD184B012DCD2CB6360079-->  
<AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--FF8081812DCD184B012DCD2CB6360079--></AD_MESSAGE>
+
 </data>
diff -r 3c014c6f21c0 -r 64c89fdf2080 
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-standard-view-window.js.ftl
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-standard-view-window.js.ftl
    Fri Jan 28 17:41:43 2011 +0100
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-standard-view-window.js.ftl
    Fri Jan 28 17:59:26 2011 +0100
@@ -22,7 +22,8 @@
 OB.Layout.ViewManager.loadedWindowClassName = 
'${data.windowClientClassName?js_string}';
 
 isc.ClassFactory.defineClass('${data.windowClientClassName?js_string}', 
isc.OBStandardWindow).addProperties({
-    windowId: '${data.windowId?js_string}', 
+    windowId: '${data.windowId?js_string}',
+    multiDocumentEnabled: ${data.threadSafe},
     viewProperties: {
       windowId: '${data.windowId?js_string}', 
       ${data.tabView}
diff -r 3c014c6f21c0 -r 64c89fdf2080 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
     Fri Jan 28 17:41:43 2011 +0100
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java
     Fri Jan 28 17:59:26 2011 +0100
@@ -41,6 +41,7 @@
 import org.openbravo.base.model.Property;
 import org.openbravo.base.structure.BaseOBObject;
 import org.openbravo.base.structure.ClientEnabled;
+import org.openbravo.base.structure.OrganizationEnabled;
 import org.openbravo.client.application.DynamicExpressionParser;
 import 
org.openbravo.client.application.window.servlet.CalloutHttpServletResponse;
 import org.openbravo.client.application.window.servlet.CalloutServletConfig;
@@ -252,9 +253,9 @@
           finalObject.put("writable", false);
         } else {
           boolean writable = false;
-          final String userOrgId = 
OBContext.getOBContext().getCurrentOrganization().getId();
+          final String objectOrgId = ((OrganizationEnabled) 
row).getOrganization().getId();
           for (String orgId : 
OBContext.getOBContext().getWritableOrganizations()) {
-            if (orgId.equals(userOrgId)) {
+            if (orgId.equals(objectOrgId)) {
               writable = true;
               break;
             }
diff -r 3c014c6f21c0 -r 64c89fdf2080 
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
 Fri Jan 28 17:41:43 2011 +0100
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/StandardWindowComponent.java
 Fri Jan 28 17:59:26 2011 +0100
@@ -138,6 +138,14 @@
     return getWindow().getId();
   }
 
+  public String getThreadSafe() {
+    final Boolean value = getWindow().isThreadsafe();
+    if (value != null) {
+      return value.toString();
+    }
+    return "false";
+  }
+
   public Window getWindow() {
     return window;
   }
diff -r 3c014c6f21c0 -r 64c89fdf2080 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-view.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-view.js
      Fri Jan 28 17:41:43 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-view.js
      Fri Jan 28 17:59:26 2011 +0100
@@ -310,6 +310,9 @@
           _noActiveFilter: true
         };
         isc.addProperties(newRequestProperties.params, additionalPara);
+        if (!newRequestProperties.dataSource) {
+          newRequestProperties.dataSource = this; 
+        }
         this.Super('performDSOperation', [operationType, data, callback, 
newRequestProperties]);
       },
       
diff -r 3c014c6f21c0 -r 64c89fdf2080 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-window.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-window.js
    Fri Jan 28 17:41:43 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-standard-window.js
    Fri Jan 28 17:59:26 2011 +0100
@@ -265,6 +265,10 @@
   },
   
   isSameTab: function(viewName, params){
+    // always return false to force new tabs
+    if (this.multiDocumentEnabled) {
+      return false;
+    }
     return this.isEqualParams(params) && viewName === this.getClassName();
   }
 });
diff -r 3c014c6f21c0 -r 64c89fdf2080 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-statusbar.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-statusbar.js
  Fri Jan 28 17:41:43 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-statusbar.js
  Fri Jan 28 17:59:26 2011 +0100
@@ -90,14 +90,16 @@
   nextButton: null,
   previousButton: null,
   newIcon: null,
-  leftBar: null,
   
   initWidget: function(){
-    this.leftBar = isc.OBStatusBarLeftBar.create({
+    this.stateLabel = isc.OBStatusBarTextLabel.create({
+      contents: '&nbsp;',
+      width: '100%',
+      height: '100%'
     });
-//    leftBar.addMember(isc.OBStatusBarTextLabel.create({
-//      contents: '' //'Status:'
-//    }));
+      
+    this.leftStatusBar = isc.OBStatusBarLeftBar.create({});
+    this.leftStatusBar.addMember(this.stateLabel);
     
     this.previousButton = isc.OBStatusBarIconButton.create({
       view: this.view,
@@ -131,24 +133,35 @@
         
OB.TestRegistry.register('org.openbravo.client.application.statusbar.button.' + 
buttonBar.members[i].buttonType + '.' + this.view.tabId, buttonBar.members[i]); 
       
       }
     }
-    this.addMembers([this.leftBar, buttonBar]);
+    this.addMembers([this.leftStatusBar, buttonBar]);
+    return this.Super('initWidget', arguments);
   },
   
-  setNewIcon: function(show) {
-    if (show) {      
-      if (!this.newIcon) {
-        this.newIcon = isc.Img.create(this.newIconDefaults);
-      }
-      this.leftBar.addMember(this.newIcon, 0);
-    } else if (this.newIcon) {
-      this.leftBar.removeMember(this.newIcon);
-    }
-  },
+//  setNewIcon: function(show) {
+//    if (show) {      
+//      if (!this.newIcon) {
+//        this.newIcon = isc.Img.create(this.newIconDefaults);
+//      }
+//      this.leftBar.addMember(this.newIcon, 0);
+//    } else if (this.newIcon) {
+//      this.leftBar.removeMember(this.newIcon);
+//    }
+//  },
   
   setNewState: function(isNew) {
     this.previousButton.setDisabled(isNew);
     this.nextButton.setDisabled(isNew);
-    this.setNewIcon(isNew);
+    if (isNew) {
+      this.setStateLabel('OBUIAPP_New');
+    }
+  },
+  
+  setStateLabel: function (labelCode) {
+    var msg = '&nbsp;';
+    if (labelCode) {
+      msg = OB.I18N.getLabel(labelCode);
+    }
+    this.stateLabel.setContents(msg);    
   }
   
 });
diff -r 3c014c6f21c0 -r 64c89fdf2080 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-user-profile-widget.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-user-profile-widget.js
        Fri Jan 28 17:41:43 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-user-profile-widget.js
        Fri Jan 28 17:59:26 2011 +0100
@@ -280,7 +280,7 @@
       width: '100%'
     });
     buttonLayout.addMembers(isc.OBFormButton.create({
-      title: OB.I18N.getLabel('UINAVBA_Save'),
+      title: OB.I18N.getLabel('OBUIAPP_Apply'),
       click: function(){
         roleForm.doSave();
       }
@@ -427,7 +427,7 @@
     widgetInstance.passwordForm = passwordForm;
     
     var pwdSaveButton = isc.OBFormButton.create({
-      title: OB.I18N.getLabel('UINAVBA_Save'),
+      title: OB.I18N.getLabel('OBUIAPP_Apply'),
       action: passwordForm.doSave,
       disabled: true
     });
diff -r 3c014c6f21c0 -r 64c89fdf2080 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-form.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-form.js
  Fri Jan 28 17:41:43 2011 +0100
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/ob-view-form.js
  Fri Jan 28 17:59:26 2011 +0100
@@ -20,9 +20,10 @@
 
 // = OBViewForm =
 // The OBViewForm is the Openbravo specific subclass of the Smartclient
-// DynamicForm.
+// DynamicForm. The properties are added to the viewform at the bottom
+// of this file.
 
-isc.OBViewForm.addProperties({
+OB.ViewFormProperties = {
 
   // ** {{{ view }}} **
   // The view member contains the pointer to the composite canvas which
@@ -65,6 +66,9 @@
   setHasChanged: function(value) {
     this.hasChanged = value;
     this.view.updateTabTitle();
+    if (value && !this.isNew) {
+      this.view.statusBar.setStateLabel('OBUIAPP_Modified');
+    }
   },
   
   editRecord: function(record, preventFocus){
@@ -81,10 +85,11 @@
     this.clearErrors();
     
     this.view.toolBar.updateButtonState();
-    
+
     this.retrieveInitialValues(false);
     
     this.view.messageBar.hide();
+    this.view.statusBar.setStateLabel();
 
     this.resetFocusItem();
     if (!preventFocus) {
@@ -107,6 +112,8 @@
     this.clearErrors();
     
     this.view.toolBar.updateButtonState();
+
+    this.view.statusBar.setStateLabel('OBUIAPP_New');
     
     this.retrieveInitialValues(true);
     
@@ -120,6 +127,9 @@
   },
   
   enableLinkedItemSection: function(enable){
+    if (!this.linkedItemSection) {
+      return;
+    }
     if (enable) {
       this.linkedItemSection.collapseSection();
       this.linkedItemSection.setRecordInfo(this.view.entity, 
this.getValue(OB.Constants.ID));
@@ -517,7 +527,8 @@
         // do remember values here to prevent infinite autosave loop
         form.rememberValues();
         
-        view.messageBar.setMessage(isc.OBMessageBar.TYPE_SUCCESS, null, 
OB.I18N.getLabel('OBUIAPP_SaveSuccess'));
+        //view.messageBar.setMessage(isc.OBMessageBar.TYPE_SUCCESS, null, 
OB.I18N.getLabel('OBUIAPP_SaveSuccess'));
+        view.statusBar.setStateLabel('OBUIAPP_Saved');
         
         // force a fetch to place the grid on the correct location
         view.viewGrid.targetRecordId = data.id;
@@ -724,4 +735,6 @@
   onFieldChanged: function(form, item, value) {
     isc.Log.logWarn('To be implemented dynamically');
   }
-});

------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to