use of org.compiere.model.MStore in project adempiere by adempiere.
the class EMailTest method doIt.
// prepare
/**
* Process - Test EMail
* @return info
*/
protected String doIt() throws Exception {
MClient client = MClient.get(getCtx(), p_AD_Client_ID);
log.info(client.toString());
// Test Client Mail
String clientTest = client.testEMail();
addLog(0, null, null, client.getName() + ": " + clientTest);
// Test Client DocumentDir
if (!Ini.isClient()) {
String documentDir = client.getDocumentDir();
if (documentDir == null || documentDir.length() == 0)
documentDir = ".";
File file = new File(documentDir);
if (file.exists() && file.isDirectory())
addLog(0, null, null, "Found Directory: " + client.getDocumentDir());
else
addLog(0, null, null, "Not Found Directory: " + client.getDocumentDir());
}
MStore[] wstores = MStore.getOfClient(client);
for (int i = 0; i < wstores.length; i++) {
MStore store = wstores[i];
String test = store.testEMail();
addLog(0, null, null, store.getName() + ": " + test);
}
return clientTest;
}
use of org.compiere.model.MStore in project adempiere by adempiere.
the class WebUtil method sendEMail.
// deleteCookieWebUser
/**************************************************************************
* Send EMail
* @param request request
* @param to web user
* @param msgType see MMailMsg.MAILMSGTYPE_*
* @param parameter object array with parameters
* @return mail EMail.SENT_OK or error message
*/
public static String sendEMail(HttpServletRequest request, WebUser to, String msgType, Object[] parameter) {
WebSessionCtx wsc = WebSessionCtx.get(request);
MStore wStore = wsc.wstore;
MMailMsg mailMsg = wStore.getMailMsg(msgType);
//
StringBuffer subject = new StringBuffer(mailMsg.getSubject());
if (parameter.length > 0 && parameter[0] != null)
subject.append(parameter[0]);
//
StringBuffer message = new StringBuffer();
String hdr = wStore.getEMailFooter();
if (hdr != null && hdr.length() > 0)
message.append(hdr).append("\n");
message.append(mailMsg.getMessage());
if (parameter.length > 1 && parameter[1] != null)
message.append(parameter[1]);
if (mailMsg.getMessage2() != null) {
message.append("\n").append(mailMsg.getMessage2());
if (parameter.length > 2 && parameter[2] != null)
message.append(parameter[2]);
}
if (mailMsg.getMessage3() != null) {
message.append("\n").append(mailMsg.getMessage3());
if (parameter.length > 3 && parameter[3] != null)
message.append(parameter[3]);
}
message.append(MRequest.SEPARATOR).append("http://").append(request.getServerName()).append(request.getContextPath()).append("/ - ").append(wStore.getName()).append("\n").append("Request from: ").append(getFrom(request)).append("\n");
String ftr = wStore.getEMailFooter();
if (ftr != null && ftr.length() > 0)
message.append(ftr);
// Create Mail
EMail email = wStore.createEMail(to.getEmail(), subject.toString(), message.toString());
// CC Order
if (msgType.equals(MMailMsg.MAILMSGTYPE_OrderAcknowledgement)) {
String orderEMail = wStore.getWebOrderEMail();
String storeEMail = wStore.getWStoreEMail();
if (orderEMail != null && orderEMail.length() > 0 && // already Bcc
!orderEMail.equals(storeEMail))
email.addBcc(orderEMail);
}
// Send
String retValue = email.send();
// Log
MUserMail um = new MUserMail(mailMsg, to.getAD_User_ID(), email);
um.saveEx();
//
return retValue;
}
use of org.compiere.model.MStore in project adempiere by adempiere.
the class AdempiereMonitor method createLogMgtPage.
// createSummaryPage
/**
* Add Log Management to page
* @param bb body
*/
private void createLogMgtPage(body bb) {
bb.addElement(new hr());
// Ini Parameters
table table = new table();
table.setBorder(1);
table.setCellSpacing(2);
table.setCellPadding(2);
//
Properties ctx = new Properties();
MSystem system = MSystem.get(ctx);
tr line = new tr();
line.addElement(new th().addElement(system.getDBAddress()));
line.addElement(new td().addElement(Ini.getAdempiereHome()));
table.addElement(line);
// OS + Name
line = new tr();
String info = System.getProperty("os.name") + " " + System.getProperty("os.version");
String s = System.getProperty("sun.os.patch.level");
if (s != null && s.length() > 0)
info += " (" + s + ")";
line.addElement(new th().addElement(info));
info = system.getName();
if (system.getCustomPrefix() != null)
info += " (" + system.getCustomPrefix() + ")";
line.addElement(new td().addElement(info));
table.addElement(line);
// Java + email
line = new tr();
info = System.getProperty("java.vm.name") + " " + System.getProperty("java.vm.version");
line.addElement(new th().addElement(info));
line.addElement(new td().addElement(system.getUserName()));
table.addElement(line);
// DB + Instance
line = new tr();
CConnection cc = CConnection.get();
AdempiereDatabase db = cc.getDatabase();
info = db.getDescription();
line.addElement(new th().addElement(info));
line.addElement(new td().addElement(cc.getConnectionURL()));
// line.addElement(new td().addElement(system.getDBInstance()));
table.addElement(line);
// Processors/Support
line = new tr();
line.addElement(new th().addElement("Processor/Support"));
line.addElement(new td().addElement(system.getNoProcessors() + "/" + system.getSupportUnits()));
table.addElement(line);
// Memory
line = new tr();
MemoryMXBean memory = ManagementFactory.getMemoryMXBean();
line.addElement(new th().addElement("VM Memory"));
line.addElement(new td().addElement(new CMemoryUsage(memory.getNonHeapMemoryUsage()).toString()));
table.addElement(line);
line = new tr();
line.addElement(new th().addElement("Heap Memory"));
line.addElement(new td().addElement(new CMemoryUsage(memory.getHeapMemoryUsage()).toString()));
table.addElement(line);
// Runtime
line = new tr();
RuntimeMXBean rt = ManagementFactory.getRuntimeMXBean();
line.addElement(new th().addElement("Runtime " + rt.getName()));
line.addElement(new td().addElement(TimeUtil.formatElapsed(rt.getUptime())));
table.addElement(line);
// Threads
line = new tr();
ThreadMXBean th = ManagementFactory.getThreadMXBean();
line.addElement(new th().addElement("Threads " + th.getThreadCount()));
line.addElement(new td().addElement("Peak=" + th.getPeakThreadCount() + ", Demons=" + th.getDaemonThreadCount() + ", Total=" + th.getTotalStartedThreadCount()));
table.addElement(line);
//Transactions
Trx[] trxs = Trx.getActiveTransactions();
for (Trx trx : trxs) {
if (trx != null && trx.isActive()) {
line = new tr();
line.addElement(new th().addElement("Active Transaction "));
line.addElement(new td().addElement("Name=" + trx.getTrxName() + ", StartTime=" + trx.getStartTime()));
table.addElement(line);
}
}
// Cache Reset
line = new tr();
line.addElement(new th().addElement(CacheMgt.get().toStringX()));
line.addElement(new td().addElement(new a("adempiereMonitor?CacheReset=Yes", "Reset Cache")));
table.addElement(line);
// Trace Level
line = new tr();
line.addElement(new th().addElement(new label("TraceLevel").addElement("Trace Log Level")));
form myForm = new form("adempiereMonitor", form.METHOD_POST, form.ENC_DEFAULT);
// LogLevel Selection
option[] options = new option[CLogMgt.LEVELS.length];
for (int i = 0; i < options.length; i++) {
options[i] = new option(CLogMgt.LEVELS[i].getName());
options[i].addElement(CLogMgt.LEVELS[i].getName());
if (CLogMgt.LEVELS[i] == CLogMgt.getLevel())
options[i].setSelected(true);
}
select sel = new select("TraceLevel", options);
myForm.addElement(sel);
myForm.addElement(new input(input.TYPE_SUBMIT, "Set", "Set"));
line.addElement(new td().addElement(myForm));
table.addElement(line);
//
line = new tr();
CLogFile fileHandler = CLogFile.get(true, null, false);
line.addElement(new th().addElement("Trace File"));
line.addElement(new td().addElement(new a("adempiereMonitor?Trace=" + fileHandler.getFileName(), "Current")));
table.addElement(line);
//
line = new tr();
line.addElement(new td().addElement(new a("adempiereMonitor?Trace=ROTATE", "Rotate Trace Log")));
line.addElement(new td().addElement(new a("adempiereMonitor?Trace=DELETE", "Delete all Trace Logs")));
table.addElement(line);
//
bb.addElement(table);
// List Log Files
p p = new p();
p.addElement(new b("All Log Files: "));
// All in dir
File logDir = fileHandler.getLogDirectory();
if (logDir != null && logDir.isDirectory()) {
File[] logs = logDir.listFiles();
for (int i = 0; i < logs.length; i++) {
// Skip if is not a file - teo_sarca [ 1726066 ]
if (!logs[i].isFile())
continue;
if (i != 0)
p.addElement(" - ");
String fileName = logs[i].getAbsolutePath();
a link = new a("adempiereMonitor?Trace=" + fileName, fileName);
p.addElement(link);
int size = (int) (logs[i].length() / 1024);
if (size < 1024)
p.addElement(" (" + size + "k)");
else
p.addElement(" (" + size / 1024 + "M)");
}
}
bb.addElement(p);
// Clients and Web Stores
table = new table();
table.setBorder(1);
table.setCellSpacing(2);
table.setCellPadding(2);
//
line = new tr();
MClient[] clients = MClient.getAll(ctx);
line.addElement(new th().addElement("Client #" + clients.length + " - EMail Test:"));
p = new p();
for (int i = 0; i < clients.length; i++) {
MClient client = clients[i];
if (i > 0)
p.addElement(" - ");
p.addElement(new a("adempiereMonitor?EMail=" + client.getAD_Client_ID(), client.getName()));
}
if (clients.length == 0)
p.addElement(" ");
line.addElement(new td().addElement(p));
table.addElement(line);
//
line = new tr();
MStore[] wstores = MStore.getActive();
line.addElement(new th().addElement("Active Web Stores #" + wstores.length));
p = new p();
for (int i = 0; i < wstores.length; i++) {
MStore store = wstores[i];
if (i > 0)
p.addElement(" - ");
a a = new a(store.getWebContext(), store.getName());
a.setTarget("t" + i);
p.addElement(a);
}
if (wstores.length == 0)
p.addElement(" ");
line.addElement(new td().addElement(p));
table.addElement(line);
//
bb.addElement(table);
}
use of org.compiere.model.MStore in project adempiere by adempiere.
the class SendMailText method sendInterestArea.
// doIt
/**
* Send to InterestArea
*/
private void sendInterestArea() {
log.info("R_InterestArea_ID=" + m_R_InterestArea_ID);
m_ia = MInterestArea.get(getCtx(), m_R_InterestArea_ID);
String unsubscribe = null;
if (m_ia.isSelfService()) {
unsubscribe = "\n\n---------.----------.----------.----------.----------.----------\n" + Msg.getElement(getCtx(), "R_InterestArea_ID") + ": " + m_ia.getName() + "\n" + Msg.getMsg(getCtx(), "UnsubscribeInfo") + "\n";
MStore[] wstores = MStore.getOfClient(m_client);
int index = 0;
for (int i = 0; i < wstores.length; i++) {
if (wstores[i].isDefault()) {
index = i;
break;
}
}
if (wstores.length > 0)
unsubscribe += wstores[index].getWebContext(true);
}
//
String sql = "SELECT u.Name, u.EMail, u.AD_User_ID " + "FROM R_ContactInterest ci" + " INNER JOIN AD_User u ON (ci.AD_User_ID=u.AD_User_ID) " + "WHERE ci.IsActive='Y' AND u.IsActive='Y'" + " AND ci.OptOutDate IS NULL" + " AND u.EMail IS NOT NULL" + " AND ci.R_InterestArea_ID=?";
PreparedStatement pstmt = null;
try {
pstmt = DB.prepareStatement(sql, get_TrxName());
pstmt.setInt(1, m_R_InterestArea_ID);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
Boolean ok = sendIndividualMail(rs.getString(1), rs.getInt(3), unsubscribe);
if (ok == null)
;
else if (ok.booleanValue())
m_counter++;
else
m_errors++;
}
rs.close();
pstmt.close();
pstmt = null;
} catch (SQLException ex) {
log.log(Level.SEVERE, sql, ex);
}
// Clean Up
try {
if (pstmt != null)
pstmt.close();
} catch (SQLException ex1) {
}
pstmt = null;
m_ia = null;
}
use of org.compiere.model.MStore in project adempiere by adempiere.
the class MobileUtil method sendEMail.
// deleteCookieWebUser
/**************************************************************************
* Send EMail
* @param request request
* @param to web user
* @param msgType see MMailMsg.MAILMSGTYPE_*
* @param parameter object array with parameters
* @return mail EMail.SENT_OK or error message
*/
public static String sendEMail(HttpServletRequest request, WebUser to, String msgType, Object[] parameter) {
MobileSessionCtx wsc = MobileSessionCtx.get(request);
MStore wStore = wsc.wstore;
MMailMsg mailMsg = wStore.getMailMsg(msgType);
//
StringBuffer subject = new StringBuffer(mailMsg.getSubject());
if (parameter.length > 0 && parameter[0] != null)
subject.append(parameter[0]);
//
StringBuffer message = new StringBuffer();
String hdr = wStore.getEMailFooter();
if (hdr != null && hdr.length() > 0)
message.append(hdr).append("\n");
message.append(mailMsg.getMessage());
if (parameter.length > 1 && parameter[1] != null)
message.append(parameter[1]);
if (mailMsg.getMessage2() != null) {
message.append("\n").append(mailMsg.getMessage2());
if (parameter.length > 2 && parameter[2] != null)
message.append(parameter[2]);
}
if (mailMsg.getMessage3() != null) {
message.append("\n").append(mailMsg.getMessage3());
if (parameter.length > 3 && parameter[3] != null)
message.append(parameter[3]);
}
message.append(MRequest.SEPARATOR).append("http://").append(request.getServerName()).append(request.getContextPath()).append("/ - ").append(wStore.getName()).append("\n").append("Request from: ").append(getFrom(request)).append("\n");
String ftr = wStore.getEMailFooter();
if (ftr != null && ftr.length() > 0)
message.append(ftr);
// Create Mail
EMail email = wStore.createEMail(to.getEmail(), subject.toString(), message.toString());
// CC Order
if (msgType.equals(MMailMsg.MAILMSGTYPE_OrderAcknowledgement)) {
String orderEMail = wStore.getWebOrderEMail();
String storeEMail = wStore.getWStoreEMail();
if (orderEMail != null && orderEMail.length() > 0 && // already Bcc
!orderEMail.equals(storeEMail))
email.addBcc(orderEMail);
}
// Send
String retValue = email.send();
// Log
MUserMail um = new MUserMail(mailMsg, to.getAD_User_ID(), email);
um.saveEx();
//
return retValue;
}
Aggregations