do not omit title on import; do not remove fields when importing data table

This commit is contained in:
Helmut Merz 2012-07-08 18:48:10 +02:00
parent 8c1a5d6b47
commit b2a755b3fc
2 changed files with 8 additions and 4 deletions

6
external/element.py vendored
View file

@ -89,7 +89,8 @@ class ConceptElement(Element):
def execute(self, loader):
type = loader.concepts[self['type']]
kw = dict((k, v) for k, v in self.items()
if k not in self.posArgs)
#if k not in self.posArgs)
if k not in ['name', 'type'])
self.object = loader.addConcept(self['name'], self['title'], type)
formState = self.getInstance().applyTemplate(data=kw, ignoreValidation=True)
# simple hack for resolving interface definition:
@ -97,7 +98,8 @@ class ConceptElement(Element):
if pi:
adapted(self.object).predicateInterface = resolve(pi)
def getInstance(self, omit=['title']):
#def getInstance(self, omit=['title']):
def getInstance(self, omit=[]):
adObject = adapted(self.object)
schemaFactory = ISchemaFactory(adObject)
ti = IType(self.object).typeInterface or IConceptSchema

View file

@ -31,6 +31,7 @@ from cybertools.composer.schema.factory import SchemaFactory
from cybertools.composer.schema.grid.interfaces import KeyTable
from cybertools.composer.interfaces import IInstance
from loops.common import AdapterBase, adapted, baseObject
from loops.external.element import Element
from loops.interfaces import IConcept, IConceptSchema, ILoopsAdapter
from loops.type import TypeInterfaceSourceList
from loops import util
@ -99,8 +100,9 @@ class DataTableSchemaFactory(SchemaFactory):
def __call__(self, interface, **kw):
schema = super(DataTableSchemaFactory, self).__call__(interface, **kw)
schema.fields.remove('columns')
schema.fields.remove('viewName')
if not isinstance(kw.get('manager'), Element):
schema.fields.remove('columns')
schema.fields.remove('viewName')
return schema