details: https://code.openbravo.com/erp/devel/pi/rev/51ea214b67be
changeset: 19113:51ea214b67be
user: Augusto Mauch <augusto.mauch <at> openbravo.com>
date: Wed Dec 26 18:26:12 2012 +0100
summary: Fixes issue 19595: Display logic can be applied to status bar fields
diffstat:
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl
| 2 +-
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFieldHandler.java
| 13 +++++++++-
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
| 8 ++++++
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
| 8 ++++-
src-db/database/sourcedata/AD_FIELD.xml
| 2 +-
5 files changed, 28 insertions(+), 5 deletions(-)
diffs (104 lines):
diff -r 62df562c95c7 -r 51ea214b67be
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl
---
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl
Wed Dec 26 16:44:06 2012 +0100
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-field.js.ftl
Wed Dec 26 18:26:12 2012 +0100
@@ -89,7 +89,7 @@
<#if field.redrawOnChange && field.displayed>
redrawOnChange: true,
</#if>
- <#if field.showIf != "" && field.displayed>
+ <#if field.showIf != "" && (field.displayed || field.statusBarField)>
showIf: function(item, value, form, currentValues, context) {
return (${field.showIf});
},
diff -r 62df562c95c7 -r 51ea214b67be
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFieldHandler.java
---
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFieldHandler.java
Wed Dec 26 16:44:06 2012 +0100
+++
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewFieldHandler.java
Wed Dec 26 18:26:12 2012 +0100
@@ -405,7 +405,14 @@
viewField.setField(field);
viewField.setProperty(property);
viewField.setRedrawOnChange(false);
- viewField.setShowIf("");
+
+ String jsExpression = null;
+ if (field.getDisplayLogic() != null &&
!field.getDisplayLogic().isEmpty()) {
+ final DynamicExpressionParser parser = new
DynamicExpressionParser(field.getDisplayLogic(),
+ tab, field);
+ jsExpression = parser.getJSExpression();
+ }
+ viewField.setShowIf(jsExpression != null ? jsExpression : "");
viewField.setReadOnlyIf("");
viewFields.add(viewField);
@@ -1321,6 +1328,10 @@
}
}
+ public boolean isStatusBarField() {
+ return field.isShownInStatusBar();
+ }
+
public boolean isShowInitiallyInGrid() {
return field.isShowInGridView();
}
diff -r 62df562c95c7 -r 51ea214b67be
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
---
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
Wed Dec 26 16:44:06 2012 +0100
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
Wed Dec 26 18:26:12 2012 +0100
@@ -112,6 +112,9 @@
for (i = 0; i < length; i++) {
item = this.getItem(this.statusBarFields[i]);
+ if (item.showIf && item.showIf(item, item.getValue(), this,
this.getValues()) === false) {
+ continue;
+ }
title = item.getTitle();
sourceWindowId = this.view.standardWindow.windowId;
refColumnName = item.refColumnName;
@@ -1189,6 +1192,11 @@
if (item._hasChanged) {
this.itemChangeActions(item);
+ if (!this.isNew) {
+ this.view.statusBar.mode = "EDIT";
+ this.view.statusBar.setContentLabel(this.view.statusBar.editIcon,
'OBUIAPP_Editing', this.getStatusBarFields());
+ }
+
this.onFieldChanged(item.form, item, item.getValue());
if (this.view) {
diff -r 62df562c95c7 -r 51ea214b67be
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
Wed Dec 26 16:44:06 2012 +0100
+++
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
Wed Dec 26 18:26:12 2012 +0100
@@ -2127,6 +2127,11 @@
fld.alwaysTakeSpace = false;
}
+
+ if (this.statusBarFields.contains(fld.name)) {
+ fld.statusBarField = true;
+ }
+
if (!fld.width) {
fld.width = '*';
}
@@ -2148,8 +2153,7 @@
} catch (_exception) {
isc.warn(_exception + ' ' + _exception.message + ' ' +
_exception.stack);
}
-
- return !this.hiddenInForm && context && originalShowIfValue;
+ return !(this.hiddenInForm && !this.statusBarField) && context &&
originalShowIfValue;
};
}
if (fld.type === 'OBAuditSectionItem') {
diff -r 62df562c95c7 -r 51ea214b67be src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml Wed Dec 26 16:44:06 2012 +0100
+++ b/src-db/database/sourcedata/AD_FIELD.xml Wed Dec 26 18:26:12 2012 +0100
@@ -773,7 +773,7 @@
<!--133--> <AD_COLUMN_ID><![CDATA[177]]></AD_COLUMN_ID>
<!--133--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
<!--133--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--133--> <DISPLAYLOGIC><![CDATA[@IsDisplayed@='Y']]></DISPLAYLOGIC>
+<!--133--> <DISPLAYLOGIC><![CDATA[@IsDisplayed@='Y' |
@isShownInStatusBar@='Y']]></DISPLAYLOGIC>
<!--133--> <DISPLAYLENGTH><![CDATA[60]]></DISPLAYLENGTH>
<!--133--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
<!--133--> <SEQNO><![CDATA[90]]></SEQNO>
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits