async def get_add_worker_form(req: Request): professions = await CatalogsDAL.get_simple_catalog_items_without_pagination( CatalogType.professions) return templates.TemplateResponse('worker_add_form.html', { 'request': req, 'professions': professions })
async def get_register_form(req: Request, uuid: str) -> _TemplateResponse: if await RegistrationViaUniqueLink.is_valid_uuid(uuid): return templates.TemplateResponse( 'registration.html', {'request': req, 'base_url': Urls.base_url.value, 'uuid': uuid}, ) return 'Ссылка недействительна или ей уже кто-то воспользовался'
async def get_contractor_add_form(req) -> _TemplateResponse: return templates.TemplateResponse( 'operator-contractor-add-form.html', { 'request': req, 'base_url': Urls.base_url.value }, )
async def get_representative_add_form( req: Request, contractor_id: int) -> _TemplateResponse: return templates.TemplateResponse( 'operator-representative-add-form.html', { 'request': req, 'contractor_id': contractor_id, 'base_url': Urls.base_url.value, }, )
def refresh_tokens( req: Request, access_token: str, refresh_token: str ) -> _TemplateResponse: return templates.TemplateResponse( 'refresh_tokens.html', { 'request': req, 'access_token': access_token, 'refresh_token': refresh_token, 'base_url': Urls.base_url.value, }, )
async def get_worker(req: Request, request_id: int, worker_id: int): worker = await RequestsDAL.get_worker(request_id, worker_id) violations = await SecuritiesDAL.get_worker_violations(worker_id) return templates.TemplateResponse( 'worker_in_request.html', { 'request': req, 'base_url': Urls.base_url.value, 'worker': worker, 'request_id': request_id, 'violations': violations }, )
async def get_contractors(req, page, size: int, substring: Optional[str]): contractors_list_with_pagination = await ContractorsDAL.get_all( substring, size, page) return templates.TemplateResponse( 'operator-contractors.html', { 'request': req, 'contractors': contractors_list_with_pagination.data, 'pagination': contractors_list_with_pagination.pagination_params, 'substring': substring, }, )
async def get_add_request_form(req: Request): contracts = await ContractorsDAL.get_contracts((await get_user(req)).id) objects_of_work = await CatalogsDAL.get_simple_catalog_items_without_pagination( CatalogType.objects_of_work) return templates.TemplateResponse( 'request_add_form.html', { 'request': req, 'base_url': Urls.base_url.value, 'contracts': contracts, 'objects_of_work': objects_of_work, }, )
async def get_workers( req: Request, substring: str, page: int, size: int ) -> ListWithPagination[WorkerSimpleOut]: workers_with_pagination = await SecuritiesDAL.get_workers(substring, page, size) return templates.TemplateResponse( 'security_workers.html', { 'request': req, 'base_url': Urls.base_url.value, 'workers': workers_with_pagination.data, 'pagination': workers_with_pagination.pagination_params, 'substring': substring, }, )
async def get_requests(req: Request, substring: str, page: int, size: int) -> _TemplateResponse: requests_with_pagination = await RequestsDAL.get_operators_requests( substring, page, size) return templates.TemplateResponse( 'operator-requests.html', { 'request': req, 'requests': requests_with_pagination.data, 'pagination': requests_with_pagination.pagination_params, 'base_url': Urls.base_url.value, 'substring': substring, }, )
async def get_deny_form(req, request_id, worker_id): reasons = await CatalogsDAL.get_simple_catalog_items_without_pagination( CatalogType.reasons_for_rejection_of_application ) return templates.TemplateResponse( 'request_denial_form.html', { 'request': req, 'base_url': Urls.base_url.value, 'request_id': request_id, 'worker_id': worker_id, 'reasons': reasons, }, )
async def get_requests_page(req: Request, solved: bool, substring: str, page: int, size: int): requests_with_pagination = await RequestsDAL.get_representative_requests( (await get_user(req)).id, substring, page, size, solved) template = ('representatives_closed_requests.html' if solved else 'representatives_requests.html') return templates.TemplateResponse( template, { 'request': req, 'pagination': requests_with_pagination.pagination_params, 'requests': requests_with_pagination.data, 'substring': substring, }, )
async def get_worker_page(req: Request, worker_id: int): violations = await SecuritiesDAL.get_worker_violations(worker_id) worker = await RepresentativesDAL.get_worker((await get_user(req)).id, worker_id) objects = await RepresentativesDAL.get_worker_objects(worker_id) return templates.TemplateResponse( 'representatives_worker.html', { 'request': req, 'worker': worker, 'base_url': Urls.base_url.value, 'objects': objects, 'violations': violations }, )
async def get_workers_page(req: Request, substring: str, page: int, size: int): workers_with_pagination = await RequestsDAL.get_representative_workers( (await get_user(req)).id, substring=substring, page=page, size=size) return templates.TemplateResponse( 'representatives_workers.html', { 'request': req, 'workers': workers_with_pagination.data, 'pagination': workers_with_pagination.pagination_params, 'substring': substring, }, )
async def get_request_result(req: Request, request_id: int, substring: str, page: int, size: int): workers_with_pagination = await RequestsDAL.get_representative_request_result( request_id, (await get_user(req)).id, substring, page, size) request = await RequestsDAL.get_representative_request(request_id) return templates.TemplateResponse( 'representative_request_result.html', { 'base_url': Urls.base_url.value, 'request': req, 'request_': request, 'workers': workers_with_pagination.data, 'pagination': workers_with_pagination.pagination_params, 'substring': substring, }, )
async def get_request_page(req: Request, request_id: int, substring: str, page: int, size: int): workers = await RequestsDAL.get_representative_workers_in_request( (await get_user(req)).id, request_id, substring, page, size) request = await RequestsDAL.get_representative_request(request_id) return templates.TemplateResponse( 'representative_request_main.html', { 'request': req, 'workers': workers.data, 'pagination': workers.pagination_params, 'substring': substring, 'request_id': request_id, 'request_': request, }, )
async def get_request_result( req: Request, request_id: int, substring: str, page: int, size: int ): workers_with_pagination = await RequestsDAL.get_operator_workers_in_request( request_id, substring, page, size, is_result=True ) request = await RequestsDAL.get_operator_request(request_id) return templates.TemplateResponse( 'operator_requests_result.html', { 'request': req, 'workers': workers_with_pagination.data, 'request_': request, 'substring': substring, 'pagination': workers_with_pagination.pagination_params, }, )
async def get_filled_request_page(req: Request, request_id: int, substring: str, page: int, size: int): request: RequestForTemplateOut = await RequestsDAL.get_representative_request( request_id) workers_with_pagination = await RequestsDAL.get_worker_from_requests( (await get_user(req)).id, request_id, substring, page, size) if request.status == RequestStatus.WAITING_FOR_VERIFICATION: template = 'representative_request_open.html' else: template = 'representative_request_closed.html' return templates.TemplateResponse( template, { 'request': req, 'workers': workers_with_pagination.data, 'pagination': workers_with_pagination.pagination_params, 'substring': substring, 'request_id': request_id, 'request_': request, }, )
async def get_add_contract_form(req: Request, contractor_id: int) -> _TemplateResponse: return templates.TemplateResponse('contract_form.html', { 'request': req, 'contractor_id': contractor_id })
def forbidden(req: Request) -> _TemplateResponse: return templates.TemplateResponse( 'forbidden.html', {'request': req, 'base_url': Urls.base_url.value} )
async def get_worker(req: Request, worker_id: int): violations = await SecuritiesDAL.get_worker_violations(worker_id) worker = await SecuritiesDAL.get_worker(worker_id) return templates.TemplateResponse('security_worker.html', {'request': req, 'worker': worker, 'violations': violations, 'base_url': Urls.base_url.value})
async def get_login_page(req: Request): value = Urls.base_url.value return templates.TemplateResponse( 'login.html', {'request': req, 'base_url': value} )
async def add_violation_page(req: Request, worker_id: int): violations = await CatalogsDAL.get_simple_catalog_items_without_pagination(CatalogType.violations) objects = await CatalogsDAL.get_simple_catalog_items_without_pagination(CatalogType.objects_of_work) return templates.TemplateResponse('violation_add_form.html', {'request': req, 'base_url': Urls.base_url.value, 'violations': violations, 'objects': objects, 'worker_id': worker_id})
async def logout(req: Request) -> _TemplateResponse: return templates.TemplateResponse( 'logout.html', {'request': req, 'base_url': Urls.base_url.value} )