Search in sources :

Example 1 with MStore

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;
}
Also used : MStore(org.compiere.model.MStore) File(java.io.File) MClient(org.compiere.model.MClient)

Example 2 with MStore

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;
}
Also used : MUserMail(org.compiere.model.MUserMail) MMailMsg(org.compiere.model.MMailMsg) MStore(org.compiere.model.MStore)

Example 3 with MStore

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("&nbsp;");
    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("&nbsp;");
    line.addElement(new td().addElement(p));
    table.addElement(line);
    //
    bb.addElement(table);
}
Also used : org.apache.ecs.xhtml.select(org.apache.ecs.xhtml.select) org.apache.ecs.xhtml.hr(org.apache.ecs.xhtml.hr) Properties(java.util.Properties) MClient(org.compiere.model.MClient) MemoryMXBean(java.lang.management.MemoryMXBean) Trx(org.compiere.util.Trx) MSystem(org.compiere.model.MSystem) org.apache.ecs.xhtml.table(org.apache.ecs.xhtml.table) ThreadMXBean(java.lang.management.ThreadMXBean) org.apache.ecs.xhtml.a(org.apache.ecs.xhtml.a) CLogFile(org.compiere.util.CLogFile) org.apache.ecs.xhtml.b(org.apache.ecs.xhtml.b) RuntimeMXBean(java.lang.management.RuntimeMXBean) org.apache.ecs.xhtml.label(org.apache.ecs.xhtml.label) org.apache.ecs.xhtml.td(org.apache.ecs.xhtml.td) CConnection(org.compiere.db.CConnection) org.apache.ecs.xhtml.p(org.apache.ecs.xhtml.p) Timestamp(java.sql.Timestamp) org.apache.ecs.xhtml.input(org.apache.ecs.xhtml.input) AdempiereDatabase(org.compiere.db.AdempiereDatabase) org.apache.ecs.xhtml.th(org.apache.ecs.xhtml.th) org.apache.ecs.xhtml.form(org.apache.ecs.xhtml.form) CMemoryUsage(org.compiere.util.CMemoryUsage) MStore(org.compiere.model.MStore) CLogFile(org.compiere.util.CLogFile) File(java.io.File) org.apache.ecs.xhtml.tr(org.apache.ecs.xhtml.tr) org.apache.ecs.xhtml.option(org.apache.ecs.xhtml.option)

Example 4 with MStore

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;
}
Also used : SQLException(java.sql.SQLException) ResultSet(java.sql.ResultSet) MStore(org.compiere.model.MStore) PreparedStatement(java.sql.PreparedStatement)

Example 5 with MStore

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;
}
Also used : MUserMail(org.compiere.model.MUserMail) MMailMsg(org.compiere.model.MMailMsg) MStore(org.compiere.model.MStore) EMail(org.compiere.util.EMail)

Aggregations

MStore (org.compiere.model.MStore)5 File (java.io.File)2 MClient (org.compiere.model.MClient)2 MMailMsg (org.compiere.model.MMailMsg)2 MUserMail (org.compiere.model.MUserMail)2 MemoryMXBean (java.lang.management.MemoryMXBean)1 RuntimeMXBean (java.lang.management.RuntimeMXBean)1 ThreadMXBean (java.lang.management.ThreadMXBean)1 PreparedStatement (java.sql.PreparedStatement)1 ResultSet (java.sql.ResultSet)1 SQLException (java.sql.SQLException)1 Timestamp (java.sql.Timestamp)1 Properties (java.util.Properties)1 org.apache.ecs.xhtml.a (org.apache.ecs.xhtml.a)1 org.apache.ecs.xhtml.b (org.apache.ecs.xhtml.b)1 org.apache.ecs.xhtml.form (org.apache.ecs.xhtml.form)1 org.apache.ecs.xhtml.hr (org.apache.ecs.xhtml.hr)1 org.apache.ecs.xhtml.input (org.apache.ecs.xhtml.input)1 org.apache.ecs.xhtml.label (org.apache.ecs.xhtml.label)1 org.apache.ecs.xhtml.option (org.apache.ecs.xhtml.option)1