annotate pylons_app/lib/helpers.py @ 43:2e1247e62c5b

changed for pylons 0.1 / 1.0 added admin controller
author marcink
date Wed, 07 Apr 2010 15:28:50 +0200
parents 564e40829f80
children a886f5eba757
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1 """Helper functions
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
2
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
3 Consists of functions to typically be used within templates, but also
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
4 available to Controllers. This module is available to both as 'h'.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
5 """
43
2e1247e62c5b changed for pylons 0.1 / 1.0
marcink
parents: 0
diff changeset
6 from pylons import url
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
7 from webhelpers.html import (literal, HTML, escape)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
8 from webhelpers.html.tools import (auto_link, button_to, highlight, js_obfuscate
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
9 , mail_to, strip_links, strip_tags, tag_re)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
10 from webhelpers.html.tags import (auto_discovery_link, checkbox, css_classes,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
11 end_form, file, form, hidden, image,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
12 javascript_link, link_to, link_to_if,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
13 link_to_unless, ol, required_legend,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
14 select, stylesheet_link,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
15 submit, text, textarea, title, ul, xml_declaration)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
16 from webhelpers.text import (chop_at, collapse, convert_accented_entities,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
17 convert_misc_characters, convert_misc_entities,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
18 lchop, plural, rchop, remove_formatting, replace_whitespace,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
19 urlify)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
20
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
21 from webhelpers.pylonslib import Flash as _Flash
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
22 from webhelpers.pylonslib.secure_form import secure_form
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
23
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
24 #Custom helper here :)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
25 class _Link(object):
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
26 '''
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
27 Make a url based on label and url with help of url_for
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
28 @param label:name of link if not defined url is used
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
29 @param url: the url for link
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
30 '''
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
31
43
2e1247e62c5b changed for pylons 0.1 / 1.0
marcink
parents: 0
diff changeset
32 def __call__(self, label='', *url_, **urlargs):
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
33 if label is None or '':
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
34 label = url
43
2e1247e62c5b changed for pylons 0.1 / 1.0
marcink
parents: 0
diff changeset
35 link_fn = link_to(label, url(*url_, **urlargs))
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
36 return link_fn
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
37
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
38
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
39 class _GetError(object):
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
40
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
41 def __call__(self, field_name, form_errors):
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
42 tmpl = """<span class="error_msg">%s</span>"""
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
43 if form_errors and form_errors.has_key(field_name):
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
44 return literal(tmpl % form_errors.get(field_name))
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
45
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
46 link = _Link()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
47 flash = _Flash()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
48 get_error = _GetError()