BF [ 1708717 ] Find not working the save if role has query limit
http://sourceforge.net/tracker/index.php?func=detail&aid=1708717&group_id=176962&atid=879332
This commit is contained in:
parent
9152827885
commit
cdf76fb974
|
@ -104,6 +104,8 @@ public final class Find extends CDialog
|
||||||
private GridField[] m_findFields;
|
private GridField[] m_findFields;
|
||||||
/** Resulting query */
|
/** Resulting query */
|
||||||
private MQuery m_query = null;
|
private MQuery m_query = null;
|
||||||
|
/** Is cancel ? */
|
||||||
|
private boolean m_isCancel = false; // teo_sarca [ 1708717 ]
|
||||||
/** Logger */
|
/** Logger */
|
||||||
private static CLogger log = CLogger.getCLogger(Find.class);
|
private static CLogger log = CLogger.getCLogger(Find.class);
|
||||||
|
|
||||||
|
@ -635,7 +637,7 @@ public final class Find extends CDialog
|
||||||
}
|
}
|
||||||
} // editors
|
} // editors
|
||||||
|
|
||||||
|
m_isCancel = false; // teo_sarca [ 1708717 ]
|
||||||
// Test for no records
|
// Test for no records
|
||||||
if (getNoOfRecords(m_query, true) != 0)
|
if (getNoOfRecords(m_query, true) != 0)
|
||||||
dispose();
|
dispose();
|
||||||
|
@ -647,6 +649,7 @@ public final class Find extends CDialog
|
||||||
*/
|
*/
|
||||||
private void cmd_ok_Advanced()
|
private void cmd_ok_Advanced()
|
||||||
{
|
{
|
||||||
|
m_isCancel = false; // teo_sarca [ 1708717 ]
|
||||||
// save pending
|
// save pending
|
||||||
if (bSave.isEnabled())
|
if (bSave.isEnabled())
|
||||||
cmd_save();
|
cmd_save();
|
||||||
|
@ -662,6 +665,7 @@ public final class Find extends CDialog
|
||||||
log.info("");
|
log.info("");
|
||||||
m_query = null;
|
m_query = null;
|
||||||
m_total = 999999;
|
m_total = 999999;
|
||||||
|
m_isCancel = true; // teo_sarca [ 1708717 ]
|
||||||
dispose();
|
dispose();
|
||||||
} // cmd_ok
|
} // cmd_ok
|
||||||
|
|
||||||
|
@ -946,7 +950,7 @@ public final class Find extends CDialog
|
||||||
public MQuery getQuery()
|
public MQuery getQuery()
|
||||||
{
|
{
|
||||||
MRole role = MRole.getDefault();
|
MRole role = MRole.getDefault();
|
||||||
if (role.isQueryMax(getTotalRecords()))
|
if (role.isQueryMax(getTotalRecords()) && !m_isCancel)
|
||||||
{
|
{
|
||||||
m_query = MQuery.getNoRecordQuery (m_tableName, false);
|
m_query = MQuery.getNoRecordQuery (m_tableName, false);
|
||||||
m_total = 0;
|
m_total = 0;
|
||||||
|
@ -970,7 +974,8 @@ public final class Find extends CDialog
|
||||||
* Get the number of records of target tab
|
* Get the number of records of target tab
|
||||||
* @param query where clause for target tab
|
* @param query where clause for target tab
|
||||||
* @param alertZeroRecords show dialog if there are no records
|
* @param alertZeroRecords show dialog if there are no records
|
||||||
* @return number of selected records
|
* @return number of selected records;
|
||||||
|
* if the results are more then allowed this method will return 0
|
||||||
*/
|
*/
|
||||||
private int getNoOfRecords (MQuery query, boolean alertZeroRecords)
|
private int getNoOfRecords (MQuery query, boolean alertZeroRecords)
|
||||||
{
|
{
|
||||||
|
@ -1018,8 +1023,11 @@ public final class Find extends CDialog
|
||||||
ADialog.info(m_targetWindowNo, this, "FindZeroRecords");
|
ADialog.info(m_targetWindowNo, this, "FindZeroRecords");
|
||||||
// More then allowed
|
// More then allowed
|
||||||
else if (query != null && role.isQueryMax(m_total))
|
else if (query != null && role.isQueryMax(m_total))
|
||||||
|
{
|
||||||
ADialog.error(m_targetWindowNo, this, "FindOverMax",
|
ADialog.error(m_targetWindowNo, this, "FindOverMax",
|
||||||
m_total + " > " + role.getMaxQueryRecords());
|
m_total + " > " + role.getMaxQueryRecords());
|
||||||
|
m_total = 0; // return 0 if more then allowed - teo_sarca [ 1708717 ]
|
||||||
|
}
|
||||||
else
|
else
|
||||||
log.config("#" + m_total);
|
log.config("#" + m_total);
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue