jbe/bsw@0: --[[-- jbe/bsw@0: execute.filtered_view{ jbe/bsw@0: module = module, -- module name of the view to be executed jbe/bsw@0: view = view -- name of the view to be executed jbe/bsw@0: } jbe/bsw@0: jbe/bsw@0: Executes a view with associated filters. jbe/bsw@0: This function is only used by by the webmcp.lua file in the cgi-bin/ directory. jbe/bsw@0: jbe/bsw@0: --]]-- jbe/bsw@0: jbe/bsw@0: function execute.filtered_view(args) jbe/bsw@0: local filters = {} jbe/bsw@0: local function add_by_path(...) jbe/bsw@0: execute._add_filters_by_path(filters, ...) jbe/bsw@0: end jbe/bsw@0: add_by_path("_filter") jbe/bsw@0: add_by_path("_filter_view") jbe/bsw@0: add_by_path(request.get_app_name(), "_filter") jbe/bsw@0: add_by_path(request.get_app_name(), "_filter_view") jbe/bsw@0: add_by_path(request.get_app_name(), args.module, "_filter") jbe/bsw@0: add_by_path(request.get_app_name(), args.module, "_filter_view") jbe/bsw@0: table.sort(filters) jbe/bsw@0: for idx, filter_name in ipairs(filters) do jbe/bsw@0: filters[idx] = filters[filter_name] jbe/bsw@0: filters[filter_name] = nil jbe/bsw@0: end jbe/bsw@0: execute.multi_wrapped( jbe/bsw@0: filters, jbe/bsw@0: function() jbe/bsw@0: execute.view(args) jbe/bsw@0: end jbe/bsw@0: ) jbe/bsw@0: end