Enabled mods if needed to match requested URL
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user