webmcp
annotate framework/env/param/get_id.lua @ 2:72860d232f32
Version 1.0.2
Fixed bug with explicit garbage collection (requests > 256kB caused an error)
Views prefixed with an underscore can't be called externally
ui.paginate now displays the last page, if the selected page number is too high.
Fixed bug with explicit garbage collection (requests > 256kB caused an error)
Views prefixed with an underscore can't be called externally
ui.paginate now displays the last page, if the selected page number is too high.
author | jbe/bsw |
---|---|
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 |