## -*- coding: utf-8 -*- ## ## ## Copyright 2009, 2011 Oracle and/or its affiliates. All rights reserved. ## <%! import pkg.query_parser as qp import urllib %>\ <%inherit file="search.shtml"/>\ <%page args="g_vars"/>\ <% catalog = g_vars["catalog"] request = g_vars["request"] %>\ <%def name="page_title(g_vars)"><% return "Advanced Package Search" %>%def>\ <%def name="get_search_criteria(request)"><% # Based on the request parameters, return a dict representing the # search criteria. criteria = parent.get_search_criteria(request) versions = self.shared.get_releases(g_vars) if versions: # Add an "All" selection to be used as the default. versions.insert(0, ("", "", "All")) # The string value representing the user's selection. selected_val = urllib.unquote(request.params.get("v", "")) # The version object matching the string value of the user's selection. selected_ver = None if selected_val: for v in versions: ver, val, label = v if selected_val == val: selected_ver = ver break if versions and selected_val and not selected_ver: # The version provided didn't match a valid one, so default to # the first one in the list. selected_ver = versions[0][0] selected_val = versions[0][1] criteria["versions"] = versions criteria["selected_ver"] = selected_ver criteria["selected_val"] = selected_val return criteria %>%def>\ <%def name="display_search_form(criteria, request)"><% return_types = [ ("a", "Actions"), ("p", "Packages") ] rpp_values = (10, 20, 30, 50, 100, 250, 500) token_val = criteria["token"] if criteria["return_type"] == qp.Query.RETURN_PACKAGES: show = "p" elif criteria["return_type"] == qp.Query.RETURN_ACTIONS: show = "a" rpp_val = criteria["rpp"] %>\
%def>\