From: Alex C. <svn...@pl...> - 2008-11-15 14:24:11
|
Author: aclark Date: Sat Nov 15 14:24:00 2008 New Revision: 75938 Modified: Products.todo/trunk/Products/todo/browser/todofolder.py Products.todo/trunk/Products/todo/browser/todoitem.pt Products.todo/trunk/Products/todo/browser/todoitem.py Products.todo/trunk/Products/todo/content/todoitem.py Products.todo/trunk/Products/todo/profiles/default/types/Todo_item.xml Log: Make todo item more like todo folder so it can hold sub items. Modified: Products.todo/trunk/Products/todo/browser/todofolder.py ============================================================================== --- Products.todo/trunk/Products/todo/browser/todofolder.py (original) +++ Products.todo/trunk/Products/todo/browser/todofolder.py Sat Nov 15 14:24:00 2008 @@ -20,7 +20,7 @@ results = '' for i in self.context.objectIds(): obj = self.context.unrestrictedTraverse('/'.join(self.context.getPhysicalPath()) + '/' + i) - url = obj.absolute_url() + '/edit' + url = obj.absolute_url() title = obj.Title() done = obj.getDone() if not done: Modified: Products.todo/trunk/Products/todo/browser/todoitem.pt ============================================================================== --- Products.todo/trunk/Products/todo/browser/todoitem.pt (original) +++ Products.todo/trunk/Products/todo/browser/todoitem.pt Sat Nov 15 14:24:00 2008 @@ -25,18 +25,28 @@ <div tal:replace="structure provider:plone.belowcontenttitle" /> <p class="documentDescription" tal:condition="exists:here/widget"> - <metal:field use-macro="python:here.widget('description', mode='view')"> + <metal:field use-macro="python:here.widget('notes', mode='view')"> Description </metal:field> </p> - Done: + <span style="font-weight: bold">Done:</span> <p class="documentDescription" tal:condition="exists:here/widget"> <metal:field use-macro="python:here.widget('done', mode='view')"> - Description + Done </metal:field> </p> + <a href="" + tal:attributes="href string:createObject?type_name=Todo+item" + i18n:translate="add_todo_item"> + Add sub-item + </a> + + <ul> + <div tal:content="structure view/folder_listing" /> + </ul> + </tal:main-macro> </metal:main> Modified: Products.todo/trunk/Products/todo/browser/todoitem.py ============================================================================== --- Products.todo/trunk/Products/todo/browser/todoitem.py (original) +++ Products.todo/trunk/Products/todo/browser/todoitem.py Sat Nov 15 14:24:00 2008 @@ -8,8 +8,9 @@ from Products.Five.browser import BrowserView from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile +from Products.todo.browser.todofolder import Todo_folderView -class Todo_itemView(BrowserView): +class Todo_itemView(Todo_folderView): """Default view of a Todo item """ Modified: Products.todo/trunk/Products/todo/content/todoitem.py ============================================================================== --- Products.todo/trunk/Products/todo/content/todoitem.py (original) +++ Products.todo/trunk/Products/todo/content/todoitem.py Sat Nov 15 14:24:00 2008 @@ -4,14 +4,15 @@ from zope.interface import implements, directlyProvides from Products.Archetypes import atapi -from Products.ATContentTypes.content import base +#from Products.ATContentTypes.content import base +from Products.ATContentTypes.content import folder from Products.ATContentTypes.content import schemata from Products.todo import todoMessageFactory as _ from Products.todo.interfaces import ITodoitem from Products.todo.config import PROJECTNAME -TodoitemSchema = schemata.ATContentTypeSchema.copy() + atapi.Schema(( +TodoitemSchema = folder.ATFolderSchema.copy() + atapi.Schema(( # -*- Your Archetypes field definitions here ... -*- atapi.BooleanField( @@ -27,6 +28,18 @@ ), ), + atapi.TextField( + name='notes', + storage = atapi.AnnotationStorage(), + required=False, + #searchable=1, + #default='', + #schemata ='default', + widget=atapi.RichWidget( + description=_(u"Notes for this todo item."), + ), + ), + )) # Set storage on fields copied from ATContentTypeSchema, making sure @@ -35,11 +48,11 @@ TodoitemSchema['title'].storage = atapi.AnnotationStorage() TodoitemSchema['title'].widget.label = 'Todo' TodoitemSchema['description'].storage = atapi.AnnotationStorage() -TodoitemSchema['description'].widget.description = 'A short summary of the todo item.' +TodoitemSchema['description'].widget.visible = {'edit': 'hidden', 'view': 'invisible'} schemata.finalizeATCTSchema(TodoitemSchema, moveDiscussion=False) -class Todoitem(base.ATCTContent): +class Todoitem(folder.ATFolder): """Description of the Example Type""" implements(ITodoitem) Modified: Products.todo/trunk/Products/todo/profiles/default/types/Todo_item.xml ============================================================================== --- Products.todo/trunk/Products/todo/profiles/default/types/Todo_item.xml (original) +++ Products.todo/trunk/Products/todo/profiles/default/types/Todo_item.xml Sat Nov 15 14:24:00 2008 @@ -11,7 +11,10 @@ <property name="factory">addTodoitem</property> <property name="immediate_view">atct_edit</property> <property name="global_allow">False</property> - <property name="filter_content_types">False</property> + <property name="filter_content_types">True</property> + <property name="allowed_content_types"> + <element value="Todo item"/> + </property> <property name="allow_discussion">False</property> <property name="default_view">todoitem_view</property> <property name="view_methods"> |