diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/AdminRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/AdminRequestHandler.java index 2217e390d..666d403be 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/AdminRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/AdminRequestHandler.java @@ -917,6 +917,10 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur String turnInDurationStr = getFormParameterSafely(postDecoder, "turnInDuration"); String sealedFormatCodeStr = getFormParameterSafely(postDecoder, "sealedFormatCode"); + String soloDraftDeckbuildingDurationStr = getFormParameterSafely(postDecoder, "soloDraftDeckbuildingDuration"); + String soloDraftTurnInDurationStr = getFormParameterSafely(postDecoder, "soloDraftTurnInDuration"); + String soloDraftFormatCodeStr = getFormParameterSafely(postDecoder, "soloDraftFormatCode"); + String wcStr = getFormParameterSafely(postDecoder, "wc"); String tournamentId = getFormParameterSafely(postDecoder, "tournamentId"); String formatStr = getFormParameterSafely(postDecoder, "formatCode"); @@ -985,6 +989,21 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur sealedParams.requiresDeck = false; params = sealedParams; } + else if (type == Tournament.TournamentType.SOLODRAFT) { + var soloDraftParams = new SoloDraftTournamentParams(); + soloDraftParams.type = Tournament.TournamentType.SOLODRAFT; + + soloDraftParams.deckbuildingDuration = Throw400IfNullOrNonInteger("soloDraftDeckbuildingDuration", soloDraftDeckbuildingDurationStr); + soloDraftParams.turnInDuration = Throw400IfNullOrNonInteger("soloDraftTurnInDuration", soloDraftTurnInDurationStr); + + Throw400IfStringNull("soloDraftFormatCode", soloDraftFormatCodeStr); + var soloDraftFormat = _soloDraftDefinitions.getSoloDraft(soloDraftFormatCodeStr); + Throw400IfValidationFails("soloDraftFormatCode", soloDraftFormatCodeStr,soloDraftFormat != null); + soloDraftParams.soloDraftFormatCode = soloDraftFormatCodeStr; + soloDraftParams.format = soloDraftFormat.getFormat(); + soloDraftParams.requiresDeck = false; + params = soloDraftParams; + } else { params.type = Tournament.TournamentType.CONSTRUCTED; var format = _formatLibrary.getFormat(formatStr); diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/includes/admin/tournamentAdmin.html b/gemp-lotr/gemp-lotr-async/src/main/web/includes/admin/tournamentAdmin.html index f0ce8d51e..0dff1614d 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/includes/admin/tournamentAdmin.html +++ b/gemp-lotr/gemp-lotr-async/src/main/web/includes/admin/tournamentAdmin.html @@ -155,14 +155,22 @@ $(document).ready( if(type === "SEALED") { $('.sealed-only').show(); $('.constructed-only').hide(); + $('.solodraft-only').hide(); + } + else if(type === "SOLODRAFT") { + $('.sealed-only').hide(); + $('.constructed-only').hide(); + $('.solodraft-only').show(); } else { $('.sealed-only').hide(); $('.constructed-only').show(); + $('.solodraft-only').hide(); } }); $('.sealed-only').hide(); + $('.solodraft-only').hide(); $('.constructed-only').show(); @@ -225,6 +233,20 @@ $(document).ready( } } sortOptionsByName("#sch-tourney-sealed-format"); + + for (var prop in drafts) { + if (Object.prototype.hasOwnProperty.call(drafts, prop)) { + //console.log(prop); + + let code = drafts[prop].format; + let id = drafts[prop].id; + + var item = $("