Migrate core admin, baskets

This commit is contained in:
phil 2024-02-13 12:46:24 +05:30
parent 5dacc908f2
commit df5f67b79d
7 changed files with 229 additions and 39 deletions

View file

@ -11,6 +11,7 @@ from typing import ClassVar
from gisaf.config import conf
from gisaf.models.admin import FileImport
from gisaf.models.authentication import User
# from gisaf.models.graphql import AdminBasketFile, BasketImportResult
from gisaf.models.survey import Surveyor, Accuracy, Equipment, AccuracyEquimentSurveyorMapping
from gisaf.models.project import Project
@ -45,20 +46,17 @@ class Basket:
self.importer = self.importer_class()
self.importer.basket = self
async def allowed_for(self, request):
async def allowed_for(self, user: User):
"""
Return False if the basket is protected by a role
Request: aiohttp.Request instance
"""
if not self.role:
return True
if user is not None and user.has_role(self.role):
return True
else:
try:
await check_permission(request, self.role)
except (HTTPUnauthorized, HTTPForbidden):
return False
else:
return True
return False
async def get_files(self, convert_path=False):
"""