jbe/bsw@0: --[[-- jbe/bsw@0: action_status = -- status code returned by the action (a string) jbe/bsw@0: execute.filtered_action{ jbe/bsw@0: module = module, -- module name of the action to be executed jbe/bsw@0: action = action, -- name of the action to be executed jbe/bsw@0: id = id, -- id to be returned by param.get_id(...) during execution jbe/bsw@0: params = params -- parameters to be returned by param.get(...) during execution jbe/bsw@0: } jbe/bsw@0: jbe/bsw@0: Executes an action with associated filters. jbe/bsw@0: jbe/bsw@0: --]]-- jbe/bsw@0: jbe/bsw@0: function execute.filtered_action(args) jbe/bsw@0: local result jbe/bsw@0: execute.multi_wrapped( jbe@206: execute._create_sorted_execution_list( jbe@206: function(add_by_path) jbe@206: add_by_path("_filter") jbe@206: add_by_path("_filter_action") jbe@206: add_by_path(WEBMCP_APP_NAME, "_filter") jbe@206: add_by_path(WEBMCP_APP_NAME, "_filter_action") jbe@206: add_by_path(WEBMCP_APP_NAME, args.module, "_filter") jbe@206: add_by_path(WEBMCP_APP_NAME, args.module, "_filter_action") jbe@206: end, jbe@206: function(full_path, relative_path) jbe@206: trace.enter_filter{ path = relative_path } jbe@206: execute.file_path{ file_path = full_path } jbe@206: trace.execution_return() jbe@206: end jbe@206: ), jbe/bsw@0: function() jbe/bsw@0: result = execute.action(args) jbe/bsw@0: end jbe/bsw@0: ) jbe/bsw@0: return result jbe/bsw@0: end