webmcp
annotate framework/env/param/get_id.lua @ 58:e2b8f9dcc4a6
Bug fix in ui.form related to file upload
| author | bsw |
|---|---|
| date | Sun Dec 18 22:19:40 2011 +0100 (2011-12-18) |
| 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 |