use of com.autentia.tnt.bean.admin.SettingBean in project TNTConcept by autentia.
the class ActivityBean method create.
/**
* Go to create page
*
* @return forward to CREATE page
*/
public String create() {
activity = new Activity();
externalActivity = new ExternalActivity();
selectedOrganization = null;
selectedProject = null;
organizations.clear();
projects.clear();
cal.setTime(scheduleModel.getSelectedDate());
if (scheduleModel.getMode() == ScheduleModel.MONTH || scheduleModel.getMode() == ScheduleModel.WEEK) {
cal.set(Calendar.HOUR_OF_DAY, ((SettingBean) FacesUtils.getBean("settingBean")).getMySettings().getWorkingDayHourStarts());
}
activity.setStartDate(cal.getTime());
activity.setDescription(FacesUtils.getMessage("activity.description"));
activity.setUser(authManager.getCurrentPrincipal().getUser());
externalActivity.setStartDate(cal.getTime());
// it is going to end in the same day
externalActivity.setEndDate(cal.getTime());
externalActivity.setComments(FacesUtils.getMessage("offer.observations"));
externalActivity.setOwnerId(authManager.getCurrentPrincipal().getUser().getId());
externalActivity.setDepartmentId(authManager.getCurrentPrincipal().getUser().getDepartmentId());
DocumentCategory padre = dcManager.getDocumentCategoryParent();
// User category
DocumentCategory extActDocCategory = new DocumentCategory();
extActDocCategory.setName(externalActivity.getName());
extActDocCategory.setDescription(externalActivity.getName());
extActDocCategory.setPadre(padre);
externalActivity.setDocumentCategory(extActDocCategory);
// Preselect last selected options
Setting val = settings.get(SettingPath.BITACORE_LAST_ROLEID, false);
int projectRoleId = SettingManager.getInt(val, -1);
Project pr = null;
if (projectRoleId != -1) {
ProjectRole projectRole;
try {
projectRole = projectRoleMgr.getEntityById(projectRoleId);
if (!projectRole.getProject().isFinished()) {
setRole(projectRole);
setSelectedProject(projectRole.getProject());
setSelectedOrganization(getSelectedProject().getClient());
pr = projectRole.getProject();
}
} catch (ObjectNotFoundException onfex) {
// Caso especial. Si no se localiza el anterior rol, continuamos con la
// ejecucion.
}
}
if (pr != null) {
setBillable(pr.getBillable());
setDefaultBillable(pr.getBillable());
} else {
val = settings.get(SettingPath.BITACORE_LAST_BILLABLE, false);
setBillable(SettingManager.getBoolean(val, false));
}
if (scheduleModel.getMode() == ScheduleModel.MONTH || scheduleModel.getMode() == ScheduleModel.WEEK) {
ActivitySearch searchToday = new ActivitySearch();
ExternalActivitySearch extActivitySearchToday = new ExternalActivitySearch();
Calendar initToday = Calendar.getInstance();
initToday.setTime(DateUtils.minHourInDate(scheduleModel.getSelectedDate()));
Calendar lastToday = Calendar.getInstance();
lastToday.setTime(DateUtils.maxHourInDate(scheduleModel.getSelectedDate()));
searchToday.setStartStartDate(initToday.getTime());
searchToday.setEndStartDate(lastToday.getTime());
extActivitySearchToday.setStartStartDate(initToday.getTime());
extActivitySearchToday.setEndStartDate(lastToday.getTime());
// Try to obtain the last hour in day.
searchToday.setUser(authManager.getCurrentPrincipal().getUser());
extActivitySearchToday.setOwner(authManager.getCurrentPrincipal().getUser());
List<Activity> activities = manager.getAllEntities(searchToday, new SortCriteria(sortColumn, sortAscending));
List<ExternalActivity> extActivities = externalActivityManager.getAllEntities(extActivitySearchToday, new SortCriteria(sortColumn, sortAscending));
if (activities.size() > 0 && extActivities.size() <= 0) {
// No externalActivities
// sort is descendent
Collections.sort(activities, new compareActivitiesByStartAndDuration());
activity.setStartDate(activities.get(0).getEndDate());
externalActivity.setStartDate(activities.get(0).getEndDate());
externalActivity.setEndDate(activities.get(0).getEndDate());
} else if (activities.size() <= 0 && extActivities.size() > 0) {
// No activities
Collections.sort(extActivities, new compareExternalActivitiesActivitiesByStartAndDuration());
activity.setStartDate(extActivities.get(0).getEndDate());
externalActivity.setStartDate(extActivities.get(0).getEndDate());
externalActivity.setEndDate(extActivities.get(0).getEndDate());
} else if (activities.size() > 0 && extActivities.size() > 0) {
Collections.sort(activities, new compareActivitiesByStartAndDuration());
Collections.sort(extActivities, new compareExternalActivitiesActivitiesByStartAndDuration());
Date lastActivityEndDate = activities.get(0).getEndDate();
Date lastExtActivityEndDate = extActivities.get(0).getEndDate();
Date startDate = (lastActivityEndDate.compareTo(lastExtActivityEndDate) > 0) ? lastActivityEndDate : lastExtActivityEndDate;
activity.setStartDate(startDate);
externalActivity.setStartDate(startDate);
externalActivity.setEndDate(startDate);
}
}
tabsRendered = NO_EDIT_SELECTED;
return NavigationResults.CREATE;
}
use of com.autentia.tnt.bean.admin.SettingBean in project TNTConcept by autentia.
the class ActivityBean method loadModel.
/**
* Load data from persistence tier to model for efficiency purposes only load a
* month of data
*/
/**
*/
public void loadModel() {
if (reloadModel) {
if (log.isTraceEnabled()) {
log.trace("loading model from persistence tier");
}
scheduleModel = new SimpleScheduleModel();
fillActivities(scheduleModel);
fillExternalActivities(scheduleModel);
fillHolidays(scheduleModel);
scheduleModel.setMode(((SettingBean) FacesUtils.getBean("settingBean")).getMySettings().getMode());
scheduleModel.setSelectedDate(selectedDate);
scheduleModel.refresh();
reloadModel = false;
}
}
Aggregations