[Zope3-Users] logging in in interactive shell?
Edward Zwart
ed.zwart at softserv.ca
Tue Jun 23 03:36:14 EDT 2009
Is there an easy way to use the interactive shell as though I were the
logged in admin user?
Following the documentation for z3c.form on Custom Widgets, I try the following:
from z3c.form import testing, form, field
testing.setupFormDefaults()
from z3c.form.testing import TestRequest
request = TestRequest()
testing.setUp(request)
from z3c.form.browser import text
class MyWidget(text.TextWidget):
"""My new widget."""
klass = u'MyCSS'
def MyFieldWidget(field, request):
"""IFieldWidget factory for MyWidget."""
return widget.FieldWidget(field, MyWidget(request))
class MyEditForm(form.EditForm):
fields = field.Fields(IPerson)
fields['name'].widgetFactory = MyFieldWidget
myEdit = MyEditForm(root[u'srichter'], TestRequest())
I get "root" is not defined. So I figured out something like this...
root = request.globs.get('root')
If I try again, I get a KeyError (also if I use "admin"). In fact,
the root Folder object doesn't have anything in it at all. (If I log
in through the ZMI, I have added some objects.)
Is there a more correct way to get the root folder? And to run these
tests from the prompt, can I do so as though I was logged in (like I
do through the ZMI)?
Somewhat related, everytime I use the interactive prompt, I copy/paste
from bin/test-script.py to set the path to include all my buildout
eggs folders. Is there a better way to do this?
Thanks again.
e.
More information about the Zope3-users
mailing list