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