[Checkins] [zopefoundation/zope.app.form] d4f557: Implemented the interfaces as discussed on the mai...

GitHub noreply at github.com
Tue Mar 12 13:24:44 UTC 2013


  Branch: refs/heads/monolithic-zope3-jhauser-filefieldwidget
  Home:   https://github.com/zopefoundation/zope.app.form
  Commit: d4f557e7dc291a15a29d228ddbab6836d182eb89
      https://github.com/zopefoundation/zope.app.form/commit/d4f557e7dc291a15a29d228ddbab6836d182eb89
  Author: Janko Hauser <jh at lugensa.com>
  Date:   2005-01-18 (Tue, 18 Jan 2005)

  Changed paths:
    A browser/__init__.py
    A browser/configure.zcml
    A browser/tests/test_mimewidget.py
    A browser/textwidgets.py

  Log Message:
  -----------
  Implemented the interfaces as discussed on the mailinglist. Put the
field, widget and mime implementation where they belong. Currently 
not handled is the encoding handling and the display of text input 
fields. Changed IFile, File to use the new mime schema field.


  Commit: e5e1d2836d20edc399162acb9ad7b228b23b3f0d
      https://github.com/zopefoundation/zope.app.form/commit/e5e1d2836d20edc399162acb9ad7b228b23b3f0d
  Author: Roger Ineichen <roger at projekt01.ch>
  Date:   2005-01-19 (Wed, 19 Jan 2005)

  Changed paths:
    M browser/__init__.py
    A browser/filewidgets.py
    A browser/ftests/test_filewidget.py
    M browser/textwidgets.py

  Log Message:
  -----------
  Prepare for implement proposal.
I moved the file widget part to a own file for bigger changes like descriped
in the proposal.
o Added PROPOSAL.txt in zope.app.file
o Move file based widget part form zope.app.form.browser.textwidgets
  to zope.app.form.browser.filewidgets
o Fix imports from the moving described above
o Inherit MimeWidget and FileWidget form SimpleInputWidget instead form TextWidget
  (will be changed later, see proposal) 
o Remove old test_mimefield.py

Next step:
Prepare classes that we can start to implement the MimeWidget for IMime field as 
a ObjectWidget like view. This IMime widget(view) uses the schema fields of 
IMime for displaying the subwidget.


  Commit: 24fb3bc6514e3f29e8304ddf102cfae39afc8611
      https://github.com/zopefoundation/zope.app.form/commit/24fb3bc6514e3f29e8304ddf102cfae39afc8611
  Author: Roger Ineichen <roger at projekt01.ch>
  Date:   2005-01-19 (Wed, 19 Jan 2005)

  Log Message:
  -----------
  Changed svn:props


  Commit: 541cce6f50048feb3edd8b00d7c9fa803f778d3f
      https://github.com/zopefoundation/zope.app.form/commit/541cce6f50048feb3edd8b00d7c9fa803f778d3f
  Author: Roger Ineichen <roger at projekt01.ch>
  Date:   2005-01-20 (Thu, 20 Jan 2005)

  Changed paths:
    M browser/filewidgets.py

  Log Message:
  -----------
  Added initial widget classes
TODO: implement widgets


  Commit: e9652deb36c062af647f6d5cc02760e92a704299
      https://github.com/zopefoundation/zope.app.form/commit/e9652deb36c062af647f6d5cc02760e92a704299
  Author: Roger Ineichen <roger at projekt01.ch>
  Date:   2005-01-21 (Fri, 21 Jan 2005)

  Changed paths:
    M browser/__init__.py
    M browser/configure.zcml
    M browser/filewidgets.py

  Log Message:
  -----------
  Commit the actual state
o Added BBB for upload.html page for IFile
o Changed edit.html to BBB_edit.html and upload.html to BBB_ulopad.html
  let them out of scope right now.
o New style forms are not working and tested
o Added initial widgets
o TODO: Start adding MimeWidget


  Commit: 190cf0c1cc5ef3cf4551c0e4f5597f44ed5040d6
      https://github.com/zopefoundation/zope.app.form/commit/190cf0c1cc5ef3cf4551c0e4f5597f44ed5040d6
  Author: Roger Ineichen <roger at projekt01.ch>
  Date:   2005-01-21 (Fri, 21 Jan 2005)

  Changed paths:
    M browser/__init__.py
    M browser/configure.zcml
    M browser/filewidgets.py
    A browser/mimewidget.pt
    A browser/schemawidget.pt
    A browser/schemawidgets.py

  Log Message:
  -----------
  Heads up.

The IFile refactoring requieres a new field/widget
for the subobject Mime in the IFile.contents field.

I decide to add a SchemaWidget (Iinput) which can handle 
subobjects like the ObjectWidget does. 
See the difference to ObjectWidget described below.

Start adding a schema input widget.
The schema input widget allowes to define a interface and a factory id.
The factory is used for storing the attributes given form the schema.
This powerfull field is used for defining fields of subobjects with 
the schema of the subobject. We will use this in the IFile.contents field.

I think in a long therm we ca replace the IObject field and ObjectWidget
with this new field/widget. This pattern supports all requiered declaration
in the interface/schema where the Object field requieres a separate view 
for rendering subwidgets with additional CustomWidgetFacotires.
The factory in the SchemaWidget is aquiered via the registred IFactory
of a content type. "getUtility(IFactory, factoryId)".


  Commit: c459390036ca8ed8e75a5c79459adad0b5086489
      https://github.com/zopefoundation/zope.app.form/commit/c459390036ca8ed8e75a5c79459adad0b5086489
  Author: Roger Ineichen <roger at projekt01.ch>
  Date:   2005-01-21 (Fri, 21 Jan 2005)

  Changed paths:
    M browser/__init__.py
    M browser/configure.zcml
    M browser/filewidgets.py
    M browser/schemawidgets.py
    M browser/tests/test_mimewidget.py

  Log Message:
  -----------
  Strat implementing Schema widget for storing Mime instance via 
the IMime interface on the IFile contents attribute.
The Schema field can handle the Mime instance like a subwidget
with the fields of IMime.

TODO: refactoring on File and Mime class. We have to store the 
Mime instance we get from the Schema widget on the File.
Now we only have access to the Mime.data in the File.


  Commit: dbbc61deb05db2c670b7ebe0df5255477092f0b1
      https://github.com/zopefoundation/zope.app.form/commit/dbbc61deb05db2c670b7ebe0df5255477092f0b1
  Author: Roger Ineichen <roger at projekt01.ch>
  Date:   2005-01-22 (Sat, 22 Jan 2005)

  Changed paths:
    M browser/schemawidgets.py

  Log Message:
  -----------
  Change File implementation for directly use the contents attribute in widgets
Added some BBB warnings
Added tests


  Commit: 4ee6529bed409e9f229e540879bb41a652fd01c6
      https://github.com/zopefoundation/zope.app.form/commit/4ee6529bed409e9f229e540879bb41a652fd01c6
  Author: Roger Ineichen <roger at projekt01.ch>
  Date:   2005-01-22 (Sat, 22 Jan 2005)

  Changed paths:
    M browser/schemawidgets.py

  Log Message:
  -----------
  First working mime widget hack.
Fixed addFile.html, upload.html
TODO:
Fix tests, check Schema widget, make sure we canhandle the proxied 
object and don't replace the MimeData instance on contents if we 
use the Schema widget.


  Commit: a8cc9d3b296ce648f7f2b0a41d5102a7cc457a10
      https://github.com/zopefoundation/zope.app.form/commit/a8cc9d3b296ce648f7f2b0a41d5102a7cc457a10
  Author: Roger Ineichen <roger at projekt01.ch>
  Date:   2005-01-22 (Sat, 22 Jan 2005)

  Changed paths:
    M browser/schemawidgets.py

  Log Message:
  -----------
  Added different sub interface for prevent double definition in IFile.
If we implement IMime directly in IFile, we get the fields contentType and encoding twice.
One time in the Mime object wich is a subobject rendered in a separate widget and one time
in the IFile obeject itself.

TODO: check Schema wwidget, there is still a bug in the fileupload form.
Could be a proxy error.


  Commit: f0b5568fe4aaf020c2b92093d584c8d6cd72c916
      https://github.com/zopefoundation/zope.app.form/commit/f0b5568fe4aaf020c2b92093d584c8d6cd72c916
  Author: Roger Ineichen <roger at projekt01.ch>
  Date:   2005-01-24 (Mon, 24 Jan 2005)

  Changed paths:
    M browser/__init__.py
    M browser/configure.zcml
    R browser/filewidgets.py
    A browser/ftests/test_schemawidget.py
    A browser/mimewidgets.py
    M browser/schemawidget.pt
    M browser/schemawidgets.py
    M browser/textwidgets.py

  Log Message:
  -----------
  Moved mime widgets to own file mimewidgets.py, delete fielwidgets.py
Move FileWidget back to textwidgets
Added test for schema field

NOTE: There is a bug in ftest setup. 
The method response = self.publish(..., basic='mgr:mgrpw')
Doesn't give me the permission on subwidgets, but in reality it works.

TODO:
Add special session supported MimeWidget and make subwidgets 
read from the session.


Compare: https://github.com/zopefoundation/zope.app.form/compare/d4f557e7dc29^...f0b5568fe4aa


More information about the checkins mailing list