IDEMPIERE-82 Modify filename of attachment send by emails

This commit is contained in:
Carlos Ruiz 2012-08-29 20:17:14 -05:00
parent e3ae21da2b
commit f221ba73f1
4 changed files with 25 additions and 5 deletions

View File

@ -23,6 +23,8 @@ import java.io.FileReader;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import org.compiere.util.Util;
@ -418,4 +420,15 @@ public class FileUtil
new FileUtil(directory, filter, action, from, to);
} // main
public static String getTempMailName(String subject, String extension) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String dt = sdf.format(cal.getTime());
String cleanName = subject.replaceAll("[ &/]", "");
String localFile = System.getProperty("java.io.tmpdir")
+ System.getProperty("file.separator") + cleanName + "_" + dt
+ extension;
return localFile;
}
} // FileUtil

View File

@ -24,6 +24,7 @@ import net.sf.jasperreports.view.JRViewer;
import org.compiere.apps.EMailDialog;
import org.compiere.model.MUser;
import org.compiere.tools.FileUtil;
import org.compiere.util.CLogger;
import org.compiere.util.Env;
import org.compiere.util.Msg;
@ -136,7 +137,7 @@ class SendByEmailListener implements ActionListener {
try
{
attachment = File.createTempFile("mail", ".pdf");
attachment = new File(FileUtil.getTempMailName(subject, ".pdf"));
JasperExportManager.exportReportToPdfFile(viewer.getJasperPrint(), attachment.getAbsolutePath());
}
catch (Exception e)

View File

@ -18,6 +18,8 @@
*****************************************************************************/
package org.compiere.print;
import static org.compiere.model.SystemIDs.WINDOW_PRINTFORMAT;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Cursor;
@ -39,6 +41,7 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Properties;
import java.util.logging.Level;
@ -80,7 +83,6 @@ import org.compiere.model.MQuery;
import org.compiere.model.MRole;
import org.compiere.model.MUser;
import org.compiere.model.PrintInfo;
import static org.compiere.model.SystemIDs.*;
import org.compiere.model.X_C_Invoice;
import org.compiere.swing.CButton;
import org.compiere.swing.CCheckBox;
@ -89,6 +91,7 @@ import org.compiere.swing.CFrame;
import org.compiere.swing.CLabel;
import org.compiere.swing.CMenuItem;
import org.compiere.swing.CPanel;
import org.compiere.tools.FileUtil;
import org.compiere.util.CLogMgt;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
@ -99,6 +102,7 @@ import org.compiere.util.Language;
import org.compiere.util.Login;
import org.compiere.util.Msg;
import org.compiere.util.NamePair;
import org.compiere.util.TimeUtil;
import org.compiere.util.ValueNamePair;
/**
@ -911,7 +915,7 @@ public class Viewer extends CFrame
try
{
attachment = File.createTempFile("mail", ".pdf");
attachment = new File(FileUtil.getTempMailName(subject, ".pdf"));
m_reportEngine.getPDF(attachment);
}
catch (Exception e)

View File

@ -16,6 +16,8 @@
*****************************************************************************/
package org.adempiere.webui.window;
import static org.compiere.model.SystemIDs.WINDOW_PRINTFORMAT;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.StringWriter;
@ -57,10 +59,10 @@ import org.compiere.model.MRole;
import org.compiere.model.MSysConfig;
import org.compiere.model.MTable;
import org.compiere.model.MUser;
import static org.compiere.model.SystemIDs.*;
import org.compiere.print.ArchiveEngine;
import org.compiere.print.MPrintFormat;
import org.compiere.print.ReportEngine;
import org.compiere.tools.FileUtil;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
import org.compiere.util.Env;
@ -723,7 +725,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
try
{
attachment = File.createTempFile("mail", ".pdf");
attachment = new File(FileUtil.getTempMailName(subject, ".pdf"));
m_reportEngine.getPDF(attachment);
}
catch (Exception e)