webmcp
view framework/env/param/get_id.lua @ 331:264af2867720
Bugfix in request.get_param{...}
| author | jbe | 
|---|---|
| date | Tue Mar 24 16:24:42 2015 +0100 (2015-03-24) | 
| parents | eeea5b7f31d4 | 
| children | 
 line source
     1 --[[--
     2 value =        -- value of the id casted to the chosen param_type
     3 param.get_id(
     4   param_type   -- desired type of the returned value
     5 )
     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.
     9 --]]--
    11 function param.get_id(param_type)
    12   local param_type = param_type or atom.integer
    13   if param._exchanged then
    14     local value = param._exchanged.id
    15     if value ~= nil and not atom.has_type(value, param_type) then
    16       error("Parameter has unexpected type.")
    17     end
    18     return value
    19   else
    20     local str = request.get_id_string()
    21     if str then
    22       return param._get_parser(nil, param_type)(str)
    23     else
    24       return nil
    25     end
    26   end
    27 end
