From d2f850f72560d8e379b066ef1f763713485459cc Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Mon, 26 Dec 2011 00:46:50 +0000 Subject: [PATCH] Adding permanent collections. --- .../gempukku/lotro/server/AdminResource.java | 24 +++++++++++-------- .../lotro/server/CollectionResource.java | 6 +++-- .../gemp-lotr-web/src/main/webapp/admin.html | 10 ++++---- .../src/main/webapp/js/deckBuildingUi.js | 1 + 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/AdminResource.java b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/AdminResource.java index de1b0ea14..227270cca 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/AdminResource.java +++ b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/AdminResource.java @@ -147,20 +147,16 @@ public class AdminResource extends AbstractResource { return "OK"; } - @Path("/addLeaguePrize") + @Path("/addItems") @POST - public String addLeaguePrize( - @FormParam("leagueType") String leagueType, + public String addItems( + @FormParam("collectionType") String collectionType, @FormParam("packProduct") String packProduct, @FormParam("cardProduct") String cardProduct, @FormParam("players") String players, @Context HttpServletRequest request) throws Exception { validateAdmin(request); - League league = getLeagueByType(leagueType); - if (league == null) - throw new WebApplicationException(Response.Status.NOT_FOUND); - List items = new LinkedList(); List packs = getItems(packProduct); @@ -175,18 +171,26 @@ public class AdminResource extends AbstractResource { for (String playerName : playerNames) { Player player = _playerDao.getPlayer(playerName); - MutableCardCollection collection = _collectionDao.getCollectionForPlayer(player, leagueType); + + MutableCardCollection collection = getPlayerCollection(player, collectionType); for (String pack : packs) collection.addPacks(pack, 1); for (String card : cards) collection.addCards(card, 1); - _collectionDao.setCollectionForPlayer(player, leagueType, collection); - _deliveryService.addPackage(player, leagueType, items); + _collectionDao.setCollectionForPlayer(player, collectionType, collection); + _deliveryService.addPackage(player, collectionType, items); } return "OK"; } + private MutableCardCollection getPlayerCollection(Player player, String collectionType) { + MutableCardCollection collection = _collectionDao.getCollectionForPlayer(player, collectionType); + if (collection == null && collectionType.equals("permanent")) + collection = new DefaultCardCollection(); + return collection; + } + private List getItems(String values) { List result = new LinkedList(); for (String pack : values.split("\n")) { diff --git a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/CollectionResource.java b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/CollectionResource.java index 6efa58c45..8604664e3 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/CollectionResource.java +++ b/gemp-lotr/gemp-lotr-web/src/main/java/com/gempukku/lotro/server/CollectionResource.java @@ -122,9 +122,11 @@ public class CollectionResource extends AbstractResource { CardCollection collection = null; if (collectionType.equals("default")) collection = _lotroServer.getDefaultCollection(); - else if (collectionType.equals("permanent")) + else if (collectionType.equals("permanent")) { collection = _collectionDao.getCollectionForPlayer(player, "permanent"); - else { + if (collection == null) + collection = new DefaultCardCollection(); + } else { League league = _leagueService.getLeagueByType(collectionType); if (league != null) collection = _leagueService.getLeagueCollection(player, league); diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/admin.html b/gemp-lotr/gemp-lotr-web/src/main/webapp/admin.html index 824967c21..922b7bc74 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/admin.html +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/admin.html @@ -46,14 +46,16 @@ -

Add league prize

+

Collections

-
- Type:
+

Add items

+ + + Type:
Packs:
Cards:
Players:
- +
diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/deckBuildingUi.js b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/deckBuildingUi.js index 54521d182..7ec928edc 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/deckBuildingUi.js +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/deckBuildingUi.js @@ -50,6 +50,7 @@ var GempLotrDeckBuildingUI = Class.extend({ var collectionSelect = $(""); collectionSelect.css({"float": "right", width: "180px"}); collectionSelect.append(""); + collectionSelect.append(""); this.manageDecksDiv.append(collectionSelect); var newDeckBut = $("").button();