IDEMPIERE-4554 PO is immutable - Workflow editor (#393)

- fix the PO is immutable errors
- forbid that system nodes are changed by non-system users
- system nodes are shown in gray
- reorganize layout of system workflows in editor
- make the nodes smaller
- fix the layout problem of name and properties dialogs
This commit is contained in:
Carlos Ruiz 2020-11-26 03:02:48 +01:00 committed by GitHub
parent 808773aa9f
commit 0cc35e16f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 322 additions and 12 deletions

View File

@ -0,0 +1,155 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- IDEMPIERE-4554 PO is immutable - Workflow editor
-- Nov 19, 2020, 4:55:13 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_DATE('2020-11-19 16:55:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=132
;
-- Nov 19, 2020, 4:55:15 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_DATE('2020-11-19 16:55:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=133
;
-- Nov 19, 2020, 4:55:18 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_DATE('2020-11-19 16:55:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=134
;
-- Nov 19, 2020, 4:55:20 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=1,Updated=TO_DATE('2020-11-19 16:55:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=136
;
-- Nov 19, 2020, 4:55:21 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=2,Updated=TO_DATE('2020-11-19 16:55:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=138
;
-- Nov 19, 2020, 4:55:23 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=3,Updated=TO_DATE('2020-11-19 16:55:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=139
;
-- Nov 19, 2020, 4:55:28 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_DATE('2020-11-19 16:55:28','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=113
;
-- Nov 19, 2020, 4:55:30 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_DATE('2020-11-19 16:55:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=111
;
-- Nov 19, 2020, 4:55:33 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_DATE('2020-11-19 16:55:33','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=112
;
-- Nov 19, 2020, 4:55:35 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=1,Updated=TO_DATE('2020-11-19 16:55:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=172
;
-- Nov 19, 2020, 4:55:36 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=2,Updated=TO_DATE('2020-11-19 16:55:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=173
;
-- Nov 19, 2020, 4:55:38 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=3,Updated=TO_DATE('2020-11-19 16:55:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=215
;
-- Nov 19, 2020, 4:56:05 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_DATE('2020-11-19 16:56:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=163
;
-- Nov 19, 2020, 4:56:07 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_DATE('2020-11-19 16:56:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=246
;
-- Nov 19, 2020, 4:56:08 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_DATE('2020-11-19 16:56:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=164
;
-- Nov 19, 2020, 4:56:34 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_DATE('2020-11-19 16:56:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=159
;
-- Nov 19, 2020, 4:56:36 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_DATE('2020-11-19 16:56:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=160
;
-- Nov 19, 2020, 4:56:38 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_DATE('2020-11-19 16:56:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=171
;
-- Nov 19, 2020, 4:56:42 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=1,Updated=TO_DATE('2020-11-19 16:56:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=161
;
-- Nov 19, 2020, 4:56:44 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=2,Updated=TO_DATE('2020-11-19 16:56:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=50098
;
-- Nov 19, 2020, 4:56:48 PM CET
INSERT INTO AD_WF_NodeNext (AD_WF_Node_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Client_ID,AD_Org_ID,AD_WF_Next_ID,EntityType,SeqNo,AD_WF_NodeNext_ID,IsStdUserWorkflow,AD_WF_NodeNext_UU) VALUES (161,'Y',TO_DATE('2020-11-19 16:56:48','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2020-11-19 16:56:48','YYYY-MM-DD HH24:MI:SS'),100,0,0,50098,'D',10,200027,'N','3a36c07c-6719-42c1-a801-1a5ac32f9ef0')
;
-- Nov 19, 2020, 4:57:15 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_DATE('2020-11-19 16:57:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=140
;
-- Nov 19, 2020, 4:57:16 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_DATE('2020-11-19 16:57:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=142
;
-- Nov 19, 2020, 4:57:19 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_DATE('2020-11-19 16:57:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=143
;
-- Nov 19, 2020, 4:57:21 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=1,Updated=TO_DATE('2020-11-19 16:57:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=144
;
-- Nov 19, 2020, 4:57:22 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=2,Updated=TO_DATE('2020-11-19 16:57:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=145
;
-- Nov 19, 2020, 4:57:32 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_DATE('2020-11-19 16:57:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=167
;
-- Nov 19, 2020, 4:57:34 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_DATE('2020-11-19 16:57:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=168
;
-- Nov 19, 2020, 4:57:35 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_DATE('2020-11-19 16:57:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=169
;
-- Nov 19, 2020, 4:57:37 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=1,Updated=TO_DATE('2020-11-19 16:57:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=170
;
-- Nov 19, 2020, 4:57:56 PM CET
UPDATE AD_Workflow SET IsActive='N', IsValid='N',Updated=TO_DATE('2020-11-19 16:57:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Workflow_ID=114
;
UPDATE AD_WF_Node SET YPosition=3, XPosition=1,Updated=TO_DATE('2020-11-19 16:58:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100
WHERE name = '(DocPrepare)' AND entitytype IN ('D','EE01','EE02')
;
UPDATE AD_WF_Node SET YPosition=5, XPosition=1,Updated=TO_DATE('2020-11-19 16:58:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100
WHERE name = '(DocComplete)' AND entitytype IN ('D','EE01','EE02')
;
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_DATE('2020-11-19 16:58:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100
WHERE name = '(DocAuto)' AND entitytype IN ('D','EE01','EE02')
;
-- Nov 19, 2020, 5:10:14 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=1,Updated=TO_DATE('2020-11-19 17:10:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=50102
;
-- Nov 19, 2020, 5:25:25 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_DATE('2020-11-19 17:25:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=50026
;
-- Nov 19, 2020, 5:26:17 PM CET
UPDATE AD_WF_Node SET Name='(DocAuto)',Updated=TO_DATE('2020-11-19 17:26:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=50026
;
SELECT register_migration_script('202011191659_IDEMPIERE-4554.sql') FROM dual
;

View File

@ -0,0 +1,152 @@
-- IDEMPIERE-4554 PO is immutable - Workflow editor
-- Nov 19, 2020, 4:55:13 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_TIMESTAMP('2020-11-19 16:55:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=132
;
-- Nov 19, 2020, 4:55:15 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_TIMESTAMP('2020-11-19 16:55:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=133
;
-- Nov 19, 2020, 4:55:18 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_TIMESTAMP('2020-11-19 16:55:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=134
;
-- Nov 19, 2020, 4:55:20 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=1,Updated=TO_TIMESTAMP('2020-11-19 16:55:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=136
;
-- Nov 19, 2020, 4:55:21 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=2,Updated=TO_TIMESTAMP('2020-11-19 16:55:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=138
;
-- Nov 19, 2020, 4:55:23 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=3,Updated=TO_TIMESTAMP('2020-11-19 16:55:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=139
;
-- Nov 19, 2020, 4:55:28 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_TIMESTAMP('2020-11-19 16:55:28','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=113
;
-- Nov 19, 2020, 4:55:30 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_TIMESTAMP('2020-11-19 16:55:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=111
;
-- Nov 19, 2020, 4:55:33 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_TIMESTAMP('2020-11-19 16:55:33','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=112
;
-- Nov 19, 2020, 4:55:35 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=1,Updated=TO_TIMESTAMP('2020-11-19 16:55:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=172
;
-- Nov 19, 2020, 4:55:36 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=2,Updated=TO_TIMESTAMP('2020-11-19 16:55:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=173
;
-- Nov 19, 2020, 4:55:38 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=3,Updated=TO_TIMESTAMP('2020-11-19 16:55:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=215
;
-- Nov 19, 2020, 4:56:05 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_TIMESTAMP('2020-11-19 16:56:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=163
;
-- Nov 19, 2020, 4:56:07 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_TIMESTAMP('2020-11-19 16:56:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=246
;
-- Nov 19, 2020, 4:56:08 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_TIMESTAMP('2020-11-19 16:56:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=164
;
-- Nov 19, 2020, 4:56:34 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_TIMESTAMP('2020-11-19 16:56:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=159
;
-- Nov 19, 2020, 4:56:36 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_TIMESTAMP('2020-11-19 16:56:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=160
;
-- Nov 19, 2020, 4:56:38 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_TIMESTAMP('2020-11-19 16:56:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=171
;
-- Nov 19, 2020, 4:56:42 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=1,Updated=TO_TIMESTAMP('2020-11-19 16:56:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=161
;
-- Nov 19, 2020, 4:56:44 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=2,Updated=TO_TIMESTAMP('2020-11-19 16:56:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=50098
;
-- Nov 19, 2020, 4:56:48 PM CET
INSERT INTO AD_WF_NodeNext (AD_WF_Node_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Client_ID,AD_Org_ID,AD_WF_Next_ID,EntityType,SeqNo,AD_WF_NodeNext_ID,IsStdUserWorkflow,AD_WF_NodeNext_UU) VALUES (161,'Y',TO_TIMESTAMP('2020-11-19 16:56:48','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2020-11-19 16:56:48','YYYY-MM-DD HH24:MI:SS'),100,0,0,50098,'D',10,200027,'N','3a36c07c-6719-42c1-a801-1a5ac32f9ef0')
;
-- Nov 19, 2020, 4:57:15 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_TIMESTAMP('2020-11-19 16:57:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=140
;
-- Nov 19, 2020, 4:57:16 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_TIMESTAMP('2020-11-19 16:57:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=142
;
-- Nov 19, 2020, 4:57:19 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_TIMESTAMP('2020-11-19 16:57:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=143
;
-- Nov 19, 2020, 4:57:21 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=1,Updated=TO_TIMESTAMP('2020-11-19 16:57:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=144
;
-- Nov 19, 2020, 4:57:22 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=2,Updated=TO_TIMESTAMP('2020-11-19 16:57:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=145
;
-- Nov 19, 2020, 4:57:32 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=2,Updated=TO_TIMESTAMP('2020-11-19 16:57:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=167
;
-- Nov 19, 2020, 4:57:34 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_TIMESTAMP('2020-11-19 16:57:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=168
;
-- Nov 19, 2020, 4:57:35 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=4,Updated=TO_TIMESTAMP('2020-11-19 16:57:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=169
;
-- Nov 19, 2020, 4:57:37 PM CET
UPDATE AD_WF_Node SET YPosition=2, XPosition=1,Updated=TO_TIMESTAMP('2020-11-19 16:57:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=170
;
-- Nov 19, 2020, 4:57:56 PM CET
UPDATE AD_Workflow SET IsActive='N', IsValid='N',Updated=TO_TIMESTAMP('2020-11-19 16:57:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Workflow_ID=114
;
UPDATE AD_WF_Node SET YPosition=3, XPosition=1,Updated=TO_TIMESTAMP('2020-11-19 16:58:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100
WHERE name = '(DocPrepare)' AND entitytype IN ('D','EE01','EE02')
;
UPDATE AD_WF_Node SET YPosition=5, XPosition=1,Updated=TO_TIMESTAMP('2020-11-19 16:58:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100
WHERE name = '(DocComplete)' AND entitytype IN ('D','EE01','EE02')
;
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_TIMESTAMP('2020-11-19 16:58:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100
WHERE name = '(DocAuto)' AND entitytype IN ('D','EE01','EE02')
;
-- Nov 19, 2020, 5:10:14 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=1,Updated=TO_TIMESTAMP('2020-11-19 17:10:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=50102
;
-- Nov 19, 2020, 5:25:25 PM CET
UPDATE AD_WF_Node SET YPosition=1, XPosition=3,Updated=TO_TIMESTAMP('2020-11-19 17:25:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=50026
;
-- Nov 19, 2020, 5:26:17 PM CET
UPDATE AD_WF_Node SET Name='(DocAuto)',Updated=TO_TIMESTAMP('2020-11-19 17:26:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_WF_Node_ID=50026
;
SELECT register_migration_script('202011191659_IDEMPIERE-4554.sql') FROM dual
;

View File

@ -204,14 +204,17 @@ public class WFEditor extends ADForm {
if (AD_WF_Node_ID != null) { if (AD_WF_Node_ID != null) {
WFNodeWidget widget = (WFNodeWidget) nodeContainer.getGraphScene().findWidget(AD_WF_Node_ID); WFNodeWidget widget = (WFNodeWidget) nodeContainer.getGraphScene().findWidget(AD_WF_Node_ID);
if (widget != null) { if (widget != null) {
widget.getModel().setXPosition(xPosition); MWFNode node = widget.getModel();
widget.getModel().setYPosition(yPosition); if (node.getAD_Client_ID() == Env.getAD_Client_ID(Env.getCtx())) {
widget.getModel().saveEx(); node.setXPosition(xPosition);
node.setYPosition(yPosition);
node.saveEx();
reload(m_workflowId, true); reload(m_workflowId, true);
} }
} }
} }
} }
}
private void createNewNode() { private void createNewNode() {
String nameLabel = Msg.getElement(Env.getCtx(), MWFNode.COLUMNNAME_Name); String nameLabel = Msg.getElement(Env.getCtx(), MWFNode.COLUMNNAME_Name);
@ -240,7 +243,6 @@ public class WFEditor extends ADForm {
} }
}); });
ZKUpdateUtil.setWidth(w, "250px");
w.setBorder("normal"); w.setBorder("normal");
w.setPage(this.getPage()); w.setPage(this.getPage());
w.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() { w.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {

View File

@ -160,7 +160,6 @@ public class WFPopupItem extends Menuitem {
} }
}); });
ZKUpdateUtil.setWidth(w, "250px");
w.setBorder("normal"); w.setBorder("normal");
w.setPage(this.getPage()); w.setPage(this.getPage());
w.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() { w.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
@ -173,7 +172,7 @@ public class WFPopupItem extends Menuitem {
m_node.setName(name); m_node.setName(name);
m_node.setDescription(textDescription.getText()); m_node.setDescription(textDescription.getText());
m_node.saveEx(); m_node.saveEx();
wfp.reload(m_AD_Workflow_ID, false); wfp.reload(m_AD_Workflow_ID, true);
} }
} }
}); });

View File

@ -16,8 +16,8 @@ import org.netbeans.api.visual.graph.layout.UniversalGraph;
*/ */
public class WFGraphLayout extends GraphLayout<Integer, MWFNodeNext> { public class WFGraphLayout extends GraphLayout<Integer, MWFNodeNext> {
public final static int COLUMN_WIDTH = 250; public final static int COLUMN_WIDTH = 184;
public final static int ROW_HEIGHT = 150; public final static int ROW_HEIGHT = 133;
@Override @Override
protected void performGraphLayout(UniversalGraph<Integer, MWFNodeNext> graph) { protected void performGraphLayout(UniversalGraph<Integer, MWFNodeNext> graph) {

View File

@ -52,7 +52,9 @@ public class WFNodeWidget extends Widget {
setLayout (LayoutFactory.createVerticalFlowLayout ()); setLayout (LayoutFactory.createVerticalFlowLayout ());
setOpaque (true); setOpaque (true);
setCheckClipping (true); setCheckClipping (true);
if (node.getAD_Client_ID() == Env.getAD_Client_ID(Env.getCtx())) {
setBackground(new Color(255, 255, 255, 0)); setBackground(new Color(255, 255, 255, 0));
}
setPreferredSize(new Dimension(NODE_WIDTH, NODE_HEIGHT)); setPreferredSize(new Dimension(NODE_WIDTH, NODE_HEIGHT));
@ -91,7 +93,7 @@ public class WFNodeWidget extends Widget {
ImageWidget titleIcon = new ImageWidget (scene); ImageWidget titleIcon = new ImageWidget (scene);
String action = node.getAction(); String action = node.getAction();
int index = MTreeNode.getImageIndex(action); int index = MTreeNode.getImageIndex(action);
ImageIcon icon = (ImageIcon) MTreeNode.getIcon(index); ImageIcon icon = (ImageIcon) MTreeNode.getIcon(index); // TODO: font icon
if (icon != null) if (icon != null)
{ {
titleIcon.setImage (icon.getImage()); titleIcon.setImage (icon.getImage());

View File

@ -77,7 +77,7 @@ public class WorkflowGraphScene extends GraphScene<Integer, MWFNodeNext> {
protected Widget attachNodeWidget(Integer node) { protected Widget attachNodeWidget(Integer node) {
WFNodeWidget widget = (WFNodeWidget) findWidget(node); WFNodeWidget widget = (WFNodeWidget) findWidget(node);
if (widget == null) { if (widget == null) {
widget = new WFNodeWidget(this, MWFNode.get(Env.getCtx(), node)); widget = new WFNodeWidget(this, MWFNode.getCopy(Env.getCtx(), node, null));
widget.getActions ().addAction (selectAction); widget.getActions ().addAction (selectAction);
mainLayer.addChild (widget); mainLayer.addChild (widget);
} }