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
|
||||
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
|
||||
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_column c ON f.ad_column_id = c.ad_column_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 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'
|
||||
;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
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
|
||||
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
|
||||
|
@ -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
|
||||
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 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'
|
||||
;
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ CREATE OR REPLACE VIEW AD_TAB_V
|
|||
READONLYLOGIC, DISPLAYLOGIC, AD_COLUMN_ID, AD_PROCESS_ID, ISSORTTAB,
|
||||
ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
||||
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
||||
MAXQUERYRECORDS)
|
||||
MAXQUERYRECORDS, IsAllowAdvancedLookup, IsLookupOnlySelection)
|
||||
AS
|
||||
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,
|
||||
|
@ -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.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_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
|
||||
INNER JOIN AD_Table tbl ON (t.AD_Table_ID = tbl.AD_Table_ID)
|
||||
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,
|
||||
ISSORTTAB, ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
||||
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
||||
MAXQUERYRECORDS)
|
||||
MAXQUERYRECORDS, IsAllowAdvancedLookup, IsLookupOnlySelection)
|
||||
AS
|
||||
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,
|
||||
|
@ -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.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_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
|
||||
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)
|
||||
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.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,
|
||||
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
|
||||
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
|
||||
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_column c ON f.ad_column_id = c.ad_column_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 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'
|
||||
;
|
||||
|
||||
|
|
|
@ -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.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,
|
||||
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
|
||||
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
|
||||
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
|
||||
|
@ -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
|
||||
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 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'
|
||||
;
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ CREATE OR REPLACE VIEW AD_TAB_V
|
|||
READONLYLOGIC, DISPLAYLOGIC, AD_COLUMN_ID, AD_PROCESS_ID, ISSORTTAB,
|
||||
ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
||||
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
||||
MAXQUERYRECORDS)
|
||||
MAXQUERYRECORDS, IsAllowAdvancedLookup, IsLookupOnlySelection)
|
||||
AS
|
||||
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,
|
||||
|
@ -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.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_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
|
||||
INNER JOIN AD_Table tbl ON (t.AD_Table_ID = tbl.AD_Table_ID)
|
||||
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,
|
||||
ISSORTTAB, ISINSERTRECORD, ISADVANCEDTAB, AD_COLUMNSORTORDER_ID, AD_COLUMNSORTYESNO_ID,
|
||||
INCLUDED_TAB_ID, PARENT_COLUMN_ID, AD_Tab_UU, AD_Table_UU, TREEDISPLAYEDON,
|
||||
MAXQUERYRECORDS)
|
||||
MAXQUERYRECORDS, IsAllowAdvancedLookup, IsLookupOnlySelection)
|
||||
AS
|
||||
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,
|
||||
|
@ -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.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_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
|
||||
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)
|
||||
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.
|
||||
|
@ -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.AD_Window_ID, field.m_vo.AD_Tab_ID, field.m_vo.tabReadOnly);
|
||||
field.m_vo.lookupInfo = null;
|
||||
field.m_lookup = null;
|
||||
field.m_propertyChangeListeners = new PropertyChangeSupport(this);
|
||||
return field;
|
||||
} 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
|
||||
|
@ -172,7 +172,8 @@ public class GridFieldVO implements Serializable, Cloneable
|
|||
vo.SeqNo = userDef.getSeqNo();
|
||||
if (userDef.getAD_Val_Rule_ID() > 0)
|
||||
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)
|
||||
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);
|
||||
else if (columnName.equalsIgnoreCase("ValidationCode"))
|
||||
vo.ValidationCode = rs.getString(i);
|
||||
else if (columnName.equalsIgnoreCase("ValidationCodeLookup"))
|
||||
vo.ValidationCodeLookup = rs.getString(i);
|
||||
else if (columnName.equalsIgnoreCase("IsQuickForm"))
|
||||
vo.IsQuickForm = "Y".equals(rs.getString (i));
|
||||
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.ValidationCode = rs.getString("ValidationCode");
|
||||
vo.ValidationCodeLookup = rs.getString("ValidationCodeLookup");
|
||||
vo.ReadOnlyLogic = rs.getString("ReadOnlyLogic");
|
||||
vo.DisplayLogic= rs.getString("DisplayLogic");
|
||||
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;
|
||||
// IDEMPIERE-229 Bug with Process parameter range
|
||||
voT.ValidationCode = voF.ValidationCode;
|
||||
voT.ValidationCodeLookup = voF.ValidationCodeLookup;
|
||||
voT.IsEncryptedField = voF.IsEncryptedField;
|
||||
voT.ReadOnlyLogic = voF.ReadOnlyLogic;
|
||||
voT.DisplayLogic = voF.DisplayLogic;
|
||||
|
@ -729,6 +734,8 @@ public class GridFieldVO implements Serializable, Cloneable
|
|||
|
||||
/** Lookup Validation code */
|
||||
public String ValidationCode = "";
|
||||
/** Lookup Validation code for Find Window */
|
||||
public String ValidationCodeLookup = "";
|
||||
/** Reference Value */
|
||||
public int AD_Reference_Value_ID = 0;
|
||||
|
||||
|
@ -884,6 +891,7 @@ public class GridFieldVO implements Serializable, Cloneable
|
|||
GridFieldVO clone = (GridFieldVO) super.clone();
|
||||
clone.ctx = Env.getCtx();
|
||||
if ( lookupInfo != null) {
|
||||
clone.ValidationCodeLookup = ValidationCodeLookup;
|
||||
clone.lookupInfo = lookupInfo.clone();
|
||||
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";
|
||||
|
||||
|
@ -229,6 +229,8 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
|
|||
public static final String CTX_FindSQL = "_TabInfo_FindSQL";
|
||||
public static final String CTX_SQL = "_TabInfo_SQL";
|
||||
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;
|
||||
|
||||
|
@ -1513,6 +1515,24 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
|
|||
return m_vo.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?
|
||||
* @return true if read only
|
||||
|
|
|
@ -39,10 +39,11 @@ import org.compiere.util.Evaluatee;
|
|||
*/
|
||||
public class GridTabVO implements Evaluatee, Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 9091214632840854495L;
|
||||
private static final long serialVersionUID = 2088372161131336289L;
|
||||
|
||||
/**************************************************************************
|
||||
* Create MTab VO
|
||||
|
@ -225,6 +226,18 @@ public class GridTabVO implements Evaluatee, Serializable
|
|||
if (rs.getString("IsHighVolume").equals("Y"))
|
||||
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");
|
||||
if (vo.CommitWarning == null)
|
||||
vo.CommitWarning = "";
|
||||
|
@ -494,6 +507,10 @@ public class GridTabVO implements Evaluatee, Serializable
|
|||
public boolean IsDeleteable = false;
|
||||
/** Table High Volume */
|
||||
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 */
|
||||
public int AD_Process_ID = 0;
|
||||
/** Process UUID */
|
||||
|
@ -601,6 +618,8 @@ public class GridTabVO implements Evaluatee, Serializable
|
|||
clone.IsSecurityEnabled = IsSecurityEnabled;
|
||||
clone.IsDeleteable = IsDeleteable;
|
||||
clone.IsHighVolume = IsHighVolume;
|
||||
clone.IsLookupOnlySelection = IsLookupOnlySelection;
|
||||
clone.IsAllowAdvancedLookup = IsAllowAdvancedLookup;
|
||||
clone.AD_Process_ID = AD_Process_ID;
|
||||
clone.CommitWarning = CommitWarning;
|
||||
clone.WhereClause = WhereClause;
|
||||
|
@ -613,6 +632,8 @@ public class GridTabVO implements Evaluatee, Serializable
|
|||
clone.ReplicationType = ReplicationType;
|
||||
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_IsLookupOnlySelection, clone.IsLookupOnlySelection);
|
||||
Env.setContext(Ctx, windowNo, clone.TabNo, GridTab.CTX_IsAllowAdvancedLookup, clone.IsAllowAdvancedLookup);
|
||||
|
||||
//
|
||||
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;
|
||||
|
||||
/** 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 */
|
||||
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;
|
||||
|
||||
/** 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 */
|
||||
public static final String COLUMNNAME_ColumnSpan = "ColumnSpan";
|
||||
|
||||
|
@ -522,6 +537,19 @@ public interface I_AD_Field
|
|||
*/
|
||||
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 */
|
||||
public static final String COLUMNNAME_IsToolbarButton = "IsToolbarButton";
|
||||
|
||||
|
|
|
@ -350,6 +350,15 @@ public interface I_AD_Tab
|
|||
*/
|
||||
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 */
|
||||
public static final String COLUMNNAME_IsInfoTab = "IsInfoTab";
|
||||
|
||||
|
@ -376,6 +385,19 @@ public interface I_AD_Tab
|
|||
*/
|
||||
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 */
|
||||
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;
|
||||
|
||||
/** 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 */
|
||||
public static final String COLUMNNAME_ColumnSpan = "ColumnSpan";
|
||||
|
||||
|
|
|
@ -189,6 +189,28 @@ public interface I_AD_UserDef_Tab
|
|||
*/
|
||||
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 */
|
||||
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 */
|
||||
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();
|
||||
}
|
||||
|
||||
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.
|
||||
@param Callout
|
||||
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 */
|
||||
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();
|
||||
}
|
||||
|
||||
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.
|
||||
@param ColumnSpan
|
||||
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;
|
||||
}
|
||||
|
||||
/** 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 */
|
||||
public static final int ISTOOLBARBUTTON_AD_Reference_ID=200099;
|
||||
/** 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 */
|
||||
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;
|
||||
}
|
||||
|
||||
/** 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.
|
||||
@param IsInfoTab
|
||||
This Tab contains accounting information
|
||||
|
@ -578,6 +599,30 @@ public class X_AD_Tab extends PO implements I_AD_Tab, I_Persistent
|
|||
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.
|
||||
@param IsReadOnly
|
||||
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 */
|
||||
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();
|
||||
}
|
||||
|
||||
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.
|
||||
@param ColumnSpan
|
||||
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);
|
||||
}
|
||||
|
||||
/** 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.
|
||||
@param IsMultiRowOnly
|
||||
This applies to Multi-Row view only
|
||||
|
|
|
@ -727,7 +727,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
|||
m_findCancelled = false;
|
||||
m_findCreateNew = false;
|
||||
GridField[] findFields = mTab.getFields();
|
||||
FindWindow findWindow = new FindWindow(curWindowNo,
|
||||
FindWindow findWindow = new FindWindow(curWindowNo, mTab.getTabNo(),
|
||||
mTab.getName(), mTab.getAD_Table_ID(), mTab.getTableName(),
|
||||
where.toString(), findFields, 10, mTab.getAD_Tab_ID()); // no query below 10
|
||||
tabFindWindowHashMap.put(mTab, findWindow);
|
||||
|
@ -3626,7 +3626,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
|
|||
findWindow = tabFindWindowHashMap.get(adTabbox.getSelectedGridTab());
|
||||
toolbar.setSelectedUserQuery(findWindow.getAD_UserQuery_ID());
|
||||
} 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().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.DefaultValue, p.DefaultValue2, p.VFormat, p.ValueMin, p.ValueMax, "
|
||||
+ "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"
|
||||
+ " LEFT OUTER JOIN AD_Val_Rule vr ON (p.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) "
|
||||
+ "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.DefaultValue, p.DefaultValue2, p.VFormat, p.ValueMin, p.ValueMax, "
|
||||
+ "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"
|
||||
+ " 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) "
|
||||
|
|
|
@ -166,6 +166,8 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
|||
private Grid contentSimple;
|
||||
/** Target Window No */
|
||||
private int m_targetWindowNo;
|
||||
/** Target Tab No */
|
||||
private int m_targetTabNo;
|
||||
/** Table ID */
|
||||
private int m_AD_Table_ID;
|
||||
/** Table Name */
|
||||
|
@ -263,11 +265,12 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
|||
* @param minRecords minRecords
|
||||
* @param adTabId
|
||||
**/
|
||||
public FindWindow (int targetWindowNo, String title,
|
||||
public FindWindow (int targetWindowNo, int targetTabNo, String title,
|
||||
int AD_Table_ID, String tableName, String whereExtended,
|
||||
GridField[] findFields, int minRecords, int adTabId)
|
||||
{
|
||||
m_targetWindowNo = targetWindowNo;
|
||||
m_targetTabNo = targetTabNo;
|
||||
m_title = title;
|
||||
m_AD_Table_ID = AD_Table_ID;
|
||||
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);
|
||||
initSimple();
|
||||
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 **/
|
||||
statusBar.setClass("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> moreFieldList = new ArrayList<GridField>();
|
||||
boolean IsLookupOnlySelection = "Y".equals(Env.getContext(Env.getCtx(), m_targetWindowNo, m_targetTabNo, GridTab.CTX_IsLookupOnlySelection));
|
||||
// Get Info from target Tab
|
||||
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.displayType = DisplayType.List;
|
||||
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,
|
||||
Env.getLanguage(ynvo.ctx), ynvo.ColumnName, ynvo.AD_Reference_Value_ID,
|
||||
ynvo.IsParent, ynvo.ValidationCode);
|
||||
ynvo.IsParent, validationCode);
|
||||
ynvo.lookupInfo.tabNo = TABNO;
|
||||
|
||||
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);
|
||||
postedvo.IsDisplayed = true;
|
||||
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,
|
||||
Env.getLanguage(postedvo.ctx), postedvo.ColumnName, postedvo.AD_Reference_Value_ID,
|
||||
postedvo.IsParent, postedvo.ValidationCode);
|
||||
postedvo.IsParent, validationCode);
|
||||
postedvo.lookupInfo.tabNo = TABNO;
|
||||
|
||||
GridField postedfield = new GridField(postedvo);
|
||||
|
@ -764,17 +782,23 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
|||
MLookup mLookup = (MLookup) lookup;
|
||||
mLookup.getLookupInfo().ctx = m_simpleCtx;
|
||||
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);
|
||||
m_findFields[i] = findField;
|
||||
findField.setPlaceholder(null);
|
||||
mField = findField;
|
||||
}
|
||||
|
||||
if (mField.isSelectionColumn()) {
|
||||
gridFieldList.add(mField); // isSelectionColumn
|
||||
} 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);
|
||||
}
|
||||
} // for all target tab fields
|
||||
|
@ -1087,6 +1111,10 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
|||
if (field == null || field.isVirtualUIColumn())
|
||||
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 header = field.getHeader();
|
||||
if (header == null || header.length() == 0)
|
||||
|
@ -2181,6 +2209,12 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
|||
{
|
||||
MLookup mLookup = (MLookup) lookup;
|
||||
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);
|
||||
findField.addPropertyChangeListener(editor);
|
||||
|
|
|
@ -1420,7 +1420,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
|
|||
bFind.setVisible(false);
|
||||
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())
|
||||
return;
|
||||
|
||||
|
|
Loading…
Reference in New Issue