r156 - in trunk: magalie-persistence/src/main/java/com/franciaflex/magalie/persistence magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity magalie-services/src/main/resources magalie-services/src/test/java/com/franciaflex/magalie/services/service
Author: Bavencoff Date: 2013-05-16 12:05:24 +0200 (Thu, 16 May 2013) New Revision: 156 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: fixes #2371 : add Crane man control Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Location.java trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/MagalieUser.java trunk/magalie-services/src/main/resources/fixtures.yaml trunk/magalie-services/src/main/resources/fixtures2.yaml trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/OldFixturesArticleStorageServiceTest.java Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java 2013-05-16 08:40:46 UTC (rev 155) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/Locations.java 2013-05-16 10:05:24 UTC (rev 156) @@ -43,7 +43,8 @@ @Override public boolean apply(Location location) { - boolean isLocationAccessible = magalieUser.getAccreditationLevel() >= location.getRequiredAccreditationLevel(); + boolean isLocationAccessible = magalieUser.getAccreditationLevel() >= location.getRequiredAccreditationLevel() + && (magalieUser.isCraneMan() || !location.isRequiredCraneMan()) ; return isLocationAccessible; } Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Location.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Location.java 2013-05-16 08:40:46 UTC (rev 155) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/Location.java 2013-05-16 10:05:24 UTC (rev 156) @@ -42,6 +42,8 @@ protected boolean fullLocation; + protected boolean requiredCraneMan; + @Override public String getId() { return id; @@ -87,4 +89,13 @@ public void setFullLocation(boolean fullLocation) { this.fullLocation = fullLocation; } + + public boolean isRequiredCraneMan() { + return requiredCraneMan; } + + public void setRequiredCraneMan(boolean requiredCraneMan) { + this.requiredCraneMan = requiredCraneMan; + } + +} Modified: trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/MagalieUser.java =================================================================== --- trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/MagalieUser.java 2013-05-16 08:40:46 UTC (rev 155) +++ trunk/magalie-persistence/src/main/java/com/franciaflex/magalie/persistence/entity/MagalieUser.java 2013-05-16 10:05:24 UTC (rev 156) @@ -38,6 +38,8 @@ protected int accreditationLevel; + protected boolean craneMan; + @Override public String getId() { return id; @@ -71,4 +73,13 @@ this.accreditationLevel = accreditationLevel; } + + public boolean isCraneMan() { + return craneMan; + } + + public void setCraneMan(boolean craneMan) { + this.craneMan = craneMan; + } + } Modified: trunk/magalie-services/src/main/resources/fixtures.yaml =================================================================== --- trunk/magalie-services/src/main/resources/fixtures.yaml 2013-05-16 08:40:46 UTC (rev 155) +++ trunk/magalie-services/src/main/resources/fixtures.yaml 2013-05-16 10:05:24 UTC (rev 156) @@ -4,6 +4,7 @@ login: phe name: Pascal Heinz accreditationLevel: 9 + craneMan: false bruno: &bruno !user @@ -11,6 +12,7 @@ login: bmr name: Bruno Menager accreditationLevel: 9 + craneMan: true corinne: &corinne !user @@ -18,6 +20,7 @@ login: ccr name: Corinne Cocolon accreditationLevel: 0 + craneMan: false xavier: &xavier !user @@ -25,6 +28,7 @@ login: xbe name: Xavier Bertini accreditationLevel: 0 + craneMan: false users: - *bruno @@ -102,6 +106,7 @@ warehouse: *U01 code: A01 requiredAccreditationLevel: 0 + requiredCraneMan : false location2: &location2 !location @@ -109,6 +114,7 @@ warehouse: *U01 code: B02 requiredAccreditationLevel: 9 + requiredCraneMan : false location3: &location3 !location @@ -116,6 +122,7 @@ warehouse: *U01 code: C03 requiredAccreditationLevel: 0 + requiredCraneMan : false location4: &location4 !location @@ -123,6 +130,7 @@ warehouse: *U01 code: D04 requiredAccreditationLevel: 9 + requiredCraneMan : false location5: &location5 !location @@ -130,6 +138,7 @@ warehouse: *U02 code: F01 requiredAccreditationLevel: 0 + requiredCraneMan : false location6: &location6 !location @@ -137,6 +146,7 @@ warehouse: *U02 code: G02 requiredAccreditationLevel: 0 + requiredCraneMan : false location7: &location7 !location @@ -144,6 +154,7 @@ warehouse: *U02 code: H03 requiredAccreditationLevel: 9 + requiredCraneMan : false location8: &location8 !location @@ -151,6 +162,7 @@ warehouse: *U04 code: A010 requiredAccreditationLevel: 0 + requiredCraneMan : false location9: &location9 !location @@ -158,6 +170,7 @@ warehouse: *SOM code: B10 requiredAccreditationLevel: 0 + requiredCraneMan : false location10: &location10 !location @@ -165,6 +178,7 @@ warehouse: *SOM code: B24 requiredAccreditationLevel: 0 + requiredCraneMan : false location11: &location11 !location @@ -172,6 +186,7 @@ warehouse: *SOM code: B77 requiredAccreditationLevel: 0 + requiredCraneMan : false location12: &location12 !location @@ -179,6 +194,7 @@ warehouse: *SOM code: C12 requiredAccreditationLevel: 0 + requiredCraneMan : false location13: &location13 !location @@ -186,6 +202,7 @@ warehouse: *U01 code: REC requiredAccreditationLevel: 0 + requiredCraneMan : false location14: &location14 !location @@ -193,6 +210,7 @@ warehouse: *B01 code: SANS requiredAccreditationLevel: 0 + requiredCraneMan : false locationRecU01: &locationRecU01 !location @@ -200,6 +218,7 @@ warehouse: *U01 code: REC requiredAccreditationLevel: 0 + requiredCraneMan : false locationRecU02: &locationRecU02 !location @@ -207,6 +226,7 @@ warehouse: *U02 code: REC requiredAccreditationLevel: 0 + requiredCraneMan : false locationRecU03: &locationRecU03 !location @@ -214,6 +234,7 @@ warehouse: *U03 code: REC requiredAccreditationLevel: 0 + requiredCraneMan : false locationRecU04: &locationRecU04 !location @@ -221,6 +242,7 @@ warehouse: *U04 code: REC requiredAccreditationLevel: 0 + requiredCraneMan : false locationRecSOM: &locationRecSOM !location @@ -228,6 +250,7 @@ warehouse: *SOM code: REC requiredAccreditationLevel: 0 + requiredCraneMan : false locationRecB01: &locationRecB01 !location @@ -235,6 +258,7 @@ warehouse: *B01 code: REC requiredAccreditationLevel: 0 + requiredCraneMan : false locations: - *location1 Modified: trunk/magalie-services/src/main/resources/fixtures2.yaml =================================================================== --- trunk/magalie-services/src/main/resources/fixtures2.yaml 2013-05-16 08:40:46 UTC (rev 155) +++ trunk/magalie-services/src/main/resources/fixtures2.yaml 2013-05-16 10:05:24 UTC (rev 156) @@ -4,6 +4,7 @@ login: ale name: Alexandre accreditationLevel: 9 + craneMan: true basile: &basile !user @@ -11,6 +12,7 @@ login: bas name: Basile accreditationLevel: 0 + craneMan: false cathy: &cathy !user @@ -18,6 +20,7 @@ login: cat name: Cathy accreditationLevel: 9 + craneMan: false david: &david !user @@ -25,6 +28,7 @@ login: dav name: David accreditationLevel: 0 + craneMan: false users: - *alexandre @@ -96,6 +100,7 @@ warehouse: *U01 code: A1 requiredAccreditationLevel: 0 + requiredCraneMan: false location2: &location2 !location @@ -103,6 +108,7 @@ warehouse: *U01 code: B2 requiredAccreditationLevel: 9 + requiredCraneMan: false location3: &location3 !location @@ -110,6 +116,7 @@ warehouse: *U01 code: C3 requiredAccreditationLevel: 0 + requiredCraneMan: false location4: &location4 !location @@ -117,6 +124,7 @@ warehouse: *U01 code: D4 requiredAccreditationLevel: 9 + requiredCraneMan: false location5: &location5 !location @@ -124,13 +132,23 @@ warehouse: *U02 code: A1 requiredAccreditationLevel: 0 + requiredCraneMan: false +location6: + &location6 !location + id: location6 + warehouse: *U02 + code: A2 + requiredAccreditationLevel: 0 + requiredCraneMan: true + locations: - *location1 - *location2 - *location3 - *location4 - *location5 + - *location6 supplier1: &supplier1 !supplier @@ -174,10 +192,19 @@ description: magic powder fixedLocationsFirst: false +article4: + &article4 !article + id: article4 + code: 444444444 + unit: g + description: lutins malins + fixedLocationsFirst: false + articles: - *article1 - *article2 - *article3 + - *article4 kanban1: &kanban1 !kanban @@ -230,12 +257,21 @@ location: *location4 quantity: 1000 +storedArticle5: + &storedArticle5 !stored-article + id: storedArticle5 + article: *article4 + location: *location6 + quantity: 1000 + storedArticles: - *storedArticle1 - *storedArticle2 - *storedArticle3 - *storedArticle4 + - *storedArticle5 + storedArticlesForArticle1: - *storedArticle1 - *storedArticle2 Modified: trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/OldFixturesArticleStorageServiceTest.java =================================================================== --- trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/OldFixturesArticleStorageServiceTest.java 2013-05-16 08:40:46 UTC (rev 155) +++ trunk/magalie-services/src/test/java/com/franciaflex/magalie/services/service/OldFixturesArticleStorageServiceTest.java 2013-05-16 10:05:24 UTC (rev 156) @@ -138,6 +138,38 @@ } @Test + public void testThrowRequiredCraneManLicenceException() throws Exception { + + MagalieUser basile = fixture("basile"); + Article article = fixture("article4"); + + BookArticleRequest bookArticleRequest = new BookArticleRequest(basile, building, article, 70., destinationLocation, false); + + BookArticleResult bookArticleResult = service.bookArticle(bookArticleRequest); + + Assert.assertFalse(bookArticleResult.isSuccess()); + Assert.assertTrue(bookArticleResult.isArticleInaccessible()); + Assert.assertFalse(bookArticleResult.isArticleUnavailable()); + + } + + @Test + public void testWithCraneManWithLocationRequiredCraneMan() throws Exception { + + MagalieUser basile = fixture("alexandre"); + Article article = fixture("article4"); + + BookArticleRequest bookArticleRequest = new BookArticleRequest(basile, building, article, 70., destinationLocation, false); + + BookArticleResult bookArticleResult = service.bookArticle(bookArticleRequest); + + Assert.assertTrue(bookArticleResult.isSuccess()); + Assert.assertFalse(bookArticleResult.isArticleInaccessible()); + Assert.assertFalse(bookArticleResult.isArticleUnavailable()); + + } + + @Test public void testWithdrawArticleConsiderAlreadyRemovedItem() throws Exception { MagalieUser alexandre = fixture("alexandre");
participants (1)
-
Bavencoffļ¼ users.forge.codelutin.com