IDEMPIERE-187 Support developer to generate migration script from webui

http://jira.idempiere.com/browse/IDEMPIERE-187
This commit is contained in:
Carlos Ruiz 2012-03-14 21:49:10 -05:00
parent 7367d59ef7
commit 3687d3f778
3 changed files with 71 additions and 5 deletions

View File

@ -39,6 +39,7 @@ import org.compiere.db.Database;
import org.compiere.model.MSysConfig;
import org.compiere.util.CLogger;
import org.compiere.util.DisplayType;
import org.compiere.util.Env;
import org.compiere.util.Ini;
/**
@ -435,7 +436,13 @@ public abstract class Convert
public static void logMigrationScript(String oraStatement, String pgStatement) {
// Check AdempiereSys
// check property Log migration script
boolean logMigrationScript = Ini.isPropertyBool(Ini.P_LOGMIGRATIONSCRIPT);
boolean logMigrationScript = false;
if (Ini.isClient()) {
logMigrationScript = Ini.isPropertyBool(Ini.P_LOGMIGRATIONSCRIPT);
} else {
String sysProperty = Env.getCtx().getProperty("LogMigrationScript", "N");
logMigrationScript = "y".equalsIgnoreCase(sysProperty) || "true".equalsIgnoreCase(sysProperty);
}
if (logMigrationScript) {
if (dontLog(oraStatement))
return;

View File

@ -88,7 +88,17 @@ public class MSequence extends X_AD_Sequence
int retValue = -1;
// Check AdempiereSys
boolean adempiereSys = Ini.isPropertyBool(Ini.P_ADEMPIERESYS);
boolean adempiereSys = false;
if (Ini.isClient())
{
adempiereSys = Ini.isPropertyBool(Ini.P_ADEMPIERESYS);
}
else
{
String sysProperty = Env.getCtx().getProperty("AdempiereSys", "N");
adempiereSys = "y".equalsIgnoreCase(sysProperty) || "true".equalsIgnoreCase(sysProperty);
}
if (adempiereSys && AD_Client_ID > 11)
adempiereSys = false;
//
@ -398,7 +408,16 @@ public class MSequence extends X_AD_Sequence
throw new IllegalArgumentException("TableName missing");
// Check AdempiereSys
boolean adempiereSys = Ini.isPropertyBool(Ini.P_ADEMPIERESYS);
boolean adempiereSys = false;
if (Ini.isClient())
{
adempiereSys = Ini.isPropertyBool(Ini.P_ADEMPIERESYS);
}
else
{
String sysProperty = Env.getCtx().getProperty("AdempiereSys", "N");
adempiereSys = "y".equalsIgnoreCase(sysProperty) || "true".equalsIgnoreCase(sysProperty);
}
if (adempiereSys && AD_Client_ID > 11)
adempiereSys = false;
//
@ -704,7 +723,16 @@ public class MSequence extends X_AD_Sequence
}
// Check AdempiereSys
boolean adempiereSys = Ini.isPropertyBool(Ini.P_ADEMPIERESYS);
boolean adempiereSys = false;
if (Ini.isClient())
{
adempiereSys = Ini.isPropertyBool(Ini.P_ADEMPIERESYS);
}
else
{
String sysProperty = Env.getCtx().getProperty("AdempiereSys", "N");
adempiereSys = "y".equalsIgnoreCase(sysProperty) || "true".equalsIgnoreCase(sysProperty);
}
if (CLogMgt.isLevel(LOGLEVEL))
s_log.log(LOGLEVEL, "DocType_ID=" + C_DocType_ID + " [" + trxName + "]");

View File

@ -37,11 +37,16 @@ import org.zkoss.zul.Space;
*
*/
public class WPreference extends Popup implements EventListener {
/**
*
*/
private static final long serialVersionUID = -8223456746437563389L;
private static final long serialVersionUID = 7163067116469715021L;
private WYesNoEditor autoCommit;
private WYesNoEditor autoNew;
private WYesNoEditor tabCollapsible;
private WYesNoEditor adempiereSys;
private WYesNoEditor logMigrationScript;
private Listbox tabPlacement;
public WPreference() {
@ -88,6 +93,26 @@ public class WPreference extends Popup implements EventListener {
div.appendChild(tabPlacement);
this.appendChild(div);
if (Env.getAD_Client_ID(Env.getCtx()) <= 20 && Env.getAD_User_ID(Env.getCtx()) <= 102) {
adempiereSys = new WYesNoEditor("AdempiereSys", Msg.getMsg(Env.getCtx(), "AdempiereSys", true),
null, false, false, true);
adempiereSys.getComponent().setTooltiptext(Msg.getMsg(Env.getCtx(), "AdempiereSys", false));
div = new Div();
div.setStyle("background-color: transparent !important; border: none; margin: 5px;");
div.appendChild(adempiereSys.getComponent());
this.appendChild(div);
adempiereSys.setValue(Env.getCtx().getProperty("AdempiereSys"));
logMigrationScript = new WYesNoEditor("LogMigrationScript", Msg.getMsg(Env.getCtx(), "LogMigrationScript", true),
null, false, false, true);
logMigrationScript.getComponent().setTooltiptext(Msg.getMsg(Env.getCtx(), "LogMigrationScript", false));
div = new Div();
div.setStyle("background-color: transparent !important; border: none; margin: 5px;");
div.appendChild(logMigrationScript.getComponent());
this.appendChild(div);
logMigrationScript.setValue(Env.getCtx().getProperty("LogMigrationScript"));
}
Separator separator = new Separator();
separator.setSpacing("20px");
div = new Div();
@ -134,6 +159,12 @@ public class WPreference extends Popup implements EventListener {
//update context
Env.setAutoCommit(Env.getCtx(), "y".equalsIgnoreCase(preference.getProperty(UserPreference.P_AUTO_COMMIT)));
Env.setAutoNew(Env.getCtx(), "y".equalsIgnoreCase(preference.getProperty(UserPreference.P_AUTO_NEW)));
// Log Migration Script and AdempiereSys are just in-memory preferences, must not be saved
if (logMigrationScript != null)
Env.getCtx().setProperty("LogMigrationScript", (Boolean)logMigrationScript.getValue() ? "Y" : "N");
if (adempiereSys != null)
Env.getCtx().setProperty("AdempiereSys", (Boolean)adempiereSys.getValue() ? "Y" : "N");
this.detach();
}