📄 mclient.java
字号:
/**
* Get AD_Tree_Account_ID created in setup client info
* @return Account Tree ID
*/
public int getSetup_AD_Tree_Account_ID()
{
return m_AD_Tree_Account_ID;
} // getSetup_AD_Tree_Account_ID
/**
* Is Auto Archive on
* @return true if auto archive
*/
public boolean isAutoArchive()
{
String aa = getAutoArchive();
return aa != null && !aa.equals(AUTOARCHIVE_None);
} // isAutoArchive
/**
* Update Trl Tables automatically?
* @param TableName table name
* @return true if automatically translated
*/
public boolean isAutoUpdateTrl (String TableName)
{
if (super.isMultiLingualDocument())
return false;
if (TableName == null)
return false;
// Not Multi-Lingual Documents - only Doc Related
if (TableName.startsWith("AD"))
return false;
return true;
} // isMultiLingualDocument
/**
* Get Primary Accounting Schema
* @return Acct Schema or null
*/
public MAcctSchema getAcctSchema()
{
if (m_info == null)
m_info = MClientInfo.get (getCtx(), getAD_Client_ID(), get_TrxName());
if (m_info != null)
{
int C_AcctSchema_ID = m_info.getC_AcctSchema1_ID();
if (C_AcctSchema_ID != 0)
return MAcctSchema.get(getCtx(), C_AcctSchema_ID);
}
return null;
} // getMClientInfo
/**
* Save
* @return true if saved
*/
public boolean save ()
{
if (get_ID() == 0 && !m_createNew)
return saveUpdate();
return super.save ();
} // save
/**************************************************************************
* Test EMail
* @return OK or error
*/
public String testEMail()
{
if (getRequestEMail() == null || getRequestEMail().length() == 0)
return "No Request EMail for " + getName();
//
EMail email = createEMail (getRequestEMail(),
"Compiere EMail Test",
"Compiere EMail Test: " + toString());
if (email == null)
return "Could not create EMail: " + getName();
try
{
String msg = email.send();
if (EMail.SENT_OK.equals (msg))
{
log.info("Sent Test EMail to " + getRequestEMail());
return "OK";
}
else
{
log.warning("Could NOT send Test EMail from "
+ getSMTPHost() + ": " + getRequestEMail()
+ " (" + getRequestUser()
+ ") to " + getRequestEMail() + ": " + msg);
return msg;
}
}
catch (Exception ex)
{
log.severe(getName() + " - " + ex.getLocalizedMessage());
return ex.getLocalizedMessage();
}
} // testEMail
/**
* Send EMail from Request User - with trace
* @param AD_User_ID recipient
* @param subject subject
* @param message message
* @param attachment optional attachment
* @return true if sent
*/
public boolean sendEMail (int AD_User_ID,
String subject, String message, File attachment)
{
MUser to = MUser.get(getCtx(), AD_User_ID);
String toEMail = to.getEMail();
if (toEMail == null || toEMail.length() == 0)
{
log.warning("No EMail for recipient: " + to);
return false;
}
EMail email = createEMail(null, to, subject, message);
if (email == null)
return false;
if (attachment != null)
email.addAttachment(attachment);
try
{
return sendEmailNow(null, to, email);
}
catch (Exception ex)
{
log.severe(getName() + " - " + ex.getLocalizedMessage());
return false;
}
} // sendEMail
/**
* Send EMail from Request User - no trace
* @param to recipient email address
* @param subject subject
* @param message message
* @param attachment optional attachment
* @return true if sent
*/
public boolean sendEMail (String to,
String subject, String message, File attachment)
{
EMail email = createEMail(to, subject, message);
if (email == null)
return false;
if (attachment != null)
email.addAttachment(attachment);
try
{
String msg = email.send();
if (EMail.SENT_OK.equals (msg))
{
log.info("Sent EMail " + subject + " to " + to);
return true;
}
else
{
log.warning("Could NOT Send Email: " + subject
+ " to " + to + ": " + msg
+ " (" + getName() + ")");
return false;
}
}
catch (Exception ex)
{
log.severe(getName() + " - " + ex.getLocalizedMessage());
return false;
}
} // sendEMail
/**
* Send EMail from User
* @param from sender
* @param to recipient
* @param subject subject
* @param message message
* @param attachment optional attachment
* @return true if sent
*/
public boolean sendEMail (MUser from, MUser to,
String subject, String message, File attachment)
{
EMail email = createEMail(from, to, subject, message);
if (email == null)
return false;
if (attachment != null)
email.addAttachment(attachment);
InternetAddress emailFrom = email.getFrom();
try
{
return sendEmailNow(from, to, email);
}
catch (Exception ex)
{
log.severe(getName() + " - from " + emailFrom
+ " to " + to + ": " + ex.getLocalizedMessage());
return false;
}
} // sendEMail
/**
* Send Email Now
* @param from optional from user
* @param to to user
* @param email email
* @return true if sent
*/
private boolean sendEmailNow(MUser from, MUser to, EMail email)
{
String msg = email.send();
//
X_AD_UserMail um = new X_AD_UserMail(getCtx(), 0, null);
um.setClientOrg(this);
um.setAD_User_ID(to.getAD_User_ID());
um.setSubject(email.getSubject());
um.setMailText(email.getMessageCRLF());
if (email.isSentOK())
um.setMessageID(email.getMessageID());
else
{
um.setMessageID(email.getSentMsg());
um.setIsDelivered(X_AD_UserMail.ISDELIVERED_No);
}
um.save();
//
if (email.isSentOK())
{
if (from != null)
log.info("Sent Email: " + email.getSubject()
+ " from " + from.getEMail()
+ " to " + to.getEMail());
else
log.info("Sent Email: " + email.getSubject()
+ " to " + to.getEMail());
return true;
}
else
{
if (from != null)
log.warning("Could NOT Send Email: " + email.getSubject()
+ " from " + from.getEMail()
+ " to " + to.getEMail() + ": " + msg
+ " (" + getName() + ")");
else
log.warning("Could NOT Send Email: " + email.getSubject()
+ " to " + to.getEMail() + ": " + msg
+ " (" + getName() + ")");
return false;
}
} // sendEmailNow
/************
* Create EMail from Request User
* @param to recipient
* @param subject sunject
* @param message nessage
* @return EMail
*/
public EMail createEMail (String to,
String subject, String message)
{
if (to == null || to.length() == 0)
{
log.warning("No To");
return null;
}
//
EMail email = null;
if (isServerEMail() && Ini.isClient())
{
Server server = CConnection.get().getServer();
try
{
if (server != null)
{ // See ServerBean
email = server.createEMail(getCtx(), getAD_Client_ID(),
to, subject, message);
}
else
log.log(Level.WARNING, "No AppsServer");
}
catch (RemoteException ex)
{
log.log(Level.SEVERE, getName() + " - AppsServer error", ex);
}
}
if (email == null)
email = new EMail (this,
getRequestEMail(), to,
subject, message);
if (isSmtpAuthorization())
email.createAuthenticator (getRequestUser(), getRequestUserPW());
return email;
} // createEMail
/**
* Create EMail from User
* @param from optional sender
* @param to recipient
* @param subject sunject
* @param message nessage
* @return EMail
*/
public EMail createEMail (MUser from, MUser to,
String subject, String message)
{
if (to == null)
{
log.warning("No To user");
return null;
}
if (to.getEMail() == null || to.getEMail().length() == 0)
{
log.warning("No To address: " + to);
return null;
}
return createEMail (from, to.getEMail(), subject, message);
} // createEMail
/**
* Create EMail from User
* @param from optional sender
* @param to recipient
* @param subject sunject
* @param message nessage
* @return EMail
*/
public EMail createEMail (MUser from, String to,
String subject, String message)
{
if (to == null || to.length() == 0)
{
log.warning("No To address");
return null;
}
// No From - send from Request
if (from == null)
return createEMail (to, subject, message);
// No From details - Error
if (from.getEMail() == null
|| from.getEMailUser() == null || from.getEMailUserPW() == null)
{
log.warning("From EMail incomplete: " + from + " (" + getName() + ")");
return null;
}
//
EMail email = null;
if (isServerEMail() && Ini.isClient())
{
Server server = CConnection.get().getServer();
try
{
if (server != null)
{ // See ServerBean
email = server.createEMail(getCtx(), getAD_Client_ID(),
from.getAD_User_ID(),
to, subject, message);
}
else
log.log(Level.WARNING, "No AppsServer");
}
catch (RemoteException ex)
{
log.log(Level.SEVERE, getName() + " - AppsServer error", ex);
}
}
if (email == null)
email = new EMail (this,
from.getEMail(),
to,
subject,
message);
if (isSmtpAuthorization())
email.createAuthenticator (from.getEMailUser(), from.getEMailUserPW());
return email;
} // createEMail
} // MClient
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -