Enabled mods if needed to match requested URL

This commit is contained in:
Andrew Miner
2015-01-30 09:48:57 -08:00
parent a49e638b3a
commit d0c3d4de5e
3 changed files with 15 additions and 6 deletions
+1 -1
View File
@@ -34,7 +34,7 @@ module.exports = class ItemPage extends BaseModel
if not @params?.name?
@params = null
else
item = @modPack.findItemByName @params.name
item = @modPack.findItemByName @params.name, enableAsNeeded:true
return unless item? and item.isCraftable
quantity = if @params.quantity? then parseInt(@params.quantity) else 1
+8 -1
View File
@@ -64,14 +64,19 @@ module.exports = class Mod extends BaseModel
findItem: (slug, options={})->
options.includeDisabled ?= false
options.enableAsNeeded ?= false
if not options.includeDisabled
return unless @_activeModVersion?
return @_activeModVersion.findItem slug
else
for modVersion in @_modVersions
modVersion.fetch()
item = modVersion.findItem slug
return item if item?
if item?
if options.enableAsNeeded then @setActiveVersion modVersion.version
return item
return null
@@ -121,6 +126,8 @@ module.exports = class Mod extends BaseModel
return @_activeVersion
setActiveVersion: (version)->
return if version is @_activeVersion
version ?= Mod.Version.None
if version is Mod.Version.Latest then version = _.last(@_modVersions).version
+6 -4
View File
@@ -32,12 +32,14 @@ module.exports = class ModPack extends BaseModel
return null
findItemByName: (name)->
slug = _.slugify name
findItemByName: (name, options={})->
options.enableAsNeeded ?= false
options.includeDisabled = true if options.enableAsNeeded
slug = _.slugify name
for mod in @_mods
continue unless mod.enabled?
item = mod.findItem slug
continue unless mod.enabled or options.includeDisabled
item = mod.findItem slug, options
return item if item?
return null