diff --git a/src/pfwbged/folder/folder.py b/src/pfwbged/folder/folder.py
index 6d2ee84..a5cfb26 100644
--- a/src/pfwbged/folder/folder.py
+++ b/src/pfwbged/folder/folder.py
@@ -2,6 +2,7 @@ from AccessControl import getSecurityManager
from zope.interface import implements
from five import grok
from zope import component
+from zope import schema
from zc.relation.interfaces import ICatalog
from zope.app.intid.interfaces import IIntIds
@@ -16,12 +17,37 @@ import plone.app.contenttypes.interfaces
from plone.dexterity.interfaces import IDexterityContainer
from plone.app.contentlisting.interfaces import IContentListingObject
+from collective.z3cform.rolefield.field import LocalRolesToPrincipals
+from collective.dms.basecontent.widget import AjaxChosenMultiFieldWidget
+from plone.autoform import directives as form
+
from pfwbged.collection.searchview import ResultsTable
+from collective.dms.thesaurus.keywordsfield import ThesaurusKeywords
+
from .link import ILink
+from . import _
+
class IFolder(model.Schema):
""" """
+ treating_groups = LocalRolesToPrincipals(
+ title=_(u"Treating groups"),
+ required=False,
+ roles_to_assign=('Editor',),
+ value_type=schema.Choice(vocabulary=u'collective.dms.basecontent.treating_groups',)
+ )
+ form.widget(treating_groups=AjaxChosenMultiFieldWidget)
+
+ recipient_groups = LocalRolesToPrincipals(
+ title=_(u"Recipient groups"),
+ required=False,
+ roles_to_assign=('Reader',),
+ value_type=schema.Choice(vocabulary=u'collective.dms.basecontent.recipient_groups')
+ )
+ form.widget(recipient_groups=AjaxChosenMultiFieldWidget)
+
+ keywords = ThesaurusKeywords(title=_(u'Keywords'), required=False)
class Folder(Container):
diff --git a/src/pfwbged/folder/link.py b/src/pfwbged/folder/link.py
index 45432b4..91342b4 100644
--- a/src/pfwbged/folder/link.py
+++ b/src/pfwbged/folder/link.py
@@ -28,7 +28,8 @@ def ContentTreeFieldWidget(field, request):
class ILink(model.Schema):
""" """
folder = RelationChoice(title=_(u'Folder'), required=True,
- source=ObjPathSourceBinder(navigation_tree_query={'portal_type': ('Folder',)}))
+ source=ObjPathSourceBinder(
+ navigation_tree_query={'portal_type': ('Folder', 'pfwbgedfolder',)}))
form.widget(folder=ContentTreeFieldWidget)
diff --git a/src/pfwbged/folder/profiles/default/types.xml b/src/pfwbged/folder/profiles/default/types.xml
index 9df84c7..34abd4c 100644
--- a/src/pfwbged/folder/profiles/default/types.xml
+++ b/src/pfwbged/folder/profiles/default/types.xml
@@ -2,4 +2,5 @@
diff --git a/src/pfwbged/folder/profiles/default/types/pfwbgedfolder.xml b/src/pfwbged/folder/profiles/default/types/pfwbgedfolder.xml
new file mode 100644
index 0000000..149f7bb
--- /dev/null
+++ b/src/pfwbged/folder/profiles/default/types/pfwbgedfolder.xml
@@ -0,0 +1,48 @@
+
+
+ Classifying Folder
+ string:${portal_url}/++resource++pfwbgedfolder_icon.png
+ pfwbgedfolder
+ string:${folder_url}/++add++pfwbgedfolder
+
+ view
+ True
+ True
+ False
+ view
+
+
+
+ False
+ cmf.AddPortalContent
+ pfwbged.folder.Folder
+
+
+
+
+
+
+ True
+
+
+
+
+
+
+ pfwbged.folder.IFolder
+
+
+
+
+
+
+
+
+
+
+