use type's name prefix and concept manager settings when creating new concepts
This commit is contained in:
parent
2fdf3a99b9
commit
b7f1115536
2 changed files with 20 additions and 3 deletions
|
@ -663,11 +663,17 @@ class CreateObject(EditObject):
|
||||||
|
|
||||||
factory = Resource
|
factory = Resource
|
||||||
defaultTypeToken = '.loops/concepts/textdocument'
|
defaultTypeToken = '.loops/concepts/textdocument'
|
||||||
|
namePrefix = u''
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def container(self):
|
def container(self):
|
||||||
return self.loopsRoot.getResourceManager()
|
return self.loopsRoot.getResourceManager()
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
def objectType(self):
|
||||||
|
tc = self.request.form.get('form.type') or self.defaultTypeToken
|
||||||
|
return self.loopsRoot.loopsTraverse(tc)
|
||||||
|
|
||||||
def getName(self):
|
def getName(self):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@ -692,10 +698,11 @@ class CreateObject(EditObject):
|
||||||
name = self.getName()
|
name = self.getName()
|
||||||
if name is None:
|
if name is None:
|
||||||
name = self.getNameFromData()
|
name = self.getNameFromData()
|
||||||
name = INameChooser(container).chooseName(name, obj)
|
nc = INameChooser(container)
|
||||||
|
nc.prefix = self.namePrefix
|
||||||
|
name = nc.chooseName(name, obj)
|
||||||
container[name] = obj
|
container[name] = obj
|
||||||
tc = form.get('form.type') or self.defaultTypeToken
|
obj.setType(self.objectType)
|
||||||
obj.setType(self.loopsRoot.loopsTraverse(tc))
|
|
||||||
notify(ObjectCreatedEvent(obj))
|
notify(ObjectCreatedEvent(obj))
|
||||||
#notify(ObjectAddedEvent(obj))
|
#notify(ObjectAddedEvent(obj))
|
||||||
self.object = obj
|
self.object = obj
|
||||||
|
@ -744,8 +751,15 @@ class CreateConcept(EditConcept, CreateObject):
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def container(self):
|
def container(self):
|
||||||
|
cmName = adapted(self.objectType).conceptManager
|
||||||
|
if cmName:
|
||||||
|
return self.loopsRoot[cmName]
|
||||||
return self.loopsRoot.getConceptManager()
|
return self.loopsRoot.getConceptManager()
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
def namePrefix(self):
|
||||||
|
return adapted(self.objectType).namePrefix or u''
|
||||||
|
|
||||||
def getNameFromData(self):
|
def getNameFromData(self):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
|
@ -215,11 +215,14 @@ class NameChooser(BaseNameChooser):
|
||||||
|
|
||||||
adapts(ILoopsContained)
|
adapts(ILoopsContained)
|
||||||
|
|
||||||
|
prefix = u''
|
||||||
|
|
||||||
def chooseName(self, name, obj):
|
def chooseName(self, name, obj):
|
||||||
if not name:
|
if not name:
|
||||||
name = self.generateNameFromTitle(obj)
|
name = self.generateNameFromTitle(obj)
|
||||||
else:
|
else:
|
||||||
name = self.normalizeName(name)
|
name = self.normalizeName(name)
|
||||||
|
name = self.prefix + name
|
||||||
name = super(NameChooser, self).chooseName(name, obj)
|
name = super(NameChooser, self).chooseName(name, obj)
|
||||||
return name
|
return name
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue