hg merge release-6.2 (merge release6.2 into default)

This commit is contained in:
Carlos Ruiz 2019-04-21 12:55:49 +02:00
commit 61ffa71f8c
19 changed files with 298 additions and 73 deletions

View File

@ -0,0 +1,15 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
-- Apr 18, 2019, 2:24:04 PM CEST
UPDATE AD_Column SET Callout='org.compiere.model.CalloutGLJournal.period',Updated=TO_DATE('2019-04-18 14:24:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=1619
;
-- Apr 18, 2019, 2:24:15 PM CEST
UPDATE AD_Column SET Callout='org.compiere.model.CalloutGLJournal.period',Updated=TO_DATE('2019-04-18 14:24:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=1643
;
SELECT register_migration_script('201904181424_IDEMPIERE-3874.sql') FROM dual
;

View File

@ -0,0 +1,55 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- sjeffen:
-- 10. apr. 2019 10.52.05 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','For',0,0,'Y',TO_DATE('2019-04-10 10:52:04','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:52:04','YYYY-MM-DD HH24:MI:SS'),100,200492,'For','D','261e6b45-140f-4105-a20a-3b490317d0ec')
;
-- 10. apr. 2019 10.52.42 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','this Client and Organization',0,0,'Y',TO_DATE('2019-04-10 10:52:41','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:52:41','YYYY-MM-DD HH24:MI:SS'),100,200493,'this Client and Organization','D','66aeeecc-fff7-4ff4-86f6-512198a41c93')
;
-- 10. apr. 2019 10.53.07 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','all Organizations of this Client',0,0,'Y',TO_DATE('2019-04-10 10:53:06','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:53:06','YYYY-MM-DD HH24:MI:SS'),100,200494,'all Organizations of this Client','D','ada1981e-3a7a-4b57-801a-b48ee0d970dd')
;
-- 10. apr. 2019 10.53.25 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','entire System',0,0,'Y',TO_DATE('2019-04-10 10:53:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:53:25','YYYY-MM-DD HH24:MI:SS'),100,200495,'entire System','D','6122979d-8153-44e1-bec8-94d989501719')
;
-- 10. apr. 2019 10.53.56 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','this User',0,0,'Y',TO_DATE('2019-04-10 10:53:56','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:53:56','YYYY-MM-DD HH24:MI:SS'),100,200496,'this User','D','e0e648b5-6778-4b08-8208-7ff419acc45f')
;
-- 10. apr. 2019 10.54.21 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','all Users',0,0,'Y',TO_DATE('2019-04-10 10:54:20','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:54:20','YYYY-MM-DD HH24:MI:SS'),100,200497,'all Users','D','e788b1d4-6a75-47f1-b406-3664263753f0')
;
-- 10. apr. 2019 10.54.42 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and this Window',0,0,'Y',TO_DATE('2019-04-10 10:54:42','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:54:42','YYYY-MM-DD HH24:MI:SS'),100,200498,'and this Window','D','62ee5c8d-8e1a-4ddb-9670-4e8b3c38c719')
;
-- 10. apr. 2019 10.55.01 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and all Windows',0,0,'Y',TO_DATE('2019-04-10 10:55:01','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:55:01','YYYY-MM-DD HH24:MI:SS'),100,200499,'and all Windows','D','baa13291-8bbf-4efb-8db5-99a3dcfdc263')
;
-- 10. apr. 2019 10.55.23 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and this Process',0,0,'Y',TO_DATE('2019-04-10 10:55:23','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:55:23','YYYY-MM-DD HH24:MI:SS'),100,200500,'and this Process','D','29a050d6-dea8-436e-9b43-14d6ccd75d89')
;
-- 10. apr. 2019 10.55.47 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and all Process',0,0,'Y',TO_DATE('2019-04-10 10:55:47','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:55:47','YYYY-MM-DD HH24:MI:SS'),100,200501,'and all Process','D','d7da7af7-3d7c-4294-817f-b1bc236c97bd')
;
-- 10. apr. 2019 10.56.08 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and this Info Window',0,0,'Y',TO_DATE('2019-04-10 10:56:08','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:56:08','YYYY-MM-DD HH24:MI:SS'),100,200502,'and this Info Window','D','1ab5c8ba-f285-4ef9-a219-adb77c7fd86b')
;
-- 10. apr. 2019 10.56.25 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and all Info Window',0,0,'Y',TO_DATE('2019-04-10 10:56:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2019-04-10 10:56:25','YYYY-MM-DD HH24:MI:SS'),100,200503,'and all Info Window','D','a122402b-89ad-4694-979a-065aa64fd704')
;
SELECT register_migration_script('201904182132_IDEMPIERE-3950.sql') FROM dual
;

View File

@ -0,0 +1,12 @@
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
-- Apr 18, 2019, 2:24:04 PM CEST
UPDATE AD_Column SET Callout='org.compiere.model.CalloutGLJournal.period',Updated=TO_TIMESTAMP('2019-04-18 14:24:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=1619
;
-- Apr 18, 2019, 2:24:15 PM CEST
UPDATE AD_Column SET Callout='org.compiere.model.CalloutGLJournal.period',Updated=TO_TIMESTAMP('2019-04-18 14:24:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=1643
;
SELECT register_migration_script('201904181424_IDEMPIERE-3874.sql') FROM dual
;

View File

@ -0,0 +1,52 @@
-- sjeffen:
-- 10. apr. 2019 10.52.05 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','For',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:52:04','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:52:04','YYYY-MM-DD HH24:MI:SS'),100,200492,'For','D','261e6b45-140f-4105-a20a-3b490317d0ec')
;
-- 10. apr. 2019 10.52.42 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','this Client and Organization',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:52:41','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:52:41','YYYY-MM-DD HH24:MI:SS'),100,200493,'this Client and Organization','D','66aeeecc-fff7-4ff4-86f6-512198a41c93')
;
-- 10. apr. 2019 10.53.07 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','all Organizations of this Client',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:53:06','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:53:06','YYYY-MM-DD HH24:MI:SS'),100,200494,'all Organizations of this Client','D','ada1981e-3a7a-4b57-801a-b48ee0d970dd')
;
-- 10. apr. 2019 10.53.25 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','entire System',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:53:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:53:25','YYYY-MM-DD HH24:MI:SS'),100,200495,'entire System','D','6122979d-8153-44e1-bec8-94d989501719')
;
-- 10. apr. 2019 10.53.56 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','this User',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:53:56','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:53:56','YYYY-MM-DD HH24:MI:SS'),100,200496,'this User','D','e0e648b5-6778-4b08-8208-7ff419acc45f')
;
-- 10. apr. 2019 10.54.21 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','all Users',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:54:20','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:54:20','YYYY-MM-DD HH24:MI:SS'),100,200497,'all Users','D','e788b1d4-6a75-47f1-b406-3664263753f0')
;
-- 10. apr. 2019 10.54.42 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and this Window',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:54:42','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:54:42','YYYY-MM-DD HH24:MI:SS'),100,200498,'and this Window','D','62ee5c8d-8e1a-4ddb-9670-4e8b3c38c719')
;
-- 10. apr. 2019 10.55.01 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and all Windows',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:55:01','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:55:01','YYYY-MM-DD HH24:MI:SS'),100,200499,'and all Windows','D','baa13291-8bbf-4efb-8db5-99a3dcfdc263')
;
-- 10. apr. 2019 10.55.23 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and this Process',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:55:23','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:55:23','YYYY-MM-DD HH24:MI:SS'),100,200500,'and this Process','D','29a050d6-dea8-436e-9b43-14d6ccd75d89')
;
-- 10. apr. 2019 10.55.47 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and all Process',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:55:47','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:55:47','YYYY-MM-DD HH24:MI:SS'),100,200501,'and all Process','D','d7da7af7-3d7c-4294-817f-b1bc236c97bd')
;
-- 10. apr. 2019 10.56.08 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and this Info Window',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:56:08','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:56:08','YYYY-MM-DD HH24:MI:SS'),100,200502,'and this Info Window','D','1ab5c8ba-f285-4ef9-a219-adb77c7fd86b')
;
-- 10. apr. 2019 10.56.25 CEST
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','and all Info Window',0,0,'Y',TO_TIMESTAMP('2019-04-10 10:56:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2019-04-10 10:56:25','YYYY-MM-DD HH24:MI:SS'),100,200503,'and all Info Window','D','a122402b-89ad-4694-979a-065aa64fd704')
;
SELECT register_migration_script('201904182132_IDEMPIERE-3950.sql') FROM dual
;

View File

@ -53,7 +53,6 @@ public class CalloutGLJournal extends CalloutEngine
if (value == null) if (value == null)
return ""; return "";
int AD_Client_ID = Env.getContextAsInt(ctx, WindowNo, "AD_Client_ID");
Timestamp DateAcct = null; Timestamp DateAcct = null;
if (colName.equals("DateAcct")) if (colName.equals("DateAcct"))
DateAcct = (Timestamp)value; DateAcct = (Timestamp)value;
@ -69,8 +68,8 @@ public class CalloutGLJournal extends CalloutEngine
mTab.setValue("DateAcct", value); mTab.setValue("DateAcct", value);
} }
// When DateAcct is changed, set C_Period_ID // When DateAcct/Org is changed, set C_Period_ID
else if (colName.equals("DateAcct")) else if (colName.equals("DateAcct") || colName.equals("AD_Org_ID"))
{ {
String sql = "SELECT C_Period_ID " String sql = "SELECT C_Period_ID "
+ "FROM C_Period " + "FROM C_Period "
@ -122,16 +121,12 @@ public class CalloutGLJournal extends CalloutEngine
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if (rs.next()) if (rs.next())
{ {
String PeriodType = rs.getString(1);
Timestamp StartDate = rs.getTimestamp(2); Timestamp StartDate = rs.getTimestamp(2);
Timestamp EndDate = rs.getTimestamp(3); Timestamp EndDate = rs.getTimestamp(3);
if (PeriodType.equals("S")) // Standard Periods // out of range - set to last day
{ if (DateAcct == null
// out of range - set to last day || DateAcct.before(StartDate) || DateAcct.after(EndDate))
if (DateAcct == null mTab.setValue("DateAcct", EndDate);
|| DateAcct.before(StartDate) || DateAcct.after(EndDate))
mTab.setValue("DateAcct", EndDate);
}
} }
} }
catch (SQLException e) catch (SQLException e)

View File

@ -322,7 +322,10 @@ public class MJournal extends X_GL_Journal implements DocAction
} }
else if (C_Period_ID != getC_Period_ID()) else if (C_Period_ID != getC_Period_ID())
{ {
setC_Period_ID(C_Period_ID); /* special case when assigning an adjustment period */
MPeriod currentPeriod = MPeriod.get(getCtx(), getC_Period_ID());
if (currentPeriod.isStandardPeriod())
setC_Period_ID(C_Period_ID);
} }
} }

View File

@ -54,7 +54,7 @@ public class MJournalBatch extends X_GL_JournalBatch implements DocAction
/** /**
* *
*/ */
private static final long serialVersionUID = 3424249393848608297L; private static final long serialVersionUID = 5920767495976301905L;
/** /**
* Create new Journal Batch by copying * Create new Journal Batch by copying
@ -954,7 +954,10 @@ public class MJournalBatch extends X_GL_JournalBatch implements DocAction
} }
else if (C_Period_ID != getC_Period_ID()) else if (C_Period_ID != getC_Period_ID())
{ {
setC_Period_ID(C_Period_ID); /* special case when assigning an adjustment period */
MPeriod currentPeriod = MPeriod.get(getCtx(), getC_Period_ID());
if (currentPeriod.isStandardPeriod())
setC_Period_ID(C_Period_ID);
} }
} }

View File

@ -373,6 +373,16 @@ public class MPeriod extends X_C_Period
orgID = po.get_ValueAsInt(idxorg); orgID = po.get_ValueAsInt(idxorg);
} }
if (tableID == MJournal.Table_ID || tableID == MJournalBatch.Table_ID) {
// special case for journal that has direct period
int periodID = po.get_ValueAsInt("C_Period_ID");
MPeriod period = MPeriod.get(ctx, periodID);
boolean open = period.isOpen(docBaseType, dateAcct);
if (!open)
s_log.warning(period.getName() + ": Not open for " + docBaseType + " (" + dateAcct + ")");
return open;
}
return isOpen(ctx, dateAcct, docBaseType, orgID); return isOpen(ctx, dateAcct, docBaseType, orgID);
} // isOpen } // isOpen

View File

@ -32,7 +32,7 @@ public class CLogger extends Logger implements Serializable
/** /**
* *
*/ */
private static final long serialVersionUID = 6492376264463028357L; private static final long serialVersionUID = -4015949992093043663L;
private static final String LAST_INFO = "org.compiere.util.CLogger.lastInfo"; private static final String LAST_INFO = "org.compiere.util.CLogger.lastInfo";
private static final String LAST_WARNING = "org.compiere.util.CLogger.lastWarning"; private static final String LAST_WARNING = "org.compiere.util.CLogger.lastWarning";
private static final String LAST_ERROR = "org.compiere.util.CLogger.lastError"; private static final String LAST_ERROR = "org.compiere.util.CLogger.lastError";

View File

@ -38,7 +38,7 @@ chmod 640 $IDEMPIERE_HOME/data/ExpDat.dmp
echo ------------------------------------- echo -------------------------------------
echo Import ExpDat echo Import ExpDat
echo ------------------------------------- echo -------------------------------------
impdp $1@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME DIRECTORY=ADEMPIERE_DATA_PUMP_DIR DUMPFILE=ExpDat.dmp SCHEMAS=$2 impdp $2/$3@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME DIRECTORY=ADEMPIERE_DATA_PUMP_DIR DUMPFILE=ExpDat.dmp SCHEMAS=$2
echo ------------------------------------- echo -------------------------------------
echo Check System echo Check System

View File

@ -42,7 +42,7 @@ echo -------------------------------------
echo Import Adempiere.dmp echo Import Adempiere.dmp
echo ------------------------------------- echo -------------------------------------
echo "impdp $1@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME DIRECTORY=ADEMPIERE_DATA_PUMP_DIR DUMPFILE=Adempiere.dmp REMAP_SCHEMA=reference:$2" echo "impdp $1@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME DIRECTORY=ADEMPIERE_DATA_PUMP_DIR DUMPFILE=Adempiere.dmp REMAP_SCHEMA=reference:$2"
impdp $1@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME DIRECTORY=ADEMPIERE_DATA_PUMP_DIR DUMPFILE=Adempiere.dmp REMAP_SCHEMA=reference:$2 impdp $2/$3@$ADEMPIERE_DB_SERVER:$ADEMPIERE_DB_PORT/$ADEMPIERE_DB_NAME DIRECTORY=ADEMPIERE_DATA_PUMP_DIR DUMPFILE=Adempiere.dmp REMAP_SCHEMA=reference:$2
echo ------------------------------------- echo -------------------------------------
echo Check System echo Check System

View File

@ -580,7 +580,7 @@ start () {
ITERATIONS=0 ITERATIONS=0
while [ $STATUSTEST -eq 0 ] ; do while [ $STATUSTEST -eq 0 ] ; do
sleep $SLEEPSECONDS sleep $SLEEPSECONDS
tail -n 9 $LOGFILE | grep -q '.*LoggedSessionListener.contextInitialized: context initialized.*' && STATUSTEST=1 cat $LOGFILE | grep -q '.*LoggedSessionListener.contextInitialized: context initialized.*' && STATUSTEST=1
echo -n "." echo -n "."
ITERATIONS=`expr $ITERATIONS + 1` ITERATIONS=`expr $ITERATIONS + 1`
if [ $ITERATIONS -gt $MAXITERATIONS ] if [ $ITERATIONS -gt $MAXITERATIONS ]

View File

@ -2,13 +2,13 @@
# #
### BEGIN INIT INFO ### BEGIN INIT INFO
# Provides: idempiere # Provides: idempiere
# Required-Start: postgresql # Required-Start: postgresql
# Required-Stop: postgresql # Required-Stop: postgresql
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
# Default-Stop: 1 # Default-Stop: 1
# Short-Description: iDempiere 1.0.0 server # Short-Description: iDempiere 1.0.0 server
# Description: Provides iDempiere ERP-CRM Server startup and shutdown script. Requires PostgreSQL server. # Description: Provides iDempiere ERP-CRM Server startup and shutdown script. Requires PostgreSQL server.
# FileTarget: /etc/init.d/idempiere # FileTarget: /etc/init.d/idempiere
# FileOwner: root.root # FileOwner: root.root
# FilePerms: 0755 # FilePerms: 0755
@ -57,7 +57,7 @@ start () {
ITERATIONS=0 ITERATIONS=0
while [ $STATUSTEST -eq 0 ] ; do while [ $STATUSTEST -eq 0 ] ; do
sleep 2 sleep 2
tail -n 9 $LOGFILE | grep -q '.*LoggedSessionListener.contextInitialized: context initialized.*' && STATUSTEST=1 cat $LOGFILE | grep -q '.*LoggedSessionListener.contextInitialized: context initialized.*' && STATUSTEST=1
echo -n "." echo -n "."
ITERATIONS=`expr $ITERATIONS + 1` ITERATIONS=`expr $ITERATIONS + 1`
if [ $ITERATIONS -gt $MAXITERATIONS ] if [ $ITERATIONS -gt $MAXITERATIONS ]

View File

@ -53,7 +53,7 @@ start () {
ITERATIONS=0 ITERATIONS=0
while [ $STATUSTEST -eq 0 ] ; do while [ $STATUSTEST -eq 0 ] ; do
sleep 2 sleep 2
tail -n 9 $LOGFILE | grep -q '.*LoggedSessionListener.contextInitialized: context initialized.*' && STATUSTEST=1 cat $LOGFILE | grep -q '.*LoggedSessionListener.contextInitialized: context initialized.*' && STATUSTEST=1
echo -n "." echo -n "."
ITERATIONS=`expr $ITERATIONS + 1` ITERATIONS=`expr $ITERATIONS + 1`
if [ $ITERATIONS -gt $MAXITERATIONS ] if [ $ITERATIONS -gt $MAXITERATIONS ]

View File

@ -83,7 +83,7 @@ start () {
ITERATIONS=0 ITERATIONS=0
while [ $STATUSTEST -eq 0 ] ; do while [ $STATUSTEST -eq 0 ] ; do
sleep 2 sleep 2
tail -n 9 $LOGFILE | grep -q '.*LoggedSessionListener.contextInitialized: context initialized.*' && STATUSTEST=1 cat $LOGFILE | grep -q '.*LoggedSessionListener.contextInitialized: context initialized.*' && STATUSTEST=1
echo -n "." echo -n "."
ITERATIONS=`expr $ITERATIONS + 1` ITERATIONS=`expr $ITERATIONS + 1`
if [ $ITERATIONS -gt $MAXITERATIONS ] if [ $ITERATIONS -gt $MAXITERATIONS ]

View File

@ -27,6 +27,7 @@ import org.adempiere.webui.component.Button;
import org.adempiere.webui.component.Checkbox; import org.adempiere.webui.component.Checkbox;
import org.adempiere.webui.component.ConfirmPanel; import org.adempiere.webui.component.ConfirmPanel;
import org.adempiere.webui.component.Grid; import org.adempiere.webui.component.Grid;
import org.adempiere.webui.component.GridFactory;
import org.adempiere.webui.component.Label; import org.adempiere.webui.component.Label;
import org.adempiere.webui.component.Panel; import org.adempiere.webui.component.Panel;
import org.adempiere.webui.component.Row; import org.adempiere.webui.component.Row;
@ -53,9 +54,8 @@ import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Div; import org.zkoss.zul.Div;
import org.zkoss.zul.Hlayout; import org.zkoss.zul.Hlayout;
import org.zkoss.zul.Separator;
import org.zkoss.zul.Space; import org.zkoss.zul.Space;
import org.zkoss.zul.Vbox; import org.zkoss.zul.Vlayout;
/** /**
* Maintain Value Preferences. * Maintain Value Preferences.
@ -270,10 +270,12 @@ public class ValuePreference extends Window implements EventListener<Event>
private Grid setLayout = new Grid(); private Grid setLayout = new Grid();
private Label lAttribute = new Label(); private Label lAttribute = new Label();
private Textbox fAttribute = new Textbox(); private Textbox fAttribute = new Textbox();
private Label lAttributeValue = new Label(); private Textbox fAttributeValue = new Textbox();
private Label lValue = new Label(); private Label lValue = new Label();
private Label lValueValue = new Label(); private Label lValueValue = new Label();
private Textbox fValue = new Textbox(); private Textbox fValue = new Textbox();
private Label lidValue = new Label();
private Textbox fidValue = new Textbox();
private Label lSetFor = new Label(); private Label lSetFor = new Label();
private Checkbox cbClient = new Checkbox(); private Checkbox cbClient = new Checkbox();
private Checkbox cbOrg = new Checkbox(); private Checkbox cbOrg = new Checkbox();
@ -297,9 +299,13 @@ public class ValuePreference extends Window implements EventListener<Event>
*/ */
private void init() throws Exception private void init() throws Exception
{ {
// setSclass("popup-dialog");
Vlayout vlayout = new Vlayout();
vlayout.setHflex("1");
this.appendChild(vlayout);
lAttribute.setValue(Msg.translate(m_ctx, "Attribute").replace("&", "")); lAttribute.setValue(Msg.translate(m_ctx, "Attribute").replace("&", ""));
lValue.setValue(Msg.translate(m_ctx, "Value").replace("&", "")); lValue.setValue(Msg.translate(m_ctx, "Value").replace("&", ""));
lidValue.setValue("Id");
lSetFor.setValue(Msg.getMsg(m_ctx, "ValuePreferenceSetFor")); lSetFor.setValue(Msg.getMsg(m_ctx, "ValuePreferenceSetFor"));
cbClient.setLabel(Msg.translate(m_ctx, "AD_Client_ID")); cbClient.setLabel(Msg.translate(m_ctx, "AD_Client_ID"));
cbOrg.setLabel(Msg.translate(m_ctx, "AD_Org_ID")); cbOrg.setLabel(Msg.translate(m_ctx, "AD_Org_ID"));
@ -315,36 +321,46 @@ public class ValuePreference extends Window implements EventListener<Event>
setPanel.appendChild(setLayout); setPanel.appendChild(setLayout);
ZKUpdateUtil.setHflex(setPanel, "1"); ZKUpdateUtil.setHflex(setPanel, "1");
fAttribute.setReadonly(true); fAttribute.setReadonly(true);
fAttributeValue.setReadonly(true);
fValue.setReadonly(true); fValue.setReadonly(true);
Vbox box = new Vbox(); Grid grid = GridFactory.newGridLayout();
ZKUpdateUtil.setWidth(box, "100%"); grid.setStyle("background-image: none;");
ZKUpdateUtil.setHeight(box, "100%"); LayoutUtils.addSclass("dialog-content", grid);
box.setParent(this); vlayout.appendChild(grid);
ZKUpdateUtil.setHflex(box, "1");
box.appendChild(setPanel);
Rows rows = new Rows(); Rows rows = new Rows();
rows.setParent(setLayout); grid.appendChild(rows);
Row row = new Row(); Row row = new Row();
Div div = new Div(); Div div = new Div();
div.setStyle("text-align: right"); div.setStyle("text-align: right");
div.appendChild(lAttribute); div.appendChild(lAttribute);
row.appendCellChild(div, 1); row.appendCellChild(div, 1);
row.appendCellChild(fAttribute, 4); row.appendCellChild(fAttribute, 3);
ZKUpdateUtil.setWidth(fAttribute, "96%"); ZKUpdateUtil.setWidth(fAttribute, "98%");
row.appendCellChild(lAttributeValue, 1); row.appendCellChild(fAttributeValue, 3);
fAttributeValue.setWidth("98%");
rows.appendChild(row); rows.appendChild(row);
row = new Row();
div = new Div();
div.setStyle("text-align: right");
div.appendChild(lidValue);
row.appendCellChild(div, 1);
row.appendCellChild(fidValue, 6);
fidValue.setWidth("99%");
fidValue.setReadonly(true);
rows.appendChild(row);
rows.appendChild(row);
row = new Row(); row = new Row();
div = new Div(); div = new Div();
div.setStyle("text-align: right"); div.setStyle("text-align: right");
div.appendChild(lValue); div.appendChild(lValue);
row.appendCellChild(div, 1); row.appendCellChild(div, 1);
row.appendCellChild(fValue, 4); row.appendCellChild(fValue, 6);
ZKUpdateUtil.setWidth(fValue, "96%"); ZKUpdateUtil.setWidth(fValue, "99%");
row.appendCellChild(lValueValue, 1);
rows.appendChild(row); rows.appendChild(row);
row = new Row(); row = new Row();
@ -357,6 +373,7 @@ public class ValuePreference extends Window implements EventListener<Event>
chlayout.appendChild(cbClient); chlayout.appendChild(cbClient);
chlayout.appendChild(cbOrg); chlayout.appendChild(cbOrg);
chlayout.appendChild(cbUser); chlayout.appendChild(cbUser);
if(isProcessInIW){ if(isProcessInIW){
// in case show process in info window, don't show checkbox window in value preference dialog. // in case show process in info window, don't show checkbox window in value preference dialog.
// must set is checked to save current windowID (dummy) with value preference other it will save null, // must set is checked to save current windowID (dummy) with value preference other it will save null,
@ -382,19 +399,20 @@ public class ValuePreference extends Window implements EventListener<Event>
row.appendCellChild(lExplanation, 5); row.appendCellChild(lExplanation, 5);
rows.appendChild(row); rows.appendChild(row);
// Div footer = new Div();
Separator separator = new Separator(); vlayout.appendChild(footer);
ZKUpdateUtil.setHeight(separator, "10px");
box.appendChild(separator);
box.appendChild(confirmPanel);
this.setBorder("normal");
setLayout.makeNoStrip();
setLayout.setOddRowSclass("even");
if (!ThemeManager.isUseCSSForWindowSize()) { if (!ThemeManager.isUseCSSForWindowSize()) {
ZKUpdateUtil.setWindowWidthX(this, 500); ZKUpdateUtil.setWindowWidthX(this, 500);
} }
else
{
ZKUpdateUtil.setWindowWidthX(this, 740);
}
confirmPanel.setVflex("min");
confirmPanel.setClass("dialog-footer");
footer.appendChild(confirmPanel);
this.setSizable(true); this.setSizable(true);
this.setSclass("value-preference-dialog"); this.setSclass("value-preference-dialog");
} // jbInit } // jbInit
@ -406,12 +424,13 @@ public class ValuePreference extends Window implements EventListener<Event>
{ {
// Set Attribute/Value // Set Attribute/Value
fAttribute.setText(m_DisplayAttribute); fAttribute.setText(m_DisplayAttribute);
lAttributeValue.setValue(m_Attribute); fAttributeValue.setValue(m_Attribute);
fValue.setText(m_DisplayValue); fValue.setText(m_DisplayValue);
fidValue.setText(m_Value);
lValueValue.setValue(m_Value); lValueValue.setValue(m_Value);
if (CLogMgt.isLevelFine()) if (CLogMgt.isLevelFine())
{ {
lAttributeValue.setVisible(false); fAttributeValue.setVisible(false);
lValueValue.setVisible(false); lValueValue.setVisible(false);
} }
@ -484,48 +503,45 @@ public class ValuePreference extends Window implements EventListener<Event>
private void setExplanation() private void setExplanation()
{ {
/** @todo translation */ /** @todo translation */
StringBuilder expl = new StringBuilder("For "); StringBuilder expl = new StringBuilder(Msg.getCleanMsg(Env.getCtx(), "For")).append(" ");
if (cbClient.isChecked() && cbOrg.isChecked() ) if (cbClient.isChecked() && cbOrg.isChecked() )
expl.append("this Client and Organization"); expl.append(Msg.getCleanMsg(Env.getCtx(), "this Client and Organization"));
else if (cbClient.isChecked() && !cbOrg.isChecked()) else if (cbClient.isChecked() && !cbOrg.isChecked())
expl.append("all Organizations of this Client"); expl.append(Msg.getCleanMsg(Env.getCtx(), "all Organizations of this Client"));
else if (!cbClient.isChecked() && cbOrg.isChecked()) else if (!cbClient.isChecked() && cbOrg.isChecked())
{ {
cbOrg.setChecked(false); cbOrg.setChecked(false);
expl.append("entire System"); expl.append(Msg.getCleanMsg(Env.getCtx(), "entire System"));
} }
else else
expl.append("entire System"); expl.append(Msg.getCleanMsg(Env.getCtx(), "entire System"));
// //
if (cbUser.isChecked()) if (cbUser.isChecked())
expl.append(", this User"); expl.append(", " + Msg.getCleanMsg(Env.getCtx(), "this User"));
else else
expl.append(", all Users"); expl.append(", " + Msg.getCleanMsg(Env.getCtx(), "all Users"));
// //
if (cbWindow.isChecked()) if (cbWindow.isChecked())
expl.append(" and this Window"); expl.append(" " + Msg.getCleanMsg(Env.getCtx(), "and this Window"));
else else
expl.append(" and all Windows"); expl.append(" " + Msg.getCleanMsg(Env.getCtx(), "and all Windows"));
// //
if (m_AD_Process_ID_Of_Panel > 0){ if (m_AD_Process_ID_Of_Panel > 0){
if (cbProcess.isChecked()) if (cbProcess.isChecked())
expl.append(" and this Process"); expl.append(" " + Msg.getCleanMsg(Env.getCtx(), "and this Process"));
else else
expl.append(" and all Process"); expl.append(" " + Msg.getCleanMsg(Env.getCtx(), "and all Process"));
} }
// //
if (m_AD_Infowindow_ID > 0){ if (m_AD_Infowindow_ID > 0){
if (cbInfowindow.isChecked()) if (cbInfowindow.isChecked())
expl.append(" and this Info Window"); expl.append(" " + Msg.getCleanMsg(Env.getCtx(),"and this Info Window"));
else else
expl.append(" and all Info Window"); expl.append(" " + Msg.getCleanMsg(Env.getCtx(),"and all Info Window"));
} }
// lExplanation.setValue(expl.toString ());
if (Env.getLanguage(Env.getCtx()).isBaseLanguage())
{
lExplanation.setValue(expl.toString ());
}
} // setExplanation } // setExplanation
/** /**

View File

@ -673,7 +673,7 @@ ContextMenuListener, IZoomableEditor
else if (WEditorPopupMenu.PREFERENCE_EVENT.equals(evt.getContextEvent())) else if (WEditorPopupMenu.PREFERENCE_EVENT.equals(evt.getContextEvent()))
{ {
if (isShowPreference()) if (isShowPreference())
ValuePreference.start (getComponent(), this.getGridField(), getValue()); ValuePreference.start (getComponent(), this.getGridField(), getValue(), getDisplay());
return; return;
} }
else if (WEditorPopupMenu.NEW_EVENT.equals(evt.getContextEvent())) else if (WEditorPopupMenu.NEW_EVENT.equals(evt.getContextEvent()))

View File

@ -134,11 +134,31 @@ public abstract class ADForm extends Window implements EventListener<Event>, IHe
*/ */
public static ADForm openForm (int adFormID) public static ADForm openForm (int adFormID)
{ {
return openForm(adFormID, null); return openForm(adFormID, null, null);
} }
/**
* Open a form base on it's ID
*
* @param adFormID
* @param gridTab
* @return
*/
public static ADForm openForm (int adFormID, GridTab gridTab) public static ADForm openForm (int adFormID, GridTab gridTab)
{ {
return openForm(adFormID, gridTab, null);
}
/**
* Open a form base on it's ID and a Process Info parameters
*
* @param adFormID
* @param gridTab
* @param pi
* @return
*/
public static ADForm openForm (int adFormID, GridTab gridTab, ProcessInfo pi)
{
ADForm form; ADForm form;
MForm mform = new MForm(Env.getCtx(), adFormID, null); MForm mform = new MForm(Env.getCtx(), adFormID, null);
String formName = mform.getClassname(); String formName = mform.getClassname();
@ -156,6 +176,7 @@ public abstract class ADForm extends Window implements EventListener<Event>, IHe
if (form != null) if (form != null)
{ {
form.gridTab = gridTab; form.gridTab = gridTab;
form.setProcessInfo(pi);
form.init(adFormID, name); form.init(adFormID, name);
return form; return form;
} }

View File

@ -2044,6 +2044,49 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
MPInstance instance = new MPInstance(Env.getCtx(), processId, 0); MPInstance instance = new MPInstance(Env.getCtx(), processId, 0);
instance.saveEx(); instance.saveEx();
final int pInstanceID = instance.getAD_PInstance_ID(); final int pInstanceID = instance.getAD_PInstance_ID();
// devCoffee - enable use of special forms from process related with info windows
m_pi.setAD_PInstance_ID(pInstanceID);
int adFormID = m_process.getAD_Form_ID();
if (adFormID != 0 )
{
String title = m_process.getName();
if (title == null || title.length() == 0)
title = m_process.getValue();
// store in T_Selection table selected rows for Execute Process that retrieves from T_Selection in code.
DB.createT_SelectionNew(pInstanceID, getSaveKeys(getInfoColumnIDFromProcess(processId)), null);
ADForm form = ADForm.openForm(adFormID, null, m_pi);
Mode mode = form.getWindowMode();
form.setAttribute(Window.MODE_KEY, form.getWindowMode());
form.setAttribute(Window.INSERT_POSITION_KEY, Window.INSERT_NEXT);
if (mode == Mode.HIGHLIGHTED || mode == Mode.MODAL) {
form.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
@Override
public void onEvent(Event event) throws Exception {
;
}
});
form.doHighlighted();
form.focus();
}
else {
form.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
@Override
public void onEvent(Event event) throws Exception {
updateListSelected();
recordSelectedData.clear();
Clients.response(new AuEcho(InfoPanel.this, "onQueryCallback", null));
onUserQuery();
}
});
SessionManager.getAppDesktop().showWindow(form);
}
return;
}
// Execute Process // Execute Process
m_pi.setAD_PInstance_ID(pInstanceID); m_pi.setAD_PInstance_ID(pInstanceID);
m_pi.setAD_InfoWindow_ID(infoWindow.getAD_InfoWindow_ID()); m_pi.setAD_InfoWindow_ID(infoWindow.getAD_InfoWindow_ID());