@@ -12,7 +12,6 @@ class AuthApiKey(models.Model):
1212
1313 name = fields .Char (required = True )
1414 key = fields .Char (
15- required = True ,
1615 help = """The API key. Enter a dummy value in this field if it is
1716 obtained from the server environment configuration.""" ,
1817 )
@@ -31,6 +30,12 @@ class AuthApiKey(models.Model):
3130
3231 _name_uniq = models .Constraint ("unique(name)" , "Api Key name must be unique." )
3332
33+ @api .constrains ("key" )
34+ def _check_key_required (self ):
35+ for api_key in self :
36+ if not api_key .key :
37+ raise ValidationError (self .env ._ ("The API key is required." ))
38+
3439 @api .model
3540 def _retrieve_api_key (self , key ):
3641 return self .browse (self ._retrieve_api_key_id (key ))
@@ -40,7 +45,7 @@ def _retrieve_api_key(self, key):
4045 def _retrieve_api_key_id (self , key ):
4146 if not self .env .user .has_group ("base.group_system" ):
4247 raise AccessError (self .env ._ ("User is not allowed" ))
43- for api_key in self .search ([], limit = None ):
48+ for api_key in self .search ([( "key" , "!=" , False ) ], limit = None ):
4449 if api_key .key and consteq (key , api_key .key ):
4550 return api_key .id
4651 raise ValidationError (self .env ._ ("The key '%s' is not allowed" , key ))
0 commit comments