[gen] Ref field: added params 'beforeLink' and 'afterUnlink' allowing to hold methods that execute respectively before an item is linked via a Ref or after it has been unlinked; bugfix in mixin::getUrl.
This commit is contained in:
		
							parent
							
								
									8511bcd675
								
							
						
					
					
						commit
						268309045a
					
				
					 2 changed files with 40 additions and 19 deletions
				
			
		|  | @ -1353,6 +1353,9 @@ class BaseMixin: | |||
|         # Define base URL if omitted | ||||
|         if not base: | ||||
|             base = self.absolute_url() + suffix | ||||
|             existingParams = '' | ||||
|         else: | ||||
|             existingParams = urllib.splitquery(base)[1] | ||||
|         # If a raw URL is asked, remove any param and suffix. | ||||
|         if mode == 'raw': | ||||
|             if '?' in base: base = base[:base.index('?')] | ||||
|  | @ -1366,7 +1369,6 @@ class BaseMixin: | |||
|         if not kwargs: kwargs = self.getUrlDefaults | ||||
|         if 'page' not in kwargs: kwargs['page'] = True | ||||
|         if 'nav'  not in kwargs: kwargs['nav'] = True | ||||
|         kwargs['popup'] = inPopup and '1' or '0' | ||||
|         # Create URL parameters from kwargs | ||||
|         params = [] | ||||
|         for name, value in kwargs.iteritems(): | ||||
|  | @ -1374,6 +1376,9 @@ class BaseMixin: | |||
|                 params.append('%s=%s' % (name, value)) | ||||
|             elif self.REQUEST.get(name, ''): | ||||
|                 params.append('%s=%s' % (name, self.REQUEST[name])) | ||||
|         # Manage inPopup | ||||
|         if inPopup and ('popup=' not in existingParams): | ||||
|             params.append('popup=1') | ||||
|         if params: | ||||
|             params = '&'.join(params) | ||||
|             if base.find('?') != -1: params = '&' + params | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Gaetan Delannay
						Gaetan Delannay