diff --git a/browser/common.py b/browser/common.py
index 79eb472..9493567 100644
--- a/browser/common.py
+++ b/browser/common.py
@@ -239,10 +239,13 @@ class BaseView(GenericView):
def listTypes(self, include=None, exclude=None, sortOn='title'):
types = [dict(token=t.token, title=t.title)
for t in ITypeManager(self.context).listTypes(include, exclude)]
- if sortOn:
- types.sort(key=lambda x: x[sortOn])
+ #if sortOn:
+ # types.sort(key=lambda x: x[sortOn])
return types
+ def getTypesVocabulary(self, include=None):
+ return util.KeywordVocabulary(self.listTypes(include, ('hidden',)))
+
def resourceTypes(self):
return util.KeywordVocabulary(self.listTypes(('resource',), ('hidden',)))
#if t.factory == Resource]) # ? if necessary -> type.qualifiers
@@ -377,16 +380,6 @@ class BaseView(GenericView):
cm.register('js', 'dojo.js', resourceName='ajax.dojo/dojo.js')
-# actions - obsolete, see loops.browser.action
-
-#class Action(object):
-
-# def __init__(self, renderer, url, **kw):
-# self.renderer = renderer
-# self.url = url
-# self.__dict__.update(kw)
-
-
# vocabulary stuff
class LoopsTerms(object):
diff --git a/browser/concept.py b/browser/concept.py
index 7957577..664bf18 100644
--- a/browser/concept.py
+++ b/browser/concept.py
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004 Helmut Merz helmutm@cy55.de
+# Copyright (c) 2007 Helmut Merz helmutm@cy55.de
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -60,10 +60,13 @@ class ConceptEditForm(EditForm):
@property
def form_fields(self):
- fields = FormFields(IConcept)
typeInterface = self.typeInterface
- if typeInterface is not None:
- fields = FormFields(fields, typeInterface)
+ if typeInterface is None:
+ fields = FormFields(IConcept)
+ elif 'title' in typeInterface: # new "complete" type interface
+ fields = FormFields(typeInterface)
+ else:
+ fields = FormFields(IConcept, typeInterface)
return fields
def setUpWidgets(self, ignore_request=False):
@@ -96,9 +99,12 @@ class ConceptView(BaseView):
def fieldData(self):
ti = IType(self.context).typeInterface
- if not ti: return
+ if not ti:
+ return
adapter = ti(self.context)
for n, f in schema.getFieldsInOrder(ti):
+ if n in ('title', 'description',): # already shown in header
+ continue
value = getattr(adapter, n, '')
if not value:
continue
diff --git a/browser/configure.zcml b/browser/configure.zcml
index 963e6e5..77175e8 100644
--- a/browser/configure.zcml
+++ b/browser/configure.zcml
@@ -557,6 +557,13 @@
permission="zope.ManageContent"
/>
+
+
+
+
+
+
+
+
-