~ubuntu-branches/ubuntu/natty/moin/natty-updates

« back to all changes in this revision

Viewing changes to MoinMoin/macro/AdvancedSearch.py

  • Committer: Bazaar Package Importer
  • Author(s): Jonas Smedegaard
  • Date: 2008-06-22 21:17:13 UTC
  • mto: This revision was merged to the branch mainline in revision 18.
  • Revision ID: james.westby@ubuntu.com-20080622211713-inlv5k4eifxckelr
ImportĀ upstreamĀ versionĀ 1.7.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
    return pages
39
39
 
40
40
 
41
 
def form_get(request, name, default='', escaped=False):
 
41
def form_get(request, name, default=''):
42
42
    """ Fetches a form field
43
43
 
44
44
    @param request: current request
45
45
    @param name: name of the field
46
 
    @param default: value if not present (default: '')
47
 
    @param escaped: if True, escape value so it can be used for html generation (default: False)
 
46
    @keyword default: value if not present (default: '')
48
47
    """
49
 
    value = request.values.get(name, default)
50
 
    if escaped:
51
 
        value = wikiutil.escape(value, quote=True)
52
 
    return value
 
48
    return request.form.get(name, [default])[0]
53
49
 
54
50
 
55
51
def advanced_ui(macro):
81
77
        ]) for txt, input_field in (
82
78
            (_('containing all the following terms'),
83
79
                '<input type="text" name="and_terms" size="30" value="%s">'
84
 
                % (form_get(request, 'and_terms', escaped=True) or form_get(request, 'value', escaped=True))),
 
80
                % (form_get(request, 'and_terms') or form_get(request, 'value'))),
85
81
            (_('containing one or more of the following terms'),
86
82
                '<input type="text" name="or_terms" size="30" value="%s">'
87
 
                % form_get(request, 'or_terms', escaped=True)),
 
83
                % form_get(request, 'or_terms')),
88
84
            (_('not containing the following terms'),
89
85
                '<input type="text" name="not_terms" size="30" value="%s">'
90
 
                % form_get(request, 'not_terms', escaped=True)),
 
86
                % form_get(request, 'not_terms')),
91
87
            #('containing only one of the following terms',
92
88
            #    '<input type="text" name="xor_terms" size="30" value="%s">'
93
 
            #    % form_get(request, 'xor_terms', escaped=True)),
 
89
            #    % form_get(request, 'xor_terms')),
94
90
            # TODO: dropdown-box?
95
 
            (_('last modified since (e.g. 2 weeks before)'),
 
91
            (_('last modified since (e.g. last 2 weeks)'),
96
92
                '<input type="text" name="mtime" size="30" value="%s">'
97
 
                % form_get(request, 'mtime', escaped=True)),
 
93
                % form_get(request, 'mtime')),
98
94
        )])
99
95
    ])
100
96
 
140
136
                (_('Language'), unicode(lang_select), ''),
141
137
                (_('File Type'), unicode(mt_select), ''),
142
138
                ('', html.INPUT(type='checkbox', name='titlesearch',
143
 
                    value='1', checked=form_get(request, 'titlesearch', escaped=True),
 
139
                    value='1', checked=form_get(request, 'titlesearch'),
144
140
                    id='titlesearch'),
145
141
                    '<label for="titlesearch">%s</label>' % _('Search only in titles')),
146
142
                ('', html.INPUT(type='checkbox', name='case', value='1',
147
 
                    checked=form_get(request, 'case', escaped=True),
148
 
                    id='case'),
 
143
                    checked=form_get(request, 'case'), id='case'),
149
144
                    '<label for="case">%s</label>' % _('Case-sensitive search')),
150
145
                ('', html.INPUT(type='checkbox', name='excludeunderlay',
151
 
                    value='1', checked=form_get(request, 'excludeunderlay', escaped=True),
 
146
                    value='1', checked=form_get(request, 'excludeunderlay'),
152
147
                    id='excludeunderlay'),
153
148
                    '<label for="excludeunderlay">%s</label>' % _('Exclude underlay')),
154
149
                ('', html.INPUT(type='checkbox', name='nosystemitems',
155
 
                    value='1', checked=form_get(request, 'nosystemitems', escaped=True),
 
150
                    value='1', checked=form_get(request, 'nosystemitems'),
156
151
                    id='nosystempages'),
157
152
                    '<label for="nosystempages">%s</label>' % _('No system items')),
158
153
                ('', html.INPUT(type='checkbox', name='historysearch',
159
 
                    value='1', checked=form_get(request, 'historysearch', escaped=True),
 
154
                    value='1', checked=form_get(request, 'historysearch'),
160
155
                    disabled=(not request.cfg.xapian_search or
161
156
                        not request.cfg.xapian_index_history),
162
157
                    id='historysearch'),
166
161
 
167
162
    # the dialogue
168
163
    return f.rawHTML('\n'.join([
169
 
        u'<form method="get" action="%s">' % macro.request.href(macro.request.formatter.page.page_name),
 
164
        u'<form method="get" action="%s/%s">' % (macro.request.getScriptname(), wikiutil.quoteWikinameURL(macro.request.formatter.page.page_name)),
170
165
        u'<div>',
171
166
        u'<input type="hidden" name="action" value="fullsearch">',
172
167
        u'<input type="hidden" name="advancedsearch" value="1">',