Wrong index type for selection strings that are not multivalued.
This commit is contained in:
		
							parent
							
								
									7c2b8fed11
								
							
						
					
					
						commit
						9f4db88bdf
					
				
					 9 changed files with 41 additions and 30 deletions
				
			
		| 
						 | 
				
			
			@ -275,6 +275,14 @@ class ToolMixin(AbstractMixin):
 | 
			
		|||
            return value[:maxWidth] + '...'
 | 
			
		||||
        return value
 | 
			
		||||
 | 
			
		||||
    def truncateText(self, text, width=15):
 | 
			
		||||
        '''Truncates p_text to max p_width chars. If the text is longer than
 | 
			
		||||
           p_width, the truncated part is put in a "acronym" html tag.'''
 | 
			
		||||
        if len(text) <= width: return text
 | 
			
		||||
        else:
 | 
			
		||||
            return '<acronym title="%s">%s</acronym>' % \
 | 
			
		||||
                   (text, text[:width] + '...')
 | 
			
		||||
 | 
			
		||||
    translationMapping = {'portal_path': ''}
 | 
			
		||||
    def translateWithMapping(self, label):
 | 
			
		||||
        '''Translates p_label in the application domain, with a default
 | 
			
		||||
| 
						 | 
				
			
			@ -336,15 +344,13 @@ class ToolMixin(AbstractMixin):
 | 
			
		|||
                    res[means.id] = means.__dict__
 | 
			
		||||
        return res
 | 
			
		||||
 | 
			
		||||
    def userMayAdd(self, rootClass):
 | 
			
		||||
        '''For deciding if a user may add a new instance of a class, beyond the
 | 
			
		||||
           permission-based check, we can have a custom method that proposes an
 | 
			
		||||
           additional condition. This method checks if there is such a custom
 | 
			
		||||
           method (must be named "mayCreate") define on p_rootClass, and calls
 | 
			
		||||
           it if yes. If no, it returns True.'''
 | 
			
		||||
    def userMaySearch(self, rootClass):
 | 
			
		||||
        '''This method checks if the currently logged user can trigger searches
 | 
			
		||||
           on a given p_rootClass. This is done by calling method "maySearch"
 | 
			
		||||
           on the class. If no such method exists, we return True.'''
 | 
			
		||||
        pythonClass = self.getAppyClass(rootClass)
 | 
			
		||||
        if 'mayCreate' in pythonClass.__dict__:
 | 
			
		||||
            return pythonClass.mayCreate(self.appy())
 | 
			
		||||
        if 'maySearch' in pythonClass.__dict__:
 | 
			
		||||
            return pythonClass.maySearch(self.appy())
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
    def onImportObjects(self):
 | 
			
		||||
| 
						 | 
				
			
			@ -369,6 +375,12 @@ class ToolMixin(AbstractMixin):
 | 
			
		|||
        else:
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
    def isSortable(self, name, className, usage):
 | 
			
		||||
        '''Is field p_name defined on p_metaType sortable for p_usage purposes
 | 
			
		||||
           (p_usage can be "ref" or "search")?'''
 | 
			
		||||
        appyType = self.getAppyType(name, className=className)
 | 
			
		||||
        return appyType.isSortable(usage=usage)
 | 
			
		||||
 | 
			
		||||
    def _searchValueIsEmpty(self, key):
 | 
			
		||||
        '''Returns True if request value in key p_key can be considered as
 | 
			
		||||
           empty.'''
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -642,11 +642,6 @@ class AbstractMixin:
 | 
			
		|||
        reverse = rq.get('reverse') == 'True'
 | 
			
		||||
        self.appy().sort(fieldName, sortKey=sortKey, reverse=reverse)
 | 
			
		||||
 | 
			
		||||
    def isRefSortable(self, fieldName):
 | 
			
		||||
        '''Can p_fieldName, which is a field defined on self, be used as a sort
 | 
			
		||||
           key in a reference field?'''
 | 
			
		||||
        return self.getAppyType(fieldName).isSortable(usage='ref')
 | 
			
		||||
 | 
			
		||||
    def getWorkflow(self, appy=True):
 | 
			
		||||
        '''Returns the Appy workflow instance that is relevant for this
 | 
			
		||||
           object. If p_appy is False, it returns the DC workflow.'''
 | 
			
		||||
| 
						 | 
				
			
			@ -969,6 +964,7 @@ class AbstractMixin:
 | 
			
		|||
        if created and rq.get('nav', None):
 | 
			
		||||
            # Get the initiator
 | 
			
		||||
            splitted = rq['nav'].split('.')
 | 
			
		||||
            if splitted[0] == 'search': return # Not an initiator but a search.
 | 
			
		||||
            initiator = self.uid_catalog.searchResults(
 | 
			
		||||
                                                UID=splitted[1])[0].getObject()
 | 
			
		||||
            fieldName = splitted[2].split(':')[1]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue