IDEMPIERE-3981: FindWindow - Overwrite isSelection at field level, Va… (#249)
* IDEMPIERE-3981: FindWindow - Overwrite isSelection at field level, Validation Rule overwrite for Find window, Extended search and advanced hiding options. * IDEMPIERE-3981: Correcting migration script as per Carlos' code review finding * IDEMPIERE-3981: Fixing as per code review comment Co-authored-by: muriloht muriloht@devcoffee.com.br Co-authored-by: Carlos Ruiz <carg67@gmail.com>
This commit is contained in:
parent
00153d7c8d
commit
08f6fb17d3
|
@ -1,10 +1,11 @@
|
||||||
CREATE OR REPLACE VIEW ad_field_v AS
|
CREATE OR REPLACE VIEW ad_field_v AS
|
||||||
SELECT t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, f.name, f.description, f.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno, f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, c.columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue, c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id, c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.isencrypted AS isencryptedcolumn, c.isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fg.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype, fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid, f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus, c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(f.placeholder, c.placeholder) AS placeholder, c.ishtml, f.isquickform
|
SELECT t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, f.name, f.description, f.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno, f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, c.columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue, c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id, c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.isencrypted AS isencryptedcolumn, COALESCE(f.isselectioncolumn, c.isselectioncolumn) AS isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fg.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype, fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid, f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus, c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(f.placeholder, c.placeholder) AS placeholder, c.ishtml, f.isquickform, COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id, vrf.code AS validationcodeLookup
|
||||||
FROM ad_field f
|
FROM ad_field f
|
||||||
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
||||||
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
|
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
|
||||||
LEFT JOIN ad_column c ON f.ad_column_id = c.ad_column_id
|
LEFT JOIN ad_column c ON f.ad_column_id = c.ad_column_id
|
||||||
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
||||||
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE(f.ad_val_rule_id, c.ad_val_rule_id)
|
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE(f.ad_val_rule_id, c.ad_val_rule_id)
|
||||||
|
LEFT JOIN ad_val_rule vrf ON vrf.ad_val_rule_id = COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id)
|
||||||
WHERE f.isactive = 'Y' AND c.isactive = 'Y'
|
WHERE f.isactive = 'Y' AND c.isactive = 'Y'
|
||||||
;
|
;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
CREATE OR REPLACE VIEW ad_field_vt AS
|
CREATE OR REPLACE VIEW ad_field_vt AS
|
||||||
SELECT trl.ad_language, t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, trl.name, trl.description, trl.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno, f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, c.columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue, c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id, c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.isencrypted AS isencryptedcolumn, c.isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fgt.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype, fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid, f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus, c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(trl.placeholder, ct.placeholder) AS placeholder, c.ishtml, f.isquickform
|
SELECT trl.ad_language, t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, trl.name, trl.description, trl.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno, f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, c.columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue, c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id, c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.isencrypted AS isencryptedcolumn, COALESCE(f.isselectioncolumn, c.isselectioncolumn) AS isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fgt.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype, fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid, f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus, c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(trl.placeholder, ct.placeholder) AS placeholder, c.ishtml, f.isquickform, COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id, vrf.code AS validationcodeLookup
|
||||||
FROM ad_field f
|
FROM ad_field f
|
||||||
JOIN ad_field_trl trl ON f.ad_field_id = trl.ad_field_id
|
JOIN ad_field_trl trl ON f.ad_field_id = trl.ad_field_id
|
||||||
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
||||||
|
@ -9,6 +9,7 @@ CREATE OR REPLACE VIEW ad_field_vt AS
|
||||||
LEFT JOIN ad_column_trl ct ON f.ad_column_id = ct.ad_column_id AND trl.ad_language = ct.ad_language
|
LEFT JOIN ad_column_trl ct ON f.ad_column_id = ct.ad_column_id AND trl.ad_language = ct.ad_language
|
||||||
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
||||||
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE(f.ad_val_rule_id, c.ad_val_rule_id)
|
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE(f.ad_val_rule_id, c.ad_val_rule_id)
|
||||||
|
LEFT JOIN ad_val_rule vrf ON vrf.ad_val_rule_id = COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id)
|
||||||
WHERE f.isactive = 'Y' AND c.isactive = 'Y'
|
WHERE f.isactive = 'Y' AND c.isactive = 'Y'
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ CREATE OR REPLACE VIEW AD_TAB_V
|
||||||
READONLYLOGIC, DISPLAYLOGIC, AD_COLUMN_ID, AD_PROCESS_ID, ISSORTTAB,
|
READONLYLOGIC, DISPLAYLOGIC, AD_COLUMN_ID, AD_PROCESS_ID, ISSORTTAB,
|
||||||
ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
||||||
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
||||||
MAXQUERYRECORDS)
|
MAXQUERYRECORDS, IsAllowAdvancedLookup, IsLookupOnlySelection)
|
||||||
AS
|
AS
|
||||||
SELECT t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, t.Name, t.Description,
|
SELECT t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, t.Name, t.Description,
|
||||||
t.Help, t.SeqNo, t.IsSingleRow, t.HasTree, t.IsInfoTab, tbl.ReplicationType,
|
t.Help, t.SeqNo, t.IsSingleRow, t.HasTree, t.IsInfoTab, tbl.ReplicationType,
|
||||||
|
@ -17,11 +17,10 @@ SELECT t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, t.Name, t.Description,
|
||||||
t.WhereClause, t.OrderByClause, t.CommitWarning, t.ReadOnlyLogic, t.DisplayLogic,
|
t.WhereClause, t.OrderByClause, t.CommitWarning, t.ReadOnlyLogic, t.DisplayLogic,
|
||||||
t.AD_Column_ID, t.AD_Process_ID, t.IsSortTab, t.IsInsertRecord, t.IsAdvancedTab,
|
t.AD_Column_ID, t.AD_Process_ID, t.IsSortTab, t.IsInsertRecord, t.IsAdvancedTab,
|
||||||
t.AD_ColumnSortOrder_ID, t.AD_ColumnSortYesNo_ID, t.Included_Tab_ID, t.Parent_Column_ID,
|
t.AD_ColumnSortOrder_ID, t.AD_ColumnSortYesNo_ID, t.Included_Tab_ID, t.Parent_Column_ID,
|
||||||
t.AD_Tab_UU, tbl.AD_Table_UU, t.TreeDisplayedOn, t.MaxQueryRecords
|
t.AD_Tab_UU, tbl.AD_Table_UU, t.TreeDisplayedOn, t.MaxQueryRecords,
|
||||||
|
t.IsAllowAdvancedLookup, t.IsLookupOnlySelection
|
||||||
FROM AD_Tab t
|
FROM AD_Tab t
|
||||||
INNER JOIN AD_Table tbl ON (t.AD_Table_ID = tbl.AD_Table_ID)
|
INNER JOIN AD_Table tbl ON (t.AD_Table_ID = tbl.AD_Table_ID)
|
||||||
WHERE t.IsActive='Y'
|
WHERE t.IsActive='Y'
|
||||||
AND tbl.IsActive='Y';
|
AND tbl.IsActive='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ CREATE OR REPLACE VIEW AD_TAB_VT
|
||||||
COMMITWARNING, READONLYLOGIC, DISPLAYLOGIC, AD_COLUMN_ID, AD_PROCESS_ID,
|
COMMITWARNING, READONLYLOGIC, DISPLAYLOGIC, AD_COLUMN_ID, AD_PROCESS_ID,
|
||||||
ISSORTTAB, ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
ISSORTTAB, ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
||||||
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
||||||
MAXQUERYRECORDS)
|
MAXQUERYRECORDS, IsAllowAdvancedLookup, IsLookupOnlySelection)
|
||||||
AS
|
AS
|
||||||
SELECT trl.AD_Language, t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, trl.Name, trl.Description,
|
SELECT trl.AD_Language, t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, trl.Name, trl.Description,
|
||||||
trl.Help, t.SeqNo, t.IsSingleRow, t.HasTree, t.IsInfoTab, tbl.ReplicationType,
|
trl.Help, t.SeqNo, t.IsSingleRow, t.HasTree, t.IsInfoTab, tbl.ReplicationType,
|
||||||
|
@ -17,12 +17,11 @@ SELECT trl.AD_Language, t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, trl.Name, tr
|
||||||
t.WhereClause, t.OrderByClause, trl.CommitWarning, t.ReadOnlyLogic, t.DisplayLogic,
|
t.WhereClause, t.OrderByClause, trl.CommitWarning, t.ReadOnlyLogic, t.DisplayLogic,
|
||||||
t.AD_Column_ID, t.AD_Process_ID, t.IsSortTab, t.IsInsertRecord, t.IsAdvancedTab,
|
t.AD_Column_ID, t.AD_Process_ID, t.IsSortTab, t.IsInsertRecord, t.IsAdvancedTab,
|
||||||
t.AD_ColumnSortOrder_ID, t.AD_ColumnSortYesNo_ID, t.Included_Tab_ID, t.Parent_Column_ID,
|
t.AD_ColumnSortOrder_ID, t.AD_ColumnSortYesNo_ID, t.Included_Tab_ID, t.Parent_Column_ID,
|
||||||
t.AD_Tab_UU, tbl.AD_Table_UU, t.TreeDisplayedOn, t.MaxQueryRecords
|
t.AD_Tab_UU, tbl.AD_Table_UU, t.TreeDisplayedOn, t.MaxQueryRecords,
|
||||||
|
t.IsAllowAdvancedLookup, t.IsLookupOnlySelection
|
||||||
FROM AD_Tab t
|
FROM AD_Tab t
|
||||||
INNER JOIN AD_Table tbl ON (t.AD_Table_ID = tbl.AD_Table_ID)
|
INNER JOIN AD_Table tbl ON (t.AD_Table_ID = tbl.AD_Table_ID)
|
||||||
INNER JOIN AD_Tab_Trl trl ON (t.AD_Tab_ID = trl.AD_Tab_ID)
|
INNER JOIN AD_Tab_Trl trl ON (t.AD_Tab_ID = trl.AD_Tab_ID)
|
||||||
WHERE t.IsActive='Y'
|
WHERE t.IsActive='Y'
|
||||||
AND tbl.IsActive='Y';
|
AND tbl.IsActive='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,16 +4,16 @@ f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.o
|
||||||
c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id,
|
c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id,
|
||||||
c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable,
|
c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable,
|
||||||
COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable,
|
COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable,
|
||||||
c.isencrypted AS isencryptedcolumn, c.isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fg.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype,
|
c.isencrypted AS isencryptedcolumn, COALESCE(f.isselectioncolumn, c.isselectioncolumn) AS isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fg.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype,
|
||||||
fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid,
|
fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid,
|
||||||
f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus,
|
f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus,
|
||||||
c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(f.placeholder, c.placeholder) AS placeholder, c.ishtml, f.isquickform
|
c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(f.placeholder, c.placeholder) AS placeholder, c.ishtml, f.isquickform, COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id, vrf.code AS validationcodeLookup
|
||||||
FROM ad_field f
|
FROM ad_field f
|
||||||
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
||||||
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
|
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
|
||||||
LEFT JOIN ad_column c ON f.ad_column_id = c.ad_column_id
|
LEFT JOIN ad_column c ON f.ad_column_id = c.ad_column_id
|
||||||
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
||||||
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE(f.ad_val_rule_id, c.ad_val_rule_id)
|
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE(f.ad_val_rule_id, c.ad_val_rule_id)
|
||||||
|
LEFT JOIN ad_val_rule vrf ON vrf.ad_val_rule_id = COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id)
|
||||||
WHERE f.isactive = 'Y' AND c.isactive = 'Y'
|
WHERE f.isactive = 'Y' AND c.isactive = 'Y'
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,9 @@ CREATE OR REPLACE VIEW ad_field_vt AS
|
||||||
c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id,
|
c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id,
|
||||||
c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable,
|
c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable,
|
||||||
c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable,
|
c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable,
|
||||||
c.isencrypted AS isencryptedcolumn, c.isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fgt.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype,
|
c.isencrypted AS isencryptedcolumn, COALESCE(f.isselectioncolumn, c.isselectioncolumn) AS isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fgt.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype,
|
||||||
fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid,
|
fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid,
|
||||||
f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus, c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(trl.placeholder, ct.placeholder) AS placeholder, c.ishtml, f.isquickform
|
f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus, c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(trl.placeholder, ct.placeholder) AS placeholder, c.ishtml, f.isquickform, COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id, vrf.code AS validationcodeLookup
|
||||||
FROM ad_field f
|
FROM ad_field f
|
||||||
JOIN ad_field_trl trl ON f.ad_field_id = trl.ad_field_id
|
JOIN ad_field_trl trl ON f.ad_field_id = trl.ad_field_id
|
||||||
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
||||||
|
@ -16,6 +16,7 @@ CREATE OR REPLACE VIEW ad_field_vt AS
|
||||||
LEFT JOIN ad_column_trl ct ON f.ad_column_id = ct.ad_column_id AND trl.ad_language::text = ct.ad_language::text
|
LEFT JOIN ad_column_trl ct ON f.ad_column_id = ct.ad_column_id AND trl.ad_language::text = ct.ad_language::text
|
||||||
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
||||||
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE(f.ad_val_rule_id, c.ad_val_rule_id)
|
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE(f.ad_val_rule_id, c.ad_val_rule_id)
|
||||||
|
LEFT JOIN ad_val_rule vrf ON vrf.ad_val_rule_id = COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id)
|
||||||
WHERE f.isactive = 'Y' AND c.isactive = 'Y'
|
WHERE f.isactive = 'Y' AND c.isactive = 'Y'
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ CREATE OR REPLACE VIEW AD_TAB_V
|
||||||
READONLYLOGIC, DISPLAYLOGIC, AD_COLUMN_ID, AD_PROCESS_ID, ISSORTTAB,
|
READONLYLOGIC, DISPLAYLOGIC, AD_COLUMN_ID, AD_PROCESS_ID, ISSORTTAB,
|
||||||
ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
||||||
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
||||||
MAXQUERYRECORDS)
|
MAXQUERYRECORDS, IsAllowAdvancedLookup, IsLookupOnlySelection)
|
||||||
AS
|
AS
|
||||||
SELECT t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, t.Name, t.Description,
|
SELECT t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, t.Name, t.Description,
|
||||||
t.Help, t.SeqNo, t.IsSingleRow, t.HasTree, t.IsInfoTab, tbl.ReplicationType,
|
t.Help, t.SeqNo, t.IsSingleRow, t.HasTree, t.IsInfoTab, tbl.ReplicationType,
|
||||||
|
@ -17,11 +17,10 @@ SELECT t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, t.Name, t.Description,
|
||||||
t.WhereClause, t.OrderByClause, t.CommitWarning, t.ReadOnlyLogic, t.DisplayLogic,
|
t.WhereClause, t.OrderByClause, t.CommitWarning, t.ReadOnlyLogic, t.DisplayLogic,
|
||||||
t.AD_Column_ID, t.AD_Process_ID, t.IsSortTab, t.IsInsertRecord, t.IsAdvancedTab,
|
t.AD_Column_ID, t.AD_Process_ID, t.IsSortTab, t.IsInsertRecord, t.IsAdvancedTab,
|
||||||
t.AD_ColumnSortOrder_ID, t.AD_ColumnSortYesNo_ID, t.Included_Tab_ID, t.Parent_Column_ID,
|
t.AD_ColumnSortOrder_ID, t.AD_ColumnSortYesNo_ID, t.Included_Tab_ID, t.Parent_Column_ID,
|
||||||
t.AD_Tab_UU, tbl.AD_Table_UU, t.TreeDisplayedOn, t.MaxQueryRecords
|
t.AD_Tab_UU, tbl.AD_Table_UU, t.TreeDisplayedOn, t.MaxQueryRecords,
|
||||||
|
t.IsAllowAdvancedLookup, t.IsLookupOnlySelection
|
||||||
FROM AD_Tab t
|
FROM AD_Tab t
|
||||||
INNER JOIN AD_Table tbl ON (t.AD_Table_ID = tbl.AD_Table_ID)
|
INNER JOIN AD_Table tbl ON (t.AD_Table_ID = tbl.AD_Table_ID)
|
||||||
WHERE t.IsActive='Y'
|
WHERE t.IsActive='Y'
|
||||||
AND tbl.IsActive='Y';
|
AND tbl.IsActive='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ CREATE OR REPLACE VIEW AD_TAB_VT
|
||||||
COMMITWARNING, READONLYLOGIC, DISPLAYLOGIC, AD_COLUMN_ID, AD_PROCESS_ID,
|
COMMITWARNING, READONLYLOGIC, DISPLAYLOGIC, AD_COLUMN_ID, AD_PROCESS_ID,
|
||||||
ISSORTTAB, ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
ISSORTTAB, ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
||||||
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
||||||
MAXQUERYRECORDS)
|
MAXQUERYRECORDS, IsAllowAdvancedLookup, IsLookupOnlySelection)
|
||||||
AS
|
AS
|
||||||
SELECT trl.AD_Language, t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, trl.Name, trl.Description,
|
SELECT trl.AD_Language, t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, trl.Name, trl.Description,
|
||||||
trl.Help, t.SeqNo, t.IsSingleRow, t.HasTree, t.IsInfoTab, tbl.ReplicationType,
|
trl.Help, t.SeqNo, t.IsSingleRow, t.HasTree, t.IsInfoTab, tbl.ReplicationType,
|
||||||
|
@ -17,12 +17,11 @@ SELECT trl.AD_Language, t.AD_Tab_ID, t.AD_Window_ID, t.AD_Table_ID, trl.Name, tr
|
||||||
t.WhereClause, t.OrderByClause, trl.CommitWarning, t.ReadOnlyLogic, t.DisplayLogic,
|
t.WhereClause, t.OrderByClause, trl.CommitWarning, t.ReadOnlyLogic, t.DisplayLogic,
|
||||||
t.AD_Column_ID, t.AD_Process_ID, t.IsSortTab, t.IsInsertRecord, t.IsAdvancedTab,
|
t.AD_Column_ID, t.AD_Process_ID, t.IsSortTab, t.IsInsertRecord, t.IsAdvancedTab,
|
||||||
t.AD_ColumnSortOrder_ID, t.AD_ColumnSortYesNo_ID, t.Included_Tab_ID, t.Parent_Column_ID,
|
t.AD_ColumnSortOrder_ID, t.AD_ColumnSortYesNo_ID, t.Included_Tab_ID, t.Parent_Column_ID,
|
||||||
t.AD_Tab_UU, tbl.AD_Table_UU, t.TreeDisplayedOn, t.MaxQueryRecords
|
t.AD_Tab_UU, tbl.AD_Table_UU, t.TreeDisplayedOn, t.MaxQueryRecords,
|
||||||
|
t.IsAllowAdvancedLookup, t.IsLookupOnlySelection
|
||||||
FROM AD_Tab t
|
FROM AD_Tab t
|
||||||
INNER JOIN AD_Table tbl ON (t.AD_Table_ID = tbl.AD_Table_ID)
|
INNER JOIN AD_Table tbl ON (t.AD_Table_ID = tbl.AD_Table_ID)
|
||||||
INNER JOIN AD_Tab_Trl trl ON (t.AD_Tab_ID = trl.AD_Tab_ID)
|
INNER JOIN AD_Tab_Trl trl ON (t.AD_Tab_ID = trl.AD_Tab_ID)
|
||||||
WHERE t.IsActive='Y'
|
WHERE t.IsActive='Y'
|
||||||
AND tbl.IsActive='Y';
|
AND tbl.IsActive='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -83,7 +83,7 @@ public class GridField
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -632698704437797186L;
|
private static final long serialVersionUID = -632698704437797176L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Field Constructor.
|
* Field Constructor.
|
||||||
|
@ -2579,6 +2579,7 @@ public class GridField
|
||||||
field.m_vo = field.m_vo.clone(ctx, field.m_vo.WindowNo, field.m_vo.TabNo,
|
field.m_vo = field.m_vo.clone(ctx, field.m_vo.WindowNo, field.m_vo.TabNo,
|
||||||
field.m_vo.AD_Window_ID, field.m_vo.AD_Tab_ID, field.m_vo.tabReadOnly);
|
field.m_vo.AD_Window_ID, field.m_vo.AD_Tab_ID, field.m_vo.tabReadOnly);
|
||||||
field.m_vo.lookupInfo = null;
|
field.m_vo.lookupInfo = null;
|
||||||
|
field.m_lookup = null;
|
||||||
field.m_propertyChangeListeners = new PropertyChangeSupport(this);
|
field.m_propertyChangeListeners = new PropertyChangeSupport(this);
|
||||||
return field;
|
return field;
|
||||||
} catch (CloneNotSupportedException e) {
|
} catch (CloneNotSupportedException e) {
|
||||||
|
|
|
@ -47,7 +47,7 @@ public class GridFieldVO implements Serializable, Cloneable
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -7810037179946135749L;
|
private static final long serialVersionUID = -6183338435199702786L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the SQL statement used for the MFieldVO.create
|
* Return the SQL statement used for the MFieldVO.create
|
||||||
|
@ -172,7 +172,8 @@ public class GridFieldVO implements Serializable, Cloneable
|
||||||
vo.SeqNo = userDef.getSeqNo();
|
vo.SeqNo = userDef.getSeqNo();
|
||||||
if (userDef.getAD_Val_Rule_ID() > 0)
|
if (userDef.getAD_Val_Rule_ID() > 0)
|
||||||
vo.ValidationCode = MValRule.get(vo.ctx, userDef.getAD_Val_Rule_ID()).getCode();
|
vo.ValidationCode = MValRule.get(vo.ctx, userDef.getAD_Val_Rule_ID()).getCode();
|
||||||
|
if (userDef.getAD_Val_Rule_Lookup_ID() > 0)
|
||||||
|
vo.ValidationCodeLookup = MValRule.get(ctx, userDef.getAD_Val_Rule_Lookup_ID()).getCode();
|
||||||
if (userDef.getAD_LabelStyle_ID() > 0)
|
if (userDef.getAD_LabelStyle_ID() > 0)
|
||||||
vo.AD_LabelStyle_ID = userDef.getAD_LabelStyle_ID();
|
vo.AD_LabelStyle_ID = userDef.getAD_LabelStyle_ID();
|
||||||
|
|
||||||
|
@ -314,6 +315,8 @@ public class GridFieldVO implements Serializable, Cloneable
|
||||||
vo.AD_Reference_Value_ID = rs.getInt(i);
|
vo.AD_Reference_Value_ID = rs.getInt(i);
|
||||||
else if (columnName.equalsIgnoreCase("ValidationCode"))
|
else if (columnName.equalsIgnoreCase("ValidationCode"))
|
||||||
vo.ValidationCode = rs.getString(i);
|
vo.ValidationCode = rs.getString(i);
|
||||||
|
else if (columnName.equalsIgnoreCase("ValidationCodeLookup"))
|
||||||
|
vo.ValidationCodeLookup = rs.getString(i);
|
||||||
else if (columnName.equalsIgnoreCase("IsQuickForm"))
|
else if (columnName.equalsIgnoreCase("IsQuickForm"))
|
||||||
vo.IsQuickForm = "Y".equals(rs.getString (i));
|
vo.IsQuickForm = "Y".equals(rs.getString (i));
|
||||||
else if (columnName.equalsIgnoreCase("ColumnSQL")) {
|
else if (columnName.equalsIgnoreCase("ColumnSQL")) {
|
||||||
|
@ -409,6 +412,7 @@ public class GridFieldVO implements Serializable, Cloneable
|
||||||
//
|
//
|
||||||
vo.AD_Reference_Value_ID = rs.getInt("AD_Reference_Value_ID");
|
vo.AD_Reference_Value_ID = rs.getInt("AD_Reference_Value_ID");
|
||||||
vo.ValidationCode = rs.getString("ValidationCode");
|
vo.ValidationCode = rs.getString("ValidationCode");
|
||||||
|
vo.ValidationCodeLookup = rs.getString("ValidationCodeLookup");
|
||||||
vo.ReadOnlyLogic = rs.getString("ReadOnlyLogic");
|
vo.ReadOnlyLogic = rs.getString("ReadOnlyLogic");
|
||||||
vo.DisplayLogic= rs.getString("DisplayLogic");
|
vo.DisplayLogic= rs.getString("DisplayLogic");
|
||||||
vo.IsEncryptedField=rs.getString("IsEncrypted").equals("Y");
|
vo.IsEncryptedField=rs.getString("IsEncrypted").equals("Y");
|
||||||
|
@ -513,6 +517,7 @@ public class GridFieldVO implements Serializable, Cloneable
|
||||||
voT.AD_Reference_Value_ID = voF.AD_Reference_Value_ID;
|
voT.AD_Reference_Value_ID = voF.AD_Reference_Value_ID;
|
||||||
// IDEMPIERE-229 Bug with Process parameter range
|
// IDEMPIERE-229 Bug with Process parameter range
|
||||||
voT.ValidationCode = voF.ValidationCode;
|
voT.ValidationCode = voF.ValidationCode;
|
||||||
|
voT.ValidationCodeLookup = voF.ValidationCodeLookup;
|
||||||
voT.IsEncryptedField = voF.IsEncryptedField;
|
voT.IsEncryptedField = voF.IsEncryptedField;
|
||||||
voT.ReadOnlyLogic = voF.ReadOnlyLogic;
|
voT.ReadOnlyLogic = voF.ReadOnlyLogic;
|
||||||
voT.DisplayLogic = voF.DisplayLogic;
|
voT.DisplayLogic = voF.DisplayLogic;
|
||||||
|
@ -729,6 +734,8 @@ public class GridFieldVO implements Serializable, Cloneable
|
||||||
|
|
||||||
/** Lookup Validation code */
|
/** Lookup Validation code */
|
||||||
public String ValidationCode = "";
|
public String ValidationCode = "";
|
||||||
|
/** Lookup Validation code for Find Window */
|
||||||
|
public String ValidationCodeLookup = "";
|
||||||
/** Reference Value */
|
/** Reference Value */
|
||||||
public int AD_Reference_Value_ID = 0;
|
public int AD_Reference_Value_ID = 0;
|
||||||
|
|
||||||
|
@ -884,6 +891,7 @@ public class GridFieldVO implements Serializable, Cloneable
|
||||||
GridFieldVO clone = (GridFieldVO) super.clone();
|
GridFieldVO clone = (GridFieldVO) super.clone();
|
||||||
clone.ctx = Env.getCtx();
|
clone.ctx = Env.getCtx();
|
||||||
if ( lookupInfo != null) {
|
if ( lookupInfo != null) {
|
||||||
|
clone.ValidationCodeLookup = ValidationCodeLookup;
|
||||||
clone.lookupInfo = lookupInfo.clone();
|
clone.lookupInfo = lookupInfo.clone();
|
||||||
clone.lookupInfo.ctx = clone.ctx;
|
clone.lookupInfo.ctx = clone.ctx;
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,7 +112,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -8153324039370820860L;
|
private static final long serialVersionUID = 8443012394354164942L;
|
||||||
|
|
||||||
public static final String DEFAULT_STATUS_MESSAGE = "NavigateOrUpdate";
|
public static final String DEFAULT_STATUS_MESSAGE = "NavigateOrUpdate";
|
||||||
|
|
||||||
|
@ -229,6 +229,8 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
|
||||||
public static final String CTX_FindSQL = "_TabInfo_FindSQL";
|
public static final String CTX_FindSQL = "_TabInfo_FindSQL";
|
||||||
public static final String CTX_SQL = "_TabInfo_SQL";
|
public static final String CTX_SQL = "_TabInfo_SQL";
|
||||||
public static final String CTX_IsSortTab = "_TabInfo_IsSortTab";
|
public static final String CTX_IsSortTab = "_TabInfo_IsSortTab";
|
||||||
|
public static final String CTX_IsLookupOnlySelection = "_TabInfo_IsLookupOnlySelection";
|
||||||
|
public static final String CTX_IsAllowAdvancedLookup = "_TabInfo_IsAllowAdvancedLookup";
|
||||||
|
|
||||||
//private HashMap<Integer,Integer> m_PostIts = null;
|
//private HashMap<Integer,Integer> m_PostIts = null;
|
||||||
|
|
||||||
|
@ -1513,6 +1515,24 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
|
||||||
return m_vo.IsHighVolume;
|
return m_vo.IsHighVolume;
|
||||||
} // isHighVolume
|
} // isHighVolume
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is Lookup Only By Selection Fields?
|
||||||
|
*
|
||||||
|
* @return true if only selection
|
||||||
|
*/
|
||||||
|
public boolean IsLookupOnlySelection() {
|
||||||
|
return m_vo.IsLookupOnlySelection;
|
||||||
|
} // IsLookupOnlySelection
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is Allow Advanced Lookup panel?
|
||||||
|
*
|
||||||
|
* @return true if allow the use
|
||||||
|
*/
|
||||||
|
public boolean IsAllowAdvancedLookup() {
|
||||||
|
return m_vo.IsAllowAdvancedLookup;
|
||||||
|
} // IsAllowAdvancedLookup
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Is Read Only?
|
* Is Read Only?
|
||||||
* @return true if read only
|
* @return true if read only
|
||||||
|
|
|
@ -39,10 +39,11 @@ import org.compiere.util.Evaluatee;
|
||||||
*/
|
*/
|
||||||
public class GridTabVO implements Evaluatee, Serializable
|
public class GridTabVO implements Evaluatee, Serializable
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 9091214632840854495L;
|
private static final long serialVersionUID = 2088372161131336289L;
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* Create MTab VO
|
* Create MTab VO
|
||||||
|
@ -225,6 +226,18 @@ public class GridTabVO implements Evaluatee, Serializable
|
||||||
if (rs.getString("IsHighVolume").equals("Y"))
|
if (rs.getString("IsHighVolume").equals("Y"))
|
||||||
vo.IsHighVolume = true;
|
vo.IsHighVolume = true;
|
||||||
|
|
||||||
|
// Lookup Only Selection Fields
|
||||||
|
if (rs.getString("IsLookupOnlySelection").equals("Y"))
|
||||||
|
vo.IsLookupOnlySelection = true;
|
||||||
|
if (userDef != null && userDef.getIsLookupOnlySelection() != null)
|
||||||
|
vo.IsLookupOnlySelection = "Y".equals(userDef.getIsLookupOnlySelection());
|
||||||
|
Env.setContext(vo.ctx, vo.WindowNo, vo.TabNo, GridTab.CTX_IsLookupOnlySelection, vo.IsLookupOnlySelection);
|
||||||
|
// Allow Advanced Lookup
|
||||||
|
if (rs.getString("IsAllowAdvancedLookup").equals("Y"))
|
||||||
|
vo.IsAllowAdvancedLookup = true;
|
||||||
|
if (userDef != null && userDef.getIsAllowAdvancedLookup() != null)
|
||||||
|
vo.IsAllowAdvancedLookup = "Y".equals(userDef.getIsAllowAdvancedLookup());
|
||||||
|
Env.setContext(vo.ctx, vo.WindowNo, vo.TabNo, GridTab.CTX_IsAllowAdvancedLookup, vo.IsAllowAdvancedLookup);
|
||||||
vo.CommitWarning = rs.getString("CommitWarning");
|
vo.CommitWarning = rs.getString("CommitWarning");
|
||||||
if (vo.CommitWarning == null)
|
if (vo.CommitWarning == null)
|
||||||
vo.CommitWarning = "";
|
vo.CommitWarning = "";
|
||||||
|
@ -494,6 +507,10 @@ public class GridTabVO implements Evaluatee, Serializable
|
||||||
public boolean IsDeleteable = false;
|
public boolean IsDeleteable = false;
|
||||||
/** Table High Volume */
|
/** Table High Volume */
|
||||||
public boolean IsHighVolume = false;
|
public boolean IsHighVolume = false;
|
||||||
|
/** Allow use of advanced Lookup panel **/
|
||||||
|
public boolean IsAllowAdvancedLookup = false;
|
||||||
|
/** Only allow Lookup using selection defined fields **/
|
||||||
|
public boolean IsLookupOnlySelection = false;
|
||||||
/** Process */
|
/** Process */
|
||||||
public int AD_Process_ID = 0;
|
public int AD_Process_ID = 0;
|
||||||
/** Process UUID */
|
/** Process UUID */
|
||||||
|
@ -601,6 +618,8 @@ public class GridTabVO implements Evaluatee, Serializable
|
||||||
clone.IsSecurityEnabled = IsSecurityEnabled;
|
clone.IsSecurityEnabled = IsSecurityEnabled;
|
||||||
clone.IsDeleteable = IsDeleteable;
|
clone.IsDeleteable = IsDeleteable;
|
||||||
clone.IsHighVolume = IsHighVolume;
|
clone.IsHighVolume = IsHighVolume;
|
||||||
|
clone.IsLookupOnlySelection = IsLookupOnlySelection;
|
||||||
|
clone.IsAllowAdvancedLookup = IsAllowAdvancedLookup;
|
||||||
clone.AD_Process_ID = AD_Process_ID;
|
clone.AD_Process_ID = AD_Process_ID;
|
||||||
clone.CommitWarning = CommitWarning;
|
clone.CommitWarning = CommitWarning;
|
||||||
clone.WhereClause = WhereClause;
|
clone.WhereClause = WhereClause;
|
||||||
|
@ -613,6 +632,8 @@ public class GridTabVO implements Evaluatee, Serializable
|
||||||
clone.ReplicationType = ReplicationType;
|
clone.ReplicationType = ReplicationType;
|
||||||
Env.setContext(Ctx, windowNo, clone.TabNo, GridTab.CTX_AccessLevel, clone.AccessLevel);
|
Env.setContext(Ctx, windowNo, clone.TabNo, GridTab.CTX_AccessLevel, clone.AccessLevel);
|
||||||
Env.setContext(Ctx, windowNo, clone.TabNo, GridTab.CTX_AD_Table_ID, String.valueOf(clone.AD_Table_ID));
|
Env.setContext(Ctx, windowNo, clone.TabNo, GridTab.CTX_AD_Table_ID, String.valueOf(clone.AD_Table_ID));
|
||||||
|
Env.setContext(Ctx, windowNo, clone.TabNo, GridTab.CTX_IsLookupOnlySelection, clone.IsLookupOnlySelection);
|
||||||
|
Env.setContext(Ctx, windowNo, clone.TabNo, GridTab.CTX_IsAllowAdvancedLookup, clone.IsAllowAdvancedLookup);
|
||||||
|
|
||||||
//
|
//
|
||||||
clone.IsSortTab = IsSortTab;
|
clone.IsSortTab = IsSortTab;
|
||||||
|
|
|
@ -185,6 +185,21 @@ public interface I_AD_Column
|
||||||
|
|
||||||
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule() throws RuntimeException;
|
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule() throws RuntimeException;
|
||||||
|
|
||||||
|
/** Column name AD_Val_Rule_Lookup_ID */
|
||||||
|
public static final String COLUMNNAME_AD_Val_Rule_Lookup_ID = "AD_Val_Rule_Lookup_ID";
|
||||||
|
|
||||||
|
/** Set Dynamic Validation (Lookup).
|
||||||
|
* Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public void setAD_Val_Rule_Lookup_ID (int AD_Val_Rule_Lookup_ID);
|
||||||
|
|
||||||
|
/** Get Dynamic Validation (Lookup).
|
||||||
|
* Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public int getAD_Val_Rule_Lookup_ID();
|
||||||
|
|
||||||
|
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule_Lookup() throws RuntimeException;
|
||||||
|
|
||||||
/** Column name Callout */
|
/** Column name Callout */
|
||||||
public static final String COLUMNNAME_Callout = "Callout";
|
public static final String COLUMNNAME_Callout = "Callout";
|
||||||
|
|
||||||
|
|
|
@ -204,6 +204,21 @@ public interface I_AD_Field
|
||||||
|
|
||||||
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule() throws RuntimeException;
|
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule() throws RuntimeException;
|
||||||
|
|
||||||
|
/** Column name AD_Val_Rule_Lookup_ID */
|
||||||
|
public static final String COLUMNNAME_AD_Val_Rule_Lookup_ID = "AD_Val_Rule_Lookup_ID";
|
||||||
|
|
||||||
|
/** Set Dynamic Validation (Lookup).
|
||||||
|
* Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public void setAD_Val_Rule_Lookup_ID (int AD_Val_Rule_Lookup_ID);
|
||||||
|
|
||||||
|
/** Get Dynamic Validation (Lookup).
|
||||||
|
* Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public int getAD_Val_Rule_Lookup_ID();
|
||||||
|
|
||||||
|
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule_Lookup() throws RuntimeException;
|
||||||
|
|
||||||
/** Column name ColumnSpan */
|
/** Column name ColumnSpan */
|
||||||
public static final String COLUMNNAME_ColumnSpan = "ColumnSpan";
|
public static final String COLUMNNAME_ColumnSpan = "ColumnSpan";
|
||||||
|
|
||||||
|
@ -522,6 +537,19 @@ public interface I_AD_Field
|
||||||
*/
|
*/
|
||||||
public boolean isSameLine();
|
public boolean isSameLine();
|
||||||
|
|
||||||
|
/** Column name IsSelectionColumn */
|
||||||
|
public static final String COLUMNNAME_IsSelectionColumn = "IsSelectionColumn";
|
||||||
|
|
||||||
|
/** Set Selection Column.
|
||||||
|
* Is this column used for Lookup rows in windows
|
||||||
|
*/
|
||||||
|
public void setIsSelectionColumn (String IsSelectionColumn);
|
||||||
|
|
||||||
|
/** Get Selection Column.
|
||||||
|
* Is this column used for Lookup rows in windows
|
||||||
|
*/
|
||||||
|
public String getIsSelectionColumn();
|
||||||
|
|
||||||
/** Column name IsToolbarButton */
|
/** Column name IsToolbarButton */
|
||||||
public static final String COLUMNNAME_IsToolbarButton = "IsToolbarButton";
|
public static final String COLUMNNAME_IsToolbarButton = "IsToolbarButton";
|
||||||
|
|
||||||
|
|
|
@ -350,6 +350,15 @@ public interface I_AD_Tab
|
||||||
*/
|
*/
|
||||||
public boolean isAdvancedTab();
|
public boolean isAdvancedTab();
|
||||||
|
|
||||||
|
/** Column name IsAllowAdvancedLookup */
|
||||||
|
public static final String COLUMNNAME_IsAllowAdvancedLookup = "IsAllowAdvancedLookup";
|
||||||
|
|
||||||
|
/** Set Allow Advanced Lookup */
|
||||||
|
public void setIsAllowAdvancedLookup (boolean IsAllowAdvancedLookup);
|
||||||
|
|
||||||
|
/** Get Allow Advanced Lookup */
|
||||||
|
public boolean isAllowAdvancedLookup();
|
||||||
|
|
||||||
/** Column name IsInfoTab */
|
/** Column name IsInfoTab */
|
||||||
public static final String COLUMNNAME_IsInfoTab = "IsInfoTab";
|
public static final String COLUMNNAME_IsInfoTab = "IsInfoTab";
|
||||||
|
|
||||||
|
@ -376,6 +385,19 @@ public interface I_AD_Tab
|
||||||
*/
|
*/
|
||||||
public boolean isInsertRecord();
|
public boolean isInsertRecord();
|
||||||
|
|
||||||
|
/** Column name IsLookupOnlySelection */
|
||||||
|
public static final String COLUMNNAME_IsLookupOnlySelection = "IsLookupOnlySelection";
|
||||||
|
|
||||||
|
/** Set Lookup Only Selection Columns.
|
||||||
|
* When defined to true Lookup panel will display only selection columns. Default to false.
|
||||||
|
*/
|
||||||
|
public void setIsLookupOnlySelection (boolean IsLookupOnlySelection);
|
||||||
|
|
||||||
|
/** Get Lookup Only Selection Columns.
|
||||||
|
* When defined to true Lookup panel will display only selection columns. Default to false.
|
||||||
|
*/
|
||||||
|
public boolean isLookupOnlySelection();
|
||||||
|
|
||||||
/** Column name IsReadOnly */
|
/** Column name IsReadOnly */
|
||||||
public static final String COLUMNNAME_IsReadOnly = "IsReadOnly";
|
public static final String COLUMNNAME_IsReadOnly = "IsReadOnly";
|
||||||
|
|
||||||
|
|
|
@ -181,6 +181,21 @@ public interface I_AD_UserDef_Field
|
||||||
|
|
||||||
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule() throws RuntimeException;
|
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule() throws RuntimeException;
|
||||||
|
|
||||||
|
/** Column name AD_Val_Rule_Lookup_ID */
|
||||||
|
public static final String COLUMNNAME_AD_Val_Rule_Lookup_ID = "AD_Val_Rule_Lookup_ID";
|
||||||
|
|
||||||
|
/** Set Dynamic Validation (Lookup).
|
||||||
|
* Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public void setAD_Val_Rule_Lookup_ID (int AD_Val_Rule_Lookup_ID);
|
||||||
|
|
||||||
|
/** Get Dynamic Validation (Lookup).
|
||||||
|
* Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public int getAD_Val_Rule_Lookup_ID();
|
||||||
|
|
||||||
|
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule_Lookup() throws RuntimeException;
|
||||||
|
|
||||||
/** Column name ColumnSpan */
|
/** Column name ColumnSpan */
|
||||||
public static final String COLUMNNAME_ColumnSpan = "ColumnSpan";
|
public static final String COLUMNNAME_ColumnSpan = "ColumnSpan";
|
||||||
|
|
||||||
|
|
|
@ -189,6 +189,28 @@ public interface I_AD_UserDef_Tab
|
||||||
*/
|
*/
|
||||||
public boolean isActive();
|
public boolean isActive();
|
||||||
|
|
||||||
|
/** Column name IsAllowAdvancedLookup */
|
||||||
|
public static final String COLUMNNAME_IsAllowAdvancedLookup = "IsAllowAdvancedLookup";
|
||||||
|
|
||||||
|
/** Set Allow Advanced Lookup */
|
||||||
|
public void setIsAllowAdvancedLookup (String IsAllowAdvancedLookup);
|
||||||
|
|
||||||
|
/** Get Allow Advanced Lookup */
|
||||||
|
public String getIsAllowAdvancedLookup();
|
||||||
|
|
||||||
|
/** Column name IsLookupOnlySelection */
|
||||||
|
public static final String COLUMNNAME_IsLookupOnlySelection = "IsLookupOnlySelection";
|
||||||
|
|
||||||
|
/** Set Lookup Only Selection Columns.
|
||||||
|
* When defined to true Lookup panel will display only selection columns. Default to false.
|
||||||
|
*/
|
||||||
|
public void setIsLookupOnlySelection (String IsLookupOnlySelection);
|
||||||
|
|
||||||
|
/** Get Lookup Only Selection Columns.
|
||||||
|
* When defined to true Lookup panel will display only selection columns. Default to false.
|
||||||
|
*/
|
||||||
|
public String getIsLookupOnlySelection();
|
||||||
|
|
||||||
/** Column name IsMultiRowOnly */
|
/** Column name IsMultiRowOnly */
|
||||||
public static final String COLUMNNAME_IsMultiRowOnly = "IsMultiRowOnly";
|
public static final String COLUMNNAME_IsMultiRowOnly = "IsMultiRowOnly";
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ public class X_AD_Column extends PO implements I_AD_Column, I_Persistent
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20200413L;
|
private static final long serialVersionUID = 20200911L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_Column (Properties ctx, int AD_Column_ID, String trxName)
|
public X_AD_Column (Properties ctx, int AD_Column_ID, String trxName)
|
||||||
|
@ -330,6 +330,34 @@ public class X_AD_Column extends PO implements I_AD_Column, I_Persistent
|
||||||
return ii.intValue();
|
return ii.intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule_Lookup() throws RuntimeException
|
||||||
|
{
|
||||||
|
return (org.compiere.model.I_AD_Val_Rule)MTable.get(getCtx(), org.compiere.model.I_AD_Val_Rule.Table_Name)
|
||||||
|
.getPO(getAD_Val_Rule_Lookup_ID(), get_TrxName()); }
|
||||||
|
|
||||||
|
/** Set Dynamic Validation (Lookup).
|
||||||
|
@param AD_Val_Rule_Lookup_ID
|
||||||
|
Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public void setAD_Val_Rule_Lookup_ID (int AD_Val_Rule_Lookup_ID)
|
||||||
|
{
|
||||||
|
if (AD_Val_Rule_Lookup_ID < 1)
|
||||||
|
set_Value (COLUMNNAME_AD_Val_Rule_Lookup_ID, null);
|
||||||
|
else
|
||||||
|
set_Value (COLUMNNAME_AD_Val_Rule_Lookup_ID, Integer.valueOf(AD_Val_Rule_Lookup_ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Dynamic Validation (Lookup).
|
||||||
|
@return Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public int getAD_Val_Rule_Lookup_ID ()
|
||||||
|
{
|
||||||
|
Integer ii = (Integer)get_Value(COLUMNNAME_AD_Val_Rule_Lookup_ID);
|
||||||
|
if (ii == null)
|
||||||
|
return 0;
|
||||||
|
return ii.intValue();
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Callout.
|
/** Set Callout.
|
||||||
@param Callout
|
@param Callout
|
||||||
Fully qualified class names and method - separated by semicolons
|
Fully qualified class names and method - separated by semicolons
|
||||||
|
|
|
@ -32,7 +32,7 @@ public class X_AD_Field extends PO implements I_AD_Field, I_Persistent
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20200413L;
|
private static final long serialVersionUID = 20200911L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_Field (Properties ctx, int AD_Field_ID, String trxName)
|
public X_AD_Field (Properties ctx, int AD_Field_ID, String trxName)
|
||||||
|
@ -353,6 +353,34 @@ public class X_AD_Field extends PO implements I_AD_Field, I_Persistent
|
||||||
return ii.intValue();
|
return ii.intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule_Lookup() throws RuntimeException
|
||||||
|
{
|
||||||
|
return (org.compiere.model.I_AD_Val_Rule)MTable.get(getCtx(), org.compiere.model.I_AD_Val_Rule.Table_Name)
|
||||||
|
.getPO(getAD_Val_Rule_Lookup_ID(), get_TrxName()); }
|
||||||
|
|
||||||
|
/** Set Dynamic Validation (Lookup).
|
||||||
|
@param AD_Val_Rule_Lookup_ID
|
||||||
|
Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public void setAD_Val_Rule_Lookup_ID (int AD_Val_Rule_Lookup_ID)
|
||||||
|
{
|
||||||
|
if (AD_Val_Rule_Lookup_ID < 1)
|
||||||
|
set_Value (COLUMNNAME_AD_Val_Rule_Lookup_ID, null);
|
||||||
|
else
|
||||||
|
set_Value (COLUMNNAME_AD_Val_Rule_Lookup_ID, Integer.valueOf(AD_Val_Rule_Lookup_ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Dynamic Validation (Lookup).
|
||||||
|
@return Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public int getAD_Val_Rule_Lookup_ID ()
|
||||||
|
{
|
||||||
|
Integer ii = (Integer)get_Value(COLUMNNAME_AD_Val_Rule_Lookup_ID);
|
||||||
|
if (ii == null)
|
||||||
|
return 0;
|
||||||
|
return ii.intValue();
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Column Span.
|
/** Set Column Span.
|
||||||
@param ColumnSpan
|
@param ColumnSpan
|
||||||
Number of column for a box of field
|
Number of column for a box of field
|
||||||
|
@ -857,6 +885,30 @@ public class X_AD_Field extends PO implements I_AD_Field, I_Persistent
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** IsSelectionColumn AD_Reference_ID=319 */
|
||||||
|
public static final int ISSELECTIONCOLUMN_AD_Reference_ID=319;
|
||||||
|
/** Yes = Y */
|
||||||
|
public static final String ISSELECTIONCOLUMN_Yes = "Y";
|
||||||
|
/** No = N */
|
||||||
|
public static final String ISSELECTIONCOLUMN_No = "N";
|
||||||
|
/** Set Selection Column.
|
||||||
|
@param IsSelectionColumn
|
||||||
|
Is this column used for Lookup rows in windows
|
||||||
|
*/
|
||||||
|
public void setIsSelectionColumn (String IsSelectionColumn)
|
||||||
|
{
|
||||||
|
|
||||||
|
set_Value (COLUMNNAME_IsSelectionColumn, IsSelectionColumn);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Selection Column.
|
||||||
|
@return Is this column used for Lookup rows in windows
|
||||||
|
*/
|
||||||
|
public String getIsSelectionColumn ()
|
||||||
|
{
|
||||||
|
return (String)get_Value(COLUMNNAME_IsSelectionColumn);
|
||||||
|
}
|
||||||
|
|
||||||
/** IsToolbarButton AD_Reference_ID=200099 */
|
/** IsToolbarButton AD_Reference_ID=200099 */
|
||||||
public static final int ISTOOLBARBUTTON_AD_Reference_ID=200099;
|
public static final int ISTOOLBARBUTTON_AD_Reference_ID=200099;
|
||||||
/** Toolbar = Y */
|
/** Toolbar = Y */
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class X_AD_Tab extends PO implements I_AD_Tab, I_Persistent
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20200413L;
|
private static final long serialVersionUID = 20200911L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_Tab (Properties ctx, int AD_Tab_ID, String trxName)
|
public X_AD_Tab (Properties ctx, int AD_Tab_ID, String trxName)
|
||||||
|
@ -530,6 +530,27 @@ public class X_AD_Tab extends PO implements I_AD_Tab, I_Persistent
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set Allow Advanced Lookup.
|
||||||
|
@param IsAllowAdvancedLookup Allow Advanced Lookup */
|
||||||
|
public void setIsAllowAdvancedLookup (boolean IsAllowAdvancedLookup)
|
||||||
|
{
|
||||||
|
set_Value (COLUMNNAME_IsAllowAdvancedLookup, Boolean.valueOf(IsAllowAdvancedLookup));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Allow Advanced Lookup.
|
||||||
|
@return Allow Advanced Lookup */
|
||||||
|
public boolean isAllowAdvancedLookup ()
|
||||||
|
{
|
||||||
|
Object oo = get_Value(COLUMNNAME_IsAllowAdvancedLookup);
|
||||||
|
if (oo != null)
|
||||||
|
{
|
||||||
|
if (oo instanceof Boolean)
|
||||||
|
return ((Boolean)oo).booleanValue();
|
||||||
|
return "Y".equals(oo);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Accounting Tab.
|
/** Set Accounting Tab.
|
||||||
@param IsInfoTab
|
@param IsInfoTab
|
||||||
This Tab contains accounting information
|
This Tab contains accounting information
|
||||||
|
@ -578,6 +599,30 @@ public class X_AD_Tab extends PO implements I_AD_Tab, I_Persistent
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set Lookup Only Selection Columns.
|
||||||
|
@param IsLookupOnlySelection
|
||||||
|
When defined to true Lookup panel will display only selection columns. Default to false.
|
||||||
|
*/
|
||||||
|
public void setIsLookupOnlySelection (boolean IsLookupOnlySelection)
|
||||||
|
{
|
||||||
|
set_Value (COLUMNNAME_IsLookupOnlySelection, Boolean.valueOf(IsLookupOnlySelection));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Lookup Only Selection Columns.
|
||||||
|
@return When defined to true Lookup panel will display only selection columns. Default to false.
|
||||||
|
*/
|
||||||
|
public boolean isLookupOnlySelection ()
|
||||||
|
{
|
||||||
|
Object oo = get_Value(COLUMNNAME_IsLookupOnlySelection);
|
||||||
|
if (oo != null)
|
||||||
|
{
|
||||||
|
if (oo instanceof Boolean)
|
||||||
|
return ((Boolean)oo).booleanValue();
|
||||||
|
return "Y".equals(oo);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Read Only.
|
/** Set Read Only.
|
||||||
@param IsReadOnly
|
@param IsReadOnly
|
||||||
Field is read only
|
Field is read only
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class X_AD_UserDef_Field extends PO implements I_AD_UserDef_Field, I_Pers
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20200527L;
|
private static final long serialVersionUID = 20200911L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_UserDef_Field (Properties ctx, int AD_UserDef_Field_ID, String trxName)
|
public X_AD_UserDef_Field (Properties ctx, int AD_UserDef_Field_ID, String trxName)
|
||||||
|
@ -309,6 +309,34 @@ public class X_AD_UserDef_Field extends PO implements I_AD_UserDef_Field, I_Pers
|
||||||
return ii.intValue();
|
return ii.intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule_Lookup() throws RuntimeException
|
||||||
|
{
|
||||||
|
return (org.compiere.model.I_AD_Val_Rule)MTable.get(getCtx(), org.compiere.model.I_AD_Val_Rule.Table_Name)
|
||||||
|
.getPO(getAD_Val_Rule_Lookup_ID(), get_TrxName()); }
|
||||||
|
|
||||||
|
/** Set Dynamic Validation (Lookup).
|
||||||
|
@param AD_Val_Rule_Lookup_ID
|
||||||
|
Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public void setAD_Val_Rule_Lookup_ID (int AD_Val_Rule_Lookup_ID)
|
||||||
|
{
|
||||||
|
if (AD_Val_Rule_Lookup_ID < 1)
|
||||||
|
set_Value (COLUMNNAME_AD_Val_Rule_Lookup_ID, null);
|
||||||
|
else
|
||||||
|
set_Value (COLUMNNAME_AD_Val_Rule_Lookup_ID, Integer.valueOf(AD_Val_Rule_Lookup_ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Dynamic Validation (Lookup).
|
||||||
|
@return Override Dynamic Validation Rule for Lookup Window
|
||||||
|
*/
|
||||||
|
public int getAD_Val_Rule_Lookup_ID ()
|
||||||
|
{
|
||||||
|
Integer ii = (Integer)get_Value(COLUMNNAME_AD_Val_Rule_Lookup_ID);
|
||||||
|
if (ii == null)
|
||||||
|
return 0;
|
||||||
|
return ii.intValue();
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Column Span.
|
/** Set Column Span.
|
||||||
@param ColumnSpan
|
@param ColumnSpan
|
||||||
Number of column for a box of field
|
Number of column for a box of field
|
||||||
|
|
|
@ -247,6 +247,51 @@ public class X_AD_UserDef_Tab extends PO implements I_AD_UserDef_Tab, I_Persiste
|
||||||
return (String)get_Value(COLUMNNAME_Help);
|
return (String)get_Value(COLUMNNAME_Help);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** IsAllowAdvancedLookup AD_Reference_ID=319 */
|
||||||
|
public static final int ISALLOWADVANCEDLOOKUP_AD_Reference_ID=319;
|
||||||
|
/** Yes = Y */
|
||||||
|
public static final String ISALLOWADVANCEDLOOKUP_Yes = "Y";
|
||||||
|
/** No = N */
|
||||||
|
public static final String ISALLOWADVANCEDLOOKUP_No = "N";
|
||||||
|
/** Set Allow Advanced Lookup.
|
||||||
|
@param IsAllowAdvancedLookup Allow Advanced Lookup */
|
||||||
|
public void setIsAllowAdvancedLookup (String IsAllowAdvancedLookup)
|
||||||
|
{
|
||||||
|
|
||||||
|
set_Value (COLUMNNAME_IsAllowAdvancedLookup, IsAllowAdvancedLookup);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Allow Advanced Lookup.
|
||||||
|
@return Allow Advanced Lookup */
|
||||||
|
public String getIsAllowAdvancedLookup ()
|
||||||
|
{
|
||||||
|
return (String)get_Value(COLUMNNAME_IsAllowAdvancedLookup);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** IsLookupOnlySelection AD_Reference_ID=319 */
|
||||||
|
public static final int ISLOOKUPONLYSELECTION_AD_Reference_ID=319;
|
||||||
|
/** Yes = Y */
|
||||||
|
public static final String ISLOOKUPONLYSELECTION_Yes = "Y";
|
||||||
|
/** No = N */
|
||||||
|
public static final String ISLOOKUPONLYSELECTION_No = "N";
|
||||||
|
/** Set Lookup Only Selection Columns.
|
||||||
|
@param IsLookupOnlySelection
|
||||||
|
When defined to true Lookup panel will display only selection columns. Default to false.
|
||||||
|
*/
|
||||||
|
public void setIsLookupOnlySelection (String IsLookupOnlySelection)
|
||||||
|
{
|
||||||
|
|
||||||
|
set_Value (COLUMNNAME_IsLookupOnlySelection, IsLookupOnlySelection);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Lookup Only Selection Columns.
|
||||||
|
@return When defined to true Lookup panel will display only selection columns. Default to false.
|
||||||
|
*/
|
||||||
|
public String getIsLookupOnlySelection ()
|
||||||
|
{
|
||||||
|
return (String)get_Value(COLUMNNAME_IsLookupOnlySelection);
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Multi Row Only.
|
/** Set Multi Row Only.
|
||||||
@param IsMultiRowOnly
|
@param IsMultiRowOnly
|
||||||
This applies to Multi-Row view only
|
This applies to Multi-Row view only
|
||||||
|
|
|
@ -727,7 +727,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
m_findCancelled = false;
|
m_findCancelled = false;
|
||||||
m_findCreateNew = false;
|
m_findCreateNew = false;
|
||||||
GridField[] findFields = mTab.getFields();
|
GridField[] findFields = mTab.getFields();
|
||||||
FindWindow findWindow = new FindWindow(curWindowNo,
|
FindWindow findWindow = new FindWindow(curWindowNo, mTab.getTabNo(),
|
||||||
mTab.getName(), mTab.getAD_Table_ID(), mTab.getTableName(),
|
mTab.getName(), mTab.getAD_Table_ID(), mTab.getTableName(),
|
||||||
where.toString(), findFields, 10, mTab.getAD_Tab_ID()); // no query below 10
|
where.toString(), findFields, 10, mTab.getAD_Tab_ID()); // no query below 10
|
||||||
tabFindWindowHashMap.put(mTab, findWindow);
|
tabFindWindowHashMap.put(mTab, findWindow);
|
||||||
|
@ -3626,7 +3626,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
||||||
findWindow = tabFindWindowHashMap.get(adTabbox.getSelectedGridTab());
|
findWindow = tabFindWindowHashMap.get(adTabbox.getSelectedGridTab());
|
||||||
toolbar.setSelectedUserQuery(findWindow.getAD_UserQuery_ID());
|
toolbar.setSelectedUserQuery(findWindow.getAD_UserQuery_ID());
|
||||||
} else {
|
} else {
|
||||||
findWindow = new FindWindow (adTabbox.getSelectedGridTab().getWindowNo(), adTabbox.getSelectedGridTab().getName(),
|
findWindow = new FindWindow (adTabbox.getSelectedGridTab().getWindowNo(), adTabbox.getSelectedGridTab().getTabNo(), adTabbox.getSelectedGridTab().getName(),
|
||||||
adTabbox.getSelectedGridTab().getAD_Table_ID(), adTabbox.getSelectedGridTab().getTableName(),
|
adTabbox.getSelectedGridTab().getAD_Table_ID(), adTabbox.getSelectedGridTab().getTableName(),
|
||||||
adTabbox.getSelectedGridTab().getWhereExtended(), findFields, 1, adTabbox.getSelectedGridTab().getAD_Tab_ID());
|
adTabbox.getSelectedGridTab().getWhereExtended(), findFields, 1, adTabbox.getSelectedGridTab().getAD_Tab_ID());
|
||||||
|
|
||||||
|
|
|
@ -209,7 +209,8 @@ public class ProcessParameterPanel extends Panel implements
|
||||||
+ "p.FieldLength, p.IsMandatory, p.IsRange, p.ColumnName, "
|
+ "p.FieldLength, p.IsMandatory, p.IsRange, p.ColumnName, "
|
||||||
+ "p.DefaultValue, p.DefaultValue2, p.VFormat, p.ValueMin, p.ValueMax, "
|
+ "p.DefaultValue, p.DefaultValue2, p.VFormat, p.ValueMin, p.ValueMax, "
|
||||||
+ "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, "
|
+ "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, "
|
||||||
+ "p.ReadOnlyLogic, p.DisplayLogic, p.IsEncrypted, NULL AS FormatPattern, p.MandatoryLogic, p.Placeholder, p.Placeholder2, p.isAutoComplete "
|
+ "p.ReadOnlyLogic, p.DisplayLogic, p.IsEncrypted, NULL AS FormatPattern, p.MandatoryLogic, p.Placeholder, p.Placeholder2, p.isAutoComplete, "
|
||||||
|
+ "'' AS ValidationCodeLookup "
|
||||||
+ "FROM AD_Process_Para p"
|
+ "FROM AD_Process_Para p"
|
||||||
+ " LEFT OUTER JOIN AD_Val_Rule vr ON (p.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) "
|
+ " LEFT OUTER JOIN AD_Val_Rule vr ON (p.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) "
|
||||||
+ "WHERE p.AD_Process_ID=?" // 1
|
+ "WHERE p.AD_Process_ID=?" // 1
|
||||||
|
@ -220,7 +221,8 @@ public class ProcessParameterPanel extends Panel implements
|
||||||
+ "p.FieldLength, p.IsMandatory, p.IsRange, p.ColumnName, "
|
+ "p.FieldLength, p.IsMandatory, p.IsRange, p.ColumnName, "
|
||||||
+ "p.DefaultValue, p.DefaultValue2, p.VFormat, p.ValueMin, p.ValueMax, "
|
+ "p.DefaultValue, p.DefaultValue2, p.VFormat, p.ValueMin, p.ValueMax, "
|
||||||
+ "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, "
|
+ "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, "
|
||||||
+ "p.ReadOnlyLogic, p.DisplayLogic, p.IsEncrypted, NULL AS FormatPattern,p.MandatoryLogic, t.Placeholder, t.Placeholder2, p.isAutoComplete "
|
+ "p.ReadOnlyLogic, p.DisplayLogic, p.IsEncrypted, NULL AS FormatPattern,p.MandatoryLogic, t.Placeholder, t.Placeholder2, p.isAutoComplete, "
|
||||||
|
+ "'' AS ValidationCodeLookup "
|
||||||
+ "FROM AD_Process_Para p"
|
+ "FROM AD_Process_Para p"
|
||||||
+ " INNER JOIN AD_Process_Para_Trl t ON (p.AD_Process_Para_ID=t.AD_Process_Para_ID)"
|
+ " INNER JOIN AD_Process_Para_Trl t ON (p.AD_Process_Para_ID=t.AD_Process_Para_ID)"
|
||||||
+ " LEFT OUTER JOIN AD_Val_Rule vr ON (p.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) "
|
+ " LEFT OUTER JOIN AD_Val_Rule vr ON (p.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) "
|
||||||
|
|
|
@ -166,6 +166,8 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
private Grid contentSimple;
|
private Grid contentSimple;
|
||||||
/** Target Window No */
|
/** Target Window No */
|
||||||
private int m_targetWindowNo;
|
private int m_targetWindowNo;
|
||||||
|
/** Target Tab No */
|
||||||
|
private int m_targetTabNo;
|
||||||
/** Table ID */
|
/** Table ID */
|
||||||
private int m_AD_Table_ID;
|
private int m_AD_Table_ID;
|
||||||
/** Table Name */
|
/** Table Name */
|
||||||
|
@ -263,11 +265,12 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
* @param minRecords minRecords
|
* @param minRecords minRecords
|
||||||
* @param adTabId
|
* @param adTabId
|
||||||
**/
|
**/
|
||||||
public FindWindow (int targetWindowNo, String title,
|
public FindWindow (int targetWindowNo, int targetTabNo, String title,
|
||||||
int AD_Table_ID, String tableName, String whereExtended,
|
int AD_Table_ID, String tableName, String whereExtended,
|
||||||
GridField[] findFields, int minRecords, int adTabId)
|
GridField[] findFields, int minRecords, int adTabId)
|
||||||
{
|
{
|
||||||
m_targetWindowNo = targetWindowNo;
|
m_targetWindowNo = targetWindowNo;
|
||||||
|
m_targetTabNo = targetTabNo;
|
||||||
m_title = title;
|
m_title = title;
|
||||||
m_AD_Table_ID = AD_Table_ID;
|
m_AD_Table_ID = AD_Table_ID;
|
||||||
m_tableName = tableName;
|
m_tableName = tableName;
|
||||||
|
@ -677,6 +680,14 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
winMain.addTab(tabPanel, Msg.getMsg(Env.getCtx(), "Advanced").replaceAll("&", ""), false, false);
|
winMain.addTab(tabPanel, Msg.getMsg(Env.getCtx(), "Advanced").replaceAll("&", ""), false, false);
|
||||||
initSimple();
|
initSimple();
|
||||||
initAdvanced();
|
initAdvanced();
|
||||||
|
|
||||||
|
if (!(MRole.get(Env.getCtx(), Env.getAD_Role_ID(Env.getCtx())).isAccessAdvanced()
|
||||||
|
|| "Y".equals(Env.getContext(Env.getCtx(), m_targetWindowNo, m_targetTabNo, GridTab.CTX_IsAllowAdvancedLookup))))
|
||||||
|
{
|
||||||
|
winMain.getComponent().getTabpanel(1).getLinkedTab().setDisabled(true);
|
||||||
|
winMain.getComponent().getTabpanel(1).getLinkedTab().setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
/** START DEVCOFFEE **/
|
/** START DEVCOFFEE **/
|
||||||
statusBar.setClass("statusbar");
|
statusBar.setClass("statusbar");
|
||||||
layout.appendChild(statusBar);
|
layout.appendChild(statusBar);
|
||||||
|
@ -711,6 +722,7 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
|
|
||||||
ArrayList<GridField> gridFieldList = new ArrayList<GridField>();
|
ArrayList<GridField> gridFieldList = new ArrayList<GridField>();
|
||||||
ArrayList<GridField> moreFieldList = new ArrayList<GridField>();
|
ArrayList<GridField> moreFieldList = new ArrayList<GridField>();
|
||||||
|
boolean IsLookupOnlySelection = "Y".equals(Env.getContext(Env.getCtx(), m_targetWindowNo, m_targetTabNo, GridTab.CTX_IsLookupOnlySelection));
|
||||||
// Get Info from target Tab
|
// Get Info from target Tab
|
||||||
for (int i = 0; i < m_findFields.length; i++)
|
for (int i = 0; i < m_findFields.length; i++)
|
||||||
{
|
{
|
||||||
|
@ -724,10 +736,13 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
ynvo.IsDisplayed = true;
|
ynvo.IsDisplayed = true;
|
||||||
ynvo.displayType = DisplayType.List;
|
ynvo.displayType = DisplayType.List;
|
||||||
ynvo.AD_Reference_Value_ID = REFERENCE_YESNO;
|
ynvo.AD_Reference_Value_ID = REFERENCE_YESNO;
|
||||||
|
String validationCode = ynvo.ValidationCode;
|
||||||
|
if (ynvo.ValidationCodeLookup != null && !ynvo.ValidationCodeLookup.isEmpty())
|
||||||
|
validationCode = ynvo.ValidationCodeLookup;
|
||||||
|
|
||||||
ynvo.lookupInfo = MLookupFactory.getLookupInfo (ynvo.ctx, ynvo.WindowNo, ynvo.AD_Column_ID, ynvo.displayType,
|
ynvo.lookupInfo = MLookupFactory.getLookupInfo (ynvo.ctx, ynvo.WindowNo, ynvo.AD_Column_ID, ynvo.displayType,
|
||||||
Env.getLanguage(ynvo.ctx), ynvo.ColumnName, ynvo.AD_Reference_Value_ID,
|
Env.getLanguage(ynvo.ctx), ynvo.ColumnName, ynvo.AD_Reference_Value_ID,
|
||||||
ynvo.IsParent, ynvo.ValidationCode);
|
ynvo.IsParent, validationCode);
|
||||||
ynvo.lookupInfo.tabNo = TABNO;
|
ynvo.lookupInfo.tabNo = TABNO;
|
||||||
|
|
||||||
GridField ynfield = new GridField(ynvo);
|
GridField ynfield = new GridField(ynvo);
|
||||||
|
@ -743,10 +758,13 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
GridFieldVO postedvo = vo.clone(m_simpleCtx, vo.WindowNo, vo.TabNo, vo.AD_Window_ID, vo.AD_Tab_ID, vo.tabReadOnly);
|
GridFieldVO postedvo = vo.clone(m_simpleCtx, vo.WindowNo, vo.TabNo, vo.AD_Window_ID, vo.AD_Tab_ID, vo.tabReadOnly);
|
||||||
postedvo.IsDisplayed = true;
|
postedvo.IsDisplayed = true;
|
||||||
postedvo.displayType = DisplayType.List;
|
postedvo.displayType = DisplayType.List;
|
||||||
|
String validationCode = postedvo.ValidationCode;
|
||||||
|
if (postedvo.ValidationCodeLookup != null && !postedvo.ValidationCodeLookup.isEmpty())
|
||||||
|
validationCode = postedvo.ValidationCodeLookup;
|
||||||
|
|
||||||
postedvo.lookupInfo = MLookupFactory.getLookupInfo (postedvo.ctx, postedvo.WindowNo, postedvo.AD_Column_ID, postedvo.displayType,
|
postedvo.lookupInfo = MLookupFactory.getLookupInfo (postedvo.ctx, postedvo.WindowNo, postedvo.AD_Column_ID, postedvo.displayType,
|
||||||
Env.getLanguage(postedvo.ctx), postedvo.ColumnName, postedvo.AD_Reference_Value_ID,
|
Env.getLanguage(postedvo.ctx), postedvo.ColumnName, postedvo.AD_Reference_Value_ID,
|
||||||
postedvo.IsParent, postedvo.ValidationCode);
|
postedvo.IsParent, validationCode);
|
||||||
postedvo.lookupInfo.tabNo = TABNO;
|
postedvo.lookupInfo.tabNo = TABNO;
|
||||||
|
|
||||||
GridField postedfield = new GridField(postedvo);
|
GridField postedfield = new GridField(postedvo);
|
||||||
|
@ -764,17 +782,23 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
MLookup mLookup = (MLookup) lookup;
|
MLookup mLookup = (MLookup) lookup;
|
||||||
mLookup.getLookupInfo().ctx = m_simpleCtx;
|
mLookup.getLookupInfo().ctx = m_simpleCtx;
|
||||||
mLookup.getLookupInfo().tabNo = TABNO;
|
mLookup.getLookupInfo().tabNo = TABNO;
|
||||||
|
if (findField.getVO().ValidationCodeLookup != null && !findField.getVO().ValidationCodeLookup.isEmpty())
|
||||||
|
{
|
||||||
|
mLookup.getLookupInfo().ValidationCode = findField.getVO().ValidationCodeLookup;
|
||||||
|
mLookup.getLookupInfo().IsValidated = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
findField.setGridTab(null);
|
findField.setGridTab(null);
|
||||||
m_findFields[i] = findField;
|
m_findFields[i] = findField;
|
||||||
|
findField.setPlaceholder(null);
|
||||||
mField = findField;
|
mField = findField;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mField.isSelectionColumn()) {
|
if (mField.isSelectionColumn()) {
|
||||||
gridFieldList.add(mField); // isSelectionColumn
|
gridFieldList.add(mField); // isSelectionColumn
|
||||||
} else {
|
} else {
|
||||||
if ((isDisplayed || mField.isVirtualSearchColumn()) && mField.getDisplayType() != DisplayType.Button && !mField.getColumnName().equals("AD_Client_ID"))
|
if (!IsLookupOnlySelection && (isDisplayed || mField.isVirtualSearchColumn()) && mField.getDisplayType() != DisplayType.Button && !mField.getColumnName().equals("AD_Client_ID"))
|
||||||
moreFieldList.add(mField);
|
moreFieldList.add(mField);
|
||||||
}
|
}
|
||||||
} // for all target tab fields
|
} // for all target tab fields
|
||||||
|
@ -1087,6 +1111,10 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
if (field == null || field.isVirtualUIColumn())
|
if (field == null || field.isVirtualUIColumn())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
boolean IsLookupOnlySelection = !MRole.get(Env.getCtx(), Env.getAD_Role_ID(Env.getCtx())).isAccessAdvanced()
|
||||||
|
&& "Y".equals(Env.getContext(Env.getCtx(), m_targetWindowNo, m_targetTabNo, GridTab.CTX_IsLookupOnlySelection));
|
||||||
|
if (IsLookupOnlySelection && !field.isSelectionColumn())
|
||||||
|
continue;
|
||||||
String columnName = field.getColumnName();
|
String columnName = field.getColumnName();
|
||||||
String header = field.getHeader();
|
String header = field.getHeader();
|
||||||
if (header == null || header.length() == 0)
|
if (header == null || header.length() == 0)
|
||||||
|
@ -2181,6 +2209,12 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
||||||
{
|
{
|
||||||
MLookup mLookup = (MLookup) lookup;
|
MLookup mLookup = (MLookup) lookup;
|
||||||
mLookup.getLookupInfo().tabNo = TABNO;
|
mLookup.getLookupInfo().tabNo = TABNO;
|
||||||
|
|
||||||
|
if (findField.getVO().ValidationCodeLookup != null && !findField.getVO().ValidationCodeLookup.isEmpty())
|
||||||
|
{
|
||||||
|
mLookup.getLookupInfo().ValidationCode = findField.getVO().ValidationCodeLookup;
|
||||||
|
mLookup.getLookupInfo().IsValidated = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
editor = WebEditorFactory.getEditor(findField, true);
|
editor = WebEditorFactory.getEditor(findField, true);
|
||||||
findField.addPropertyChangeListener(editor);
|
findField.addPropertyChangeListener(editor);
|
||||||
|
|
|
@ -1420,7 +1420,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
|
||||||
bFind.setVisible(false);
|
bFind.setVisible(false);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
final FindWindow find = new FindWindow(m_WindowNo, title, AD_Table_ID, tableName,m_reportEngine.getWhereExtended(), findFields, 1, AD_Tab_ID);
|
final FindWindow find = new FindWindow(m_WindowNo, 0, title, AD_Table_ID, tableName,m_reportEngine.getWhereExtended(), findFields, 1, AD_Tab_ID);
|
||||||
if (!find.initialize())
|
if (!find.initialize())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue