/** * 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.contacts; import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; import javax.faces.component.UIComponent; import javax.faces.component.UIData; import javax.faces.component.html.HtmlDataTable; import javax.faces.event.PhaseId; import javax.faces.event.ValueChangeEvent; import javax.faces.model.SelectItem; import org.acegisecurity.acls.domain.BasePermission; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.autentia.tnt.bean.BaseBean; import com.autentia.tnt.bean.NavigationResults; import com.autentia.tnt.bean.util.SendMailBean; import com.autentia.tnt.bean.util.SendMailBeanEvent; import com.autentia.tnt.bean.util.SendMailBeanListener; import com.autentia.tnt.businessobject.Contact; import com.autentia.tnt.businessobject.ContactInfo; import com.autentia.tnt.businessobject.Department; import com.autentia.tnt.businessobject.Organization; import com.autentia.tnt.businessobject.Position; import com.autentia.tnt.businessobject.Province; import com.autentia.tnt.businessobject.Tag; import com.autentia.tnt.businessobject.User; import com.autentia.tnt.dao.SortCriteria; import com.autentia.tnt.dao.search.ContactSearch; import com.autentia.tnt.dao.search.DepartmentSearch; import com.autentia.tnt.dao.search.PositionSearch; import com.autentia.tnt.manager.admin.DepartmentManager; import com.autentia.tnt.manager.admin.ProvinceManager; import com.autentia.tnt.manager.admin.UserManager; import com.autentia.tnt.manager.contacts.ContactManager; import com.autentia.tnt.manager.contacts.OrganizationManager; import com.autentia.tnt.manager.contacts.PositionManager; import com.autentia.tnt.manager.security.AuthenticationManager; import com.autentia.tnt.manager.security.Permission; import com.autentia.tnt.manager.security.impl.fixed.DefaultSecurityConfiguration; import com.autentia.tnt.manager.tags.TagManager; import com.autentia.tnt.tracking.EntityChange; import com.autentia.tnt.upload.Uploader; import com.autentia.tnt.upload.UploaderFactory; import com.autentia.tnt.util.FacesUtils; import com.autentia.tnt.util.SpringUtils; /** * UI bean for Contact objects. * * @author stajanov code generator */ public class ContactBean extends BaseBean implements SendMailBeanListener { /** Serial version field */ private static final long serialVersionUID = -1L; private static final String OUTCOME_NOTIFY = "notify"; private static AuthenticationManager authManager = AuthenticationManager .getDefault(); private static DefaultSecurityConfiguration securityConfiguration = (DefaultSecurityConfiguration)SpringUtils .getSpringBean("securityConfiguration"); /** * Send e-mail message to contact to notify him about his inclussion in our * archive of contacts * * @return */ public String sendMail() { User actualUser = authManager.getCurrentPrincipal().getUser(); List<String> to = new ArrayList<String>(); to.add(contact.getName() + " <" + contact.getEmail() + ">"); SendMailBean sendMail = (SendMailBean) FacesUtils .getBean("sendMailBean"); sendMail.setFrom(actualUser.getName() + " <" + actualUser.getEmail() + ">"); sendMail.setTo(to); sendMail.setSubject(FacesUtils .formatMessage("editContact.sendMailSubject")); sendMail.setMessage(FacesUtils.formatMessage( "editContact.sendMailMessage", contact.getName(), actualUser .getName())); sendMail.addSendMailBeanListener(this); return OUTCOME_NOTIFY; } public void mailSent(SendMailBeanEvent e) { contact.setNotified(true); if (contact.getId() == null) { manager.insertEntity(contact); } else { manager.updateEntity(contact); } } public void mailDiscarded(SendMailBeanEvent e) { } /* contact - generated by stajanov (do not edit/delete) */ /** Logger */ private static final Log log = LogFactory.getLog(ContactBean.class); /** Active search object */ private ContactSearch search = new ContactSearch(); /** Manager */ private static ContactManager manager = ContactManager.getDefault(); /** Upload service */ private static final Uploader uploader = UploaderFactory .getInstance("contact"); /** Active Contact object */ private Contact contact; /** Default sort column */ private String sortColumn = "name"; /** Default sort order */ private boolean sortAscending = true; /** Quick search letter for ABC pager control */ private Character letter; /** * List contacts. Order depends on Faces parameter sort. * * @return the list of all contacts sorted by requested criterion */ public List<Contact> getAll() { return manager.getAllEntities(search, new SortCriteria(sortColumn, sortAscending)); } // Getters to list possible values of related entities /** * Get the list of all organizations * * @return the list of all organizations */ public List<SelectItem> getOrganizations() { List<Organization> refs = OrganizationManager.getDefault() .getAllEntities(null, new SortCriteria("name")); ArrayList<SelectItem> ret = new ArrayList<SelectItem>(); for (Organization ref : refs) { ret.add(new SelectItem(ref, ref.getName())); } return ret; } // Getters to list possible values of enum fields // 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 Contact */ public boolean isCreateAvailable() { return SpringUtils.isRolePermissionGranted(Permission .Entity_Create(Contact.class)); } /** * Whether or not edit button is available for user * * @return true if user can edit current object */ public boolean isEditAvailable() { return SpringUtils .isAclPermissionGranted(contact, BasePermission.WRITE); } /** * Whether or not user is with ADmin role * * @return true if user is with Admin role */ public boolean isAdminUser() { return securityConfiguration.isUserInAdminRole(authManager.getCurrentPrincipal()); } /** * Whether or not delete button is available for user * * @return true if user can delete current object */ public boolean isDeleteAvailable() { if (contact == null) return false; return (contact.getId() != null) && SpringUtils.isAclPermissionGranted(contact, BasePermission.DELETE); } /** * Go to create page * * @return forward to CREATE page */ public String create() { contact = new Contact(); contact.addOwner(authManager.getCurrentPrincipal().getUser()); return NavigationResults.CREATE; } /** * Go to detail page * * @return forward to DETAIL page */ public String detail() { Integer id = Integer.parseInt(FacesUtils.getRequestParameter(ROW_ID)); contact = manager.getEntityById(id); contact.getChangesHistory().isEmpty(); return SpringUtils .isAclPermissionGranted(contact, BasePermission.WRITE) ? NavigationResults.EDIT : NavigationResults.DETAIL; } /** * Save bean and stay on it * * @return forward to list page */ public String save() { if (contact.getId() == null) { manager.insertEntity(contact); } else { manager.updateEntity(contact); } contact = manager.addOrganizationDepartmentOrPositionByDefault(contact, selectedOrganization, selectedDepartment, selectedPosition); // Calls an after save action String result = doAfterSave(NavigationResults.LIST); // Unselect object contact = null; selectedOrganization = null; selectedDepartment = null; selectedPosition = null; return result; } /** * Delete bean and go back to beans list * * @return forward to LIST page */ public String delete() { manager.deleteEntity(contact); contact = 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; } public String advancedSearch() { return NavigationResults.ADVANCED_SEARCH; } /** * Check if we have an active object. * * @return true is an object is selected */ public boolean isContactSelected() { return contact != 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 ContactSearch getSearch() { return search; } 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 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 getSearchEmail2() { return search.getEmail2(); } public void setSearchEmail2(String val) { if (search.isEmail2Set()) { search.setEmail2(val); } } public boolean isSearchEmail2Valid() { return search.isEmail2Set(); } public void setSearchEmail2Valid(boolean val) { if (val) { search.setEmail2(search.getEmail2()); } else { search.unsetEmail2(); } } 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 getSearchPhone2() { return search.getPhone2(); } public void setSearchPhone2(String val) { if (search.isPhone2Set()) { search.setPhone2(val); } } public boolean isSearchPhone2Valid() { return search.isPhone2Set(); } public void setSearchPhone2Valid(boolean val) { if (val) { search.setPhone2(search.getPhone2()); } else { search.unsetPhone2(); } } 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 getSearchFax() { return search.getFax(); } public void setSearchFax(String val) { if (search.isFaxSet()) { search.setFax(val); } } public boolean isSearchFaxValid() { return search.isFaxSet(); } public void setSearchFaxValid(boolean val) { if (val) { search.setFax(search.getFax()); } else { search.unsetFax(); } } public String getSearchCountry() { return search.getCountry(); } public void setSearchCountry(String val) { if (search.isCountrySet()) { search.setCountry(val); } } public boolean isSearchCountryValid() { return search.isCountrySet(); } public void setSearchCountryValid(boolean val) { if (val) { search.setCountry(search.getCountry()); } else { search.unsetCountry(); } } 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 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 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 getSearchAddress() { return search.getAddress(); } public void setSearchAddress(String val) { if (search.isAddressSet()) { search.setAddress(val); } } public boolean isSearchAddressValid() { return search.isAddressSet(); } public void setSearchAddressValid(boolean val) { if (val) { search.setAddress(search.getAddress()); } else { search.unsetAddress(); } } public java.lang.Boolean getSearchNotified() { return search.getNotified(); } public void setSearchNotified(java.lang.Boolean val) { if (search.isNotifiedSet()) { search.setNotified(val); } } public boolean isSearchNotifiedValid() { return search.isNotifiedSet(); } public void setSearchNotifiedValid(boolean val) { if (val) { search.setNotified(search.getNotified()); } else { search.unsetNotified(); } } public Organization getSearchOrganization(){ return search.getOrganization(); } public void setSearchOrganization( Organization val ){ if( search.isOrganizationSet() ) { search.setOrganization( val ); } } public boolean isSearchOrganizationValid(){ return search.isOrganizationSet(); } public void setSearchOrganizationValid( boolean val ){ if( val ){ search.setOrganization( search.getOrganization() ); } else { search.unsetOrganization(); } } /** * Handle an ABC pager letter click: filter objects by specified starting * letter */ public void letterClicked() { if (letter != null) { UIComponent comp = FacesUtils.getComponent("contacts: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; } 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; } // Getters and setters to handle uploads // Getters and setters to manipulate active Contact object public java.lang.Integer getId() { return contact.getId(); } public String getName() { return contact.getName(); } public void setName(String name) { contact.setName(name); } public String getEmail() { return contact.getEmail(); } public void setEmail(String email) { contact.setEmail(email); } public String getEmail2() { return contact.getEmail2(); } public void setEmail2(String email2) { contact.setEmail2(email2); } public String getPhone() { return contact.getPhone(); } public void setPhone(String phone) { contact.setPhone(phone); } public String getPhone2() { return contact.getPhone2(); } public void setPhone2(String phone2) { contact.setPhone2(phone2); } public String getFax() { return contact.getFax(); } public void setFax(String fax) { contact.setFax(fax); } public String getCountry() { return contact.getCountry(); } public void setCountry(String country) { contact.setCountry(country); } public String getCity() { return contact.getCity(); } public void setCity(String city) { contact.setCity(city); } public String getMobile() { return contact.getMobile(); } public void setMobile(String mobile) { contact.setMobile(mobile); } public void setPostalCode(String postalCode) { contact.setPostalCode(postalCode); } public String getPostalCode() { return contact.getPostalCode(); } public void setAddress(String address) { contact.setAddress(address); } public String getAddress() { return contact.getAddress(); } public Province getProvince() { return contact.getProvince(); } public void setProvince(Province province) { contact.setProvince(province); } public boolean isNotified() { return contact.isNotified(); } public void setNotified(boolean notified) { contact.setNotified(notified); } public Integer getOwnerId() { return contact.getOwnerId(); } public void setOwnerId(Integer ownerId) { contact.setOwnerId(ownerId); } public Integer getDepartmentId() { return contact.getDepartmentId(); } public void setDepartmentId(Integer departmentId) { contact.setDepartmentId(departmentId); } public Date getInsertDate() { return contact.getInsertDate(); } public void setInsertDate(Date insertDate) { contact.setInsertDate(insertDate); } public Date getUpdateDate() { return contact.getUpdateDate(); } public void setUpdateDate(Date updateDate) { contact.setUpdateDate(updateDate); } /* contact - generated by stajanov (do not edit/delete) */ private Organization selectedOrganization; private Department selectedDepartment; private Position selectedPosition; public Organization getSelectedOrganization() { return selectedOrganization; } public void setSelectedOrganization(Organization selectedOrganization) { this.selectedOrganization = selectedOrganization; } public Department getSelectedDepartment() { return selectedDepartment; } public void setSelectedDepartment(Department selectedDepartment) { this.selectedDepartment = selectedDepartment; } public Position getSelectedPosition() { return selectedPosition; } public void setSelectedPosition(Position selectedPosition) { this.selectedPosition = selectedPosition; } public List<SelectItem> getAllOrganizations() { final List<Organization> refs = OrganizationManager.getDefault() .getAllEntities(null, new SortCriteria("name")); final List<SelectItem> ret = new ArrayList<SelectItem>(); ret.add(new SelectItem(null, FacesUtils .getMessage("contact.selectOneOrganization"))); for (Organization ref : refs) { String name = ref.getName(); if (name.length() > 97) { name = name.substring(0, 97) + "..."; } ret.add(new SelectItem(ref, name)); } return ret; } public List<SelectItem> getAllDepartmentsOfCompany() { final Set<Organization> organizations = new LinkedHashSet<Organization>(); organizations.add(this.getSelectedOrganization()); final DepartmentSearch departmentSearch = new DepartmentSearch(); departmentSearch.setOrganization(this.getSelectedOrganization()); final List<Department> refs = DepartmentManager.getDefault() .getAllEntities(departmentSearch, new SortCriteria("name")); final List<SelectItem> ret = new ArrayList<SelectItem>(); ret.add(new SelectItem(null, FacesUtils .getMessage("contact.selectOneDepartment"))); for (Department ref : refs) { ret.add(new SelectItem(ref, ref.getName())); } return ret; } public List<SelectItem> getAllPositionsOfDepartment() { final PositionSearch positionSearch = new PositionSearch(); positionSearch.setDepartmentId(this.getSelectedDepartment().getId()); positionSearch.setDeleted(false); final List<Position> refs = PositionManager.getDefault() .getAllEntities(positionSearch, new SortCriteria("name")); final List<SelectItem> ret = new ArrayList<SelectItem>(); ret.add(new SelectItem(null, FacesUtils .getMessage("contact.selectOnePosition"))); for (Position ref : refs) { ret.add(new SelectItem(ref, ref.getName())); } return ret; } public void changeOrganizationValue(ValueChangeEvent event) { if (event.getPhaseId() == PhaseId.INVOKE_APPLICATION) { this.selectedDepartment=null; this.selectedPosition=null; FacesUtils.renderResponse(); } else { event.setPhaseId(PhaseId.INVOKE_APPLICATION); event.queue(); } } public void changeDepartmentValue(ValueChangeEvent event) { if (event.getPhaseId() == PhaseId.INVOKE_APPLICATION) { this.selectedPosition=null; FacesUtils.renderResponse(); } else { event.setPhaseId(PhaseId.INVOKE_APPLICATION); event.queue(); } } public void changeValue(ValueChangeEvent event) { if (event.getPhaseId() == PhaseId.INVOKE_APPLICATION) { FacesUtils.renderResponse(); } else { event.setPhaseId(PhaseId.INVOKE_APPLICATION); event.queue(); } } public String addPosition() { final ContactInfo contactInfo = new ContactInfo(); contactInfo.setContact(contact); contactInfo.setDepartment(selectedDepartment); contactInfo.setOrganization(selectedOrganization); contactInfo.setPosition(selectedPosition); // if (contact.getContactInfos() == null) { // contact.setContactInfos(new LinkedHashSet<ContactInfo>()); // } contact.addContactInfo(contactInfo); selectedOrganization = null; selectedDepartment = null; selectedPosition = null; for (ContactInfo contactInf : contact.getContactInfos()) { final ContactInfo c = new ContactInfo(); c.setContact(contactInf.getContact()); c.setDepartment(contactInf.getDepartment()); c.setOrganization(contactInf.getOrganization()); c.setPosition(contactInf.getPosition()); } return NavigationResults.EDIT; } public boolean isShowDepartmentSelection() { return selectedOrganization != null && selectedOrganization.getDepartments() != null && !selectedOrganization.getDepartments().isEmpty(); } public boolean isShowPositionSelection() { return selectedDepartment != null && selectedDepartment.getPositions() != null && !selectedDepartment.getPositions().isEmpty(); } public boolean isShowAddPosition() { return selectedPosition != null; } public Set<ContactInfo> getContactInfos() { return contact.getContactInfos(); } public String deleteContactInfo() { UIData table = (UIData) FacesUtils.getComponent("contact:contactInfos"); ContactInfo toDelete = (ContactInfo) table.getRowData(); contact.removeContactInfo(toDelete); return NavigationResults.EDIT; } private Tag selectedTag; public Tag getSelectedTag() { return selectedTag; } public void setSelectedTag(Tag selectedTag) { this.selectedTag = selectedTag; } public List<SelectItem> getAllTags() { final List<Tag> refs = TagManager.getDefault().getAllEntities( null, new SortCriteria("id")); final List<SelectItem> ret = new ArrayList<SelectItem>(); for (Tag ref : refs) { ret.add(new SelectItem(ref, ref.getName())); } return ret; } public String addTag() { contact.addTag(getSelectedTag()); return NavigationResults.EDIT; } public Set<Tag> getDepartmentTags() { return contact.getTags(); } // public void setTags(Set<Tag> tags) { // contact.setTags(tags); // } public String deleteTag() { final UIData table = (UIData) FacesUtils.getComponent("contact:tags"); final Tag toDelete = (Tag) table.getRowData(); contact.removeTag(toDelete); return NavigationResults.EDIT; } public boolean isAreTagsToSelect() { return !getAllTags().isEmpty(); } public boolean isAreTagsSelected() { return !contact.getTags().isEmpty(); } public boolean isArePositionsSelected() { return !contact.getContactInfos().isEmpty(); } private User selectedOwner; public User getSelectedOwner() { return selectedOwner; } public void setSelectedOwner(User selectedOwner) { this.selectedOwner = selectedOwner; } public List<SelectItem> getAllUsers() { final List<User> refs= UserManager.getDefault().getAllEntities(null, new SortCriteria("name")); final List<SelectItem> ret = new ArrayList<SelectItem>(); for (User ref : refs) { ret.add(new SelectItem(ref, ref.getName())); } return ret; } public String addOwner() { contact.addOwner(selectedOwner); return NavigationResults.EDIT; } public boolean isAreOwnersSelected() { return !contact.getOwners().isEmpty(); } public Set<User> getOwners() { return contact.getOwners(); } public String deleteOwner() { final UIData table = (UIData)FacesUtils.getComponent("contact:owners"); final User toDelete = (User)table.getRowData(); contact.removeOwner(toDelete); if (contact.getOwners().isEmpty()) { FacesUtils.addWarningMessage("contact:ownersList", "editContact.emptyOwners", null); } return NavigationResults.EDIT; } /** * Devuelve el histórico del puesto */ public Set<EntityChange> getHistory() { return contact.getChangesHistory(); } /** * Navega hacia la página de histórico */ public String showHistory() { final Integer id = Integer.parseInt(FacesUtils.getRequestParameter(ROW_ID)); contact = manager.getEntityById(id); return "changes"; } /** Changes Datatable only for showing texts purposes **/ private UIData changesDataTable; public UIData getChangesDataTable() { return changesDataTable; } public void setChangesDataTable(UIData changesDataTable) { this.changesDataTable = changesDataTable; } /** * Returns the current change in changes data table "old value" * * @return */ public String getChangeOldValue() { String oldValue = ((EntityChange)changesDataTable.getRowData()).getOldValue(); return getChangeValue(oldValue); } /** * Returns the current change in changes data table "new value" * * @return */ public String getChangeNewValue() { String newValue = ((EntityChange)changesDataTable.getRowData()).getNewValue(); return getChangeValue(newValue); } private String getChangeValue(String changeValue) { String strReturn = changeValue; if (changeValue != null) { if (changeValue.equals("true")) { strReturn = FacesUtils.formatMessage("msg.yes"); } else if (changeValue.equals("false")) { strReturn = FacesUtils.formatMessage("msg.no"); } } return strReturn; } public boolean isRenderName() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "name"); } public boolean isRenderEmail() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "email"); } public boolean isRenderPhone() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "phone"); } public boolean isRenderMobile() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "mobile"); } public boolean isRenderNotified() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "notified"); } public boolean isRenderContactInfos() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "contactInfos"); } public boolean isRenderEmail2() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "email2"); } public boolean isRenderPhone2() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "phone2"); } public boolean isRenderFax() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "fax"); } public boolean isRenderAddress() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "address"); } public boolean isRenderPostalCode() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "postalCode"); } public boolean isRenderCity() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "city"); } public boolean isRenderCountry() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "country"); } public boolean isRenderProvince() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "province"); } public boolean isRenderTags() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "tags"); } public boolean isRenderHistory() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "history"); } public boolean isRenderOwners() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "owners"); } public boolean isRenderAdvancedSearch() { User user = authManager.getCurrentPrincipal().getUser(); return securityConfiguration.allowFieldAccess(Contact.class, user.getRole().getId(), "advancedSearch"); } }