=== modified file 'local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/EquipmentInstanceService.java' --- local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/EquipmentInstanceService.java 2012-04-16 11:29:53 +0000 +++ local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/EquipmentInstanceService.java 2012-04-26 10:00:48 +0000 @@ -1,6 +1,9 @@ package org.hisp.dhis.coldchain.inventory; import java.util.Collection; +import java.util.List; + +import org.hisp.dhis.organisationunit.OrganisationUnit; public interface EquipmentInstanceService { @@ -11,7 +14,16 @@ void updateEquipmentInstance( EquipmentInstance equipmentInstance ); void deleteEquipmentInstance( EquipmentInstance equipmentInstance ); + + int createEquipment( EquipmentInstance equipmentInstance, List equipmentDetails ); Collection getAllEquipmentInstance(); + Collection getEquipmentInstances( OrganisationUnit orgUnit, InventoryType inventoryType ); + + Collection getEquipmentInstances( OrganisationUnit orgUnit ); + + int getCountEquipmentInstance( OrganisationUnit orgUnit, InventoryType inventoryType ); + + Collection getEquipmentInstances( OrganisationUnit orgUnit, InventoryType inventoryType, int min, int max ); } === modified file 'local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/EquipmentInstanceStore.java' --- local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/EquipmentInstanceStore.java 2012-04-16 11:29:53 +0000 +++ local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/EquipmentInstanceStore.java 2012-04-26 10:00:48 +0000 @@ -2,7 +2,10 @@ import java.util.Collection; -public interface EquipmentInstanceStore +import org.hisp.dhis.common.GenericStore; +import org.hisp.dhis.organisationunit.OrganisationUnit; + +public interface EquipmentInstanceStore extends GenericStore { String ID = EquipmentInstanceStore.class.getName(); @@ -13,4 +16,14 @@ void deleteEquipmentInstance( EquipmentInstance equipmentInstance ); Collection getAllEquipmentInstance(); + + Collection getEquipmentInstances( OrganisationUnit orgUnit ); + + Collection getEquipmentInstances( OrganisationUnit orgUnit, InventoryType inventoryType ); + + int getCountEquipmentInstance( OrganisationUnit orgUnit, InventoryType inventoryType ); + + Collection getEquipmentInstances( OrganisationUnit orgUnit, InventoryType inventoryType, int min, int max ); + + } === modified file 'local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/InventoryTypeService.java' --- local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/InventoryTypeService.java 2012-04-16 11:29:53 +0000 +++ local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/InventoryTypeService.java 2012-04-26 10:00:48 +0000 @@ -13,4 +13,8 @@ void deleteInventoryType( InventoryType inventoryType ); Collection getAllInventoryTypes(); + + InventoryType getInventoryTypeByName( String name ); + + InventoryType getInventoryType( int id ); } === modified file 'local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/InventoryTypeStore.java' --- local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/InventoryTypeStore.java 2012-04-16 11:29:53 +0000 +++ local/in/dhis-in-api/src/main/java/org/hisp/dhis/coldchain/inventory/InventoryTypeStore.java 2012-04-26 10:00:48 +0000 @@ -13,4 +13,8 @@ void deleteInventoryType( InventoryType inventoryType ); Collection getAllInventoryTypes(); + + InventoryType getInventoryTypeByName( String name ); + + InventoryType getInventoryType( int id ); } === modified file 'local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/DefaultEquipmentInstanceService.java' --- local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/DefaultEquipmentInstanceService.java 2012-04-16 11:29:53 +0000 +++ local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/DefaultEquipmentInstanceService.java 2012-04-26 10:00:48 +0000 @@ -1,9 +1,12 @@ package org.hisp.dhis.coldchain.inventory; import java.util.Collection; +import java.util.List; +import org.hisp.dhis.organisationunit.OrganisationUnit; import org.springframework.transaction.annotation.Transactional; +@Transactional public class DefaultEquipmentInstanceService implements EquipmentInstanceService { @@ -18,33 +21,70 @@ this.equipmentInstanceStore = equipmentInstanceStore; } + private EquipmentDetailsService equipmentDetailsService; + + public void setEquipmentDetailsService( EquipmentDetailsService equipmentDetailsService ) + { + this.equipmentDetailsService = equipmentDetailsService; + } + // ------------------------------------------------------------------------- // EquipmentInstance // ------------------------------------------------------------------------- - @Transactional + @Override public int addEquipmentInstance( EquipmentInstance equipmentInstance ) { return equipmentInstanceStore.addEquipmentInstance( equipmentInstance ); } - @Transactional @Override public void deleteEquipmentInstance( EquipmentInstance equipmentInstance ) { equipmentInstanceStore.deleteEquipmentInstance( equipmentInstance ); } - @Transactional @Override public Collection getAllEquipmentInstance() { return equipmentInstanceStore.getAllEquipmentInstance(); } - @Transactional @Override public void updateEquipmentInstance( EquipmentInstance equipmentInstance ) { equipmentInstanceStore.updateEquipmentInstance( equipmentInstance ); } + public int createEquipment( EquipmentInstance equipmentInstance, List equipmentDetails ) + { + int equipmentInstanceId = addEquipmentInstance( equipmentInstance ); + + for( EquipmentDetails equipment : equipmentDetails ) + { + equipmentDetailsService.addEquipmentDetails( equipment ); + } + + return equipmentInstanceId; + } + + public Collection getEquipmentInstances( OrganisationUnit orgUnit ) + { + return equipmentInstanceStore.getEquipmentInstances( orgUnit ); + } + + public Collection getEquipmentInstances( OrganisationUnit orgUnit, InventoryType inventoryType ) + { + return equipmentInstanceStore.getEquipmentInstances( orgUnit, inventoryType ); + } + + public Collection getEquipmentInstances( OrganisationUnit orgUnit, InventoryType inventoryType, int min, int max ) + { + return equipmentInstanceStore.getEquipmentInstances( orgUnit, inventoryType, min, max ); + } + + @Override + public int getCountEquipmentInstance( OrganisationUnit orgUnit, InventoryType inventoryType ) + { + return equipmentInstanceStore.getCountEquipmentInstance( orgUnit, inventoryType ); + } + } === modified file 'local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/DefaultInventoryTypeAttributeService.java' --- local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/DefaultInventoryTypeAttributeService.java 2012-04-21 12:57:24 +0000 +++ local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/DefaultInventoryTypeAttributeService.java 2012-04-26 10:00:48 +0000 @@ -2,6 +2,7 @@ import java.util.Collection; +import org.hibernate.Session; import org.springframework.transaction.annotation.Transactional; @Transactional === modified file 'local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/DefaultInventoryTypeService.java' --- local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/DefaultInventoryTypeService.java 2012-04-16 11:29:53 +0000 +++ local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/DefaultInventoryTypeService.java 2012-04-26 10:00:48 +0000 @@ -2,6 +2,10 @@ import java.util.Collection; +import org.hibernate.Criteria; +import org.hibernate.Session; +import org.hibernate.criterion.Restrictions; + public class DefaultInventoryTypeService implements InventoryTypeService { // ------------------------------------------------------------------------- @@ -42,4 +46,14 @@ inventoryTypeStore.updateInventoryType( inventoryType ); } + public InventoryType getInventoryTypeByName( String name ) + { + return inventoryTypeStore.getInventoryTypeByName( name ); + } + + public InventoryType getInventoryType( int id ) + { + return inventoryTypeStore.getInventoryType( id ); + } + } === modified file 'local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/hibernate/HibernateEquipmentInstanceStore.java' --- local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/hibernate/HibernateEquipmentInstanceStore.java 2012-04-16 11:29:53 +0000 +++ local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/hibernate/HibernateEquipmentInstanceStore.java 2012-04-26 10:00:48 +0000 @@ -2,12 +2,21 @@ import java.util.Collection; +import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.SessionFactory; +import org.hibernate.criterion.Projections; +import org.hibernate.criterion.Restrictions; import org.hisp.dhis.coldchain.inventory.EquipmentInstance; import org.hisp.dhis.coldchain.inventory.EquipmentInstanceStore; +import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttribute; +import org.hisp.dhis.hibernate.HibernateGenericStore; +import org.hisp.dhis.organisationunit.OrganisationUnit; -public class HibernateEquipmentInstanceStore implements EquipmentInstanceStore +public class HibernateEquipmentInstanceStore + extends HibernateGenericStore + implements EquipmentInstanceStore { // ------------------------------------------------------------------------- // Dependencies @@ -56,4 +65,41 @@ session.update( equipmentInstance ); } + public Collection getEquipmentInstances( OrganisationUnit orgUnit ) + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( InventoryTypeAttribute.class ); + criteria.add( Restrictions.eq( "organisationUnit", orgUnit ) ); + + return criteria.list(); + } + + public Collection getEquipmentInstances( OrganisationUnit orgUnit, InventoryType inventoryType ) + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( InventoryTypeAttribute.class ); + criteria.add( Restrictions.eq( "organisationUnit", orgUnit ) ); + criteria.add( Restrictions.eq( "inventoryType", inventoryType ) ); + + return criteria.list(); + } + + public int getCountEquipmentInstance( OrganisationUnit orgUnit, InventoryType inventoryType ) + { + Number rs = (Number) getCriteria( Restrictions.eq( "organisationUnit", orgUnit ) ).add( Restrictions.eq( "inventoryType", inventoryType ) ).setProjection( + Projections.rowCount() ).uniqueResult(); + + return rs != null ? rs.intValue() : 0; + } + + public Collection getEquipmentInstances( OrganisationUnit orgUnit, InventoryType inventoryType, int min, int max ) + { + String hql = "select e from EquipmentInstance e where e.organisationUnit = :orgUnit and e.inventoryType = :inventoryType order by e.id DESC"; + + return getQuery( hql ).setEntity( "organisationUnit", orgUnit ).setFirstResult( min ).setMaxResults( + max ).list(); + } + } === modified file 'local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/hibernate/HibernateInventoryTypeStore.java' --- local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/hibernate/HibernateInventoryTypeStore.java 2012-04-16 11:29:53 +0000 +++ local/in/dhis-in-services/dhis-in-service-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/hibernate/HibernateInventoryTypeStore.java 2012-04-26 10:00:48 +0000 @@ -2,9 +2,12 @@ import java.util.Collection; +import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.SessionFactory; +import org.hibernate.criterion.Restrictions; import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttribute; import org.hisp.dhis.coldchain.inventory.InventoryTypeStore; public class HibernateInventoryTypeStore implements InventoryTypeStore @@ -54,5 +57,21 @@ session.update( inventoryType ); } + public InventoryType getInventoryTypeByName( String name ) + { + Session session = sessionFactory.getCurrentSession(); + + Criteria criteria = session.createCriteria( InventoryType.class ); + criteria.add( Restrictions.eq( "name", name ) ); + + return (InventoryType) criteria.uniqueResult(); + } + + public InventoryType getInventoryType( int id ) + { + Session session = sessionFactory.getCurrentSession(); + + return (InventoryType) session.get( InventoryType.class, id ); + } } === modified file 'local/in/dhis-in-services/dhis-in-service-coldchain/src/main/resources/META-INF/dhis/beans.xml' --- local/in/dhis-in-services/dhis-in-service-coldchain/src/main/resources/META-INF/dhis/beans.xml 2012-04-17 12:28:23 +0000 +++ local/in/dhis-in-services/dhis-in-service-coldchain/src/main/resources/META-INF/dhis/beans.xml 2012-04-26 10:00:48 +0000 @@ -32,6 +32,7 @@ + inventoryTypeAttributes = new ArrayList( inventoryType.getInventoryTypeAttributes() ); + List equipmentDeatilsList = new ArrayList(); + + EquipmentDetails equipmentDetails = null; + for ( InventoryTypeAttribute attribute : inventoryTypeAttributes ) + { + value = request.getParameter( PREFIX_ATTRIBUTE + attribute.getId() ); + if ( StringUtils.isNotBlank( value ) ) + { + equipmentDetails = new EquipmentDetails(); + equipmentDetails.setEquipmentInstance( equipmentInstance ); + equipmentDetails.setInventoryTypeAttribute( attribute ); + + if ( InventoryTypeAttribute.TYPE_COMBO.equalsIgnoreCase( attribute.getValueType() ) ) + { + InventoryTypeAttributeOption option = inventoryTypeAttributeOptionService.getInventoryTypeAttributeOption( NumberUtils.toInt( value, 0 ) ); + if ( option != null ) + { + equipmentDetails.setInventoryTypeAttributeOption( option ); + equipmentDetails.setValue( option.getName() ); + } + else + { + // Someone deleted this option ... + } + } + else + { + equipmentDetails.setValue( value.trim() ); + } + equipmentDeatilsList.add( equipmentDetails ); + } + } + + // ----------------------------------------------------------------------------- + // Creating Equipment Instance and saving equipment data + // ----------------------------------------------------------------------------- + Integer id = equipmentInstanceService.createEquipment( equipmentInstance, equipmentDeatilsList ); + + message = id + ""; + + return SUCCESS; + } + + // ------------------------------------------------------------------------- + // Setters and Getters + // ------------------------------------------------------------------------- + + public String getMessage() + { + return message; + } + + public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) + { + this.organisationUnitService = organisationUnitService; + } + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + + public void setInventoryTypeAttributeOptionService( + InventoryTypeAttributeOptionService inventoryTypeAttributeOptionService ) + { + this.inventoryTypeAttributeOptionService = inventoryTypeAttributeOptionService; + } + + public void setEquipmentInstanceService( EquipmentInstanceService equipmentInstanceService ) + { + this.equipmentInstanceService = equipmentInstanceService; + } + + public void setOuId( Integer ouId ) + { + this.ouId = ouId; + } + + public void setItypeId( Integer itypeId ) + { + this.itypeId = itypeId; + } + + +} === added file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/EquipmentSelectAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/EquipmentSelectAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/EquipmentSelectAction.java 2012-04-26 10:00:48 +0000 @@ -0,0 +1,95 @@ +package org.hisp.dhis.coldchain.equipment.action; + +import java.util.ArrayList; +import java.util.List; + +import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeService; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.organisationunit.OrganisationUnitService; +import org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager; + +import com.opensymphony.xwork2.Action; + +public class EquipmentSelectAction implements Action +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private OrganisationUnitSelectionManager selectionManager; + + public void setSelectionManager( OrganisationUnitSelectionManager selectionManager ) + { + this.selectionManager = selectionManager; + } + + private InventoryTypeService inventoryTypeService; + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + + private OrganisationUnitService organisationUnitService; + + public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) + { + this.organisationUnitService = organisationUnitService; + } + + // ------------------------------------------------------------------------- + // Input/output + // ------------------------------------------------------------------------- + + private OrganisationUnit organisationUnit; + + public OrganisationUnit getOrganisationUnit() + { + return organisationUnit; + } + + private List inventoryTypes; + + public List getInventoryTypes() + { + return inventoryTypes; + } + + private Integer orgUnitId; + + public void setOrgUnitId( Integer orgUnitId ) + { + this.orgUnitId = orgUnitId; + } + + // ------------------------------------------------------------------------- + // Implementation Action + // ------------------------------------------------------------------------- + + public String execute() + throws Exception + { + + organisationUnit = selectionManager.getSelectedOrganisationUnit(); + + if( organisationUnit == null ) + { + System.out.println("Organisationunit is null"); + } + else + { + System.out.println("Organisationunit is not null"+ orgUnitId); + } + + if( organisationUnit == null && orgUnitId != null ) + { + organisationUnit = organisationUnitService.getOrganisationUnit( orgUnitId ); + } + + inventoryTypes = new ArrayList( inventoryTypeService.getAllInventoryTypes() ); + + return SUCCESS; + } + +} === added file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/GetEquipmentInstanceListAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/GetEquipmentInstanceListAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/GetEquipmentInstanceListAction.java 2012-04-26 10:00:48 +0000 @@ -0,0 +1,152 @@ +package org.hisp.dhis.coldchain.equipment.action; + +import java.util.ArrayList; +import java.util.List; + +import org.hisp.dhis.coldchain.inventory.EquipmentInstance; +import org.hisp.dhis.coldchain.inventory.EquipmentInstanceService; +import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttribute; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttributeService; +import org.hisp.dhis.coldchain.inventory.InventoryTypeService; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.organisationunit.OrganisationUnitService; +import org.hisp.dhis.paging.ActionPagingSupport; + +public class GetEquipmentInstanceListAction extends ActionPagingSupport +{ + // ------------------------------------------------------------------------- + // Dependency + // ------------------------------------------------------------------------- + private EquipmentInstanceService equipmentInstanceService; + + public void setEquipmentInstanceService( EquipmentInstanceService equipmentInstanceService ) + { + this.equipmentInstanceService = equipmentInstanceService; + } + + private InventoryTypeService inventoryTypeService; + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + + private OrganisationUnitService organisationUnitService; + + public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) + { + this.organisationUnitService = organisationUnitService; + } + + private InventoryTypeAttributeService inventoryTypeAttributeService; + + public void setInventoryTypeAttributeService( InventoryTypeAttributeService inventoryTypeAttributeService ) + { + this.inventoryTypeAttributeService = inventoryTypeAttributeService; + } + + // ------------------------------------------------------------------------- + // Input & Output + // ------------------------------------------------------------------------- + + private List equipmentInstanceList; + + public List getEquipmentInstanceList() + { + return equipmentInstanceList; + } + + private String orgUnitId; + + public void setOrgUnitId( String orgUnitId ) + { + this.orgUnitId = orgUnitId; + } + + private String inventoryTypeId; + + public void setInventoryTypeId( String inventoryTypeId ) + { + this.inventoryTypeId = inventoryTypeId; + } + + private String inventoryTypeAttributeId; + + public void setInventoryTypeAttributeId( String inventoryTypeAttributeId ) + { + this.inventoryTypeAttributeId = inventoryTypeAttributeId; + } + + private Boolean listAll; + + public void setListAll( Boolean listAll ) + { + this.listAll = listAll; + } + + private Integer total; + + public Integer getTotal() + { + return total; + } + + private String searchText; + + public String getSearchText() + { + return searchText; + } + + public void setSearchText( String searchText ) + { + this.searchText = searchText; + } + + // ------------------------------------------------------------------------- + // Action Implementation + // ------------------------------------------------------------------------- + public String execute() throws Exception + { + System.out.println("insde GetEquipmentInstanceListAction"); + + OrganisationUnit orgUnit = organisationUnitService.getOrganisationUnit( Integer.parseInt( orgUnitId ) ); + + InventoryType inventoryType = inventoryTypeService.getInventoryType( Integer.parseInt( inventoryTypeId ) ); + + + if ( listAll != null && listAll ) + { + listAllEquipmentInstance( orgUnit, inventoryType ); + + return SUCCESS; + } + + InventoryTypeAttribute inventoryTypeAttribute = inventoryTypeAttributeService.getInventoryTypeAttribute( Integer.parseInt( inventoryTypeAttributeId ) ); + + listEquipmentInstancesByFilter( orgUnit, inventoryType, inventoryTypeAttribute, searchText); + //equipmentInstanceList = new ArrayList( equipmentInstanceService.getEquipmentInstances( orgUnit, inventoryType ) ); + + return SUCCESS; + } + + private void listAllEquipmentInstance( OrganisationUnit orgUnit, InventoryType inventoryType ) + { + total = equipmentInstanceService.getCountEquipmentInstance( orgUnit, inventoryType ); + + this.paging = createPaging( total ); + + equipmentInstanceList = new ArrayList( equipmentInstanceService.getEquipmentInstances( orgUnit, inventoryType, paging.getStartPos(), paging + .getPageSize() ) ); + } + + private void listEquipmentInstancesByFilter( OrganisationUnit orgUnit, InventoryType inventoryType, InventoryTypeAttribute inventoryTypeAttribute, String searchKey ) + { + //total = equipmentInstanceService.getCountEquipmentInstance( orgUnit, inventoryType, inventoryTypeAttribute, searchText ); + + this.paging = createPaging( total ); + + //equipmentInstanceList = new ArrayList( equipmentInstanceService.getEquipmentInstances( orgUnit, inventoryType, inventoryTypeAttribute, searchText, paging.getStartPos(), paging.getPageSize() ) ); + } +} === added file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/ShowAddEquipmentFormAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/ShowAddEquipmentFormAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/equipment/action/ShowAddEquipmentFormAction.java 2012-04-26 10:00:48 +0000 @@ -0,0 +1,86 @@ +package org.hisp.dhis.coldchain.equipment.action; + +import java.util.ArrayList; +import java.util.List; + +import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttribute; +import org.hisp.dhis.coldchain.inventory.InventoryTypeService; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.organisationunit.OrganisationUnitService; + +import com.opensymphony.xwork2.Action; + +public class ShowAddEquipmentFormAction implements Action +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + private OrganisationUnitService organisationUnitService; + + public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) + { + this.organisationUnitService = organisationUnitService; + } + + private InventoryTypeService inventoryTypeService; + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + + // ------------------------------------------------------------------------- + // Input/Output + // ------------------------------------------------------------------------- + + private String orgUnitId; + + public void setOrgUnitId( String orgUnitId ) + { + this.orgUnitId = orgUnitId; + } + + private String inventoryTypeId; + + public void setInventoryTypeId( String inventoryTypeId ) + { + this.inventoryTypeId = inventoryTypeId; + } + + private OrganisationUnit organisationUnit; + + public OrganisationUnit getOrganisationUnit() + { + return organisationUnit; + } + + private InventoryType inventoryType; + + public InventoryType getInventoryType() + { + return inventoryType; + } + + private List inventoryTypeAttributes; + + public List getInventoryTypeAttributes() + { + return inventoryTypeAttributes; + } + + // ------------------------------------------------------------------------- + // Action Implementation + // ------------------------------------------------------------------------- + public String execute() throws Exception + { + organisationUnit = organisationUnitService.getOrganisationUnit( Integer.parseInt( orgUnitId ) ); + + inventoryType = inventoryTypeService.getInventoryType( Integer.parseInt( inventoryTypeId ) ); + + inventoryTypeAttributes = new ArrayList( inventoryType.getInventoryTypeAttributes() ); + + return SUCCESS; + } + +} === added file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/AddInventoryTypeAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/AddInventoryTypeAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/AddInventoryTypeAction.java 2012-04-26 10:00:48 +0000 @@ -0,0 +1,103 @@ +package org.hisp.dhis.coldchain.inventory.action; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.hisp.dhis.coldchain.catalog.CatalogTypeService; +import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttribute; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttributeService; +import org.hisp.dhis.coldchain.inventory.InventoryTypeService; + +import com.opensymphony.xwork2.Action; + +public class AddInventoryTypeAction implements Action +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private InventoryTypeService inventoryTypeService; + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + private CatalogTypeService catalogTypeService; + + public void setCatalogTypeService( CatalogTypeService catalogTypeService ) + { + this.catalogTypeService = catalogTypeService; + } + private InventoryTypeAttributeService inventoryTypeAttributeService; + + public void setInventoryTypeAttributeService( InventoryTypeAttributeService inventoryTypeAttributeService ) + { + this.inventoryTypeAttributeService = inventoryTypeAttributeService; + } + + // ------------------------------------------------------------------------- + // Input/Output + // ------------------------------------------------------------------------- + private String name; + + public void setName( String name ) + { + this.name = name; + } + + private String description; + + public void setDescription( String description ) + { + this.description = description; + } + + private Integer catalogType; + + public void setCatalogType( Integer catalogType ) + { + this.catalogType = catalogType; + } + + private boolean tracking; + + public void setTracking( boolean tracking ) + { + this.tracking = tracking; + } + + private List selectedList; + + public void setSelectedList( List selectedList ) + { + this.selectedList = selectedList; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + public String execute() throws Exception + { + InventoryType inventoryType = new InventoryType(); + + inventoryType.setName( name ); + inventoryType.setDescription( description ); + inventoryType.setTracking( tracking ); + + inventoryType.setCatalogType( catalogTypeService.getCatalogType( catalogType ) ); + + Set inventoryTypeSet = new HashSet(); + for( Integer inventoryTypeAttId : selectedList ) + { + inventoryTypeSet.add( inventoryTypeAttributeService.getInventoryTypeAttribute( inventoryTypeAttId ) ); + } + + inventoryType.setInventoryTypeAttributes( inventoryTypeSet ); + + inventoryTypeService.addInventoryType( inventoryType ); + + return SUCCESS; + } +} === added file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/GetInventoryTypeAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/GetInventoryTypeAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/GetInventoryTypeAction.java 2012-04-26 10:00:48 +0000 @@ -0,0 +1,47 @@ +package org.hisp.dhis.coldchain.inventory.action; + +import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeService; + +import com.opensymphony.xwork2.Action; + +public class GetInventoryTypeAction implements Action +{ + // ------------------------------------------------------------------------- + // Dependency + // ------------------------------------------------------------------------- + private InventoryTypeService inventoryTypeService; + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + + // ------------------------------------------------------------------------- + // Input & Output + // ------------------------------------------------------------------------- + private int id; + + public void setId( int id ) + { + this.id = id; + } + + private InventoryType inventoryType; + + public InventoryType getInventoryType() + { + return inventoryType; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + + public String execute() + { + inventoryType = inventoryTypeService.getInventoryType( id ); + + return SUCCESS; + } +} === modified file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/GetInventoryTypeAttributeListAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/GetInventoryTypeAttributeListAction.java 2012-04-21 12:57:24 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/GetInventoryTypeAttributeListAction.java 2012-04-26 10:00:48 +0000 @@ -3,8 +3,10 @@ import java.util.ArrayList; import java.util.List; +import org.hisp.dhis.coldchain.inventory.InventoryType; import org.hisp.dhis.coldchain.inventory.InventoryTypeAttribute; import org.hisp.dhis.coldchain.inventory.InventoryTypeAttributeService; +import org.hisp.dhis.coldchain.inventory.InventoryTypeService; import com.opensymphony.xwork2.Action; @@ -20,6 +22,13 @@ this.inventoryTypeAttributeService = inventoryTypeAttributeService; } + private InventoryTypeService inventoryTypeService; + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + // ------------------------------------------------------------------------- // Input & Output // ------------------------------------------------------------------------- @@ -30,13 +39,30 @@ return inventoryTypeAttributes; } + private Integer id; + + public void setId( Integer id ) + { + this.id = id; + } + // ------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------- public String execute() throws Exception { - inventoryTypeAttributes = new ArrayList( inventoryTypeAttributeService.getAllInventoryTypeAttributes() ); + System.out.println(" Inside GetInventoryTypeAttributeListAction"); + if( id != null ) + { + InventoryType inventoryType = inventoryTypeService.getInventoryType( id ); + + inventoryTypeAttributes = new ArrayList( inventoryType.getInventoryTypeAttributes() ); + } + else + { + inventoryTypeAttributes = new ArrayList( inventoryTypeAttributeService.getAllInventoryTypeAttributes() ); + } /** * TODO - need to write comparator for sorting the list === added file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/GetInventoryTypeListAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/GetInventoryTypeListAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/GetInventoryTypeListAction.java 2012-04-26 10:00:48 +0000 @@ -0,0 +1,47 @@ +package org.hisp.dhis.coldchain.inventory.action; + +import java.util.ArrayList; +import java.util.List; + +import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeService; + +import com.opensymphony.xwork2.Action; + +public class GetInventoryTypeListAction implements Action +{ + // ------------------------------------------------------------------------- + // Dependency + // ------------------------------------------------------------------------- + private InventoryTypeService inventoryTypeService; + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + + // ------------------------------------------------------------------------- + // Input & Output + // ------------------------------------------------------------------------- + private List inventoryTypes; + + public List getInventoryTypes() + { + return inventoryTypes; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + public String execute() throws Exception + { + inventoryTypes = new ArrayList( inventoryTypeService.getAllInventoryTypes() ); + + /** + * TODO - need to write comparator for sorting the list + */ + + return SUCCESS; + } + +} === added file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/RemoveInventoryTypeAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/RemoveInventoryTypeAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/RemoveInventoryTypeAction.java 2012-04-26 10:00:48 +0000 @@ -0,0 +1,69 @@ +package org.hisp.dhis.coldchain.inventory.action; + +import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeService; +import org.hisp.dhis.common.DeleteNotAllowedException; +import org.hisp.dhis.i18n.I18n; + +import com.opensymphony.xwork2.Action; + +public class RemoveInventoryTypeAction implements Action +{ + // ------------------------------------------------------------------------- + // Dependency + // ------------------------------------------------------------------------- + private InventoryTypeService inventoryTypeService; + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + + // ------------------------------------------------------------------------- + // Input & Output + // ------------------------------------------------------------------------- + private int id; + + public void setId( int id ) + { + this.id = id; + } + private I18n i18n; + + public void setI18n( I18n i18n ) + { + this.i18n = i18n; + } + + private String message; + + public String getMessage() + { + return message; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + + public String execute() + { + try + { + InventoryType inventoryType = inventoryTypeService.getInventoryType( id ); + + inventoryTypeService.deleteInventoryType( inventoryType ); + } + catch ( DeleteNotAllowedException ex ) + { + if ( ex.getErrorCode().equals( DeleteNotAllowedException.ERROR_ASSOCIATED_BY_OTHER_OBJECTS ) ) + { + message = i18n.getString( "object_not_deleted_associated_by_objects" ) + " " + ex.getMessage(); + } + + return ERROR; + } + + return SUCCESS; + } +} === added file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/ShowAddInventoryTypeAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/ShowAddInventoryTypeAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/ShowAddInventoryTypeAction.java 2012-04-26 10:00:48 +0000 @@ -0,0 +1,61 @@ +package org.hisp.dhis.coldchain.inventory.action; + +import java.util.ArrayList; +import java.util.List; + +import org.hisp.dhis.coldchain.catalog.CatalogType; +import org.hisp.dhis.coldchain.catalog.CatalogTypeService; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttribute; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttributeService; + +import com.opensymphony.xwork2.Action; + +public class ShowAddInventoryTypeAction implements Action +{ + // ------------------------------------------------------------------------- + // Dependency + // ------------------------------------------------------------------------- + private CatalogTypeService catalogTypeService; + + public void setCatalogTypeService( CatalogTypeService catalogTypeService ) + { + this.catalogTypeService = catalogTypeService; + } + + private InventoryTypeAttributeService inventoryTypeAttributeService; + + public void setInventoryTypeAttributeService( InventoryTypeAttributeService inventoryTypeAttributeService ) + { + this.inventoryTypeAttributeService = inventoryTypeAttributeService; + } + + // ------------------------------------------------------------------------- + // Input & Output + // ------------------------------------------------------------------------- + private List catalogTypes; + + public List getCatalogTypes() + { + return catalogTypes; + } + + private List inventoryTypeAttributes; + + public List getInventoryTypeAttributes() + { + return inventoryTypeAttributes; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + public String execute() throws Exception + { + catalogTypes = new ArrayList( catalogTypeService.getAllCatalogTypes() ); + + inventoryTypeAttributes = new ArrayList( inventoryTypeAttributeService.getAllInventoryTypeAttributes() ); + + return SUCCESS; + } + +} === added file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/ShowUpdateInventoryTypeAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/ShowUpdateInventoryTypeAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/ShowUpdateInventoryTypeAction.java 2012-04-26 10:00:48 +0000 @@ -0,0 +1,78 @@ +package org.hisp.dhis.coldchain.inventory.action; + +import java.util.ArrayList; +import java.util.List; + +import org.hisp.dhis.coldchain.catalog.CatalogTypeService; +import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttribute; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttributeService; +import org.hisp.dhis.coldchain.inventory.InventoryTypeService; + +import com.opensymphony.xwork2.Action; + +public class ShowUpdateInventoryTypeAction implements Action +{ + + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + private InventoryTypeService inventoryTypeService; + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + private InventoryTypeAttributeService inventoryTypeAttributeService; + + public void setInventoryTypeAttributeService( InventoryTypeAttributeService inventoryTypeAttributeService ) + { + this.inventoryTypeAttributeService = inventoryTypeAttributeService; + } + // ------------------------------------------------------------------------- + // Input/Output + // ------------------------------------------------------------------------- + private String id; + + public void setId( String id ) + { + this.id = id; + } + + private InventoryType inventoryType; + + public InventoryType getInventoryType() + { + return inventoryType; + } + + private List availInventoryTypeAttributes; + + public List getAvailInventoryTypeAttributes() + { + return availInventoryTypeAttributes; + } + + private List selInventoryTypeAttributes; + + public List getSelInventoryTypeAttributes() + { + return selInventoryTypeAttributes; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + public String execute() throws Exception + { + inventoryType = inventoryTypeService.getInventoryType( Integer.parseInt( id ) ); + + availInventoryTypeAttributes = new ArrayList( inventoryTypeAttributeService.getAllInventoryTypeAttributes() ); + + selInventoryTypeAttributes = new ArrayList( inventoryType.getInventoryTypeAttributes() ); + + availInventoryTypeAttributes.removeAll( selInventoryTypeAttributes ); + + return SUCCESS; + } +} === added file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/UpdateInventoryTypeAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/UpdateInventoryTypeAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/UpdateInventoryTypeAction.java 2012-04-26 10:00:48 +0000 @@ -0,0 +1,108 @@ +package org.hisp.dhis.coldchain.inventory.action; + +import java.util.List; + +import org.hisp.dhis.coldchain.catalog.CatalogTypeService; +import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeAttributeService; +import org.hisp.dhis.coldchain.inventory.InventoryTypeService; + +import com.opensymphony.xwork2.Action; + +public class UpdateInventoryTypeAction implements Action +{ + // ------------------------------------------------------------------------- + // Dependency + // ------------------------------------------------------------------------- + private InventoryTypeService inventoryTypeService; + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + + private CatalogTypeService catalogTypeService; + + public void setCatalogTypeService( CatalogTypeService catalogTypeService ) + { + this.catalogTypeService = catalogTypeService; + } + + private InventoryTypeAttributeService inventoryTypeAttributeService; + + public void setInventoryTypeAttributeService( InventoryTypeAttributeService inventoryTypeAttributeService ) + { + this.inventoryTypeAttributeService = inventoryTypeAttributeService; + } + + // ------------------------------------------------------------------------- + // Input & Output + // ------------------------------------------------------------------------- + private Integer id; + + public void setId( Integer id ) + { + this.id = id; + } + + private String name; + + public void setName( String name ) + { + this.name = name; + } + + private String description; + + public void setDescription( String description ) + { + this.description = description; + } + + private Integer catalogType; + + public void setCatalogType( Integer catalogType ) + { + this.catalogType = catalogType; + } + + private boolean tracking; + + public void setTracking( boolean tracking ) + { + this.tracking = tracking; + } + + private List selectedList; + + public void setSelectedList( List selectedList ) + { + this.selectedList = selectedList; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + public String execute() throws Exception + { + InventoryType inventoryType = inventoryTypeService.getInventoryType( id ); + + inventoryType.setName( name ); + inventoryType.setDescription( description ); + inventoryType.setTracking( tracking ); + + inventoryType.setCatalogType( catalogTypeService.getCatalogType( catalogType ) ); + + inventoryType.getInventoryTypeAttributes().clear(); + + for( Integer inventoryTypeAttId : selectedList ) + { + + inventoryType.getInventoryTypeAttributes().add( inventoryTypeAttributeService.getInventoryTypeAttribute( inventoryTypeAttId ) ); + } + + inventoryTypeService.updateInventoryType( inventoryType ); + + return SUCCESS; + } +} === added file 'local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/ValidateInventoryTypeAction.java' --- local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/ValidateInventoryTypeAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/java/org/hisp/dhis/coldchain/inventory/action/ValidateInventoryTypeAction.java 2012-04-26 10:00:48 +0000 @@ -0,0 +1,74 @@ +package org.hisp.dhis.coldchain.inventory.action; + +import org.hisp.dhis.coldchain.inventory.InventoryType; +import org.hisp.dhis.coldchain.inventory.InventoryTypeService; +import org.hisp.dhis.i18n.I18n; + +import com.opensymphony.xwork2.Action; + +public class ValidateInventoryTypeAction implements Action +{ + // ------------------------------------------------------------------------- + // Dependency + // ------------------------------------------------------------------------- + private InventoryTypeService inventoryTypeService; + + public void setInventoryTypeService( InventoryTypeService inventoryTypeService ) + { + this.inventoryTypeService = inventoryTypeService; + } + + // ------------------------------------------------------------------------- + // Input/Output + // ------------------------------------------------------------------------- + + private Integer id; + + public void setId( Integer id ) + { + this.id = id; + } + + private String name; + + public void setName( String name ) + { + this.name = name; + } + + private String message; + + public String getMessage() + { + return message; + } + + private I18n i18n; + + public void setI18n( I18n i18n ) + { + this.i18n = i18n; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + + public String execute() throws Exception + { + name = name.trim(); + + InventoryType match = inventoryTypeService.getInventoryTypeByName( name ); + + if ( match != null && (id == null || match.getId() != id.intValue()) ) + { + message = i18n.getString( "name_in_use" ); + + return INPUT; + } + + message = i18n.getString( "everything_is_ok" ); + + return SUCCESS; + } +} === modified file 'local/in/dhis-web-coldchain/src/main/resources/META-INF/dhis/beans.xml' --- local/in/dhis-web-coldchain/src/main/resources/META-INF/dhis/beans.xml 2012-04-25 09:03:17 +0000 +++ local/in/dhis-web-coldchain/src/main/resources/META-INF/dhis/beans.xml 2012-04-26 10:00:48 +0000 @@ -162,11 +162,12 @@ ref="org.hisp.dhis.coldchain.catalog.CatalogTypeService" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file === modified file 'local/in/dhis-web-coldchain/src/main/resources/struts.xml' --- local/in/dhis-web-coldchain/src/main/resources/struts.xml 2012-04-25 09:03:17 +0000 +++ local/in/dhis-web-coldchain/src/main/resources/struts.xml 2012-04-26 10:00:48 +0000 @@ -145,7 +145,7 @@ plainTextError - + /main.vm /dhis-web-coldchain/inventoryTypeAttributeList.vm @@ -157,7 +157,7 @@ /main.vm /dhis-web-coldchain/addInventoryTypeAttributeForm.vm javascript/inventoryTypeAttribute.js - style/basic.css + css/basic.css F_INVENTORYTYPEATTRIBUTE_ADD @@ -179,7 +179,7 @@ /main.vm /dhis-web-coldchain/updateInventoryTypeAttibuteForm.vm javascript/inventoryTypeAttribute.js,../dhis-web-commons/javascripts/jQuery/ui/jquery.cluetip.min.js - style/basic.css + css/basic.css F_INVENTORYTYPEATTRIBUTE_UPDATE @@ -209,7 +209,92 @@ /dhis-web-coldchain/jsonInventoryTypeAttribute.vm plainTextError - + + + + /main.vm + /dhis-web-coldchain/inventoryTypeList.vm + /dhis-web-coldchain/menu.vm + javascript/inventoryType.js + + + /main.vm + /dhis-web-coldchain/addInventoryTypeForm.vm + javascript/inventoryType.js + css/basic.css + F_INVENTORYTYPE_ADD + + + /dhis-web-commons/ajax/jsonResponseSuccess.vm + /dhis-web-commons/ajax/jsonResponseInput.vm + plainTextError + + + inventoryTypeList.action + F_INVENTORYTYPE_ADD + + + /main.vm + /dhis-web-coldchain/updateInventoryTypeForm.vm + javascript/inventoryType.js,../dhis-web-commons/javascripts/jQuery/ui/jquery.cluetip.min.js + css/basic.css + F_INVENTORYTYPE_UPDATE + + + inventoryTypeList.action + F_INVENTORYTYPE_UPDATE + + + /dhis-web-commons/ajax/jsonResponseSuccess.vm + /dhis-web-commons/ajax/jsonResponseError.vm + F_INVENTORYTYPE_DELETE + + + /dhis-web-coldchain/jsonInventoryType.vm + plainTextError + + + + + /main.vm + /dhis-web-coldchain/selectEquipment.vm + /dhis-web-coldchain/equipmentMenu.vm + ../dhis-web-commons/ouwt/ouwt.js,javascript/equipment.js + F_EQUIPMENT_MANAGEMENT + + + + /dhis-web-commons/ajax/jsonResponseSuccess.vm + /dhis-web-commons/ajax/jsonResponseInput.vm + + + /dhis-web-coldchain/responseInventoryTypeAttributes.vm + plainTextError + + + /content.vm + /dhis-web-coldchain/equipmentInstanceList.vm + F_EQUIPMENT_MANAGEMENT + + + /content.vm + /dhis-web-coldchain/addEquipmentForm.vm + F_EQUIPMENT_ADD + + + /dhis-web-commons/ajax/jsonResponseSuccess.vm + F_EQUIPMENT_ADD + + \ No newline at end of file === added file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/addEquipmentForm.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/addEquipmentForm.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/addEquipmentForm.vm 2012-04-26 10:00:48 +0000 @@ -0,0 +1,93 @@ +## Macro for generating the jQuery validation rules +#macro( validate $type $require ) + #if( $type == "NUMBER" ) + {validate:{ number:true #if($require), required:true #end }} + #elseif( $require ) + {validate:{required:true}} + #end +#end + + + + +

$i18n.getString( "add_new_equipment" )

+ +
+ + + + + + + + + + + + + + + #foreach( $attribute in $inventoryTypeAttributes ) + + + + + #end + + +
$i18n.getString( "registering_unit" ) : $organisationUnit.name
$i18n.getString( "inventory_type" ) : + $inventoryType.name +
  
$i18n.getString( "inventory_attribute_details" )
+ #if( $attribute.valueType == "YES/NO" ) + + #elseif( $attribute.valueType == "DATE" ) + + + #elseif( $attribute.valueType == "COMBO" ) + + #else + + #end +
+

+ + +

+ +
+ + \ No newline at end of file === added file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/addInventoryTypeForm.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/addInventoryTypeForm.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/addInventoryTypeForm.vm 2012-04-26 10:00:48 +0000 @@ -0,0 +1,116 @@ + + +

$i18n.getString( "create_new_inventorytype" )

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
$i18n.getString( "inventorytype_details" )
+ +
+ +
+ +
  + + + + + + + + + + + + + + + + + + + + + + + +
$i18n.getString( "available_data_elements" )$i18n.getString( "filter" )$i18n.getString( "selected_data_elements" )
+ + +
+
+
+ +
+ + +
+ + + + + + +
+ + === added file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/equipmentInstanceList.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/equipmentInstanceList.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/equipmentInstanceList.vm 2012-04-26 10:00:48 +0000 @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + +
$i18n.getString( "search_result_matching_the_search_criteria" ):   + #if($!listAll) + $i18n.getString( "list_all_equipment" ) + #else + $i18n.getString( "search_equipment_by_attributes" ) + #end +
$i18n.getString( "total_result" )  $!total
+ +#if( $equipmentInstanceList.size() > 0 ) + + + + + + + + +
+ + + + + + + + + + + + + + + #set( $mark = false ) + #foreach( $equipmentInstance in $equipmentInstanceList ) + + + + + + + + + + #set( $mark = !$mark) + #end + + +
#$i18n.getString( "id" )$i18n.getString( "operations" )
+ #set( $nr = ( ( $paging.getCurrentPage() - 1 ) * $paging.pageSize ) + $velocityCount ) + $nr + $!equipmentInstance.id + $i18n.getString( "edit_equipment" ) + $i18n.getString( "migration_patient" ) + $i18n.getString( "remove" ) + $i18n.getString( "equipment_details" ) +
+
+

+
+ #parse( "/dhis-web-commons/paging/paging.vm" ) +
+
+ +
+ +#end + === added file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/equipmentMenu.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/equipmentMenu.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/equipmentMenu.vm 2012-04-26 10:00:48 +0000 @@ -0,0 +1,46 @@ + +

$i18n.getString( "coldchain_management" ) 

+ + + +
+#parse( "/dhis-web-commons/ouwt/orgunittree.vm" ) + + === modified file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/inventoryTypeAttributeList.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/inventoryTypeAttributeList.vm 2012-04-21 12:57:24 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/inventoryTypeAttributeList.vm 2012-04-26 10:00:48 +0000 @@ -36,7 +36,7 @@ $i18n.getString( 'remove' ) - + $i18n.getString( 'show_details' ) === added file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/inventoryTypeList.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/inventoryTypeList.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/inventoryTypeList.vm 2012-04-26 10:00:48 +0000 @@ -0,0 +1,81 @@ + +

$i18n.getString( "inventorytype_management" ) #openHelp( "inventorytype" )

+ + + + + + +
+ + + + + +
+ $i18n.getString( "filter_by_name" ): +
+ + + + + + + + + + + + + + #foreach( $inventoryType in $inventoryTypes ) + + + + + + + + + + + + #end + + + +
$i18n.getString( "name" )$i18n.getString( "operations" )
$encoder.htmlEncode( $inventoryType.name ) + $i18n.getString( 'edit' ) + + $i18n.getString( 'remove' ) + + $i18n.getString( 'show_details' ) +
+
+ + + +
+ + === added file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/javascript/equipment.js' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/javascript/equipment.js 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/javascript/equipment.js 2012-04-26 10:00:48 +0000 @@ -0,0 +1,175 @@ + +// ---------------------------------------------------------------- +// On InventoryType Change - Loading InventoryTypeAttributes +// ---------------------------------------------------------------- +function inventoryTypeChange( inventoryTypeId ) +{ + if( inventoryTypeId == "0" ) + return; + + showById('selectDiv'); + disable('listAllEquipmentBtn'); + + hideById('searchEquipmentDiv'); + hideById('listEquipmentDiv'); + hideById('editEquipmentDiv'); + hideById('resultSearchDiv'); + + jQuery('#loaderDiv').show(); + + $.post("getInventoryTypeAttributes.action", + { + id:inventoryTypeId + }, + function(data) + { + showById('searchEquipmentDiv'); + enable('listAllEquipmentBtn'); + jQuery('#loaderDiv').hide(); + populateInventoryTypeAttributes( data ); + },'xml'); +} + +function populateInventoryTypeAttributes( data ) +{ + var searchingAttributeId = document.getElementById("searchingAttributeId"); + clearList( searchingAttributeId ); + + var invenTypeAttribs = data.getElementsByTagName("inventory-type-attribute"); + for ( var i = 0; i < invenTypeAttribs.length; i++ ) + { + var id = invenTypeAttribs[ i ].getElementsByTagName("id")[0].firstChild.nodeValue; + var name = invenTypeAttribs[ i ].getElementsByTagName("name")[0].firstChild.nodeValue; + + var option = document.createElement("option"); + option.value = id; + option.text = name; + option.title = name; + searchingAttributeId.add(option, null); + } +} + +//---------------------------------------------------------------- +//On LoadAllEquipments +//---------------------------------------------------------------- + +function loadAllEquipments() +{ + var orgUnitId = document.getElementById('selectedOrgunitID').value; + var inventoryType = document.getElementById('inventoryType'); + var inventoryTypeId = inventoryType.options[ inventoryType.selectedIndex ].value; + + if( inventoryTypeId == 0 ) + { + alert("Plese select Inventorytype"); + return; + } + + hideById('editEquipmentDiv'); + hideById('resultSearchDiv'); + + showById('selectDiv'); + showById('searchEquipmentDiv'); + + jQuery('#loaderDiv').show(); + contentDiv = 'listEquipmentDiv'; + + jQuery('#listEquipmentDiv').load('getEquipmentInstances.action',{ + listAll:true, + orgUnitId:orgUnitId, + InventoryTypeId:inventoryTypeId + }, + function(){ + statusSearching = 0; + showById('listEquipmentDiv'); + jQuery('#loaderDiv').hide(); + }); + hideLoader(); +} + +//---------------------------------------------------------------- +// Load Equipments On Filter by InventoryType Attribute +//---------------------------------------------------------------- + +function loadEquipmentsByFilter( ) +{ + var orgUnitId = document.getElementById('selectedOrgunitID').value; + var inventoryType = document.getElementById('inventoryType'); + var inventoryTypeId = inventoryType.options[ inventoryType.selectedIndex ].value; + var searchText = document.getElementById('searchText').value; + + if( inventoryTypeId == 0 ) + { + alert("Plese select Inventorytype"); + return; + } + + var inventoryTypeAttribute = document.getElementById('searchingAttributeId'); + var inventoryTypeAttributeId = inventoryTypeAttribute.options[ inventoryTypeAttribute.selectedIndex ].value; + hideById('editEquipmentDiv'); + hideById('resultSearchDiv'); + + showById('selectDiv'); + showById('searchEquipmentDiv'); + + jQuery('#loaderDiv').show(); + contentDiv = 'listEquipmentDiv'; + + jQuery('#listEquipmentDiv').load('getEquipmentInstances.action',{ + orgUnitId:orgUnitId, + inventoryTypeId:inventoryTypeId, + inventoryTypeAttributeId:inventoryTypeAttributeId, + searchText:searchText + }, + function(){ + statusSearching = 0; + showById('listEquipmentDiv'); + jQuery('#loaderDiv').hide(); + }); + hideLoader(); +} + +//---------------------------------------------------------------- +//Add Equipment +//---------------------------------------------------------------- + +function showAddEquipmentForm() +{ + var orgUnitId = document.getElementById('selectedOrgunitID').value; + var inventoryType = document.getElementById('inventoryType'); + var inventoryTypeId = inventoryType.options[ inventoryType.selectedIndex ].value; + if( inventoryTypeId == 0 ) + { + alert("Plese select inventorytype"); + return; + } + + hideById('listEquipmentDiv'); + hideById('selectDiv'); + hideById('searchEquipmentDiv'); + + jQuery('#loaderDiv').show(); + jQuery('#editEquipmentDiv').load('showAddEquipmentForm.action',{ + orgUnitId:orgUnitId, + inventoryTypeId:inventoryTypeId + }, + function() + { + showById('editEquipmentDiv'); + jQuery('#loaderDiv').hide(); + }); +} + +function addEquipment() +{ + $.ajax({ + type: "POST", + url: 'addEquipment.action', + data: getParamsForDiv('editEquipmentDiv'), + success: function(json) { + var type = json.response; + jQuery('#resultSearchDiv').dialog('close'); + } + }); + return false; +} === added file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/javascript/inventoryType.js' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/javascript/inventoryType.js 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/javascript/inventoryType.js 2012-04-26 10:00:48 +0000 @@ -0,0 +1,28 @@ +// ----------------------------------------------------------------------------- +// View details +// ----------------------------------------------------------------------------- + +function showInventoryTypeDetails( inventoryTypeId ) +{ + jQuery.getJSON( 'getInventoryType.action', { id: inventoryTypeId }, + function ( json ) { + setInnerHTML( 'nameField', json.inventoryType.name ); + setInnerHTML( 'descriptionField', json.inventoryType.description ); + + var tracking = ( json.inventoryType.tracking == 'true') ? i18n_yes : i18n_no; + setInnerHTML( 'trackingField', tracking ); + + setInnerHTML( 'catalogTypeField', json.inventoryType.catalogType ); + + showDetails(); + }); +} + +// ----------------------------------------------------------------------------- +// Remove InvenotryType +// ----------------------------------------------------------------------------- +function removeInventoryType( invenotryTypeId, name ) +{ + removeItem( invenotryTypeId, name, i18n_confirm_delete, 'removeInventoryType.action' ); +} + === added file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/jsonInventoryType.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/jsonInventoryType.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/jsonInventoryType.vm 2012-04-26 10:00:48 +0000 @@ -0,0 +1,9 @@ +{ "inventoryType": + { + "id": "${inventoryType.id}", + "name": "$!encoder.jsonEncode( ${inventoryType.name} )", + "description": "$!encoder.jsonEncode( ${inventoryType.description} )", + "catalogType": "$!encoder.jsonEncode( ${inventoryType.catalogType.name} )", + "tracking": "$!{inventoryType.tracking}" + } +} \ No newline at end of file === modified file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/menu.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/menu.vm 2012-04-21 12:57:24 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/menu.vm 2012-04-26 10:00:48 +0000 @@ -8,4 +8,11 @@

$i18n.getString( "inventory" )

+ + +

$i18n.getString( "equipment" )

+ === added file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/responseInventoryTypeAttributes.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/responseInventoryTypeAttributes.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/responseInventoryTypeAttributes.vm 2012-04-26 10:00:48 +0000 @@ -0,0 +1,10 @@ + + + + #foreach( $inventoryTypeAttribute in $inventoryTypeAttributes ) + + $inventoryTypeAttribute.id + $inventoryTypeAttribute.name + + #end + \ No newline at end of file === added file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/selectEquipment.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/selectEquipment.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/selectEquipment.vm 2012-04-26 10:00:48 +0000 @@ -0,0 +1,161 @@ + + + +
+ +

$i18n.getString( "equipment_management" ) #openHelp( "equipment" )

+ + + + + + + + + + + + + + +
  
+ +
+ +
+ + + +
+
+
+ +#parse( "/dhis-web-commons/loader/loader.vm" ) + + \ No newline at end of file === added file 'local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/updateInventoryTypeForm.vm' --- local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/updateInventoryTypeForm.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-coldchain/src/main/webapp/dhis-web-coldchain/updateInventoryTypeForm.vm 2012-04-26 10:00:48 +0000 @@ -0,0 +1,123 @@ + + +

$i18n.getString( "edit_inventorytype" )

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
$i18n.getString( "inventorytype_details" )
+ +
+ +
+ +
  + + + + + + + + + + + + + + + + + + + + + + + +
$i18n.getString( "available_attributes" )$i18n.getString( "filter" )$i18n.getString( "selected_attributes" )
+ + +
+
+
+ +
+ + +
+ + + + + +
+ +