webmcp

annotate framework/env/param/get_id.lua @ 0:9fdfb27f8e67

Version 1.0.0
author jbe/bsw
date Sun Oct 25 12:00:00 2009 +0100 (2009-10-25)
parents
children 2f8d8edd1836
rev   line source
jbe/bsw@0 1 --[[--
jbe/bsw@0 2 value = -- value of the id casted to the chosen param_type
jbe/bsw@0 3 param.get_id(
jbe/bsw@0 4 param_type -- desired type of the returned value
jbe/bsw@0 5 )
jbe/bsw@0 6
jbe/bsw@0 7 Same as param.get(...), but operates on a special id parameter. An id is set via a __webmcp_id GET or POST parameter or an 'id' option to execute.view{...} or execute.action{...}. In a normal setup a beauty URL of the form http://www.example.com/example-application/example-module/example-view/<id>.html will cause the id to be set.
jbe/bsw@0 8
jbe/bsw@0 9 --]]--
jbe/bsw@0 10
jbe/bsw@0 11 function param.get_id(param_type)
jbe/bsw@0 12 local param_type = param_type or atom.integer
jbe/bsw@0 13 if param._exchanged then
jbe/bsw@0 14 local value = param._exchanged.id
jbe/bsw@0 15 if value ~= nil and not atom.has_type(value, param_type) then
jbe/bsw@0 16 error("Parameter has unexpected type.")
jbe/bsw@0 17 end
jbe/bsw@0 18 return value
jbe/bsw@0 19 else
jbe/bsw@0 20 return param.get("_webmcp_id", param_type)
jbe/bsw@0 21 end
jbe/bsw@0 22 end

Impressum / About Us