/**
* TNTConcept Easy Enterprise Management by Autentia Real Bussiness Solution S.L. Copyright (C) 2007 Autentia Real Bussiness
* Solution S.L. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General
* Public License as published by the Free Software Foundation, either version 3 of the License. This program is distributed
* in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of
* the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.autentia.tnt.bean.admin;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.faces.component.UIComponent;
import javax.faces.component.html.HtmlDataTable;
import javax.faces.model.SelectItem;
import javax.mail.MessagingException;
import com.autentia.tnt.mail.DefaultMailService;
import com.autentia.tnt.util.ConfigurationUtil;
import org.acegisecurity.acls.domain.BasePermission;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.myfaces.custom.fileupload.UploadedFile;
import com.autentia.tnt.bean.BaseBean;
import com.autentia.tnt.bean.NavigationResults;
import com.autentia.tnt.bean.document.DocumentBean;
import com.autentia.tnt.businessobject.ContractType;
import com.autentia.tnt.businessobject.Department;
import com.autentia.tnt.businessobject.DocumentCategory;
import com.autentia.tnt.businessobject.Province;
import com.autentia.tnt.businessobject.Role;
import com.autentia.tnt.businessobject.User;
import com.autentia.tnt.businessobject.UserCategory;
import com.autentia.tnt.businessobject.UserGenre;
import com.autentia.tnt.businessobject.WorkingAgreement;
import com.autentia.tnt.dao.SortCriteria;
import com.autentia.tnt.dao.search.UserSearch;
import com.autentia.tnt.manager.admin.ContractTypeManager;
import com.autentia.tnt.manager.admin.DepartmentManager;
import com.autentia.tnt.manager.admin.ProvinceManager;
import com.autentia.tnt.manager.admin.RoleManager;
import com.autentia.tnt.manager.admin.UserCategoryManager;
import com.autentia.tnt.manager.admin.UserManager;
import com.autentia.tnt.manager.admin.WorkingAgreementManager;
import com.autentia.tnt.manager.document.DocumentCategoryManager;
import com.autentia.tnt.manager.security.AuthenticationManager;
import com.autentia.tnt.manager.security.Permission;
import com.autentia.tnt.upload.Uploader;
import com.autentia.tnt.upload.UploaderFactory;
import com.autentia.tnt.util.FacesUtils;
import com.autentia.tnt.util.FileUtil;
import com.autentia.tnt.util.SpringUtils;
/**
* UI bean for User objects.
*
* @author stajanov code generator
*/
public class UserBean extends BaseBean {
/**
* Serial version field
*/
private static final long serialVersionUID = -1L;
/**
* Default authentication manager
*/
private static final AuthenticationManager authManager = AuthenticationManager.getDefault();
/**
* New generated password when user clicks on resetPassword
*/
private String changedPassword;
/**
* Saves and goes to user's document category
*/
public String goDocuments() {
User currentUser = user;
final Integer userId = user.getId();
// Save user's data
save();
// Prepares the category bean filter
final DocumentBean documentBean = (DocumentBean) FacesUtils.getBean("documentBean");
final List<DocumentCategory> categories = new ArrayList<DocumentCategory>();
categories.add(currentUser.getDocumentCategory());
documentBean.setSearchCategoriesValid(true);
documentBean.setSearchCategories(categories);
documentBean.getSearch().setOwnerId(userId);
return "goDocuments";
}
/**
* Reset current user password
*
* @return "userPasswordReset"
*/
public String resetPassword() {
// get random words from properties, depending on locale
String[] rnd0 = FacesUtils.formatMessage("AuthenticationManager.randomWords0").split(",");
String[] rnd1 = FacesUtils.formatMessage("AuthenticationManager.randomWords1").split(",");
String[] rnd2 = FacesUtils.formatMessage("AuthenticationManager.randomWords2").split(",");
String[] rnd3 = FacesUtils.formatMessage("AuthenticationManager.randomWords3").split(",");
String[] rnd4 = FacesUtils.formatMessage("AuthenticationManager.randomWords4").split(",");
// Change user password
changedPassword = authManager.resetPassword(user, rnd0, rnd1, rnd2, rnd3, rnd4);
if (!ConfigurationUtil.getDefault().isLdapProviderEnabled()) {
manager.updateEntity(user, this.isUseAgreementYearDuration());
}
DefaultMailService mailService = (DefaultMailService) SpringUtils.getSpringBean("mailService");
try {
mailService.send(user.getEmail(), "Reseteo de contraseƱa de TnT", "Tu nueva contraseƱa es: " + changedPassword);
} catch (MessagingException e) {
log.warn(e.getCause());
}
return "userPasswordReset";
}
public String getChangedPassword() {
return changedPassword;
}
public boolean isResetPasswordAvailable() {
return SpringUtils.isRolePermissionGranted(Permission.Action_ResetPassword);
}
/**
* Wheter or not role field is available to user
*
* @return true if user is administrator
*/
public boolean isRoleAvailable() {
return SpringUtils.isRolePermissionGranted(Permission.Action_ChangeRole);
}
/* user - generated by stajanov (do not edit/delete) */
/**
* Logger
*/
private static final Log log = LogFactory.getLog(UserBean.class);
/**
* Active search object
*/
private UserSearch search = new UserSearch();
/**
* Manager
*/
private static UserManager manager = UserManager.getDefault();
/**
* Upload service
*/
private static final Uploader uploader = UploaderFactory.getInstance("user");
/**
* Temporary photo field
*/
private String oldPhoto;
/**
* Uploaded photo object
*/
private UploadedFile uploadPhoto;
/**
* Active User object
*/
private User user;
/**
* Default sort column
*/
private String sortColumn = "name";
/**
* Default sort order
*/
private boolean sortAscending = true;
/**
* Quick search letter for ABC pager control
*/
private Character letter;
private Boolean useAgreementYearDuration = null;
/**
* @return the useAgreementYearDuration
*/
public boolean isUseAgreementYearDuration() {
return (useAgreementYearDuration != null) ? useAgreementYearDuration
: (user.getAgreementYearDuration() == null);
}
/**
* @param useAgreementYearDuration the useAgreementYearDuration to set
*/
public void setUseAgreementYearDuration(boolean useAgreementYearDuration) {
this.useAgreementYearDuration = useAgreementYearDuration;
}
/**
* List users. Order depends on Faces parameter sort.
*
* @return the list of all users sorted by requested criterion
*/
public List<User> getAll() {
return manager.getAllEntities(search, new SortCriteria(sortColumn, sortAscending));
}
// Getters to list possible values of related entities
/**
* Get the list of all roles
*
* @return the list of all roles
*/
public List<SelectItem> getRoles() {
List<Role> refs = RoleManager.getDefault().getAllEntities(null, new SortCriteria("name"));
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
for (Role ref : refs) {
ret.add(new SelectItem(ref, ref.getName()));
}
return ret;
}
/**
* Get the list of all categorys
*
* @return the list of all categorys
*/
public List<SelectItem> getCategorys() {
List<UserCategory> refs = UserCategoryManager.getDefault().getAllEntities(null, new SortCriteria("name"));
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
for (UserCategory ref : refs) {
ret.add(new SelectItem(ref, ref.getName()));
}
return ret;
}
/**
* Get the list of all provinces
*
* @return the list of all provinces
*/
public List<SelectItem> getProvinces() {
List<Province> refs = ProvinceManager.getDefault().getAllEntities(null, new SortCriteria("name"));
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
for (Province ref : refs) {
ret.add(new SelectItem(ref, ref.getName()));
}
return ret;
}
/**
* Get the list of all documentCategorys
*
* @return the list of all documentCategorys
*/
public List<SelectItem> getDocumentCategorys() {
List<DocumentCategory> refs = DocumentCategoryManager.getDefault().getAllEntities(null,
new SortCriteria("name"));
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
for (DocumentCategory ref : refs) {
ret.add(new SelectItem(ref, ref.getName()));
}
return ret;
}
/**
* Get the list of all departments
*
* @return the list of all departments
*/
public List<SelectItem> getDepartments() {
List<Department> refs = DepartmentManager.getDefault().getAllEntities(null, new SortCriteria("name"));
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
for (Department ref : refs) {
ret.add(new SelectItem(ref, ref.getName()));
}
return ret;
}
/**
* Get the list of all contractTypes
*
* @return the list of all contractTypes
*/
public List<SelectItem> getContractTypes() {
List<ContractType> refs = ContractTypeManager.getDefault().getAllEntities(null, new SortCriteria("name"));
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
for (ContractType ref : refs) {
ret.add(new SelectItem(ref, ref.getName()));
}
return ret;
}
/**
* Get the list of all agreements
*
* @return the list of all agreements
*/
public List<SelectItem> getAgreements() {
List<WorkingAgreement> refs = WorkingAgreementManager.getDefault().getAllEntities(null,
new SortCriteria("name"));
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
for (WorkingAgreement ref : refs) {
ret.add(new SelectItem(ref, ref.getName()));
}
return ret;
}
// Getters to list possible values of enum fields
public String getGenreFormatted() {
if (this.getGenre() != null) {
return FacesUtils.formatMessage("UserGenre." + this.getGenre().name());
} else {
return "";
}
}
/**
* Get the list of all Genre values
*
* @return the list of all Genre values
*/
public List<SelectItem> getGenres() {
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
UserGenre[] vals = UserGenre.values();
for (UserGenre val : vals) {
ret.add(new SelectItem(val, FacesUtils.formatMessage("UserGenre." + val.name())));
}
return ret;
}
// Methods to create/remove instances of one-to-many entities (slave
// entities)
/**
* Whether or not create button is available for user
*
* @return true if user can create objects of type User
*/
public boolean isCreateAvailable() {
return SpringUtils.isRolePermissionGranted(Permission.Entity_Create(User.class));
}
/**
* Whether or not edit button is available for user
*
* @return true if user can edit current object
*/
public boolean isEditAvailable() {
return SpringUtils.isAclPermissionGranted(user, BasePermission.WRITE);
}
/**
* Whether or not delete button is available for user
*
* @return true if user can delete current object
*/
public boolean isDeleteAvailable() {
return (user.getId() != null) && SpringUtils.isAclPermissionGranted(user, BasePermission.DELETE);
}
/**
* Go to create page
*
* @return forward to CREATE page
*/
public String create() {
user = new User();
// Set default password to "password"
user.setPassword("5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8");
// Set default hours to 8*60
user.setDayDuration(480);
return NavigationResults.CREATE;
}
/**
* Go to detail page
*
* @return forward to DETAIL page
*/
public String detail() {
Integer id = Integer.parseInt(FacesUtils.getRequestParameter(ROW_ID));
user = manager.getEntityById(id);
return SpringUtils.isAclPermissionGranted(user, BasePermission.WRITE) ? NavigationResults.EDIT
: NavigationResults.DETAIL;
}
/**
* Save bean and stay on it
*
* @return forward to list page
*/
public String save() {
if (user.getId() == null) {
manager.insertEntity(user, this.isUseAgreementYearDuration());
} else {
manager.updateEntity(user, this.isUseAgreementYearDuration());
}
useAgreementYearDuration = null;
// Handle uploads for photo field
if (uploadPhoto != null) {
try {
uploader.replace(Integer.toString(user.getId()), oldPhoto, uploadPhoto);
} catch (IOException e) {
log.error("save - exception uploading field photo", e);
FacesUtils.addErrorMessage("photo", "error.fileTransfer", e.getMessage());
}
}
// Calls an after save action
String result = doAfterSave(NavigationResults.LIST);
// Unselect object
user = null;
return result;
}
/**
* Delete bean and go back to beans list
*
* @return forward to LIST page
*/
public String delete() {
manager.deleteEntity(user);
user = null;
return NavigationResults.LIST;
}
/**
* Go back to beans list
*
* @return forward to LIST page
*/
public String list() {
return NavigationResults.LIST;
}
/**
* Reset search criteria
*
* @return forward to LIST page
*/
public String reset() {
search.reset();
return list();
}
/**
* Go to search page
*
* @return forward to SEARCH page
*/
public String search() {
return NavigationResults.SEARCH;
}
/**
* Check if we have an active object.
*
* @return true is an object is selected
*/
public boolean isUserSelected() {
return user != null;
}
// Getters and setters to manipulate sorting
public boolean isSortAscending() {
return sortAscending;
}
public void setSortAscending(boolean sortAscending) {
this.sortAscending = sortAscending;
}
public String getSortColumn() {
return sortColumn;
}
public void setSortColumn(String sortColumn) {
this.sortColumn = sortColumn;
}
// Getters and setters to handle search
public UserSearch getSearch() {
return search;
}
public java.lang.Boolean getSearchActive() {
return search.getActive();
}
public void setSearchActive(java.lang.Boolean val) {
if (search.isActiveSet()) {
search.setActive(val);
}
}
public boolean isSearchActiveValid() {
return search.isActiveSet();
}
public void setSearchActiveValid(boolean val) {
if (val) {
search.setActive(search.getActive());
} else {
search.unsetActive();
}
}
public String getSearchLogin() {
return search.getLogin();
}
public void setSearchLogin(String val) {
if (search.isLoginSet()) {
search.setLogin(val);
}
}
public boolean isSearchLoginValid() {
return search.isLoginSet();
}
public void setSearchLoginValid(boolean val) {
if (val) {
search.setLogin(search.getLogin());
} else {
search.unsetLogin();
}
}
public String getSearchPassword() {
return search.getPassword();
}
public void setSearchPassword(String val) {
if (search.isPasswordSet()) {
search.setPassword(val);
}
}
public boolean isSearchPasswordValid() {
return search.isPasswordSet();
}
public void setSearchPasswordValid(boolean val) {
if (val) {
search.setPassword(search.getPassword());
} else {
search.unsetPassword();
}
}
public String getSearchName() {
return search.getName();
}
public void setSearchName(String val) {
if (search.isNameSet()) {
search.setName(val);
}
}
public boolean isSearchNameValid() {
return search.isNameSet();
}
public void setSearchNameValid(boolean val) {
if (val) {
search.setName(search.getName());
} else {
search.unsetName();
}
}
public Date getSearchStartStartDate() {
return search.getStartStartDate();
}
public void setSearchStartStartDate(Date val) {
if (val != null) {
search.setStartStartDate(val);
} else {
search.unsetStartStartDate();
}
}
public boolean isSearchStartStartDateValid() {
return search.isStartStartDateSet();
}
public void setSearchStartStartDateValid(boolean val) {
if (val) {
search.setStartStartDate(search.getStartStartDate());
} else {
search.unsetStartStartDate();
}
}
public Date getSearchEndStartDate() {
return search.getEndStartDate();
}
public void setSearchEndStartDate(Date val) {
if (val != null) {
search.setEndStartDate(val);
} else {
search.unsetEndStartDate();
}
}
public boolean isSearchEndStartDateValid() {
return search.isEndStartDateSet();
}
public void setSearchEndStartDateValid(boolean val) {
if (val) {
search.setEndStartDate(search.getEndStartDate());
} else {
search.unsetEndStartDate();
}
}
public String getSearchNif() {
return search.getNif();
}
public void setSearchNif(String val) {
if (search.isNifSet()) {
search.setNif(val);
}
}
public boolean isSearchNifValid() {
return search.isNifSet();
}
public void setSearchNifValid(boolean val) {
if (val) {
search.setNif(search.getNif());
} else {
search.unsetNif();
}
}
public UserGenre getSearchGenre() {
return search.getGenre();
}
public void setSearchGenre(UserGenre val) {
if (search.isGenreSet()) {
search.setGenre(val);
}
}
public boolean isSearchGenreValid() {
return search.isGenreSet();
}
public void setSearchGenreValid(boolean val) {
if (val) {
search.setGenre(search.getGenre());
} else {
search.unsetGenre();
}
}
public String getSearchSocialSecurityNumber() {
return search.getSocialSecurityNumber();
}
public void setSearchSocialSecurityNumber(String val) {
if (search.isSocialSecurityNumberSet()) {
search.setSocialSecurityNumber(val);
}
}
public boolean isSearchSocialSecurityNumberValid() {
return search.isSocialSecurityNumberSet();
}
public void setSearchSocialSecurityNumberValid(boolean val) {
if (val) {
search.setSocialSecurityNumber(search.getSocialSecurityNumber());
} else {
search.unsetSocialSecurityNumber();
}
}
public java.lang.Boolean getSearchWorkingInClient() {
return search.getWorkingInClient();
}
public void setSearchWorkingInClient(java.lang.Boolean val) {
if (search.isWorkingInClientSet()) {
search.setWorkingInClient(val);
}
}
public boolean isSearchWorkingInClientValid() {
return search.isWorkingInClientSet();
}
public void setSearchWorkingInClientValid(boolean val) {
if (val) {
search.setWorkingInClient(search.getWorkingInClient());
} else {
search.unsetWorkingInClient();
}
}
public Date getSearchStartBirthDate() {
return search.getStartBirthDate();
}
public void setSearchStartBirthDate(Date val) {
if (val != null) {
search.setStartBirthDate(val);
} else {
search.unsetStartBirthDate();
}
}
public boolean isSearchStartBirthDateValid() {
return search.isStartBirthDateSet();
}
public void setSearchStartBirthDateValid(boolean val) {
if (val) {
search.setStartBirthDate(search.getStartBirthDate());
} else {
search.unsetStartBirthDate();
}
}
public Date getSearchEndBirthDate() {
return search.getEndBirthDate();
}
public void setSearchEndBirthDate(Date val) {
if (val != null) {
search.setEndBirthDate(val);
} else {
search.unsetEndBirthDate();
}
}
public boolean isSearchEndBirthDateValid() {
return search.isEndBirthDateSet();
}
public void setSearchEndBirthDateValid(boolean val) {
if (val) {
search.setEndBirthDate(search.getEndBirthDate());
} else {
search.unsetEndBirthDate();
}
}
public java.lang.Boolean getSearchMarried() {
return search.getMarried();
}
public void setSearchMarried(java.lang.Boolean val) {
if (search.isMarriedSet()) {
search.setMarried(val);
}
}
public boolean isSearchMarriedValid() {
return search.isMarriedSet();
}
public void setSearchMarriedValid(boolean val) {
if (val) {
search.setMarried(search.getMarried());
} else {
search.unsetMarried();
}
}
public java.lang.Integer getSearchChildrenNumber() {
return search.getChildrenNumber();
}
public void setSearchChildrenNumber(java.lang.Integer val) {
if (search.isChildrenNumberSet()) {
search.setChildrenNumber(val);
}
}
public boolean isSearchChildrenNumberValid() {
return search.isChildrenNumberSet();
}
public void setSearchChildrenNumberValid(boolean val) {
if (val) {
search.setChildrenNumber(search.getChildrenNumber());
} else {
search.unsetChildrenNumber();
}
}
public String getSearchTravelAvailability() {
return search.getTravelAvailability();
}
public void setSearchTravelAvailability(String val) {
if (search.isTravelAvailabilitySet()) {
search.setTravelAvailability(val);
}
}
public boolean isSearchTravelAvailabilityValid() {
return search.isTravelAvailabilitySet();
}
public void setSearchTravelAvailabilityValid(boolean val) {
if (val) {
search.setTravelAvailability(search.getTravelAvailability());
} else {
search.unsetTravelAvailability();
}
}
public String getSearchAcademicQualification() {
return search.getAcademicQualification();
}
public void setSearchAcademicQualification(String val) {
if (search.isAcademicQualificationSet()) {
search.setAcademicQualification(val);
}
}
public boolean isSearchAcademicQualificationValid() {
return search.isAcademicQualificationSet();
}
public void setSearchAcademicQualificationValid(boolean val) {
if (val) {
search.setAcademicQualification(search.getAcademicQualification());
} else {
search.unsetAcademicQualification();
}
}
public String getSearchEmail() {
return search.getEmail();
}
public void setSearchEmail(String val) {
if (search.isEmailSet()) {
search.setEmail(val);
}
}
public boolean isSearchEmailValid() {
return search.isEmailSet();
}
public void setSearchEmailValid(boolean val) {
if (val) {
search.setEmail(search.getEmail());
} else {
search.unsetEmail();
}
}
public String getSearchPhone() {
return search.getPhone();
}
public void setSearchPhone(String val) {
if (search.isPhoneSet()) {
search.setPhone(val);
}
}
public boolean isSearchPhoneValid() {
return search.isPhoneSet();
}
public void setSearchPhoneValid(boolean val) {
if (val) {
search.setPhone(search.getPhone());
} else {
search.unsetPhone();
}
}
public String getSearchMobile() {
return search.getMobile();
}
public void setSearchMobile(String val) {
if (search.isMobileSet()) {
search.setMobile(val);
}
}
public boolean isSearchMobileValid() {
return search.isMobileSet();
}
public void setSearchMobileValid(boolean val) {
if (val) {
search.setMobile(search.getMobile());
} else {
search.unsetMobile();
}
}
public String getSearchStreet() {
return search.getStreet();
}
public void setSearchStreet(String val) {
if (search.isStreetSet()) {
search.setStreet(val);
}
}
public boolean isSearchStreetValid() {
return search.isStreetSet();
}
public void setSearchStreetValid(boolean val) {
if (val) {
search.setStreet(search.getStreet());
} else {
search.unsetStreet();
}
}
public String getSearchPostalCode() {
return search.getPostalCode();
}
public void setSearchPostalCode(String val) {
if (search.isPostalCodeSet()) {
search.setPostalCode(val);
}
}
public boolean isSearchPostalCodeValid() {
return search.isPostalCodeSet();
}
public void setSearchPostalCodeValid(boolean val) {
if (val) {
search.setPostalCode(search.getPostalCode());
} else {
search.unsetPostalCode();
}
}
public String getSearchCity() {
return search.getCity();
}
public void setSearchCity(String val) {
if (search.isCitySet()) {
search.setCity(val);
}
}
public boolean isSearchCityValid() {
return search.isCitySet();
}
public void setSearchCityValid(boolean val) {
if (val) {
search.setCity(search.getCity());
} else {
search.unsetCity();
}
}
public String getSearchBank() {
return search.getBank();
}
public void setSearchBank(String val) {
if (search.isBankSet()) {
search.setBank(val);
}
}
public boolean isSearchBankValid() {
return search.isBankSet();
}
public void setSearchBankValid(boolean val) {
if (val) {
search.setBank(search.getBank());
} else {
search.unsetBank();
}
}
public String getSearchAccount() {
return search.getAccount();
}
public void setSearchAccount(String val) {
if (search.isAccountSet()) {
search.setAccount(val);
}
}
public boolean isSearchAccountValid() {
return search.isAccountSet();
}
public void setSearchAccountValid(boolean val) {
if (val) {
search.setAccount(search.getAccount());
} else {
search.unsetAccount();
}
}
public BigDecimal getSearchSalary() {
return search.getSalary();
}
public void setSearchSalary(BigDecimal val) {
if (search.isSalarySet()) {
search.setSalary(val);
}
}
public boolean isSearchSalaryValid() {
return search.isSalarySet();
}
public void setSearchSalaryValid(boolean val) {
if (val) {
search.setSalary(search.getSalary());
} else {
search.unsetSalary();
}
}
public BigDecimal getSearchSalaryExtras() {
return search.getSalaryExtras();
}
public void setSearchSalaryExtras(BigDecimal val) {
if (search.isSalaryExtrasSet()) {
search.setSalaryExtras(val);
}
}
public boolean isSearchSalaryExtrasValid() {
return search.isSalaryExtrasSet();
}
public void setSearchSalaryExtrasValid(boolean val) {
if (val) {
search.setSalaryExtras(search.getSalaryExtras());
} else {
search.unsetSalaryExtras();
}
}
public String getSearchDrivenLicenseType() {
return search.getDrivenLicenseType();
}
public void setSearchDrivenLicenseType(String val) {
if (search.isDrivenLicenseTypeSet()) {
search.setDrivenLicenseType(val);
}
}
public boolean isSearchDrivenLicenseTypeValid() {
return search.isDrivenLicenseTypeSet();
}
public void setSearchDrivenLicenseTypeValid(boolean val) {
if (val) {
search.setDrivenLicenseType(search.getDrivenLicenseType());
} else {
search.unsetDrivenLicenseType();
}
}
public String getSearchVehicleType() {
return search.getVehicleType();
}
public void setSearchVehicleType(String val) {
if (search.isVehicleTypeSet()) {
search.setVehicleType(val);
}
}
public boolean isSearchVehicleTypeValid() {
return search.isVehicleTypeSet();
}
public void setSearchVehicleTypeValid(boolean val) {
if (val) {
search.setVehicleType(search.getVehicleType());
} else {
search.unsetVehicleType();
}
}
public String getSearchLicensePlate() {
return search.getLicensePlate();
}
public void setSearchLicensePlate(String val) {
if (search.isLicensePlateSet()) {
search.setLicensePlate(val);
}
}
public boolean isSearchLicensePlateValid() {
return search.isLicensePlateSet();
}
public void setSearchLicensePlateValid(boolean val) {
if (val) {
search.setLicensePlate(search.getLicensePlate());
} else {
search.unsetLicensePlate();
}
}
public String getSearchSecurityCard() {
return search.getSecurityCard();
}
public void setSearchSecurityCard(String val) {
if (search.isSecurityCardSet()) {
search.setSecurityCard(val);
}
}
public boolean isSearchSecurityCardValid() {
return search.isSecurityCardSet();
}
public void setSearchSecurityCardValid(boolean val) {
if (val) {
search.setSecurityCard(search.getSecurityCard());
} else {
search.unsetSecurityCard();
}
}
public String getSearchHealthInsurance() {
return search.getHealthInsurance();
}
public void setSearchHealthInsurance(String val) {
if (search.isHealthInsuranceSet()) {
search.setHealthInsurance(val);
}
}
public boolean isSearchHealthInsuranceValid() {
return search.isHealthInsuranceSet();
}
public void setSearchHealthInsuranceValid(boolean val) {
if (val) {
search.setHealthInsurance(search.getHealthInsurance());
} else {
search.unsetHealthInsurance();
}
}
public String getSearchNotes() {
return search.getNotes();
}
public void setSearchNotes(String val) {
if (search.isNotesSet()) {
search.setNotes(val);
}
}
public boolean isSearchNotesValid() {
return search.isNotesSet();
}
public void setSearchNotesValid(boolean val) {
if (val) {
search.setNotes(search.getNotes());
} else {
search.unsetNotes();
}
}
public String getSearchPhoto() {
return search.getPhoto();
}
public void setSearchPhoto(String val) {
if (search.isPhotoSet()) {
search.setPhoto(val);
}
}
public boolean isSearchPhotoValid() {
return search.isPhotoSet();
}
public void setSearchPhotoValid(boolean val) {
if (val) {
search.setPhoto(search.getPhoto());
} else {
search.unsetPhoto();
}
}
public Date getSearchStartEndTestPeriodDate() {
return search.getStartEndTestPeriodDate();
}
public void setSearchStartEndTestPeriodDate(Date val) {
if (val != null) {
search.setStartEndTestPeriodDate(val);
} else {
search.unsetStartEndTestPeriodDate();
}
}
public boolean isSearchStartEndTestPeriodDateValid() {
return search.isStartEndTestPeriodDateSet();
}
public void setSearchStartEndTestPeriodDateValid(boolean val) {
if (val) {
search.setStartEndTestPeriodDate(search.getStartEndTestPeriodDate());
} else {
search.unsetStartEndTestPeriodDate();
}
}
public Date getSearchEndEndTestPeriodDate() {
return search.getEndEndTestPeriodDate();
}
public void setSearchEndEndTestPeriodDate(Date val) {
if (val != null) {
search.setEndEndTestPeriodDate(val);
} else {
search.unsetEndEndTestPeriodDate();
}
}
public boolean isSearchEndEndTestPeriodDateValid() {
return search.isEndEndTestPeriodDateSet();
}
public void setSearchEndEndTestPeriodDateValid(boolean val) {
if (val) {
search.setEndEndTestPeriodDate(search.getEndEndTestPeriodDate());
} else {
search.unsetEndEndTestPeriodDate();
}
}
public Date getSearchStartEndContractDate() {
return search.getStartEndContractDate();
}
public void setSearchStartEndContractDate(Date val) {
if (val != null) {
search.setStartEndContractDate(val);
} else {
search.unsetStartEndContractDate();
}
}
public boolean isSearchStartEndContractDateValid() {
return search.isStartEndContractDateSet();
}
public void setSearchStartEndContractDateValid(boolean val) {
if (val) {
search.setStartEndContractDate(search.getStartEndContractDate());
} else {
search.unsetStartEndContractDate();
}
}
public Date getSearchEndEndContractDate() {
return search.getEndEndContractDate();
}
public void setSearchEndEndContractDate(Date val) {
if (val != null) {
search.setEndEndContractDate(val);
} else {
search.unsetEndEndContractDate();
}
}
public boolean isSearchEndEndContractDateValid() {
return search.isEndEndContractDateSet();
}
public void setSearchEndEndContractDateValid(boolean val) {
if (val) {
search.setEndEndContractDate(search.getEndEndContractDate());
} else {
search.unsetEndEndContractDate();
}
}
public java.lang.Integer getSearchDayDuration() {
return search.getDayDuration();
}
public void setSearchDayDuration(java.lang.Integer val) {
if (search.isDayDurationSet()) {
search.setDayDuration(val);
}
}
public boolean isSearchDayDurationValid() {
return search.isDayDurationSet();
}
public void setSearchDayDurationValid(boolean val) {
if (val) {
search.setDayDuration(search.getDayDuration());
} else {
search.unsetDayDuration();
}
}
public String getSearchContractObservations() {
return search.getContractObservations();
}
public void setSearchContractObservations(String val) {
if (search.isContractObservationsSet()) {
search.setContractObservations(val);
}
}
public boolean isSearchContractObservationsValid() {
return search.isContractObservationsSet();
}
public void setSearchContractObservationsValid(boolean val) {
if (val) {
search.setContractObservations(search.getContractObservations());
} else {
search.unsetContractObservations();
}
}
public Date getSearchStartInsertDate() {
return search.getStartInsertDate();
}
public void setSearchStartInsertDate(Date val) {
if (val != null) {
search.setStartInsertDate(val);
} else {
search.unsetStartInsertDate();
}
}
public boolean isSearchStartInsertDateValid() {
return search.isStartInsertDateSet();
}
public void setSearchStartInsertDateValid(boolean val) {
if (val) {
search.setStartInsertDate(search.getStartInsertDate());
} else {
search.unsetStartInsertDate();
}
}
public Date getSearchEndInsertDate() {
return search.getEndInsertDate();
}
public void setSearchEndInsertDate(Date val) {
if (val != null) {
search.setEndInsertDate(val);
} else {
search.unsetEndInsertDate();
}
}
public boolean isSearchEndInsertDateValid() {
return search.isEndInsertDateSet();
}
public void setSearchEndInsertDateValid(boolean val) {
if (val) {
search.setEndInsertDate(search.getEndInsertDate());
} else {
search.unsetEndInsertDate();
}
}
public Date getSearchStartUpdateDate() {
return search.getStartUpdateDate();
}
public void setSearchStartUpdateDate(Date val) {
if (val != null) {
search.setStartUpdateDate(val);
} else {
search.unsetStartUpdateDate();
}
}
public boolean isSearchStartUpdateDateValid() {
return search.isStartUpdateDateSet();
}
public void setSearchStartUpdateDateValid(boolean val) {
if (val) {
search.setStartUpdateDate(search.getStartUpdateDate());
} else {
search.unsetStartUpdateDate();
}
}
public Date getSearchEndUpdateDate() {
return search.getEndUpdateDate();
}
public void setSearchEndUpdateDate(Date val) {
if (val != null) {
search.setEndUpdateDate(val);
} else {
search.unsetEndUpdateDate();
}
}
public boolean isSearchEndUpdateDateValid() {
return search.isEndUpdateDateSet();
}
public void setSearchEndUpdateDateValid(boolean val) {
if (val) {
search.setEndUpdateDate(search.getEndUpdateDate());
} else {
search.unsetEndUpdateDate();
}
}
public Role getSearchRole() {
return search.getRole();
}
public void setSearchRole(Role val) {
if (search.isRoleSet()) {
search.setRole(val);
}
}
public boolean isSearchRoleValid() {
return search.isRoleSet();
}
public void setSearchRoleValid(boolean val) {
if (val) {
search.setRole(search.getRole());
} else {
search.unsetRole();
}
}
public UserCategory getSearchCategory() {
return search.getCategory();
}
public void setSearchCategory(UserCategory val) {
if (search.isCategorySet()) {
search.setCategory(val);
}
}
public boolean isSearchCategoryValid() {
return search.isCategorySet();
}
public void setSearchCategoryValid(boolean val) {
if (val) {
search.setCategory(search.getCategory());
} else {
search.unsetCategory();
}
}
public Province getSearchProvince() {
return search.getProvince();
}
public void setSearchProvince(Province val) {
if (search.isProvinceSet()) {
search.setProvince(val);
}
}
public boolean isSearchProvinceValid() {
return search.isProvinceSet();
}
public void setSearchProvinceValid(boolean val) {
if (val) {
search.setProvince(search.getProvince());
} else {
search.unsetProvince();
}
}
public DocumentCategory getSearchDocumentCategory() {
return search.getDocumentCategory();
}
public void setSearchDocumentCategory(DocumentCategory val) {
if (search.isDocumentCategorySet()) {
search.setDocumentCategory(val);
}
}
public boolean isSearchDocumentCategoryValid() {
return search.isDocumentCategorySet();
}
public void setSearchDocumentCategoryValid(boolean val) {
if (val) {
search.setDocumentCategory(search.getDocumentCategory());
} else {
search.unsetDocumentCategory();
}
}
public Department getSearchDepartment() {
return search.getDepartment();
}
public void setSearchDepartment(Department val) {
if (search.isDepartmentSet()) {
search.setDepartment(val);
}
}
public boolean isSearchDepartmentValid() {
return search.isDepartmentSet();
}
public void setSearchDepartmentValid(boolean val) {
if (val) {
search.setDepartment(search.getDepartment());
} else {
search.unsetDepartment();
}
}
public ContractType getSearchContractType() {
return search.getContractType();
}
public void setSearchContractType(ContractType val) {
if (search.isContractTypeSet()) {
search.setContractType(val);
}
}
public boolean isSearchContractTypeValid() {
return search.isContractTypeSet();
}
public void setSearchContractTypeValid(boolean val) {
if (val) {
search.setContractType(search.getContractType());
} else {
search.unsetContractType();
}
}
public WorkingAgreement getSearchAgreement() {
return search.getAgreement();
}
public void setSearchAgreement(WorkingAgreement val) {
if (search.isAgreementSet()) {
search.setAgreement(val);
}
}
public boolean isSearchAgreementValid() {
return search.isAgreementSet();
}
public void setSearchAgreementValid(boolean val) {
if (val) {
search.setAgreement(search.getAgreement());
} else {
search.unsetAgreement();
}
}
/**
* Handle an ABC pager letter click: filter objects by specified starting letter
*/
public void letterClicked() {
if (letter != null) {
UIComponent comp = FacesUtils.getComponent("users:list");
HtmlDataTable tabla = (HtmlDataTable) comp;
tabla.setFirst(0);
search.setName(letter + "%");
} else {
search.unsetName();
}
}
public Character getLetter() {
return letter;
}
public void setLetter(Character letter) {
this.letter = letter;
}
// Getters and setters to handle uploads
public void setUploadPhoto(UploadedFile uploadPhoto) {
if (uploadPhoto != null) {
oldPhoto = user.getPhoto();
this.uploadPhoto = uploadPhoto;
setPhoto(FileUtil.getFileName(uploadPhoto.getName()));
}
}
public UploadedFile getUploadPhoto() {
return uploadPhoto;
}
// Getters and setters to manipulate active User object
public java.lang.Integer getId() {
return user.getId();
}
public boolean isActive() {
return user.isActive();
}
public void setActive(boolean active) {
user.setActive(active);
}
public String getLogin() {
return user.getLogin();
}
public void setLogin(String login) {
user.setLogin(login);
}
public String getPassword() {
return user.getPassword();
}
public void setPassword(String password) {
user.setPassword(password);
}
public String getName() {
return user.getName();
}
public void setName(String name) {
user.setName(name);
}
public Date getStartDate() {
return user.getStartDate();
}
public void setStartDate(Date startDate) {
user.setStartDate(startDate);
}
public String getNif() {
return user.getNif();
}
public void setNif(String nif) {
user.setNif(nif);
}
public UserGenre getGenre() {
return user.getGenre();
}
public void setGenre(UserGenre genre) {
user.setGenre(genre);
}
public String getSocialSecurityNumber() {
return user.getSocialSecurityNumber();
}
public void setSocialSecurityNumber(String socialSecurityNumber) {
user.setSocialSecurityNumber(socialSecurityNumber);
}
public boolean isWorkingInClient() {
return user.isWorkingInClient();
}
public void setWorkingInClient(boolean workingInClient) {
user.setWorkingInClient(workingInClient);
}
public Date getBirthDate() {
return user.getBirthDate();
}
public void setBirthDate(Date birthDate) {
user.setBirthDate(birthDate);
}
public boolean isMarried() {
return user.isMarried();
}
public void setMarried(boolean married) {
user.setMarried(married);
}
public int getChildrenNumber() {
return user.getChildrenNumber();
}
public void setChildrenNumber(int childrenNumber) {
user.setChildrenNumber(childrenNumber);
}
public String getTravelAvailability() {
return user.getTravelAvailability();
}
public void setTravelAvailability(String travelAvailability) {
user.setTravelAvailability(travelAvailability);
}
public String getAcademicQualification() {
return user.getAcademicQualification();
}
public void setAcademicQualification(String academicQualification) {
user.setAcademicQualification(academicQualification);
}
public String getEmail() {
return user.getEmail();
}
public void setEmail(String email) {
user.setEmail(email);
}
public String getPhone() {
return user.getPhone();
}
public void setPhone(String phone) {
user.setPhone(phone);
}
public String getMobile() {
return user.getMobile();
}
public void setMobile(String mobile) {
user.setMobile(mobile);
}
public String getStreet() {
return user.getStreet();
}
public void setStreet(String street) {
user.setStreet(street);
}
public String getPostalCode() {
return user.getPostalCode();
}
public void setPostalCode(String postalCode) {
user.setPostalCode(postalCode);
}
public String getCity() {
return user.getCity();
}
public void setCity(String city) {
user.setCity(city);
}
public String getBank() {
return user.getBank();
}
public void setBank(String bank) {
user.setBank(bank);
}
public String getAccount() {
return user.getAccount();
}
public void setAccount(String account) {
user.setAccount(account);
}
public BigDecimal getSalary() {
return user.getSalary();
}
public void setSalary(BigDecimal salary) {
user.setSalary(salary);
}
public BigDecimal getSalaryExtras() {
return user.getSalaryExtras();
}
public double getCostPerHour() {
return user.getCostPerHour();
}
public void setSalaryExtras(BigDecimal salaryExtras) {
user.setSalaryExtras(salaryExtras);
}
public String getDrivenLicenseType() {
return user.getDrivenLicenseType();
}
public void setDrivenLicenseType(String drivenLicenseType) {
user.setDrivenLicenseType(drivenLicenseType);
}
public String getVehicleType() {
return user.getVehicleType();
}
public void setVehicleType(String vehicleType) {
user.setVehicleType(vehicleType);
}
public String getLicensePlate() {
return user.getLicensePlate();
}
public void setLicensePlate(String licensePlate) {
user.setLicensePlate(licensePlate);
}
public String getSecurityCard() {
return user.getSecurityCard();
}
public void setSecurityCard(String securityCard) {
user.setSecurityCard(securityCard);
}
public String getHealthInsurance() {
return user.getHealthInsurance();
}
public void setHealthInsurance(String healthInsurance) {
user.setHealthInsurance(healthInsurance);
}
public String getNotes() {
return user.getNotes();
}
public void setNotes(String notes) {
user.setNotes(notes);
}
public String getPhoto() {
return user.getPhoto();
}
public void setPhoto(String photo) {
user.setPhoto(photo);
}
public Date getEndTestPeriodDate() {
return user.getEndTestPeriodDate();
}
public void setEndTestPeriodDate(Date endTestPeriodDate) {
user.setEndTestPeriodDate(endTestPeriodDate);
}
public Date getEndContractDate() {
return user.getEndContractDate();
}
public void setEndContractDate(Date endContractDate) {
user.setEndContractDate(endContractDate);
}
public int getDayDuration() {
return user.getDayDuration();
}
public void setDayDuration(int dayDuration) {
user.setDayDuration(dayDuration);
}
public String getContractObservations() {
return user.getContractObservations();
}
public void setContractObservations(String contractObservations) {
user.setContractObservations(contractObservations);
}
public Date getInsertDate() {
return user.getInsertDate();
}
public void setInsertDate(Date insertDate) {
user.setInsertDate(insertDate);
}
public Date getUpdateDate() {
return user.getUpdateDate();
}
public void setUpdateDate(Date updateDate) {
user.setUpdateDate(updateDate);
}
public Role getRole() {
return user.getRole();
}
public void setRole(Role role) {
user.setRole(role);
}
public UserCategory getCategory() {
return user.getCategory();
}
public void setCategory(UserCategory category) {
user.setCategory(category);
}
public Province getProvince() {
return user.getProvince();
}
public void setProvince(Province province) {
user.setProvince(province);
}
public DocumentCategory getDocumentCategory() {
return user.getDocumentCategory();
}
public void setDocumentCategory(DocumentCategory documentCategory) {
user.setDocumentCategory(documentCategory);
}
public Department getDepartment() {
return user.getDepartment();
}
public void setDepartment(Department department) {
user.setDepartment(department);
}
public ContractType getContractType() {
return user.getContractType();
}
public void setContractType(ContractType contractType) {
user.setContractType(contractType);
}
public WorkingAgreement getAgreement() {
return user.getAgreement();
}
public void setAgreement(WorkingAgreement agreement) {
user.setAgreement(agreement);
}
/* user - generated by stajanov (do not edit/delete) */
public Integer getAgreementYearDuration() {
return user.getAgreementYearDuration();
}
public void setAgreementYearDuration(Integer agreementYearDuration) {
user.setAgreementYearDuration(agreementYearDuration);
}
public boolean isAmI() {
return (SpringUtils.getPrincipal().getId() == user.getId().intValue());
}
}