hg merge release-2.0 (merge release2 into development)
This commit is contained in:
commit
3ba236ebf4
|
@ -5,3 +5,6 @@ SET DEFINE OFF
|
|||
UPDATE AD_Field SET SeqNo=70, IsDisplayed='Y', XPosition=1,Updated=TO_DATE('2013-11-07 21:30:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=60934
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201311071604_IDEMPIERE-1514.sql') FROM dual
|
||||
;
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
SET SQLBLANKLINES ON
|
||||
SET DEFINE OFF
|
||||
|
||||
-- Nov 15, 2013 7:35:45 PM CET
|
||||
-- IDEMPIERE-1533 Constraint Name shouldn't be copied
|
||||
UPDATE AD_Column SET IsAllowCopy='N',Updated=TO_DATE('2013-11-15 19:35:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210871
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201311151945_IDEMPIERE-1533.sql') FROM dual
|
||||
;
|
|
@ -2,3 +2,6 @@
|
|||
UPDATE AD_Field SET SeqNo=70, IsDisplayed='Y', XPosition=1,Updated=TO_TIMESTAMP('2013-11-07 21:30:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=60934
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201311071604_IDEMPIERE-1514.sql') FROM dual
|
||||
;
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
-- Nov 15, 2013 7:35:45 PM CET
|
||||
-- IDEMPIERE-1533 Constraint Name shouldn't be copied
|
||||
UPDATE AD_Column SET IsAllowCopy='N',Updated=TO_TIMESTAMP('2013-11-15 19:35:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210871
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201311151945_IDEMPIERE-1533.sql') FROM dual
|
||||
;
|
|
@ -74,6 +74,7 @@ public class Callout_AD_Column extends CalloutEngine
|
|||
+ " IsIdentifier, "
|
||||
+ " IsUpdateable, "
|
||||
+ " IsAlwaysUpdateable, "
|
||||
+ " FKConstraintType,"
|
||||
+ " COUNT(*) "
|
||||
+ "FROM AD_Column "
|
||||
+ "WHERE ColumnName = ? "
|
||||
|
@ -86,7 +87,8 @@ public class Callout_AD_Column extends CalloutEngine
|
|||
+ " ReadOnlyLogic, "
|
||||
+ " IsIdentifier, "
|
||||
+ " IsUpdateable, "
|
||||
+ " IsAlwaysUpdateable "
|
||||
+ " IsAlwaysUpdateable, "
|
||||
+ " FKConstraintType "
|
||||
+ "ORDER BY COUNT(*) DESC ";
|
||||
PreparedStatement pstmt = null;
|
||||
ResultSet rs = null;
|
||||
|
@ -109,6 +111,7 @@ public class Callout_AD_Column extends CalloutEngine
|
|||
column.setIsIdentifier("Y".equals(rs.getString(8)));
|
||||
column.setIsUpdateable("Y".equals(rs.getString(9)));
|
||||
column.setIsAlwaysUpdateable("Y".equals(rs.getString(10)));
|
||||
column.setFKConstraintType(rs.getString(11));
|
||||
}
|
||||
}
|
||||
catch (SQLException e)
|
||||
|
|
|
@ -113,7 +113,8 @@ public class CopyOrder extends SvrProcess
|
|||
// Env.setSOTrx(getCtx(), newOrder.isSOTrx());
|
||||
// return "@C_Order_ID@ " + newOrder.getDocumentNo();
|
||||
StringBuilder msgreturn = new StringBuilder().append(dt.getName()).append(": ").append(newOrder.getDocumentNo());
|
||||
return msgreturn.toString();
|
||||
addLog(0, null, null, msgreturn.toString(), newOrder.get_Table_ID(), newOrder.getC_Order_ID());
|
||||
return "@C_Order_ID@ @Created@";
|
||||
} // doIt
|
||||
|
||||
} // CopyOrder
|
|
@ -225,7 +225,7 @@ public class ExpenseAPInvoice extends SvrProcess
|
|||
//
|
||||
m_noInvoices++;
|
||||
addLog(invoice.get_ID(), invoice.getDateInvoiced(),
|
||||
invoice.getGrandTotal(), invoice.getDocumentNo());
|
||||
invoice.getGrandTotal(), invoice.getDocumentNo(), invoice.get_Table_ID(), invoice.getC_Invoice_ID());
|
||||
} // completeInvoice
|
||||
|
||||
} // ExpenseAPInvoice
|
||||
|
|
|
@ -282,7 +282,7 @@ public class ExpenseSOrder extends SvrProcess
|
|||
if (!m_order.save())
|
||||
throw new IllegalStateException("Cannot save Order");
|
||||
m_noOrders++;
|
||||
addLog (m_order.get_ID(), m_order.getDateOrdered(), m_order.getGrandTotal(), m_order.getDocumentNo());
|
||||
addLog (m_order.get_ID(), m_order.getDateOrdered(), m_order.getGrandTotal(), m_order.getDocumentNo(), m_order.get_Table_ID(), m_order.getC_Order_ID());
|
||||
m_order = null;
|
||||
} // completeOrder
|
||||
|
||||
|
|
|
@ -175,7 +175,7 @@ public class RfQCreatePO extends SvrProcess
|
|||
order.setSalesRep_ID(rfq.getSalesRep_ID());
|
||||
order.saveEx();
|
||||
noOrders++;
|
||||
addLog(0, null, null, order.getDocumentNo());
|
||||
addLog(0, null, null, order.getDocumentNo(), order.get_Table_ID(), order.getC_Order_ID());
|
||||
}
|
||||
// For all Qtys
|
||||
MRfQResponseLineQty[] qtys = line.getQtys(false);
|
||||
|
|
|
@ -1344,13 +1344,16 @@ public class MInOut extends X_M_InOut implements DocAction
|
|||
{
|
||||
if (!isReversal())
|
||||
{
|
||||
BigDecimal toDelivered = oLine.getQtyOrdered().subtract(oLine.getQtyDelivered());
|
||||
if (sLine.getMovementQty().compareTo(toDelivered) > 0)
|
||||
overReceipt = sLine.getMovementQty().subtract(toDelivered);
|
||||
if (overReceipt.signum() != 0)
|
||||
if (oLine != null)
|
||||
{
|
||||
sLine.setQtyOverReceipt(overReceipt);
|
||||
sLine.saveEx();
|
||||
BigDecimal toDelivered = oLine.getQtyOrdered().subtract(oLine.getQtyDelivered());
|
||||
if (sLine.getMovementQty().compareTo(toDelivered) > 0)
|
||||
overReceipt = sLine.getMovementQty().subtract(toDelivered);
|
||||
if (overReceipt.signum() != 0)
|
||||
{
|
||||
sLine.setQtyOverReceipt(overReceipt);
|
||||
sLine.saveEx();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -25,6 +25,7 @@ import org.compiere.util.DisplayType;
|
|||
import org.compiere.util.Env;
|
||||
import org.compiere.util.KeyNamePair;
|
||||
import org.compiere.util.Language;
|
||||
import org.compiere.util.Msg;
|
||||
import org.compiere.util.NamePair;
|
||||
|
||||
/**
|
||||
|
@ -191,9 +192,15 @@ public class PrintDataElement implements Serializable
|
|||
{
|
||||
if (DisplayType.isNumeric(m_displayType)) {
|
||||
retValue = DisplayType.getNumberFormat(m_displayType, language, m_formatPattern).format(m_value);
|
||||
}
|
||||
else if (DisplayType.isDate(m_displayType))
|
||||
} else if (DisplayType.isDate(m_displayType)) {
|
||||
retValue = DisplayType.getDateFormat(m_displayType, language, m_formatPattern).format(m_value);
|
||||
} else if (m_value instanceof Boolean) {
|
||||
if (m_value.toString().equals("true")) {
|
||||
retValue = Msg.getMsg(Env.getCtx(), "Yes");
|
||||
} else if (m_value.toString().equals("false")) {
|
||||
retValue = Msg.getMsg(Env.getCtx(), "No");
|
||||
}
|
||||
}
|
||||
}
|
||||
return retValue;
|
||||
} // getValueDisplay
|
||||
|
|
|
@ -28,50 +28,51 @@ public class SetupRes_da extends ListResourceBundle
|
|||
{
|
||||
/** Translation Info */
|
||||
static final Object[][] contents = new String[][]{
|
||||
{ "AdempiereServerSetup", "iDempiere: Opsætning af server" },
|
||||
{ "AdempiereServerSetup", "iDempiere: Ops\u00e6tning af Server" },
|
||||
{ "Ok", "OK" },
|
||||
{ "File", "Fil" },
|
||||
{ "Exit", "Afslut" },
|
||||
{ "Help", "Hjælp" },
|
||||
{ "PleaseCheck", "Kontrollér" },
|
||||
{ "UnableToConnect", "Kan ikke hente hjælp fra Adempieres web-sted" },
|
||||
{ "Help", "Hj\u00e6lp" },
|
||||
{ "PleaseCheck", "Kontroller" },
|
||||
{ "UnableToConnect", "Kan ikke hente hj\u00e6lp fra iDempieres web-sted" },
|
||||
|
||||
{ "AdempiereHomeInfo", "iDempiere Home er hovedmappen" },
|
||||
{ "AdempiereHome", "iDempiere Home" },
|
||||
{ "WebPortInfo", "Web (HTML)-port" },
|
||||
{ "WebPort", "Web-port" },
|
||||
{ "AppsServerInfo", "Programserverens navn" },
|
||||
{ "AppsServer", "Prog.-server" },
|
||||
{ "DatabaseTypeInfo", "Databasetype" },
|
||||
{ "DatabaseType", "Databasetype" },
|
||||
{ "DatabaseNameInfo", "Databasenavn " },
|
||||
{ "DatabaseName", "Databasenavn (SID)" },
|
||||
{ "WebPortInfo", "Web (HTML) Port" },
|
||||
{ "WebPort", "Program Server" },
|
||||
{ "AppsServerInfo", "Program Serverens Navn" },
|
||||
{ "AppsServer", "Program Server" },
|
||||
{ "DbExists", "Database Er Oprettet" },
|
||||
{ "DatabaseTypeInfo", "Database Type" },
|
||||
{ "DatabaseType", "Database Type" },
|
||||
{ "DatabaseNameInfo", "Database Navn " },
|
||||
{ "DatabaseName", "Database Navn (SID)" },
|
||||
{ "DatabasePortInfo", "Database Listener Port" },
|
||||
{ "DatabasePort", "Databaseport" },
|
||||
{ "DatabaseUserInfo", "Database: Bruger-ID til Adempiere" },
|
||||
{ "DatabaseUser", "Database: Bruger" },
|
||||
{ "DatabasePasswordInfo", "Database: Brugeradgangskode til Adempiere" },
|
||||
{ "DatabasePassword", "Database: Adgangskode" },
|
||||
{ "DatabasePort", "Database Port" },
|
||||
{ "DatabaseUserInfo", "Database Bruger-ID til iDempiere" },
|
||||
{ "DatabaseUser", "Database Bruger" },
|
||||
{ "DatabasePasswordInfo", "Database Brugeradgangskode til iDempiere" },
|
||||
{ "DatabasePassword", "Database Adgangskode" },
|
||||
{ "TNSNameInfo", "TNS eller Global Database Name" },
|
||||
{ "TNSName", "TNS-navn" },
|
||||
{ "TNSName", "TNS Navn" },
|
||||
{ "SystemPasswordInfo", "System: Brugeradgangskode" },
|
||||
{ "SystemPassword", "System-adgangskode" },
|
||||
{ "MailServerInfo", "Mail-server" },
|
||||
{ "MailServer", "Mail-server" },
|
||||
{ "AdminEMailInfo", "Adempiere: Administrators e-mail" },
|
||||
{ "SystemPassword", "System Adgangskode" },
|
||||
{ "MailServerInfo", "Mail Server" },
|
||||
{ "MailServer", "Mail Server" },
|
||||
{ "AdminEMailInfo", "iDempiere: Administrators e-mail" },
|
||||
{ "AdminEMail", "Admin. e-mail" },
|
||||
{ "DatabaseServerInfo", "Databaseservers navn" },
|
||||
{ "DatabaseServer", "Databaseserver" },
|
||||
{ "DatabaseServerInfo", "Database Servers Navn" },
|
||||
{ "DatabaseServer", "Database Server" },
|
||||
{ "JavaHomeInfo", "Java Home-mappe" },
|
||||
{ "JavaHome", "Java Home" },
|
||||
{ "JNPPortInfo", "Programservers JNP-port" },
|
||||
{ "JNPPortInfo", "Programs Srvers JNP-port" },
|
||||
{ "JNPPort", "JNP-port" },
|
||||
{ "MailUserInfo", "Adempiere: Mail-bruger" },
|
||||
{ "MailUser", "Mail: Bruger" },
|
||||
{ "MailPasswordInfo", "Adempiere: Brugeradgangskode til mail" },
|
||||
{ "MailUserInfo", "iDempiere: Mail Bruger" },
|
||||
{ "MailUser", "Mail Bruger" },
|
||||
{ "MailPasswordInfo", "iDempiere: Bruger Adgangskode til mail" },
|
||||
{ "MailPassword", "Adgangskode til mail" },
|
||||
{ "KeyStorePassword", "Key Store Password" },
|
||||
{ "KeyStorePasswordInfo", "Password for SSL Key Store" },
|
||||
{ "KeyStorePassword", "Key Store Adgangskode" },
|
||||
{ "KeyStorePasswordInfo", "Key Store Adgangskode" },
|
||||
//
|
||||
{ "JavaType", "Java VM"},
|
||||
{ "JavaTypeInfo", "Java VM Vendor"},
|
||||
|
@ -81,15 +82,15 @@ public class SetupRes_da extends ListResourceBundle
|
|||
{ "DeployDirInfo", "J2EE Deployment Directory"},
|
||||
{ "ErrorDeployDir", "Error Deployment Directory"},
|
||||
//
|
||||
{ "TestInfo", "Afprøv opsætning" },
|
||||
{ "Test", "Afprøv" },
|
||||
{ "SaveInfo", "Gem opsætning" },
|
||||
{ "TestInfo", "Afpr\u00f8v ops\u00e6tning" },
|
||||
{ "Test", "Afpr\u00f8v" },
|
||||
{ "SaveInfo", "Gem ops\u00e6tning" },
|
||||
{ "Save", "Gem" },
|
||||
{ "HelpInfo", "Hjælp" },
|
||||
{ "HelpInfo", "Hj\u00e6lp" },
|
||||
|
||||
{ "ServerError", "Fejl: Serverops<EFBFBD>tning" },
|
||||
{ "ServerError", "Fejl: Serverops\u00e6tning" },
|
||||
{ "ErrorJavaHome", "Fejl: Java Home" },
|
||||
{ "ErrorAdempiereHome", "Fejl: iDempiere Home" },
|
||||
{ "ErrorAdempiereHome", "Fejl: iDempiere Home" },
|
||||
{ "ErrorAppsServer", "Fejl: Prog.-server" },
|
||||
{ "ErrorWebPort", "Fejl: Web-port" },
|
||||
{ "ErrorJNPPort", "Fejl: JNP-port" },
|
||||
|
@ -101,7 +102,7 @@ public class SetupRes_da extends ListResourceBundle
|
|||
{ "ErrorMail", "Fejl: Mail" },
|
||||
{ "ErrorSave", "Fejl: Swing-fil" },
|
||||
|
||||
{ "EnvironmentSaved", "Miljøet er gemt\nGenstart serveren." },
|
||||
{ "EnvironmentSaved", "Milj\u00f8et er gemt. Genstart serveren." },
|
||||
{ "RMIoverHTTP", "Tunnel Objects via HTTP" },
|
||||
{ "RMIoverHTTPInfo", "RMI over HTTP allows to go through firewalls" }
|
||||
};
|
||||
|
|
|
@ -65,6 +65,19 @@ public class SessionContextListener implements ExecutionInit,
|
|||
Session session = exec.getDesktop().getSession();
|
||||
Properties ctx = (Properties)session.getAttribute(SESSION_CTX);
|
||||
HttpSession httpSession = (HttpSession)session.getNativeSession();
|
||||
//create empty context if there's no valid native session
|
||||
if (httpSession == null)
|
||||
{
|
||||
ctx = new Properties();
|
||||
ctx.put(ServerContextURLHandler.SERVER_CONTEXT_URL_HANDLER, new ServerContextURLHandler() {
|
||||
public void showURL(String url) {
|
||||
SessionManager.getAppDesktop().showURL(url, true);
|
||||
}
|
||||
});
|
||||
ServerContext.setCurrentInstance(ctx);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ctx != null)
|
||||
{
|
||||
//verify ctx
|
||||
|
@ -283,7 +296,7 @@ public class SessionContextListener implements ExecutionInit,
|
|||
HttpSession httpSession = (HttpSession)session.getNativeSession();
|
||||
//verify ctx
|
||||
String cacheId = ctx.getProperty(SERVLET_SESSION_ID);
|
||||
if (cacheId == null || !cacheId.equals(httpSession.getId()) )
|
||||
if (cacheId == null || httpSession == null || !cacheId.equals(httpSession.getId()) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -18,6 +18,8 @@ import java.sql.PreparedStatement;
|
|||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -61,13 +63,11 @@ import org.zkoss.zul.Vlayout;
|
|||
* @author hengsin
|
||||
*/
|
||||
public class WGadgets extends Window implements EventListener<Event>{
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 3652943562286386813L;
|
||||
|
||||
|
||||
private static final long serialVersionUID = -4466888491090717617L;
|
||||
|
||||
// UI variables
|
||||
protected Label noLabel = new Label();
|
||||
protected Label yesLabel = new Label();
|
||||
|
@ -320,8 +320,17 @@ public class WGadgets extends Window implements EventListener<Event>{
|
|||
else
|
||||
noItems.add(content);
|
||||
}
|
||||
|
||||
Collections.sort(yesItems, new DashboardNameComparator());
|
||||
Collections.sort(noItems, new DashboardNameComparator());
|
||||
}
|
||||
|
||||
class DashboardNameComparator implements Comparator<MDashboardContent> {
|
||||
public int compare(MDashboardContent dc1, MDashboardContent dc2) {
|
||||
return dc1.get_Translation("Name").compareTo(dc2.get_Translation("Name"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param event
|
||||
*/
|
||||
|
@ -422,9 +431,9 @@ public class WGadgets extends Window implements EventListener<Event>{
|
|||
yesModel.removeAllElements();
|
||||
for (int i=0 ; i < yesItems.size() ; i++) {
|
||||
int ID= yesItems.get(i).get_ID();
|
||||
String name = yesItems.get(i).getName();
|
||||
String name = yesItems.get(i).get_Translation("Name");
|
||||
yesList.addItem(new KeyNamePair(ID, name));
|
||||
yesModel.addElement(new ListElement(ID, name, yesItems.get(i).getName(), true, yesItems.get(i).getAD_Client_ID(), yesItems.get(i).getAD_Org_ID()));
|
||||
yesModel.addElement(new ListElement(ID, name, yesItems.get(i).get_Translation("Name"), true, yesItems.get(i).getAD_Client_ID(), yesItems.get(i).getAD_Org_ID()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -432,9 +441,9 @@ public class WGadgets extends Window implements EventListener<Event>{
|
|||
noModel.removeAllElements();
|
||||
for (int i=0 ; i < noItems.size() ; i++) {
|
||||
int ID= noItems.get(i).get_ID();
|
||||
String name = noItems.get(i).getName();
|
||||
String name = noItems.get(i).get_Translation("Name");
|
||||
noList.addItem(new KeyNamePair(ID, name));
|
||||
noModel.add(i,new ListElement(ID, name, noItems.get(i).getName(), false, noItems.get(i).getAD_Client_ID(), noItems.get(i).getAD_Org_ID()));
|
||||
noModel.add(i,new ListElement(ID, name, noItems.get(i).get_Translation("Name"), false, noItems.get(i).getAD_Client_ID(), noItems.get(i).getAD_Org_ID()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue