Compare commits
	
		
			No commits in common. "e39c7eb51f8245d8fc4f2ea4200f3358b9222772" and "7bfe6a37f80b4823e837d3eae1eec546e9d59cd0" have entirely different histories.
		
	
	
		
			e39c7eb51f
			...
			7bfe6a37f8
		
	
		
@ -51,7 +51,7 @@ class APIUserToken(models.Model):
 | 
				
			|||||||
            if token_obj.valid_until is not None and token_obj.valid_until < _today:
 | 
					            if token_obj.valid_until is not None and token_obj.valid_until < _today:
 | 
				
			||||||
                raise PermissionError("Token validity expired")
 | 
					                raise PermissionError("Token validity expired")
 | 
				
			||||||
        except ObjectDoesNotExist:
 | 
					        except ObjectDoesNotExist:
 | 
				
			||||||
            raise PermissionError("Token unknown")
 | 
					            raise PermissionError("Credentials invalid")
 | 
				
			||||||
        return token_obj.user
 | 
					        return token_obj.user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -50,19 +50,14 @@ class AbstractAPIView(View):
 | 
				
			|||||||
    def dispatch(self, request, *args, **kwargs):
 | 
					    def dispatch(self, request, *args, **kwargs):
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            # Fetch the proper user from the given request header token
 | 
					            # Fetch the proper user from the given request header token
 | 
				
			||||||
            token = request.headers.get(KSP_TOKEN_HEADER_IDENTIFIER, None)
 | 
					            ksp_token = request.headers.get(KSP_TOKEN_HEADER_IDENTIFIER, None)
 | 
				
			||||||
            ksp_user = request.headers.get(KSP_USER_HEADER_IDENTIFIER, None)
 | 
					            ksp_user = request.headers.get(KSP_USER_HEADER_IDENTIFIER, None)
 | 
				
			||||||
 | 
					            token_user = APIUserToken.get_user_from_token(ksp_token)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if not token and not ksp_user:
 | 
					            if ksp_user != token_user.username:
 | 
				
			||||||
                bearer_token = request.headers.get("authorization", None)
 | 
					 | 
				
			||||||
                if not bearer_token:
 | 
					 | 
				
			||||||
                    raise PermissionError("No token provided")
 | 
					 | 
				
			||||||
                token = bearer_token.split(" ")[1]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            token_user = APIUserToken.get_user_from_token(token)
 | 
					 | 
				
			||||||
            if ksp_user and ksp_user != token_user.username:
 | 
					 | 
				
			||||||
                raise PermissionError(f"Invalid token for {ksp_user}")
 | 
					                raise PermissionError(f"Invalid token for {ksp_user}")
 | 
				
			||||||
            self.user = token_user
 | 
					            else:
 | 
				
			||||||
 | 
					                self.user = token_user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            request.user = self.user
 | 
					            request.user = self.user
 | 
				
			||||||
            if not self.user.is_default_user():
 | 
					            if not self.user.is_default_user():
 | 
				
			||||||
 | 
				
			|||||||
@ -82,8 +82,8 @@ class Command(BaseKonovaCommand):
 | 
				
			|||||||
                atom_id = element.find("atomid").text
 | 
					                atom_id = element.find("atomid").text
 | 
				
			||||||
                selectable = element.find("selectable").text.lower()
 | 
					                selectable = element.find("selectable").text.lower()
 | 
				
			||||||
                selectable = bool_map.get(selectable, False)
 | 
					                selectable = bool_map.get(selectable, False)
 | 
				
			||||||
                short_name = element.find("shortname").text or ""
 | 
					                short_name = element.find("shortname").text
 | 
				
			||||||
                long_name = element.find("longname").text or ""
 | 
					                long_name = element.find("longname").text
 | 
				
			||||||
                is_archived = bool_map.get((element.find("archive").text.lower()), False)
 | 
					                is_archived = bool_map.get((element.find("archive").text.lower()), False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                code = KonovaCode.objects.get_or_create(
 | 
					                code = KonovaCode.objects.get_or_create(
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user