webmcp
annotate framework/env/param/get_id.lua @ 3:795b764629ca
Version 1.0.3
Important bugfix related to internal forwards (Bug was introduced by the restriction of views with underscore prefix in Version 1.0.2)
Important bugfix related to internal forwards (Bug was introduced by the restriction of views with underscore prefix in Version 1.0.2)
author | jbe |
---|---|
date | Thu Dec 10 12:00:00 2009 +0100 (2009-12-10) |
parents | 9fdfb27f8e67 |
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 |