IDEMPIERE-469 Translation Import not working in zk
This commit is contained in:
parent
f489fc76e2
commit
24e890925d
|
@ -27,6 +27,7 @@ import org.adempiere.webui.component.ListboxFactory;
|
||||||
import org.adempiere.webui.component.Panel;
|
import org.adempiere.webui.component.Panel;
|
||||||
import org.adempiere.webui.component.Row;
|
import org.adempiere.webui.component.Row;
|
||||||
import org.adempiere.webui.component.Rows;
|
import org.adempiere.webui.component.Rows;
|
||||||
|
import org.adempiere.webui.event.DialogEvents;
|
||||||
import org.adempiere.webui.panel.ADForm;
|
import org.adempiere.webui.panel.ADForm;
|
||||||
import org.adempiere.webui.panel.CustomForm;
|
import org.adempiere.webui.panel.CustomForm;
|
||||||
import org.adempiere.webui.panel.IFormController;
|
import org.adempiere.webui.panel.IFormController;
|
||||||
|
@ -43,8 +44,8 @@ import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zk.ui.event.EventListener;
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
import org.zkoss.zul.Borderlayout;
|
import org.zkoss.zul.Borderlayout;
|
||||||
import org.zkoss.zul.Center;
|
import org.zkoss.zul.Center;
|
||||||
import org.zkoss.zul.South;
|
|
||||||
import org.zkoss.zul.Div;
|
import org.zkoss.zul.Div;
|
||||||
|
import org.zkoss.zul.South;
|
||||||
|
|
||||||
public class WTranslationDialog extends TranslationController implements IFormController, EventListener {
|
public class WTranslationDialog extends TranslationController implements IFormController, EventListener {
|
||||||
|
|
||||||
|
@ -91,6 +92,10 @@ public class WTranslationDialog extends TranslationController implements IFormCo
|
||||||
private Label lTable = new Label();
|
private Label lTable = new Label();
|
||||||
private Listbox cbTable = ListboxFactory.newDropdownListbox();
|
private Listbox cbTable = ListboxFactory.newDropdownListbox();
|
||||||
private StatusBarPanel statusBar = new StatusBarPanel();
|
private StatusBarPanel statusBar = new StatusBarPanel();
|
||||||
|
private ValueNamePair m_AD_Table;
|
||||||
|
private int m_AD_Client_ID;
|
||||||
|
private boolean m_imp;
|
||||||
|
private ValueNamePair m_AD_Language;
|
||||||
|
|
||||||
private void zkInit() throws Exception
|
private void zkInit() throws Exception
|
||||||
{
|
{
|
||||||
|
@ -173,8 +178,8 @@ public class WTranslationDialog extends TranslationController implements IFormCo
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ValueNamePair AD_Language = (ValueNamePair)cbLanguage.getSelectedItem().toValueNamePair();
|
m_AD_Language = (ValueNamePair)cbLanguage.getSelectedItem().toValueNamePair();
|
||||||
if (AD_Language == null)
|
if (m_AD_Language == null)
|
||||||
{
|
{
|
||||||
statusBar.setStatusLine(Msg.getMsg(Env.getCtx(), "LanguageSetupError"), true);
|
statusBar.setStatusLine(Msg.getMsg(Env.getCtx(), "LanguageSetupError"), true);
|
||||||
return;
|
return;
|
||||||
|
@ -183,66 +188,75 @@ public class WTranslationDialog extends TranslationController implements IFormCo
|
||||||
if (cbTable.getSelectedIndex() == -1)
|
if (cbTable.getSelectedIndex() == -1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ValueNamePair AD_Table = (ValueNamePair)cbTable.getSelectedItem().toValueNamePair();
|
m_AD_Table = (ValueNamePair)cbTable.getSelectedItem().toValueNamePair();
|
||||||
if (AD_Table == null)
|
if (m_AD_Table == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
boolean imp = (e.getTarget() == bImport);
|
m_imp = (e.getTarget() == bImport);
|
||||||
|
|
||||||
int AD_Client_ID = -1;
|
m_AD_Client_ID = -1;
|
||||||
KeyNamePair AD_Client = null;
|
KeyNamePair AD_Client = null;
|
||||||
if (cbTable.getSelectedIndex() != -1)
|
if (cbTable.getSelectedIndex() != -1)
|
||||||
AD_Client = (KeyNamePair)cbClient.getSelectedItem().toKeyNamePair();
|
AD_Client = (KeyNamePair)cbClient.getSelectedItem().toKeyNamePair();
|
||||||
|
|
||||||
if (AD_Client != null)
|
if (AD_Client != null)
|
||||||
AD_Client_ID = AD_Client.getKey();
|
m_AD_Client_ID = AD_Client.getKey();
|
||||||
|
|
||||||
FolderBrowser directoryDialog = new FolderBrowser(true);
|
final FolderBrowser directoryDialog = new FolderBrowser(true);
|
||||||
String directory = directoryDialog.getPath();
|
directoryDialog.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener<Event>() {
|
||||||
|
@Override
|
||||||
if(directory == null) return;
|
public void onEvent(Event event) throws Exception {
|
||||||
//
|
callImportProcess(directoryDialog.getPath());
|
||||||
statusBar.setStatusLine(directory);
|
|
||||||
|
|
||||||
Translation t = new Translation(Env.getCtx());
|
|
||||||
StringBuilder msg = new StringBuilder(t.validateLanguage(AD_Language.getValue()));
|
|
||||||
if (msg.length() > 0)
|
|
||||||
{
|
|
||||||
FDialog.error(m_WindowNo, form, "LanguageSetupError", msg.toString());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// All Tables
|
|
||||||
if (AD_Table.getValue().equals(""))
|
|
||||||
{
|
|
||||||
msg = new StringBuilder();
|
|
||||||
|
|
||||||
for (int i = 1; i < cbTable.getItemCount(); i++)
|
|
||||||
{
|
|
||||||
AD_Table = (ValueNamePair)cbTable.getItemAtIndex(i).toValueNamePair();
|
|
||||||
// Carlos Ruiz - globalqss - improve output message from translation import process
|
|
||||||
msg.append(AD_Table.getValue()).append(" ").append((imp
|
|
||||||
? t.importTrl (directory, AD_Client_ID, AD_Language.getValue(), AD_Table.getValue())
|
|
||||||
: t.exportTrl (directory, AD_Client_ID, AD_Language.getValue(), AD_Table.getValue()))).append(" ");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(msg == null || msg.length() == 0)
|
private void callImportProcess(String path) {
|
||||||
msg = new StringBuilder((imp ? "Import" : "Export")).append(" Successful. [").append(directory).append("]");
|
String directory = directoryDialog.getPath();
|
||||||
|
|
||||||
statusBar.setStatusLine(msg.toString());
|
if(directory == null) return;
|
||||||
}
|
//
|
||||||
else // single table
|
statusBar.setStatusLine(directory);
|
||||||
{
|
|
||||||
msg = null;
|
|
||||||
msg = new StringBuilder(imp
|
|
||||||
? t.importTrl (directory, AD_Client_ID, AD_Language.getValue(), AD_Table.getValue())
|
|
||||||
: t.exportTrl (directory, AD_Client_ID, AD_Language.getValue(), AD_Table.getValue()));
|
|
||||||
|
|
||||||
if(msg == null || msg.length() == 0)
|
Translation t = new Translation(Env.getCtx());
|
||||||
msg = new StringBuilder(imp ? "Import" : "Export").append(" Successful. [").append(directory).append("]");
|
StringBuilder msg = new StringBuilder(t.validateLanguage(m_AD_Language.getValue()));
|
||||||
|
if (msg.length() > 0)
|
||||||
|
{
|
||||||
|
FDialog.error(m_WindowNo, form, "LanguageSetupError", msg.toString());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
statusBar.setStatusLine(msg.toString());
|
// All Tables
|
||||||
}
|
if (m_AD_Table.getValue().equals(""))
|
||||||
|
{
|
||||||
|
msg = new StringBuilder();
|
||||||
|
|
||||||
|
for (int i = 1; i < cbTable.getItemCount(); i++)
|
||||||
|
{
|
||||||
|
m_AD_Table = (ValueNamePair)cbTable.getItemAtIndex(i).toValueNamePair();
|
||||||
|
// Carlos Ruiz - globalqss - improve output message from translation import process
|
||||||
|
msg.append(m_AD_Table.getValue()).append(" ").append((m_imp
|
||||||
|
? t.importTrl (directory, m_AD_Client_ID, m_AD_Language.getValue(), m_AD_Table.getValue())
|
||||||
|
: t.exportTrl (directory, m_AD_Client_ID, m_AD_Language.getValue(), m_AD_Table.getValue()))).append(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(msg == null || msg.length() == 0)
|
||||||
|
msg = new StringBuilder((m_imp ? "Import" : "Export")).append(" Successful. [").append(directory).append("]");
|
||||||
|
|
||||||
|
statusBar.setStatusLine(msg.toString());
|
||||||
|
}
|
||||||
|
else // single table
|
||||||
|
{
|
||||||
|
msg = null;
|
||||||
|
msg = new StringBuilder(m_imp
|
||||||
|
? t.importTrl (directory, m_AD_Client_ID, m_AD_Language.getValue(), m_AD_Table.getValue())
|
||||||
|
: t.exportTrl (directory, m_AD_Client_ID, m_AD_Language.getValue(), m_AD_Table.getValue()));
|
||||||
|
|
||||||
|
if(msg == null || msg.length() == 0)
|
||||||
|
msg = new StringBuilder(m_imp ? "Import" : "Export").append(" Successful. [").append(directory).append("]");
|
||||||
|
|
||||||
|
statusBar.setStatusLine(msg.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
} // actionPerformed
|
} // actionPerformed
|
||||||
|
|
||||||
public ADForm getForm() {
|
public ADForm getForm() {
|
||||||
|
|
Loading…
Reference in New Issue