r228 - in trunk: magalie-persistence/src/main/java/com/franciaflex/magalie/persistence magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao magalie-persistence/src/main/xmi magalie-services/src/main/java/com/franciaflex/magalie/services magalie-services/src/main/java/com/franciaflex/magalie/services/service magalie-services/src/main/resources magalie-web/src/main/java/com/franciaflex/magalie/web magalie-web/src/main/java/com/franciaflex/magalie/web/action m
Author: Bavencoff Date: 2013-05-31 17:45:03 +0200 (Fri, 31 May 2013) New Revision: 228 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: refs #2370 : Multy-Companies Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingDao.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingJpaDao.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/CompanyService.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/ChooseCompanyAction.java trunk/magalie-web/src/main/webapp/WEB-INF/content/choose-company.jsp Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/MagaliePersistenceContext.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/ArticleDao.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/ArticleJpaDao.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/MagalieUserDao.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/MagalieUserJpaDao.java trunk/magalie-persistence/src/main/xmi/magalie.properties trunk/magalie-persistence/src/main/xmi/magalie.zargo trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/BuildingsService.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieBarcodeService.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieUsersService.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/SimpleWithdrawItemService.java trunk/magalie-services/src/main/resources/fixtures.yaml trunk/magalie-services/src/main/resources/fixtures2.yaml trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieSession.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/IndexAction.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LoginAction.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/PrepareWithdrawItemAction.java trunk/magalie-web/src/main/webapp/WEB-INF/content/login-input.jsp Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/MagaliePersistenceContext.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/MagaliePersistenceContext.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/MagaliePersistenceContext.java 2013-05-31 15:45:03 UTC (rev 228) @@ -25,6 +25,7 @@ import com.franciaflex.magalie.persistence.dao.ArticleJpaDao; import com.franciaflex.magalie.persistence.dao.BuildingJpaDao; +import com.franciaflex.magalie.persistence.dao.CompanyJpaDao; import com.franciaflex.magalie.persistence.dao.DeliveredRequestedArticleJpaDao; import com.franciaflex.magalie.persistence.dao.DeliveredRequestedListJpaDao; import com.franciaflex.magalie.persistence.dao.KanbanJpaDao; @@ -84,4 +85,5 @@ PreparedArticleReceptionJpaDao getPreparedArticleReceptionDao(); + CompanyJpaDao getCompanyDao(); } Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/ArticleDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/ArticleDao.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/ArticleDao.java 2013-05-31 15:45:03 UTC (rev 228) @@ -24,10 +24,11 @@ */ import com.franciaflex.magalie.persistence.entity.Article; +import com.franciaflex.magalie.persistence.entity.Company; /** @author bleny */ public interface ArticleDao { - Article findByCode(String articleCode); + Article findByCode(String articleCode, Company company); } Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/ArticleJpaDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/ArticleJpaDao.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/ArticleJpaDao.java 2013-05-31 15:45:03 UTC (rev 228) @@ -24,6 +24,7 @@ */ import com.franciaflex.magalie.persistence.entity.Article; +import com.franciaflex.magalie.persistence.entity.Company; import javax.persistence.EntityManager; import javax.persistence.TypedQuery; @@ -35,9 +36,11 @@ } @Override - public Article findByCode(String articleCode) { - TypedQuery<Article> query = createQuery("from Article a where a.code = :code"); - query.setParameter("code", articleCode); + public Article findByCode(String articleCode, Company company) { + + TypedQuery<Article> query = createQuery(Article.PROPERTY_CODE, articleCode, + Article.PROPERTY_COMPANY, company); + return findUniqueOrNull(query); } Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingDao.java (rev 0) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingDao.java 2013-05-31 15:45:03 UTC (rev 228) @@ -0,0 +1,15 @@ +package com.franciaflex.magalie.persistence.dao; + +import com.franciaflex.magalie.persistence.entity.Building; +import com.franciaflex.magalie.persistence.entity.Company; + +import java.util.List; + +/** + * @author Bavencoff + */ +public interface BuildingDao { + + public List<Building> findAllByCompany(Company company); + +} Added: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingJpaDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingJpaDao.java (rev 0) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/BuildingJpaDao.java 2013-05-31 15:45:03 UTC (rev 228) @@ -0,0 +1,25 @@ +package com.franciaflex.magalie.persistence.dao; + +import com.franciaflex.magalie.persistence.entity.Building; +import com.franciaflex.magalie.persistence.entity.Company; + +import javax.persistence.EntityManager; +import javax.persistence.TypedQuery; +import java.util.List; + +/** + * @author Bavencoff + */ +public class BuildingJpaDao extends AbstractBuildingJpaDao { + public BuildingJpaDao(EntityManager entityManager) { + super(entityManager); + } + + @Override + public List<Building> findAllByCompany(Company company) { + + TypedQuery<Building> query = createQuery(Building.PROPERTY_COMPANY, company); + + return findAll(query); + } +} Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/MagalieUserDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/MagalieUserDao.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/MagalieUserDao.java 2013-05-31 15:45:03 UTC (rev 228) @@ -23,6 +23,7 @@ * #L% */ +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.persistence.entity.MagalieUser; import java.util.List; @@ -34,4 +35,6 @@ List<MagalieUser> findAll(); + List<MagalieUser> findAllByCompany(Company company); + } Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/MagalieUserJpaDao.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/MagalieUserJpaDao.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/dao/MagalieUserJpaDao.java 2013-05-31 15:45:03 UTC (rev 228) @@ -23,10 +23,10 @@ * #L% */ +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.persistence.entity.MagalieUser; import javax.persistence.EntityManager; -import javax.persistence.Query; import javax.persistence.TypedQuery; import java.util.List; @@ -45,8 +45,13 @@ @Override public List<MagalieUser> findAll() { - Query query = entityManager.createQuery("from MagalieUser mu order by mu.login"); - List<MagalieUser> resultList = query.getResultList(); - return resultList; + TypedQuery<MagalieUser> query = createQuery("from MagalieUser mu order by mu.login"); + return findAll(query); } + + @Override + public List<MagalieUser> findAllByCompany(Company company) { + TypedQuery<MagalieUser> query = createQuery(MagalieUser.PROPERTY_COMPANY, company); + return findAll(query); + } } Modified: trunk/magalie-persistence/src/main/xmi/magalie.properties =================================================================== --- trunk/magalie-persistence/src/main/xmi/magalie.properties 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-persistence/src/main/xmi/magalie.properties 2013-05-31 15:45:03 UTC (rev 228) @@ -22,6 +22,7 @@ ### com.franciaflex.magalie.persistence.entity.Article.attribute.fixedLocations.stereotype=unique +com.franciaflex.magalie.persistence.entity.Company.class.stereotype=notGeneratedValue com.franciaflex.magalie.persistence.entity.Article.class.stereotype=notGeneratedValue com.franciaflex.magalie.persistence.entity.Building.class.stereotype=notGeneratedValue com.franciaflex.magalie.persistence.entity.Location.class.stereotype=notGeneratedValue Modified: trunk/magalie-persistence/src/main/xmi/magalie.zargo =================================================================== (Binary files differ) Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/MagalieFixtures.java 2013-05-31 15:45:03 UTC (rev 228) @@ -28,6 +28,7 @@ import com.franciaflex.magalie.MagalieTechnicalException; import com.franciaflex.magalie.persistence.entity.Article; import com.franciaflex.magalie.persistence.entity.Building; +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.persistence.entity.Kanban; import com.franciaflex.magalie.persistence.entity.Location; import com.franciaflex.magalie.persistence.entity.MagalieUser; @@ -58,6 +59,7 @@ throw new IllegalArgumentException(fixturesName + " is not a valid fixtures set name", e); } YamlReader reader = new YamlReader(yaml); + reader.getConfig().setClassTag("company", Company.class); reader.getConfig().setClassTag("building", Building.class); reader.getConfig().setClassTag("warehouse", Warehouse.class); reader.getConfig().setClassTag("supplier", Supplier.class); Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/BuildingsService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/BuildingsService.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/BuildingsService.java 2013-05-31 15:45:03 UTC (rev 228) @@ -25,6 +25,7 @@ import com.franciaflex.magalie.persistence.dao.BuildingJpaDao; import com.franciaflex.magalie.persistence.entity.Building; +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.services.MagalieService; import com.franciaflex.magalie.services.MagalieServiceContext; @@ -55,4 +56,10 @@ } + public List<Building> getAllBuildingsByCompany(Company company) { + + BuildingJpaDao dao = serviceContext.getPersistenceContext().getBuildingDao(); + + return dao.findAllByCompany(company); + } } Added: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/CompanyService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/CompanyService.java (rev 0) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/CompanyService.java 2013-05-31 15:45:03 UTC (rev 228) @@ -0,0 +1,38 @@ +package com.franciaflex.magalie.services.service; + +import com.franciaflex.magalie.persistence.dao.CompanyJpaDao; +import com.franciaflex.magalie.persistence.entity.Company; +import com.franciaflex.magalie.services.MagalieService; +import com.franciaflex.magalie.services.MagalieServiceContext; + +import java.util.List; + +/** + * @author Bavencoff + */ +public class CompanyService implements MagalieService { + + protected MagalieServiceContext serviceContext; + + @Override + public void setServiceContext(com.franciaflex.magalie.services.MagalieServiceContext serviceContext) { + this.serviceContext = serviceContext; + } + + public List<Company> getAllCompanies() { + + CompanyJpaDao dao = serviceContext.getPersistenceContext().getCompanyDao(); + + return dao.findAll(); + + } + + public Company getCompany(String CompanyId) { + + CompanyJpaDao dao = serviceContext.getPersistenceContext().getCompanyDao(); + + return dao.findById(CompanyId); + + } + +} Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FixturesService.java 2013-05-31 15:45:03 UTC (rev 228) @@ -26,6 +26,7 @@ import com.franciaflex.magalie.persistence.MagaliePersistenceContext; import com.franciaflex.magalie.persistence.dao.ArticleJpaDao; import com.franciaflex.magalie.persistence.dao.BuildingJpaDao; +import com.franciaflex.magalie.persistence.dao.CompanyJpaDao; import com.franciaflex.magalie.persistence.dao.KanbanJpaDao; import com.franciaflex.magalie.persistence.dao.LocationJpaDao; import com.franciaflex.magalie.persistence.dao.MagalieUserJpaDao; @@ -37,6 +38,7 @@ import com.franciaflex.magalie.persistence.dao.WarehouseJpaDao; import com.franciaflex.magalie.persistence.entity.Article; import com.franciaflex.magalie.persistence.entity.Building; +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.persistence.entity.Kanban; import com.franciaflex.magalie.persistence.entity.Location; import com.franciaflex.magalie.persistence.entity.MagalieUser; @@ -108,6 +110,16 @@ } + CompanyJpaDao companyDao = persistenceContext.getCompanyDao(); + + Collection<Company> companies = fixtures.fixture("companies"); + + for (Company company : companies) { + + companyDao.persist(company); + + } + MagalieUserJpaDao magalieUserDao = persistenceContext.getMagalieUserDao(); Collection<MagalieUser> users = fixtures.fixture("users"); Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/FulfilKanbanService.java 2013-05-31 15:45:03 UTC (rev 228) @@ -29,6 +29,7 @@ import com.franciaflex.magalie.persistence.dao.WarehouseJpaDao; import com.franciaflex.magalie.persistence.entity.Article; import com.franciaflex.magalie.persistence.entity.Building; +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.persistence.entity.Kanban; import com.franciaflex.magalie.persistence.entity.Location; import com.franciaflex.magalie.persistence.entity.MagalieUser; @@ -120,12 +121,12 @@ } - public Article getArticle(String articleBarcode) throws InvalidMagalieBarcodeException { + public Article getArticle(String articleBarcode, Company company) throws InvalidMagalieBarcodeException { MagalieBarcodeService magalieBarcodeService = serviceContext.newService(MagalieBarcodeService.class); - Article article = magalieBarcodeService.getArticle(articleBarcode); + Article article = magalieBarcodeService.getArticle(articleBarcode, company); return article; Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieBarcodeService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieBarcodeService.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieBarcodeService.java 2013-05-31 15:45:03 UTC (rev 228) @@ -25,6 +25,7 @@ import com.franciaflex.magalie.persistence.dao.ArticleDao; import com.franciaflex.magalie.persistence.entity.Article; +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.services.MagalieService; import com.franciaflex.magalie.services.MagalieServiceContext; import com.franciaflex.magalie.services.exception.InvalidMagalieBarcodeException; @@ -38,11 +39,11 @@ this.serviceContext = serviceContext; } - public Article getArticle(String articleBarcode) throws InvalidMagalieBarcodeException { + public Article getArticle(String articleBarcode, Company company) throws InvalidMagalieBarcodeException { ArticleDao articleDao = serviceContext.getPersistenceContext().getArticleDao(); - Article article = articleDao.findByCode(articleBarcode); + Article article = articleDao.findByCode(articleBarcode, company); if (article == null) { Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieUsersService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieUsersService.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/MagalieUsersService.java 2013-05-31 15:45:03 UTC (rev 228) @@ -24,6 +24,7 @@ */ import com.franciaflex.magalie.persistence.dao.MagalieUserJpaDao; +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.persistence.entity.MagalieUser; import com.franciaflex.magalie.services.MagalieService; import com.franciaflex.magalie.services.MagalieServiceContext; @@ -40,13 +41,13 @@ this.serviceContext = serviceContext; } - public MagalieUser getMagalieUser(String login) { + public MagalieUser getMagalieUser(String magalieUserId) { MagalieUserJpaDao dao = serviceContext.getPersistenceContext().getMagalieUserDao(); - MagalieUser magalieUser = dao.findByLogin(login); + MagalieUser magalieUser = dao.findById(magalieUserId); - Preconditions.checkArgument(magalieUser != null, "there is no user with login '" + login + "'"); + Preconditions.checkArgument(magalieUser != null, "there is no user with id '" + magalieUserId + "'"); return magalieUser; @@ -61,4 +62,13 @@ return allMagalieUsers; } + + public List<MagalieUser> getAllMagalieUsersByCompany(Company company) { + + MagalieUserJpaDao dao = serviceContext.getPersistenceContext().getMagalieUserDao(); + + List<MagalieUser> allMagalieUsers = dao.findAllByCompany(company); + + return allMagalieUsers; + } } Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/SimpleWithdrawItemService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/SimpleWithdrawItemService.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/SimpleWithdrawItemService.java 2013-05-31 15:45:03 UTC (rev 228) @@ -31,6 +31,7 @@ import com.franciaflex.magalie.persistence.dao.WarehouseJpaDao; import com.franciaflex.magalie.persistence.entity.Article; import com.franciaflex.magalie.persistence.entity.Building; +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.persistence.entity.Location; import com.franciaflex.magalie.persistence.entity.MagalieUser; import com.franciaflex.magalie.persistence.entity.StorageMovement; @@ -66,8 +67,10 @@ MagalieBarcodeService magalieBarcodeService = serviceContext.newService(MagalieBarcodeService.class); - Article article = magalieBarcodeService.getArticle(articleBarcode); + Company company = magalieUser.getCompany(); + Article article = magalieBarcodeService.getArticle(articleBarcode, company); + Iterable<StoredArticle> storedArticles = articleStorageService.getStoredArticles(building, article); Modified: trunk/magalie-services/src/main/resources/fixtures.yaml =================================================================== --- trunk/magalie-services/src/main/resources/fixtures.yaml 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-services/src/main/resources/fixtures.yaml 2013-05-31 15:45:03 UTC (rev 228) @@ -1,3 +1,17 @@ +franciaflex: + &franciaflex !company + id: frflex + name: FranciaFlex + +lerheu: + &lerheu !company + id: lr + name: Le Rheu + +companies: + - *franciaflex + - *lerheu + pascal: &pascal !user id: magalie_user_pascal @@ -5,6 +19,7 @@ name: Pascal Heinz accreditationLevel: 9 craneMan: false + company: *franciaflex bruno: &bruno !user @@ -13,6 +28,7 @@ name: Bruno Menager accreditationLevel: 9 craneMan: true + company: *franciaflex corinne: &corinne !user @@ -21,6 +37,7 @@ name: Corinne Cocolon accreditationLevel: 0 craneMan: false + company: *franciaflex xavier: &xavier !user @@ -29,6 +46,7 @@ name: Xavier Bertini accreditationLevel: 0 craneMan: false + company: *franciaflex users: - *bruno @@ -40,11 +58,13 @@ &B1 !building id: building_1 code: B1 + company: *franciaflex B2: &B2 !building id: building_2 code: B2 + company: *franciaflex buildings: - *B1 @@ -316,6 +336,7 @@ unit: M description: Jonc Souple D5 fixedLocationsFirst: true + company: *franciaflex article2: &article2 !article @@ -326,6 +347,7 @@ unit: PCE description: Moteur Oréa Slt 50 RTS 50/12 fixedLocationsFirst: false + company: *franciaflex article3: &article3 !article @@ -336,6 +358,7 @@ unit: PCE description: Interface ASA/SOMFY + clip fixedLocationsFirst: true + company: *franciaflex article4: &article4 !article @@ -344,6 +367,7 @@ unit: PCE description: Kit Tr.PM Fixe 122G D40Plat 10 fixedLocationsFirst: false + company: *franciaflex article5: &article5 !article @@ -354,6 +378,7 @@ unit: B60 description: Caisson 2005 3F 6000 Brun fixedLocationsFirst: false + company: *franciaflex article6: &article6 !article @@ -365,6 +390,7 @@ description: Ensemble SOLIRIS UNO fixedLocationsFirst: false supplier: *supplier2 + company: *franciaflex articles: - *article1 Modified: trunk/magalie-services/src/main/resources/fixtures2.yaml =================================================================== --- trunk/magalie-services/src/main/resources/fixtures2.yaml 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-services/src/main/resources/fixtures2.yaml 2013-05-31 15:45:03 UTC (rev 228) @@ -1,3 +1,17 @@ +franciaflex: + &franciaflex !company + id: frflex + name: FranciaFlex + +lerheu: + &lerheu !company + id: lr + name: Le Rheu + +companies: + - *franciaflex + - *lerheu + alexandre: &alexandre !user id: magalie_user_alexandre @@ -5,6 +19,7 @@ name: Alexandre accreditationLevel: 9 craneMan: true + company: *franciaflex basile: &basile !user @@ -13,6 +28,7 @@ name: Basile accreditationLevel: 0 craneMan: false + company: *franciaflex cathy: &cathy !user @@ -21,6 +37,7 @@ name: Cathy accreditationLevel: 9 craneMan: false + company: *franciaflex david: &david !user @@ -29,6 +46,7 @@ name: David accreditationLevel: 0 craneMan: false + company: *franciaflex users: - *alexandre @@ -40,6 +58,7 @@ &B1 !building id: building_1 code: B1 + company: *franciaflex buildings: - *B1 @@ -173,6 +192,7 @@ unit: kg description: very big screws fixedLocationsFirst: false + company: *franciaflex article2: &article2 !article @@ -181,6 +201,7 @@ unit: box description: little buttons fixedLocationsFirst: false + company: *franciaflex article3: &article3 !article @@ -191,6 +212,7 @@ unit: g description: magic powder fixedLocationsFirst: false + company: *franciaflex article4: &article4 !article @@ -199,6 +221,7 @@ unit: g description: lutins malins fixedLocationsFirst: false + company: *franciaflex articles: - *article1 Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieSession.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieSession.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/MagalieSession.java 2013-05-31 15:45:03 UTC (rev 228) @@ -24,8 +24,10 @@ */ import com.franciaflex.magalie.persistence.entity.Building; +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.persistence.entity.MagalieUser; import com.franciaflex.magalie.persistence.entity.Warehouse; +import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import java.io.Serializable; @@ -69,6 +71,13 @@ this.building = building; } + public Company getCompany() { + + Preconditions.checkNotNull(magalieUser); + + return magalieUser.getCompany(); + } + public Warehouse getLastUsedDestinationWarehouseForKanbans() { return lastUsedDestinationWarehouseForKanbans; } Added: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/ChooseCompanyAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/ChooseCompanyAction.java (rev 0) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/ChooseCompanyAction.java 2013-05-31 15:45:03 UTC (rev 228) @@ -0,0 +1,33 @@ +package com.franciaflex.magalie.web.action; + +import com.franciaflex.magalie.persistence.entity.Company; +import com.franciaflex.magalie.services.service.CompanyService; +import com.franciaflex.magalie.web.MagalieActionSupport; + +import java.util.List; + +/** + * @author Bavencoff + */ +public class ChooseCompanyAction extends MagalieActionSupport { + + protected CompanyService service; + + protected List<Company> companies; + + public void setService(CompanyService service) { + this.service = service; + } + + @Override + public String execute() throws Exception { + + companies = service.getAllCompanies(); + + return SUCCESS; + } + + public List<Company> getCompanies() { + return companies; + } +} Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/FulfilKanbanAction.java 2013-05-31 15:45:03 UTC (rev 228) @@ -25,6 +25,7 @@ import com.franciaflex.magalie.persistence.entity.Article; import com.franciaflex.magalie.persistence.entity.Building; +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.persistence.entity.MagalieUser; import com.franciaflex.magalie.persistence.entity.StorageMovementOrder; import com.franciaflex.magalie.persistence.entity.Warehouse; @@ -135,6 +136,8 @@ MagalieUser magalieUser = session.getMagalieUser(); + Company company = session.getCompany(); + destinationWarehouse = service.getStore(destinationWarehouseId); // save used destination warehouse to propose it by default on next kanban @@ -142,7 +145,7 @@ try { - article = service.getArticle(articleBarcode); + article = service.getArticle(articleBarcode, company); } catch (InvalidMagalieBarcodeException e) { Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/IndexAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/IndexAction.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/IndexAction.java 2013-05-31 15:45:03 UTC (rev 228) @@ -29,7 +29,7 @@ import org.apache.struts2.convention.annotation.Results; @Results({ - @Result(name="success", type="redirectAction", params = { "actionName", "login!input" }) + @Result(name="success", type="redirectAction", params = { "actionName", "choose-company" }) }) public class IndexAction extends MagalieActionSupport { } Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LoginAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LoginAction.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/LoginAction.java 2013-05-31 15:45:03 UTC (rev 228) @@ -24,8 +24,10 @@ */ import com.franciaflex.magalie.persistence.entity.Building; +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.persistence.entity.MagalieUser; import com.franciaflex.magalie.services.service.BuildingsService; +import com.franciaflex.magalie.services.service.CompanyService; import com.franciaflex.magalie.services.service.MagalieUsersService; import com.franciaflex.magalie.web.MagalieActionSupport; import com.franciaflex.magalie.web.MagalieSession; @@ -43,14 +45,18 @@ protected BuildingsService buildingsService; + protected CompanyService companyService; + protected List<MagalieUser> allMagalieUsers; protected List<Building> allBuildings; protected MagalieSession session; - protected String login; + protected String companyId; + protected String magalieUserId; + protected String buildingId; public void setMagalieUsersService(MagalieUsersService magalieUsersService) { @@ -61,14 +67,22 @@ this.buildingsService = buildingsService; } + public void setCompanyService(CompanyService companyService) { + this.companyService = companyService; + } + public void setSession(MagalieSession session) { this.session = session; } - public void setLogin(String login) { - this.login = login; + public void setCompanyId(String companyId) { + this.companyId = companyId; } + public void setMagalieUserId(String magalieUserId) { + this.magalieUserId = magalieUserId; + } + public void setBuildingId(String buildingId) { this.buildingId = buildingId; } @@ -76,16 +90,18 @@ @Override public String input() { - allMagalieUsers = magalieUsersService.getAllMagalieUsers(); + Company company = companyService.getCompany(companyId); - allBuildings = buildingsService.getAllBuildings(); + allMagalieUsers = magalieUsersService.getAllMagalieUsersByCompany(company); + allBuildings = buildingsService.getAllBuildingsByCompany(company); + return INPUT; } - public String getLogin() { - return login; + public String getMagalieUserId() { + return magalieUserId; } public String getBuildingId() { @@ -103,7 +119,7 @@ @Override public String execute() { - MagalieUser magalieUser = magalieUsersService.getMagalieUser(login); + MagalieUser magalieUser = magalieUsersService.getMagalieUser(magalieUserId); Building building = buildingsService.getBuilding(buildingId); Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/PrepareWithdrawItemAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/PrepareWithdrawItemAction.java 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/PrepareWithdrawItemAction.java 2013-05-31 15:45:03 UTC (rev 228) @@ -25,6 +25,7 @@ import com.franciaflex.magalie.persistence.entity.Article; import com.franciaflex.magalie.persistence.entity.Building; +import com.franciaflex.magalie.persistence.entity.Company; import com.franciaflex.magalie.persistence.entity.StorageMovementOrder; import com.franciaflex.magalie.persistence.entity.Warehouse; import com.franciaflex.magalie.services.exception.InvalidMagalieBarcodeException; @@ -134,12 +135,14 @@ destinationWarehouse = fulfilKanbanService.getStore(destinationWarehouseId); + Company company = session.getCompany(); + // save used destination warehouse to propose it by default on next kanban session.setLastUsedDestinationWarehouseForKanbans(destinationWarehouse); try { - article = fulfilKanbanService.getArticle(articleBarcode); + article = fulfilKanbanService.getArticle(articleBarcode, company); } catch (InvalidMagalieBarcodeException e) { Added: trunk/magalie-web/src/main/webapp/WEB-INF/content/choose-company.jsp =================================================================== --- trunk/magalie-web/src/main/webapp/WEB-INF/content/choose-company.jsp (rev 0) +++ trunk/magalie-web/src/main/webapp/WEB-INF/content/choose-company.jsp 2013-05-31 15:45:03 UTC (rev 228) @@ -0,0 +1,35 @@ + + +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> + +<head> + <title>Entreprise</title> +</head> + + +<s:iterator value="companies" status="stat"> + <li> + <s:set var="elementCompanyId">companyId<s:property value="#stat.index" /></s:set> + <s:url namespace="/" action="login!input" id="loginUrl"> + <s:param name="companyId" value="%{id}" /> + </s:url> + <s:if test="#stat.index < shortcuts.size()"> + <script type="text/javascript"> + $(document).ready(function () { + var id = '<s:property value="elementCompanyId" />'; + bindKey(<s:property value="shortcuts.get(#stat.index)" />, function(){ redirectTo($('#' + id));}); + }); + </script> + <s:a href="%{loginUrl}" id="%{elementCompanyId}"> + <s:property value="name" /> + (<s:property value="shortcuts.get(#stat.index)" />) + </s:a> + </s:if> + <s:else> + <s:a href="%{loginUrl}" ><s:property value="name" /> + </s:a> + </s:else> + </li> +</s:iterator> + Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/login-input.jsp =================================================================== --- trunk/magalie-web/src/main/webapp/WEB-INF/content/login-input.jsp 2013-05-31 12:40:58 UTC (rev 227) +++ trunk/magalie-web/src/main/webapp/WEB-INF/content/login-input.jsp 2013-05-31 15:45:03 UTC (rev 228) @@ -30,9 +30,9 @@ <s:form> <s:select label="Utilisateur" - key="login" + key="magalieUserId" list="allMagalieUsers" - listKey="login" + listKey="id" listValue="name" required="true" />
participants (1)
-
Bavencoff@users.forge.codelutin.com