diff --git a/ecs/jskult-webapp/src/controller/master_mainte.py b/ecs/jskult-webapp/src/controller/master_mainte.py index ad5eb3e1..b8b8e087 100644 --- a/ecs/jskult-webapp/src/controller/master_mainte.py +++ b/ecs/jskult-webapp/src/controller/master_mainte.py @@ -4,8 +4,13 @@ from starlette import status from src.depends.services import get_service from src.model.internal.session import UserSession +from src.model.view.inst_emp_csv_download_view_model import \ + InstEmpCsvDownloadViewModel +from src.model.view.inst_emp_csv_upload_view_model import \ + InstEmpCsvUploadViewModel from src.model.view.master_mainte_menu_view_model import \ MasterMainteMenuViewModel +from src.model.view.table_override_view_model import TableOverrideViewModel from src.router.session_router import AuthenticatedRoute from src.services.batch_status_service import BatchStatusService from src.services.session_service import set_session @@ -58,3 +63,123 @@ def menu_view( headers={'session_key': session.session_key} ) return templates_response + + +@router.get('/instEmpCsvUL', response_class=HTMLResponse) +def inst_emp_csv_upload_view( + request: Request, + batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) +): + session: UserSession = request.session + + # マスタメンテメニューへのアクセス権がない場合、ログアウトさせる + if session.master_mainte_flg != '1': + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN) + + # バッチ処理中の場合、ログアウトさせる + if batch_status_service.is_batch_processing(): + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, + detail=constants.LOGOUT_REASON_BATCH_PROCESSING_FOR_MAINTE) + # dump処理中の場合、ログアウトさせる + if batch_status_service.is_dump_processing(): + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail=constants.LOGOUT_REASON_BACKUP_PROCESSING) + + # 画面表示用のモデル + view_model = InstEmpCsvUploadViewModel() + # セッション書き換え + session.update( + actions=[ + UserSession.last_access_time.set(UserSession.new_last_access_time()), + UserSession.record_expiration_time.set(UserSession.new_record_expiration_time()), + ] + ) + set_session(session) + templates_response = templates.TemplateResponse( + 'instEmpCsvUL.html', + { + 'request': request, + 'view': view_model + }, + headers={'session_key': session.session_key} + ) + return templates_response + + +@router.get('/instEmpCsvDL', response_class=HTMLResponse) +def new_inst_view( + request: Request, + batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) +): + session: UserSession = request.session + + # マスタメンテメニューへのアクセス権がない場合、ログアウトさせる + if session.master_mainte_flg != '1': + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN) + + # バッチ処理中の場合、ログアウトさせる + if batch_status_service.is_batch_processing(): + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, + detail=constants.LOGOUT_REASON_BATCH_PROCESSING_FOR_MAINTE) + # dump処理中の場合、ログアウトさせる + if batch_status_service.is_dump_processing(): + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail=constants.LOGOUT_REASON_BACKUP_PROCESSING) + + # 画面表示用のモデル + view_model = InstEmpCsvDownloadViewModel() + # セッション書き換え + session.update( + actions=[ + UserSession.last_access_time.set(UserSession.new_last_access_time()), + UserSession.record_expiration_time.set(UserSession.new_record_expiration_time()), + ] + ) + set_session(session) + templates_response = templates.TemplateResponse( + 'instEmpCsvDL.html', + { + 'request': request, + 'view': view_model + }, + headers={'session_key': session.session_key} + ) + return templates_response + + +@router.get('/tableOverride', response_class=HTMLResponse) +def table_override_view( + request: Request, + batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) +): + session: UserSession = request.session + + # マスタメンテメニューへのアクセス権がない場合、ログアウトさせる + if session.master_mainte_flg != '1': + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN) + + # バッチ処理中の場合、ログアウトさせる + if batch_status_service.is_batch_processing(): + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, + detail=constants.LOGOUT_REASON_BATCH_PROCESSING_FOR_MAINTE) + # dump処理中の場合、ログアウトさせる + if batch_status_service.is_dump_processing(): + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail=constants.LOGOUT_REASON_BACKUP_PROCESSING) + + # 画面表示用のモデル + view_model = TableOverrideViewModel() + # セッション書き換え + session.update( + actions=[ + UserSession.last_access_time.set(UserSession.new_last_access_time()), + UserSession.record_expiration_time.set(UserSession.new_record_expiration_time()), + ] + ) + set_session(session) + templates_response = templates.TemplateResponse( + 'tableOverride.html', + { + 'request': request, + 'view': view_model + }, + headers={'session_key': session.session_key} + ) + return templates_response diff --git a/ecs/jskult-webapp/src/model/view/inst_emp_csv_download_view_model.py b/ecs/jskult-webapp/src/model/view/inst_emp_csv_download_view_model.py new file mode 100644 index 00000000..220294ba --- /dev/null +++ b/ecs/jskult-webapp/src/model/view/inst_emp_csv_download_view_model.py @@ -0,0 +1,5 @@ +from pydantic import BaseModel + + +class InstEmpCsvDownloadViewModel(BaseModel): + subtitle: str = '施設担当者データCSVダウンロード' diff --git a/ecs/jskult-webapp/src/model/view/inst_emp_csv_upload_view_model.py b/ecs/jskult-webapp/src/model/view/inst_emp_csv_upload_view_model.py new file mode 100644 index 00000000..64bde407 --- /dev/null +++ b/ecs/jskult-webapp/src/model/view/inst_emp_csv_upload_view_model.py @@ -0,0 +1,5 @@ +from pydantic import BaseModel + + +class InstEmpCsvUploadViewModel(BaseModel): + subtitle: str = '施設担当者データCSVアップロード' diff --git a/ecs/jskult-webapp/src/model/view/table_override_view_model.py b/ecs/jskult-webapp/src/model/view/table_override_view_model.py new file mode 100644 index 00000000..e03b1fd0 --- /dev/null +++ b/ecs/jskult-webapp/src/model/view/table_override_view_model.py @@ -0,0 +1,5 @@ +from pydantic import BaseModel + + +class TableOverrideViewModel(BaseModel): + subtitle: str = 'テーブル上書きコピー' diff --git a/ecs/jskult-webapp/src/templates/instEmpCsvDL.html b/ecs/jskult-webapp/src/templates/instEmpCsvDL.html new file mode 100644 index 00000000..07712d73 --- /dev/null +++ b/ecs/jskult-webapp/src/templates/instEmpCsvDL.html @@ -0,0 +1,13 @@ + + + + {% with subtitle = view.subtitle %} + {% include '_header.html' %} + {% endwith %} + + + + +

施設担当者データCSVダウンロード

+ + diff --git a/ecs/jskult-webapp/src/templates/instEmpCsvUL.html b/ecs/jskult-webapp/src/templates/instEmpCsvUL.html new file mode 100644 index 00000000..bdd305d8 --- /dev/null +++ b/ecs/jskult-webapp/src/templates/instEmpCsvUL.html @@ -0,0 +1,13 @@ + + + + {% with subtitle = view.subtitle %} + {% include '_header.html' %} + {% endwith %} + + + + +

施設担当者データCSVアップロード

+ + diff --git a/ecs/jskult-webapp/src/templates/masterMainteMenu.html b/ecs/jskult-webapp/src/templates/masterMainteMenu.html index 987615bf..957279fa 100644 --- a/ecs/jskult-webapp/src/templates/masterMainteMenu.html +++ b/ecs/jskult-webapp/src/templates/masterMainteMenu.html @@ -10,7 +10,7 @@

MeDaCA
マスターメンテメニュー



- 施設担当者データCSVアップロード

+ 施設担当者データCSVアップロード

施設担当者データCSVダウンロード

diff --git a/ecs/jskult-webapp/src/templates/tableOverride.html b/ecs/jskult-webapp/src/templates/tableOverride.html new file mode 100644 index 00000000..272cd0cd --- /dev/null +++ b/ecs/jskult-webapp/src/templates/tableOverride.html @@ -0,0 +1,13 @@ + + + + {% with subtitle = view.subtitle %} + {% include '_header.html' %} + {% endwith %} + + + + +

テーブル上書きコピー

+ +