IDEMPIERE-1973:Info Window - parameters - field Mandatory Logic missing
This commit is contained in:
parent
0a2d49f857
commit
80c39dce09
|
@ -0,0 +1,75 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- May 30, 2014 10:02:41 PM ICT
|
||||||
|
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
|
||||||
|
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (0,'N',0,211273,'N','N','N',0,'N',1,'N','N','N','Y','bf98ee02-ec0f-4279-8577-11b8d267c7a7','Y','IsMandatory','Data entry is required in this column','N','The field must have a value for the record to be saved to the database.','Mandatory','Y',TO_DATE('2014-05-30 22:02:40','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-30 22:02:40','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N',392,20,897)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:02:47 PM ICT
|
||||||
|
ALTER TABLE AD_InfoColumn ADD IsMandatory CHAR(1) DEFAULT 'N' CHECK (IsMandatory IN ('Y','N'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:02:56 PM ICT
|
||||||
|
UPDATE AD_Column SET IsMandatory='Y',Updated=TO_DATE('2014-05-30 22:02:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211273
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:05:01 PM ICT
|
||||||
|
INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',844,0,'N','N',250,'Y',203049,'N','The field must have a value for the record to be saved to the database.','Data entry is required in this column','Mandatory','0a2c4d46-748b-4451-988b-d9f6931ed62d','Y','N',100,0,100,TO_DATE('2014-05-30 22:05:00','YYYY-MM-DD HH24:MI:SS'),'Y','Y',160,1,'N',0,1,1,'N','N',211273,'D',TO_DATE('2014-05-30 22:05:00','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=150, IsDisplayed='Y', XPosition=2, ColumnSpan=2,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203049
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201719
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=7, ColumnSpan=2,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201720
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=180,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201625
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=190,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203048
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=200,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201635
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=210,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201636
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=220,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13603
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=230,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201622
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=240,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201623
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=250,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13597
|
||||||
|
;
|
||||||
|
|
||||||
|
UPDATE ad_infocolumn SET ismandatory = 'N'
|
||||||
|
;
|
||||||
|
|
||||||
|
ALTER TABLE ad_infocolumn ALTER COLUMN ismandatory SET NOT NULL
|
||||||
|
;
|
||||||
|
-- Jun 11, 2014 8:59:36 AM ICT
|
||||||
|
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsQueryCriteria@=Y',Updated=TO_DATE('2014-06-11 08:59:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203049
|
||||||
|
;
|
||||||
|
SELECT register_migration_script('201405301604_IDEMPIERE-1973.sql') FROM dual
|
||||||
|
;
|
|
@ -0,0 +1,71 @@
|
||||||
|
-- May 30, 2014 10:02:41 PM ICT
|
||||||
|
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
|
||||||
|
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (0,'N',0,211273,'N','N','N',0,'N',1,'N','N','N','Y','bf98ee02-ec0f-4279-8577-11b8d267c7a7','Y','IsMandatory','Data entry is required in this column','N','The field must have a value for the record to be saved to the database.','Mandatory','Y',TO_TIMESTAMP('2014-05-30 22:02:40','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-30 22:02:40','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N',392,20,897)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:02:47 PM ICT
|
||||||
|
ALTER TABLE AD_InfoColumn ADD COLUMN IsMandatory CHAR(1) DEFAULT 'N' CHECK (IsMandatory IN ('Y','N'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:02:56 PM ICT
|
||||||
|
UPDATE AD_Column SET IsMandatory='Y',Updated=TO_TIMESTAMP('2014-05-30 22:02:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211273
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:05:01 PM ICT
|
||||||
|
INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',844,0,'N','N',250,'Y',203049,'N','The field must have a value for the record to be saved to the database.','Data entry is required in this column','Mandatory','0a2c4d46-748b-4451-988b-d9f6931ed62d','Y','N',100,0,100,TO_TIMESTAMP('2014-05-30 22:05:00','YYYY-MM-DD HH24:MI:SS'),'Y','Y',160,1,'N',0,1,1,'N','N',211273,'D',TO_TIMESTAMP('2014-05-30 22:05:00','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=150, IsDisplayed='Y', XPosition=2, ColumnSpan=2,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203049
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201719
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=7, ColumnSpan=2,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201720
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=180,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201625
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=190,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203048
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=200,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201635
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201636
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=220,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13603
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=230,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201622
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201623
|
||||||
|
;
|
||||||
|
|
||||||
|
-- May 30, 2014 10:06:40 PM ICT
|
||||||
|
UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13597
|
||||||
|
;
|
||||||
|
|
||||||
|
UPDATE ad_infocolumn SET ismandatory = 'N'
|
||||||
|
;
|
||||||
|
|
||||||
|
ALTER TABLE ad_infocolumn ALTER COLUMN ismandatory SET NOT NULL
|
||||||
|
;
|
||||||
|
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsQueryCriteria@=Y',Updated=TO_TIMESTAMP('2014-06-11 08:59:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203049
|
||||||
|
;
|
||||||
|
SELECT register_migration_script('201405301604_IDEMPIERE-1973.sql') FROM dual
|
||||||
|
;
|
|
@ -309,6 +309,19 @@ public interface I_AD_InfoColumn
|
||||||
*/
|
*/
|
||||||
public boolean isIdentifier();
|
public boolean isIdentifier();
|
||||||
|
|
||||||
|
/** Column name IsMandatory */
|
||||||
|
public static final String COLUMNNAME_IsMandatory = "IsMandatory";
|
||||||
|
|
||||||
|
/** Set Mandatory.
|
||||||
|
* Data entry is required in this column
|
||||||
|
*/
|
||||||
|
public void setIsMandatory (boolean IsMandatory);
|
||||||
|
|
||||||
|
/** Get Mandatory.
|
||||||
|
* Data entry is required in this column
|
||||||
|
*/
|
||||||
|
public boolean isMandatory();
|
||||||
|
|
||||||
/** Column name IsQueryCriteria */
|
/** Column name IsQueryCriteria */
|
||||||
public static final String COLUMNNAME_IsQueryCriteria = "IsQueryCriteria";
|
public static final String COLUMNNAME_IsQueryCriteria = "IsQueryCriteria";
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class X_AD_InfoColumn extends PO implements I_AD_InfoColumn, I_Persistent
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20140529L;
|
private static final long serialVersionUID = 20140530L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_InfoColumn (Properties ctx, int AD_InfoColumn_ID, String trxName)
|
public X_AD_InfoColumn (Properties ctx, int AD_InfoColumn_ID, String trxName)
|
||||||
|
@ -49,6 +49,8 @@ public class X_AD_InfoColumn extends PO implements I_AD_InfoColumn, I_Persistent
|
||||||
setIsDisplayed (true);
|
setIsDisplayed (true);
|
||||||
// Y
|
// Y
|
||||||
setIsIdentifier (false);
|
setIsIdentifier (false);
|
||||||
|
// N
|
||||||
|
setIsMandatory (false);
|
||||||
// N
|
// N
|
||||||
setIsQueryCriteria (false);
|
setIsQueryCriteria (false);
|
||||||
setName (null);
|
setName (null);
|
||||||
|
@ -440,6 +442,30 @@ public class X_AD_InfoColumn extends PO implements I_AD_InfoColumn, I_Persistent
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set Mandatory.
|
||||||
|
@param IsMandatory
|
||||||
|
Data entry is required in this column
|
||||||
|
*/
|
||||||
|
public void setIsMandatory (boolean IsMandatory)
|
||||||
|
{
|
||||||
|
set_Value (COLUMNNAME_IsMandatory, Boolean.valueOf(IsMandatory));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Mandatory.
|
||||||
|
@return Data entry is required in this column
|
||||||
|
*/
|
||||||
|
public boolean isMandatory ()
|
||||||
|
{
|
||||||
|
Object oo = get_Value(COLUMNNAME_IsMandatory);
|
||||||
|
if (oo != null)
|
||||||
|
{
|
||||||
|
if (oo instanceof Boolean)
|
||||||
|
return ((Boolean)oo).booleanValue();
|
||||||
|
return "Y".equals(oo);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Query Criteria.
|
/** Set Query Criteria.
|
||||||
@param IsQueryCriteria
|
@param IsQueryCriteria
|
||||||
The column is also used as a query criteria
|
The column is also used as a query criteria
|
||||||
|
|
|
@ -141,6 +141,8 @@ public class InfoProductWindow extends InfoWindow {
|
||||||
super.createParameterPanel();
|
super.createParameterPanel();
|
||||||
initParameters();
|
initParameters();
|
||||||
dynamicDisplay(null);
|
dynamicDisplay(null);
|
||||||
|
// update display of mandatory field
|
||||||
|
validateParameters();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -369,9 +369,11 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
gridFields = new ArrayList<GridField>();
|
gridFields = new ArrayList<GridField>();
|
||||||
for(MInfoColumn infoColumn : infoColumns) {
|
for(MInfoColumn infoColumn : infoColumns) {
|
||||||
String columnName = infoColumn.getColumnName();
|
String columnName = infoColumn.getColumnName();
|
||||||
|
/*!m_lookup && infoColumn.isMandatory():apply Mandatory only case open as window and only for criteria field*/
|
||||||
|
boolean isMandatory = !m_lookup && infoColumn.isMandatory() && infoColumn.isQueryCriteria();
|
||||||
GridFieldVO vo = GridFieldVO.createParameter(infoContext, p_WindowNo, 0,
|
GridFieldVO vo = GridFieldVO.createParameter(infoContext, p_WindowNo, 0,
|
||||||
columnName, infoColumn.get_Translation("Name"), infoColumn.getAD_Reference_ID(),
|
columnName, infoColumn.get_Translation("Name"), infoColumn.getAD_Reference_ID(),
|
||||||
infoColumn.getAD_Reference_Value_ID(), false, false);
|
infoColumn.getAD_Reference_Value_ID(), isMandatory, false);
|
||||||
if (infoColumn.getAD_Val_Rule_ID() > 0) {
|
if (infoColumn.getAD_Val_Rule_ID() > 0) {
|
||||||
vo.ValidationCode = infoColumn.getAD_Val_Rule().getCode();
|
vo.ValidationCode = infoColumn.getAD_Val_Rule().getCode();
|
||||||
if (vo.lookupInfo != null) {
|
if (vo.lookupInfo != null) {
|
||||||
|
@ -1016,7 +1018,6 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
editor = WebEditorFactory.getEditor(mField, false);
|
editor = WebEditorFactory.getEditor(mField, false);
|
||||||
editor.setMandatory(false);
|
|
||||||
editor.setReadWrite(true);
|
editor.setReadWrite(true);
|
||||||
editor.dynamicDisplay();
|
editor.dynamicDisplay();
|
||||||
editor.addValueChangeListener(this);
|
editor.addValueChangeListener(this);
|
||||||
|
@ -1082,7 +1083,13 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
}
|
}
|
||||||
if (!(fieldEditor instanceof Checkbox))
|
if (!(fieldEditor instanceof Checkbox))
|
||||||
{
|
{
|
||||||
panel.appendChild(label.rightAlign());
|
Div div = new Div();
|
||||||
|
div.setStyle("text-align: right;");
|
||||||
|
div.appendChild(label);
|
||||||
|
if (label.getDecorator() != null){
|
||||||
|
div.appendChild (label.getDecorator());
|
||||||
|
}
|
||||||
|
panel.appendChild(div);
|
||||||
} else {
|
} else {
|
||||||
panel.appendChild(new Space());
|
panel.appendChild(new Space());
|
||||||
}
|
}
|
||||||
|
@ -1225,6 +1232,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void dynamicDisplay(WEditor editor) {
|
protected void dynamicDisplay(WEditor editor) {
|
||||||
|
validateField(editor);
|
||||||
// if attribute set changed (from any value to any value) clear the attribute set instance m_pAttributeWhere
|
// if attribute set changed (from any value to any value) clear the attribute set instance m_pAttributeWhere
|
||||||
boolean asiChanged = false;
|
boolean asiChanged = false;
|
||||||
if (editor != null && editor instanceof WTableDirEditor && editor.getColumnName().equals("M_AttributeSet_ID"))
|
if (editor != null && editor instanceof WTableDirEditor && editor.getColumnName().equals("M_AttributeSet_ID"))
|
||||||
|
@ -1594,4 +1602,51 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
* eval input value of mandatory field, if null show field in red color
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean validateParameters() {
|
||||||
|
boolean isValid = true;
|
||||||
|
|
||||||
|
for (int i = 0; i < editors.size(); i++){
|
||||||
|
WEditor wEditor = (WEditor) editors.get(i);
|
||||||
|
// cancel editor not display
|
||||||
|
if (wEditor == null || !wEditor.isVisible() || wEditor.getGridField() == null){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
isValid = isValid & validateField (wEditor);
|
||||||
|
}
|
||||||
|
|
||||||
|
return isValid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* valid mandatory of a not null, display field
|
||||||
|
* display red color when a mandatory field is not input
|
||||||
|
* @param wEditor
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
protected boolean validateField (WEditor wEditor){
|
||||||
|
if (wEditor == null || !wEditor.isVisible() || wEditor.getGridField() == null){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
GridField validateGrid = wEditor.getGridField();
|
||||||
|
// eval only mandatory field
|
||||||
|
if (validateGrid.isMandatory(true)){
|
||||||
|
// update color of field
|
||||||
|
wEditor.updateLabelStyle();
|
||||||
|
Object data = wEditor.getValue();
|
||||||
|
if (data == null || data.toString().length() == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import org.adempiere.webui.AdempiereWebUI;
|
import org.adempiere.webui.AdempiereWebUI;
|
||||||
import org.adempiere.webui.apps.AEnv;
|
import org.adempiere.webui.apps.AEnv;
|
||||||
import org.adempiere.webui.apps.BusyDialog;
|
import org.adempiere.webui.apps.BusyDialog;
|
||||||
|
@ -1235,10 +1236,20 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
|
||||||
* Call query when user click to query button enter in parameter field
|
* Call query when user click to query button enter in parameter field
|
||||||
*/
|
*/
|
||||||
public void onUserQuery (){
|
public void onUserQuery (){
|
||||||
|
if (validateParameters()){
|
||||||
showBusyDialog();
|
showBusyDialog();
|
||||||
isQueryByUser = true;
|
isQueryByUser = true;
|
||||||
Clients.response(new AuEcho(this, "onQueryCallback", null));
|
Clients.response(new AuEcho(this, "onQueryCallback", null));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* validate parameter before run query
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean validateParameters(){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void preRunProcess (Integer processId){
|
void preRunProcess (Integer processId){
|
||||||
// disable all control button when run process
|
// disable all control button when run process
|
||||||
|
|
Loading…
Reference in New Issue