List of usage examples for com.liferay.portal.kernel.util PropsKeys ANNOUNCEMENTS_EMAIL_FROM_NAME
String ANNOUNCEMENTS_EMAIL_FROM_NAME
To view the source code for com.liferay.portal.kernel.util PropsKeys ANNOUNCEMENTS_EMAIL_FROM_NAME.
Click Source Link
From source file:com.liferay.portlet.announcements.service.impl.AnnouncementsEntryLocalServiceImpl.java
License:Open Source License
protected void notifyUsers(AnnouncementsEntry entry) throws PortalException, SystemException { Company company = companyPersistence.findByPrimaryKey(entry.getCompanyId()); String className = entry.getClassName(); long classPK = entry.getClassPK(); String fromName = PrefsPropsUtil.getStringFromNames(entry.getCompanyId(), PropsKeys.ANNOUNCEMENTS_EMAIL_FROM_NAME, PropsKeys.ADMIN_EMAIL_FROM_NAME); String fromAddress = PrefsPropsUtil.getStringFromNames(entry.getCompanyId(), PropsKeys.ANNOUNCEMENTS_EMAIL_FROM_ADDRESS, PropsKeys.ADMIN_EMAIL_FROM_ADDRESS); String toName = PropsValues.ANNOUNCEMENTS_EMAIL_TO_NAME; String toAddress = PropsValues.ANNOUNCEMENTS_EMAIL_TO_ADDRESS; LinkedHashMap<String, Object> params = new LinkedHashMap<String, Object>(); params.put("announcementsDeliveryEmailOrSms", entry.getType()); if (classPK > 0) { if (className.equals(Group.class.getName())) { Group group = groupPersistence.findByPrimaryKey(classPK); toName = group.getName();/* ww w .j av a 2 s .c om*/ params.put("usersGroups", classPK); } else if (className.equals(Organization.class.getName())) { Organization organization = organizationPersistence.findByPrimaryKey(classPK); toName = organization.getName(); params.put("usersOrgs", classPK); } else if (className.equals(Role.class.getName())) { Role role = rolePersistence.findByPrimaryKey(classPK); toName = role.getName(); params.put("usersRoles", classPK); } else if (className.equals(UserGroup.class.getName())) { UserGroup userGroup = userGroupPersistence.findByPrimaryKey(classPK); toName = userGroup.getName(); params.put("usersUserGroups", classPK); } } List<User> users = null; if (className.equals(User.class.getName())) { User user = userPersistence.findByPrimaryKey(classPK); toName = user.getFullName(); toAddress = user.getEmailAddress(); users = new ArrayList<User>(); if (Validator.isNotNull(toAddress)) { users.add(user); } } else { users = userLocalService.search(company.getCompanyId(), null, WorkflowConstants.STATUS_APPROVED, params, QueryUtil.ALL_POS, QueryUtil.ALL_POS, (OrderByComparator) null); } if (_log.isDebugEnabled()) { _log.debug("Notifying " + users.size() + " users"); } boolean notifyUsers = false; SubscriptionSender subscriptionSender = new SubscriptionSender(); for (User user : users) { AnnouncementsDelivery announcementsDelivery = announcementsDeliveryLocalService .getUserDelivery(user.getUserId(), entry.getType()); if (announcementsDelivery.isEmail()) { subscriptionSender.addRuntimeSubscribers(user.getEmailAddress(), user.getFullName()); notifyUsers = true; } if (announcementsDelivery.isSms()) { String smsSn = user.getContact().getSmsSn(); subscriptionSender.addRuntimeSubscribers(smsSn, user.getFullName()); notifyUsers = true; } } if (!notifyUsers) { return; } String subject = ContentUtil.get(PropsValues.ANNOUNCEMENTS_EMAIL_SUBJECT); String body = ContentUtil.get(PropsValues.ANNOUNCEMENTS_EMAIL_BODY); subscriptionSender.setBody(body); subscriptionSender.setCompanyId(entry.getCompanyId()); subscriptionSender.setContextAttributes("[$ENTRY_CONTENT$]", entry.getContent(), "[$ENTRY_ID$]", entry.getEntryId(), "[$ENTRY_TITLE$]", entry.getTitle(), "[$ENTRY_TYPE$]", LanguageUtil.get(company.getLocale(), entry.getType()), "[$ENTRY_URL$]", entry.getUrl(), "[$PORTLET_NAME$]", LanguageUtil.get(company.getLocale(), (entry.isAlert() ? "alert" : "announcement"))); subscriptionSender.setFrom(fromAddress, fromName); subscriptionSender.setHtmlFormat(true); subscriptionSender.setMailId("announcements_entry", entry.getEntryId()); subscriptionSender.setPortletId(PortletKeys.ANNOUNCEMENTS); subscriptionSender.setScopeGroupId(entry.getGroupId()); subscriptionSender.setSubject(subject); subscriptionSender.setUserId(entry.getUserId()); subscriptionSender.addRuntimeSubscribers(toAddress, toName); subscriptionSender.flushNotificationsAsync(); }