Mercurial > genshi > mirror
annotate examples/turbogears/genshitest/controllers.py @ 318:f738ffe8f1dd stable-0.3.x
Ported [389:391] to 0.3.x branch.
author | cmlenz |
---|---|
date | Tue, 24 Oct 2006 16:14:04 +0000 |
parents | 186d18554183 |
children | 2755b06148b3 |
rev | line source |
---|---|
4
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
1 import logging |
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
2 |
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
3 import cherrypy |
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
4 |
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
5 import turbogears |
110
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
6 from turbogears import controllers, expose, validate, redirect, widgets |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
7 from turbogears import identity |
4
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
8 |
230 | 9 from genshitest import json |
4
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
10 |
230 | 11 log = logging.getLogger("genshitest.controllers") |
4
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
12 |
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
13 class Root(controllers.RootController): |
263 | 14 |
230 | 15 @expose(template="genshitest.templates.welcome") |
4
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
16 def index(self): |
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
17 import time |
49364e784c47
Added first stab of an implementation of the !TurboGears [http://www.turbogears.org/docs/plugins/template.html plugin API for template engines], and also a !TurboGears-based example using this plugin. Both written by Matt Good.
cmlenz
parents:
diff
changeset
|
18 log.debug("Happy TurboGears Controller Responding For Duty") |
110
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
19 return dict(now=time.ctime(), |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
20 widget=widgets.TextArea(name="widget_test", |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
21 default="This is a test of using " |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
22 "TurboGears widgets with " |
230 | 23 "Genshi", |
110
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
24 rows=5, cols=40)) |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
25 |
272
186d18554183
Ported [330],[333], and [334] to 0.3.x stable branch.
cmlenz
parents:
263
diff
changeset
|
26 @expose(template="genshi-text:genshitest.templates.plain", |
186d18554183
Ported [330],[333], and [334] to 0.3.x stable branch.
cmlenz
parents:
263
diff
changeset
|
27 content_type='text/plain; charset=utf-8') |
186d18554183
Ported [330],[333], and [334] to 0.3.x stable branch.
cmlenz
parents:
263
diff
changeset
|
28 def plain(self): |
186d18554183
Ported [330],[333], and [334] to 0.3.x stable branch.
cmlenz
parents:
263
diff
changeset
|
29 return dict(name='world') |
186d18554183
Ported [330],[333], and [334] to 0.3.x stable branch.
cmlenz
parents:
263
diff
changeset
|
30 |
230 | 31 @expose(template="genshitest.templates.login") |
110
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
32 def login(self, forward_url=None, previous_url=None, *args, **kw): |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
33 |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
34 if not identity.current.anonymous \ |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
35 and identity.was_login_attempted() \ |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
36 and not identity.get_identity_errors(): |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
37 raise redirect(forward_url) |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
38 |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
39 forward_url=None |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
40 previous_url= cherrypy.request.path |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
41 |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
42 if identity.was_login_attempted(): |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
43 msg=_("The credentials you supplied were not correct or " |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
44 "did not grant access to this resource.") |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
45 elif identity.get_identity_errors(): |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
46 msg=_("You must provide your credentials before accessing " |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
47 "this resource.") |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
48 else: |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
49 msg=_("Please log in.") |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
50 forward_url= cherrypy.request.headers.get("Referer", "/") |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
51 cherrypy.response.status=403 |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
52 return dict(message=msg, previous_url=previous_url, logging_in=True, |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
53 original_parameters=cherrypy.request.params, |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
54 forward_url=forward_url) |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
55 |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
56 @expose() |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
57 def logout(self): |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
58 identity.current.logout() |
64ff134868c4
update the example TurboGears app and include an example of using TurboGears wigets
mgood
parents:
4
diff
changeset
|
59 raise redirect("/") |