Read only String Field
----------------------

Get our test browser::

    >>> from Products.Five.testbrowser import Browser
    >>> browser = Browser()
    >>> portal_url = 'http://nohost/plone'
    >>> self.app.acl_users.userFolderAddUser('root', 'secret', ['Manager'], [])
    >>> browser.addHeader('Authorization', 'Basic root:secret')

Add a new form folder and remove all the initial fields::

    >>> self.setRoles(['Manager'])
    >>> self.portal.invokeFactory('FormFolder', 'testform')
    'testform'
    >>> self.portal.testform.manage_delObjects(ids=['replyto','topic','comments'])

And add a user_name readonly string field::

    >>> self.portal.testform.invokeFactory('FormReadonlyStringField', 'user_name')
    'user_name'

Confirm that the user name field is on the rendered form and is read only::

    >>> browser.open(portal_url + '/testform')
    >>> 'id="user_name"' in browser.contents
    True
    >>> 'readonly="readonly"' in browser.contents
    True

Now check how EditMode TALES expression field is working. Firstly set it to
true::

    >>> self.portal.testform.user_name.update(editMode='python:True')
    >>> browser.open(portal_url + '/testform')
    >>> 'id="user_name"' in browser.contents
    True
    >>> 'readonly="readonly"' in browser.contents
    False

Eventually set EditMode to be evaluated to False::

    >>> self.portal.testform.user_name.update(editMode='python:False')
    >>> browser.open(portal_url + '/testform')
    >>> 'id="user_name"' in browser.contents
    True
    >>> 'readonly="readonly"' in browser.contents
    True
