use of org.kuali.rice.kim.api.identity.entity.Entity in project cu-kfs by CU-CommunityApps.
the class IWantDocumentAction method setCollegeAndDepartmentBasedOnPrimaryDepartment.
/**
* Sets the College and Department based on the initiator primary department.
*
* @param documentForm
*/
private void setCollegeAndDepartmentBasedOnPrimaryDepartment(IWantDocumentForm documentForm) {
IWantDocumentService iWantDocumentService = SpringContext.getBean(IWantDocumentService.class);
String primaryDeptOrg = null;
IWantDocument iWantDocument = null;
if (documentForm != null && documentForm.getDocument() != null) {
iWantDocument = (IWantDocument) documentForm.getDocument();
}
if (iWantDocument != null && StringUtils.isEmpty(iWantDocument.getCollegeLevelOrganization())) {
Person currentUser = GlobalVariables.getUserSession().getPerson();
Entity entityInfo = KimApiServiceLocator.getIdentityService().getEntityByPrincipalId(currentUser.getPrincipalId());
if (ObjectUtils.isNotNull(entityInfo)) {
if (ObjectUtils.isNotNull(entityInfo.getEmploymentInformation()) && entityInfo.getEmploymentInformation().size() > 0) {
EntityEmployment employmentInformation = entityInfo.getEmploymentInformation().get(0);
String primaryDepartment = employmentInformation.getPrimaryDepartmentCode();
primaryDeptOrg = primaryDepartment.substring(primaryDepartment.lastIndexOf('-') + 1, primaryDepartment.length());
String cLevelOrg = iWantDocumentService.getCLevelOrganizationForDLevelOrg(primaryDepartment);
((IWantDocument) documentForm.getDocument()).setCollegeLevelOrganization(cLevelOrg);
}
}
}
if (iWantDocument != null && StringUtils.isNotEmpty(iWantDocument.getCollegeLevelOrganization())) {
String cLevelOrg = iWantDocument.getCollegeLevelOrganization();
documentForm.getDeptOrgKeyLabels().clear();
documentForm.getDeptOrgKeyLabels().add(new ConcreteKeyValue("", "Please Select"));
List<LevelOrganization> dLevelOrgs = iWantDocumentService.getDLevelOrganizations(cLevelOrg);
for (LevelOrganization levelOrganization : dLevelOrgs) {
documentForm.getDeptOrgKeyLabels().add(new ConcreteKeyValue(levelOrganization.getCode(), levelOrganization.getCodeAndDescription()));
}
if (primaryDeptOrg != null) {
iWantDocument.setDepartmentLevelOrganization(primaryDeptOrg);
}
}
}
use of org.kuali.rice.kim.api.identity.entity.Entity in project cu-kfs by CU-CommunityApps.
the class DisbursementVoucherAction method loadDocument.
/**
* @see org.kuali.kfs.sys.web.struts.KualiAccountingDocumentActionBase#loadDocument(org.kuali.kfs.kns.web.struts.form.KualiDocumentFormBase)
*/
@Override
protected void loadDocument(KualiDocumentFormBase kualiDocumentFormBase) throws WorkflowException {
super.loadDocument(kualiDocumentFormBase);
DisbursementVoucherForm dvForm = (DisbursementVoucherForm) kualiDocumentFormBase;
DisbursementVoucherDocument dvDoc = (DisbursementVoucherDocument) dvForm.getDocument();
// do not execute the further refreshing logic if a payee is not selected
String payeeIdNumber = dvDoc.getDvPayeeDetail().getDisbVchrPayeeIdNumber();
// ==== CU Customization: Updated condition to prevent errors when opening no-payee, non-SAVED DV docs that are at the initial AdHoc node. ====
if ((payeeIdNumber != null && !payeeIdNumber.isEmpty()) || (!dvDoc.getDocumentHeader().getWorkflowDocument().checkStatus(DocumentStatus.SAVED) && !dvDoc.getDocumentHeader().getWorkflowDocument().getCurrentNodeNames().contains(DV_ADHOC_NODE))) {
Entity entity = KimApiServiceLocator.getIdentityService().getEntityByEmployeeId(payeeIdNumber);
// KFSMI-8935: When an employee is inactive, the Payment Type field on DV documents should display the message "Is this payee an employee" = No
if (entity != null && entity.isActive()) {
dvDoc.getDvPayeeDetail().setDisbVchrPayeeEmployeeCode(true);
} else {
dvDoc.getDvPayeeDetail().setDisbVchrPayeeEmployeeCode(false);
}
}
}
use of org.kuali.rice.kim.api.identity.entity.Entity in project cu-kfs by CU-CommunityApps.
the class IWantDocumentServiceImpl method setUpIWantDocDefaultValues.
/**
* @see edu.cornell.kfs.module.purap.document.service.IWantDocumentService#setUpIWantDocDefaultValues(IWantDocument, Person)
*/
@Override
public void setUpIWantDocDefaultValues(IWantDocument iWantDocument, Person initiatorUser) {
String principalId = iWantDocument.getDocumentHeader().getWorkflowDocument().getInitiatorPrincipalId();
Principal initiator = KimApiServiceLocator.getIdentityService().getPrincipal(principalId);
String initiatorPrincipalID = initiator.getPrincipalId();
String initiatorNetID = initiator.getPrincipalName();
iWantDocument.setInitiatorNetID(initiatorNetID);
String initiatorName = initiatorUser.getName();
String initiatorPhoneNumber = initiatorUser.getPhoneNumber();
String initiatorEmailAddress = initiatorUser.getEmailAddress();
String address = getPersonCampusAddress(initiatorNetID);
iWantDocument.setInitiatorName(initiatorName);
iWantDocument.setInitiatorPhoneNumber(initiatorPhoneNumber);
iWantDocument.setInitiatorEmailAddress(initiatorEmailAddress);
iWantDocument.setInitiatorAddress(address);
// check default user options
Map<String, String> primaryKeysCollegeOption = new HashMap<String, String>();
primaryKeysCollegeOption.put(CUPurapConstants.USER_OPTIONS_PRINCIPAL_ID, initiatorPrincipalID);
primaryKeysCollegeOption.put(CUPurapConstants.USER_OPTIONS_OPTION_ID, CUPurapConstants.USER_OPTIONS_DEFAULT_COLLEGE);
IWantDocUserOptions userOptionsCollege = (IWantDocUserOptions) getBusinessObjectService().findByPrimaryKey(IWantDocUserOptions.class, primaryKeysCollegeOption);
Map<String, String> primaryKeysDepartmentOption = new HashMap<String, String>();
primaryKeysDepartmentOption.put(CUPurapConstants.USER_OPTIONS_PRINCIPAL_ID, initiatorPrincipalID);
primaryKeysDepartmentOption.put(CUPurapConstants.USER_OPTIONS_OPTION_ID, CUPurapConstants.USER_OPTIONS_DEFAULT_DEPARTMENT);
IWantDocUserOptions userOptionsDepartment = (IWantDocUserOptions) getBusinessObjectService().findByPrimaryKey(IWantDocUserOptions.class, primaryKeysDepartmentOption);
// check default deliver to address info
Map<String, String> primaryKeysdeliverToNetIDOption = new HashMap<String, String>();
primaryKeysdeliverToNetIDOption.put(CUPurapConstants.USER_OPTIONS_PRINCIPAL_ID, initiatorPrincipalID);
primaryKeysdeliverToNetIDOption.put(CUPurapConstants.USER_OPTIONS_OPTION_ID, CUPurapConstants.USER_OPTIONS_DEFAULT_DELIVER_TO_NET_ID);
IWantDocUserOptions userOptionsDeliverToNetID = (IWantDocUserOptions) getBusinessObjectService().findByPrimaryKey(IWantDocUserOptions.class, primaryKeysdeliverToNetIDOption);
Map<String, String> primaryKeysDeliverToNameOption = new HashMap<String, String>();
primaryKeysDeliverToNameOption.put(CUPurapConstants.USER_OPTIONS_PRINCIPAL_ID, initiatorPrincipalID);
primaryKeysDeliverToNameOption.put(CUPurapConstants.USER_OPTIONS_OPTION_ID, CUPurapConstants.USER_OPTIONS_DEFAULT_DELIVER_TO_NAME);
IWantDocUserOptions userOptionsDeliverToName = (IWantDocUserOptions) getBusinessObjectService().findByPrimaryKey(IWantDocUserOptions.class, primaryKeysDeliverToNameOption);
Map<String, String> primaryKeysDeliverToEmailOption = new HashMap<String, String>();
primaryKeysDeliverToEmailOption.put(CUPurapConstants.USER_OPTIONS_PRINCIPAL_ID, initiatorPrincipalID);
primaryKeysDeliverToEmailOption.put(CUPurapConstants.USER_OPTIONS_OPTION_ID, CUPurapConstants.USER_OPTIONS_DEFAULT_DELIVER_TO_EMAIL_ADDRESS);
IWantDocUserOptions userOptionsDeliverToEmail = (IWantDocUserOptions) getBusinessObjectService().findByPrimaryKey(IWantDocUserOptions.class, primaryKeysDeliverToEmailOption);
Map<String, String> primaryKeysDeliverToPhnNbrOption = new HashMap<String, String>();
primaryKeysDeliverToPhnNbrOption.put(CUPurapConstants.USER_OPTIONS_PRINCIPAL_ID, initiatorPrincipalID);
primaryKeysDeliverToPhnNbrOption.put(CUPurapConstants.USER_OPTIONS_OPTION_ID, CUPurapConstants.USER_OPTIONS_DEFAULT_DELIVER_TO_PHONE_NUMBER);
IWantDocUserOptions userOptionsDeliverToPhnNbr = (IWantDocUserOptions) getBusinessObjectService().findByPrimaryKey(IWantDocUserOptions.class, primaryKeysDeliverToPhnNbrOption);
Map<String, String> primaryKeysDeliverToAddressOption = new HashMap<String, String>();
primaryKeysDeliverToAddressOption.put(CUPurapConstants.USER_OPTIONS_PRINCIPAL_ID, initiatorPrincipalID);
primaryKeysDeliverToAddressOption.put(CUPurapConstants.USER_OPTIONS_OPTION_ID, CUPurapConstants.USER_OPTIONS_DEFAULT_DELIVER_TO_ADDRESS);
IWantDocUserOptions userOptionsDeliverToAddress = (IWantDocUserOptions) getBusinessObjectService().findByPrimaryKey(IWantDocUserOptions.class, primaryKeysDeliverToAddressOption);
if (ObjectUtils.isNotNull(userOptionsCollege)) {
iWantDocument.setCollegeLevelOrganization(userOptionsCollege.getOptionValue());
}
if (ObjectUtils.isNotNull(userOptionsDepartment)) {
iWantDocument.setDepartmentLevelOrganization(userOptionsDepartment.getOptionValue());
}
// if no default user options check primary department
if (ObjectUtils.isNull(userOptionsCollege) && ObjectUtils.isNull(userOptionsDepartment)) {
String primaryDeptOrg = null;
if (ObjectUtils.isNotNull(iWantDocument)) {
Entity entityInfo = KimApiServiceLocator.getIdentityService().getEntityByPrincipalId(initiatorUser.getPrincipalId());
if (ObjectUtils.isNotNull(entityInfo)) {
if (ObjectUtils.isNotNull(entityInfo.getEmploymentInformation()) && entityInfo.getEmploymentInformation().size() > 0) {
EntityEmployment employmentInformation = entityInfo.getEmploymentInformation().get(0);
String primaryDepartment = employmentInformation.getPrimaryDepartmentCode();
primaryDeptOrg = primaryDepartment.substring(primaryDepartment.lastIndexOf('-') + 1, primaryDepartment.length());
String cLevelOrg = getCLevelOrganizationForDLevelOrg(primaryDepartment);
iWantDocument.setCollegeLevelOrganization(cLevelOrg);
}
}
}
if (ObjectUtils.isNotNull(iWantDocument) && StringUtils.isNotEmpty(iWantDocument.getCollegeLevelOrganization())) {
if (ObjectUtils.isNotNull(primaryDeptOrg)) {
iWantDocument.setDepartmentLevelOrganization(primaryDeptOrg);
}
}
}
if (ObjectUtils.isNotNull(userOptionsDeliverToNetID)) {
iWantDocument.setDeliverToNetID(userOptionsDeliverToNetID.getOptionValue());
}
if (ObjectUtils.isNotNull(userOptionsDeliverToName)) {
iWantDocument.setDeliverToName(userOptionsDeliverToName.getOptionValue());
}
if (ObjectUtils.isNotNull(userOptionsDeliverToEmail)) {
iWantDocument.setDeliverToEmailAddress(userOptionsDeliverToEmail.getOptionValue());
}
if (ObjectUtils.isNotNull(userOptionsDeliverToPhnNbr)) {
iWantDocument.setDeliverToPhoneNumber(userOptionsDeliverToPhnNbr.getOptionValue());
}
if (ObjectUtils.isNotNull(userOptionsDeliverToAddress)) {
iWantDocument.setDeliverToAddress(userOptionsDeliverToAddress.getOptionValue());
}
setIWantDocumentDescription(iWantDocument);
}
Aggregations