Module:ToolInventoryData: Difference between revisions

From Claremont MakerSpace
No edit summary
No edit summary
 
Line 22: Line 22:
       local status = data and data.status or '<span class="error">Error retrieving status</span>'
       local status = data and data.status or '<span class="error">Error retrieving status</span>'
       local link ='[https://inventory.claremontmakerspace.org/hardware/bytag?assetTag='..asset_tag..' '..asset_tag..']'
       local link ='[https://inventory.claremontmakerspace.org/hardware/bytag?assetTag='..asset_tag..' '..asset_tag..']'
       out = out .. '|' .. link .. '||' .. data.status .. '\n|-\n'
       out = out .. '|' .. link .. '||' .. status .. '\n|-\n'
   end
   end



Latest revision as of 05:28, 3 August 2021

Documentation for this module may be created at Module:ToolInventoryData/doc

local p = {}

local function getToolInfo(asset_tag)
   local data, err = mw.ext.externaldata.getWebData {
      url = 'SNIPEIT_URL/api/v1/hardware/bytag/' .. asset_tag,
      format = 'json',
      'use jsonpath',
      data = {status = '$.status_label.name'}
   }
   if err ~= nil then
      mw.logObject(err)
   end

   return data
end

function p.ToolInstanceTable(frame)
   local out = '{| class="wikitable" style="margin: 0;"\n! Asset Tag || Status \n|-\n'
   for idx, asset_tag in ipairs(mw.text.split(frame.args[1], ';'))
   do
      local data = getToolInfo(asset_tag)
      local status = data and data.status or '<span class="error">Error retrieving status</span>'
      local link ='[https://inventory.claremontmakerspace.org/hardware/bytag?assetTag='..asset_tag..' '..asset_tag..']'
      out = out .. '|' .. link .. '||' .. status .. '\n|-\n'
   end

   return out .. '|}'
end

return p