/**
* 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.billing;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.faces.component.UIData;
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.businessobject.Bill;
import com.autentia.tnt.businessobject.CreditTitle;
import com.autentia.tnt.businessobject.CreditTitleState;
import com.autentia.tnt.businessobject.CreditTitleType;
import com.autentia.tnt.businessobject.Organization;
import com.autentia.tnt.dao.SortCriteria;
import com.autentia.tnt.dao.search.CreditTitleSearch;
import com.autentia.tnt.manager.account.AccountEntryManager;
import com.autentia.tnt.manager.billing.BillManager;
import com.autentia.tnt.manager.billing.CreditTitleManager;
import com.autentia.tnt.manager.contacts.OrganizationManager;
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.SpringUtils;
/**
* UI bean for Bill objects.
*
* @author stajanov code generator
*/
public class CreditTitleBean extends BaseBean {
/* creditTitle - generated by stajanov (do not edit/delete) */
/** Logger */
private static final Log log = LogFactory.getLog(CreditTitleBean.class);
/** Active search object */
private CreditTitleSearch search = new CreditTitleSearch();
/** Manager */
private static CreditTitleManager manager = CreditTitleManager.getDefault();
/** Upload service */
private static final Uploader uploader = UploaderFactory.getInstance("creditTitle");
/** Active CreditTitle object */
private CreditTitle creditTitle;
/** Default sort column */
private String sortColumn = "number";
/** Default sort order */
private boolean sortAscending = false;
/**
* List creditTitles. Order depends on Faces parameter sort.
* @return the list of all creditTitles sorted by requested criterion
*/
public List<CreditTitle> 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() {
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
List<Organization> refs = OrganizationManager.getDefault().getAllEntities(null,new SortCriteria("name"));
for (Organization ref : refs) {
ret.add(new SelectItem(ref, ref.getName()));
}
return ret;
}
/**
* Get the list of all billss
* @return the list of all billss
*/
public List<SelectItem> getBillss(){
List<Bill> refs = BillManager.getDefault().getAllEntities( null, new SortCriteria("name"));
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
for( Bill ref : refs ){
ret.add( new SelectItem( ref, ref.getName()));
}
return ret;
}
// Getters to list possible values of enum fields
public String getCreditTitleStateFormatted(){
if(this.getCreditTitleState()!=null) {
return FacesUtils.formatMessage("CreditTitleState."+this.getCreditTitleState().name());
} else {
return "";
}
}
/**
* Get the list of all CreditTitleState values
* @return the list of all CreditTitleState values
*/
public List<SelectItem> getStates(){
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
CreditTitleState[] vals = CreditTitleState.values();
for( CreditTitleState val : vals ){
ret.add( new SelectItem( val, FacesUtils.formatMessage("CreditTitleState."+val.name()) ) );
}
return ret;
}
public String getCreditTitleTypeFormatted(){
if(this.getCreditTitleType()!=null) {
return FacesUtils.formatMessage("CreditTitleType."+this.getCreditTitleType().name());
} else {
return "";
}
}
/**
* Go to edit page
*
* @return forward to EDIT page
*/
public String edit() {
Integer id = Integer.parseInt( FacesUtils.getRequestParameter(ROW_ID) );
creditTitle = manager.getEntityById(id);
return NavigationResults.EDIT;
}
/**
* Get the list of all CreditTitleType values
* @return the list of all CreditTitleType values
*/
public List<SelectItem> getTypes(){
ArrayList<SelectItem> ret = new ArrayList<SelectItem>();
CreditTitleType[] vals = CreditTitleType.values();
for( CreditTitleType val : vals ){
ret.add( new SelectItem( val, FacesUtils.formatMessage("CreditTitleType."+val.name()) ) );
}
return ret;
}
// Methods to create/remove instances of one-to-many entities (slave entities)
/**
* Create a new empty instance of the one-to-many field
* @return forward to the same page
*/
public String createBills()
{
Bill item = new Bill();
if (creditTitle.getBills() == null)
{
creditTitle.setBills( new HashSet() );
}
creditTitle.getBills().add( item );
return null;
}
/**
* Create a new empty instance of the one-to-many field
* @return forward to the same page
*/
public String editBills()
{
Bill item = new Bill();
if (creditTitle.getBills() == null)
{
creditTitle.setBills( new HashSet() );
}
creditTitle.getBills().add( item );
return null;
}
/**
* Delete selected instance of the one-to-many field
* @return forward to the same page
*/
public String deleteBills()
{
UIData table = (UIData)FacesUtils.getComponent("creditTitle:bills");
creditTitle.getBills().remove( table.getRowData() );
return null;
}
/**
* Whether or not create button is available for user
* @return true if user can create objects of type CreditTitle
*/
public boolean isCreateAvailable()
{
return SpringUtils.isRolePermissionGranted(Permission.Entity_Create(CreditTitle.class));
}
/**
* Whether or not edit button is available for user
* @return true if user can edit current object
*/
public boolean isEditAvailable()
{
return SpringUtils.isAclPermissionGranted(creditTitle,BasePermission.WRITE);
}
/**
* Whether or not delete button is available for user
* @return true if user can delete current object
*/
public boolean isDeleteAvailable()
{
return (creditTitle.getId()!=null) &&
SpringUtils.isAclPermissionGranted(creditTitle,BasePermission.DELETE);
}
/**
* Go to create page
* @return forward to CREATE page
*/
public String create(){
creditTitle = new CreditTitle();
return NavigationResults.CREATE;
}
/**
* Go to detail page
* @return forward to DETAIL page
*/
public String detail(){
Integer id = Integer.parseInt( FacesUtils.getRequestParameter(ROW_ID) );
creditTitle = manager.getEntityById(id);
return SpringUtils.isAclPermissionGranted( creditTitle, BasePermission.WRITE )
? NavigationResults.EDIT
: NavigationResults.DETAIL;
}
/**
* Save bean and stay on it
* @return forward to list page
*/
public String save(){
doBeforeSave();
if( creditTitle.getId()==null ){
manager.insertEntity(creditTitle);
} else {
manager.updateEntity(creditTitle);
}
// Calls an after save action
String result = doAfterSave(NavigationResults.LIST);
return result;
}
/**
* Delete bean and go back to beans list
* @return forward to LIST page
*/
public String delete(){
manager.deleteEntity(creditTitle);
creditTitle = 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 isCreditTitleSelected(){
return creditTitle!=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 CreditTitleSearch getSearch(){
return search;
}
public String getSearchNumber(){
return search.getNumber();
}
public void setSearchNumber( String val ){
if( search.isNumberSet() ) {
search.setNumber( val );
}
}
public boolean isSearchNumberValid(){
return search.isNumberSet();
}
public void setSearchNumberValid( boolean val ){
if( val ){
search.setNumber( search.getNumber() );
} else {
search.unsetNumber();
}
}
public String getSearchConcept(){
return search.getConcept();
}
public void setSearchConcept( String val ){
if( search.isConceptSet() ) {
search.setConcept( val );
}
}
public boolean isSearchConceptValid(){
return search.isConceptSet();
}
public void setSearchConceptValid( boolean val ){
if( val ){
search.setConcept( search.getConcept() );
} else {
search.unsetConcept();
}
}
public CreditTitleState getSearchCreditTitleState(){
return search.getCreditTitleState();
}
public void setSearchCreditTitleState( CreditTitleState val ){
if( search.isCreditTitleStateSet() ) {
search.setCreditTitleState( val );
}
}
public boolean isSearchCreditTitleStateValid(){
return search.isCreditTitleStateSet();
}
public void setSearchCreditTitleStateValid( boolean val ){
if( val ){
search.setCreditTitleState( search.getCreditTitleState() );
} else {
search.unsetCreditTitleState();
}
}
public CreditTitleType getSearchCreditTitleType(){
return search.getCreditTitleType();
}
public void setSearchCreditTitleType( CreditTitleType val ){
if( search.isCreditTitleTypeSet() ) {
search.setCreditTitleType( val );
}
}
public boolean isSearchCreditTitleTypeValid(){
return search.isCreditTitleTypeSet();
}
public void setSearchCreditTitleTypeValid( boolean val ){
if( val ){
search.setCreditTitleType( search.getCreditTitleType() );
} else {
search.unsetCreditTitleType();
}
}
public BigDecimal getSearchStartAmount(){
return search.getStartAmount();
}
public void setSearchStartAmount( BigDecimal val ){
if( search.isStartAmountSet() ) {
search.setStartAmount( val );
}
}
public boolean isSearchStartAmountValid(){
return search.isStartAmountSet();
}
public void setSearchStartAmountValid( boolean val ){
if( val ){
search.setStartAmount( search.getStartAmount() );
} else {
search.unsetStartAmount();
}
}
public BigDecimal getSearchEndAmount(){
return search.getEndAmount();
}
public void setSearchEndAmount( BigDecimal val ){
if( search.isEndAmountSet() ) {
search.setEndAmount( val );
}
}
public boolean isSearchEndAmountValid(){
return search.isEndAmountSet();
}
public void setSearchEndAmountValid( boolean val ){
if( val ){
search.setEndAmount( search.getEndAmount() );
} else {
search.unsetEndAmount();
}
}
public Date getSearchStartIssueDate(){
return search.getStartIssueDate();
}
public void setSearchStartIssueDate( Date val ){
if( val!=null ){
search.setStartIssueDate( val );
} else {
search.unsetStartIssueDate();
}
}
public boolean isSearchStartIssueDateValid(){
return search.isStartIssueDateSet();
}
public void setSearchStartIssueDateValid( boolean val ){
if( val ){
search.setStartIssueDate( search.getStartIssueDate() );
} else {
search.unsetStartIssueDate();
}
}
public Date getSearchEndIssueDate(){
return search.getEndIssueDate();
}
public void setSearchEndIssueDate( Date val ){
if( val!=null ){
search.setEndIssueDate( val );
} else {
search.unsetEndIssueDate();
}
}
public boolean isSearchEndIssueDateValid(){
return search.isEndIssueDateSet();
}
public void setSearchEndIssueDateValid( boolean val ){
if( val ){
search.setEndIssueDate( search.getEndIssueDate() );
} else {
search.unsetEndIssueDate();
}
}
public Date getSearchStartExpirationDate(){
return search.getStartExpirationDate();
}
public void setSearchStartExpirationDate( Date val ){
if( val!=null ){
search.setStartExpirationDate( val );
} else {
search.unsetStartExpirationDate();
}
}
public boolean isSearchStartExpirationDateValid(){
return search.isStartExpirationDateSet();
}
public void setSearchStartExpirationDateValid( boolean val ){
if( val ){
search.setStartExpirationDate( search.getStartExpirationDate() );
} else {
search.unsetStartExpirationDate();
}
}
public Date getSearchEndExpirationDate(){
return search.getEndExpirationDate();
}
public void setSearchEndExpirationDate( Date val ){
if( val!=null ){
search.setEndExpirationDate( val );
} else {
search.unsetEndExpirationDate();
}
}
public boolean isSearchEndExpirationDateValid(){
return search.isEndExpirationDateSet();
}
public void setSearchEndExpirationDateValid( boolean val ){
if( val ){
search.setEndExpirationDate( search.getEndExpirationDate() );
} else {
search.unsetEndExpirationDate();
}
}
public String getSearchObservations(){
return search.getObservations();
}
public void setSearchObservations( String val ){
if( search.isObservationsSet() ) {
search.setObservations( val );
}
}
public boolean isSearchObservationsValid(){
return search.isObservationsSet();
}
public void setSearchObservationsValid( boolean val ){
if( val ){
search.setObservations( search.getObservations() );
} else {
search.unsetObservations();
}
}
public Integer getSearchOwnerId(){
return search.getOwnerId();
}
public void setSearchOwnerId( Integer val ){
if( search.isOwnerIdSet() ) {
search.setOwnerId( val );
}
}
public boolean isSearchOwnerIdValid(){
return search.isOwnerIdSet();
}
public void setSearchOwnerIdValid( boolean val ){
if( val ){
search.setOwnerId( search.getOwnerId() );
} else {
search.unsetOwnerId();
}
}
public Integer getSearchDepartmentId(){
return search.getDepartmentId();
}
public void setSearchDepartmentId( Integer val ){
if( search.isDepartmentIdSet() ) {
search.setDepartmentId( val );
}
}
public boolean isSearchDepartmentIdValid(){
return search.isDepartmentIdSet();
}
public void setSearchDepartmentIdValid( boolean val ){
if( val ){
search.setDepartmentId( search.getDepartmentId() );
} else {
search.unsetDepartmentId();
}
}
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 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();
}
}
public List<Bill> getSearchBills(){
return search.getBills();
}
public void setSearchBills( List<Bill> val ){
if( search.isBillsSet() ) {
search.setBills( val );
}
}
public boolean isSearchBillsValid(){
return search.isBillsSet();
}
public void setSearchBillsValid( boolean val ){
if( val ){
search.setBills( search.getBills() );
} else {
search.unsetBills();
}
}
// Getters and setters to handle uploads
// Getters and setters to manipulate active CreditTitle object
public java.lang.Integer getId() {
return creditTitle.getId();
}
public String getNumber() {
return creditTitle.getNumber();
}
public void setNumber( String number ) {
creditTitle.setNumber( number );
}
public String getConcept() {
return creditTitle.getConcept();
}
public void setConcept( String concept ) {
creditTitle.setConcept( concept );
}
public CreditTitleState getCreditTitleState() {
return creditTitle.getState();
}
public void setCreditTitleState( CreditTitleState creditTitleState ) {
creditTitle.setState( creditTitleState );
}
public CreditTitleType getCreditTitleType() {
return creditTitle.getType();
}
public void setCreditTitleType( CreditTitleType creditTitleType ) {
creditTitle.setType( creditTitleType );
}
public Date getIssueDate() {
return creditTitle.getIssueDate();
}
public void setIssueDate( Date issueDate ) {
creditTitle.setIssueDate( issueDate );
}
public Date getExpirationDate() {
return creditTitle.getExpirationDate();
}
public void setExpirationDate( Date expirationDate ) {
creditTitle.setExpirationDate( expirationDate );
}
public String getObservations() {
return creditTitle.getObservations();
}
public void setObservations( String observations ) {
creditTitle.setObservations( observations );
}
public Integer getOwnerId() {
return creditTitle.getOwnerId();
}
public void setOwnerId( Integer ownerId ) {
creditTitle.setOwnerId( ownerId );
}
public Integer getDepartmentId() {
return creditTitle.getDepartmentId();
}
public void setDepartmentId( Integer departmentId ) {
creditTitle.setDepartmentId( departmentId );
}
public Date getInsertDate() {
return creditTitle.getInsertDate();
}
public void setInsertDate( Date insertDate ) {
creditTitle.setInsertDate( insertDate );
}
public Date getUpdateDate() {
return creditTitle.getUpdateDate();
}
public void setUpdateDate( Date updateDate ) {
creditTitle.setUpdateDate( updateDate );
}
public Organization getOrganization() {
return creditTitle.getOrganization();
}
public void setOrganization( Organization organization ) {
creditTitle.setOrganization( organization );
}
public BigDecimal getAmount() {
return creditTitle.getAmount();
}
public void setAmount( BigDecimal amount ) {
creditTitle.setAmount(amount);
}
public Set<Bill> getBills() {
return creditTitle.getBills();
}
public void setBills( Set<Bill> bills ) {
creditTitle.setBills( bills );
}
public String searchBills() {
BillBean bean = (BillBean) FacesUtils.getBean("billBean");
bean.setCreditTitle(creditTitle);
return NavigationResults.CREDIT_TITLE_SEARCH_BILLS;
}
public String unselect() {
int idEntry = Integer.parseInt(FacesUtils.getRequestParameter("idEntry"));
int id = creditTitle.getId();
creditTitle.getBills().remove(BillManager.getDefault().getEntityById(idEntry));
save();
creditTitle = manager.getEntityById(id);
return NavigationResults.EDIT;
}
public CreditTitle getCreditTitle() {
return creditTitle;
}
/* creditTitle - generated by stajanov (do not edit/delete) */
}