Add protected_usernames() config function
				
					
				
			This commit is contained in:
		
							parent
							
								
									808e737202
								
							
						
					
					
						commit
						7d158e58b5
					
				
					 2 changed files with 11 additions and 8 deletions
				
			
		|  | @ -56,3 +56,6 @@ class ConfigExtension(BaseExtension): | ||||||
| def legacy_mobile_enabled(config): | def legacy_mobile_enabled(config): | ||||||
|     return config.getbool('tailbone', 'legacy_mobile.enabled', |     return config.getbool('tailbone', 'legacy_mobile.enabled', | ||||||
|                           default=True) |                           default=True) | ||||||
|  | 
 | ||||||
|  | def protected_usernames(config): | ||||||
|  |     return config.getlist('tailbone', 'protected_usernames') | ||||||
|  |  | ||||||
|  | @ -42,6 +42,7 @@ from tailbone import forms | ||||||
| from tailbone.db import Session | from tailbone.db import Session | ||||||
| from tailbone.views import MasterView | from tailbone.views import MasterView | ||||||
| from tailbone.views.principal import PrincipalMasterView, PermissionsRenderer | from tailbone.views.principal import PrincipalMasterView, PermissionsRenderer | ||||||
|  | from tailbone.config import protected_usernames | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class UsersView(PrincipalMasterView): | class UsersView(PrincipalMasterView): | ||||||
|  | @ -139,9 +140,9 @@ class UsersView(PrincipalMasterView): | ||||||
|         user is "root".  But if the given user is not protected, this simply |         user is "root".  But if the given user is not protected, this simply | ||||||
|         returns ``True``. |         returns ``True``. | ||||||
|         """ |         """ | ||||||
|         if self.user_is_protected(user): |         if self.request.is_root: | ||||||
|             return self.request.is_root |  | ||||||
|             return True |             return True | ||||||
|  |         return not self.user_is_protected(user) | ||||||
| 
 | 
 | ||||||
|     def deletable_instance(self, user): |     def deletable_instance(self, user): | ||||||
|         """ |         """ | ||||||
|  | @ -149,9 +150,9 @@ class UsersView(PrincipalMasterView): | ||||||
|         user is "root".  But if the given user is not protected, this simply |         user is "root".  But if the given user is not protected, this simply | ||||||
|         returns ``True``. |         returns ``True``. | ||||||
|         """ |         """ | ||||||
|         if self.user_is_protected(user): |         if self.request.is_root: | ||||||
|             return self.request.is_root |  | ||||||
|             return True |             return True | ||||||
|  |         return not self.user_is_protected(user) | ||||||
| 
 | 
 | ||||||
|     def user_is_protected(self, user): |     def user_is_protected(self, user): | ||||||
|         """ |         """ | ||||||
|  | @ -165,8 +166,7 @@ class UsersView(PrincipalMasterView): | ||||||
|         "root", otherwise will return ``False``. |         "root", otherwise will return ``False``. | ||||||
|         """ |         """ | ||||||
|         if not hasattr(self, 'protected_usernames'): |         if not hasattr(self, 'protected_usernames'): | ||||||
|             self.protected_usernames = self.rattail_config.getlist( |             self.protected_usernames = protected_usernames(self.rattail_config) | ||||||
|                 'tailbone', 'protected_usernames') |  | ||||||
|         if self.protected_usernames and user.username in self.protected_usernames: |         if self.protected_usernames and user.username in self.protected_usernames: | ||||||
|             return True |             return True | ||||||
|         return False |         return False | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lance Edgar
						Lance Edgar