Changes
2 changed files (+55/-1)
-
-
@@ -8,6 +8,7 @@ import { WriteWorkRecordResponseSchema } from "@yamori/proto/yamori/worker/v1/write_work_record_response_pb.js";import { LeaveSchema } from "@yamori/proto/yamori/work_record/v1/leave_pb.js"; import { GetRequestSchema } from "@yamori/proto/yamori/workspace/v1/get_request_pb.js"; import { GetResponseSchema } from "@yamori/proto/yamori/workspace/v1/get_response_pb.js"; import { NotFoundSchema } from "@yamori/proto/yamori/error/v1/not_found_pb.js"; import { type DateSchema } from "@yamori/proto/yamori/type/v1/date_pb.js"; import { type WorkerSchema } from "@yamori/proto/yamori/worker/v1/worker_pb.js"; import { WorkspaceSchema } from "@yamori/proto/yamori/workspace/v1/workspace_pb.js";
-
@@ -112,7 +113,18 @@throw resp.result.value; }, options: { onError() { onError(error) { if ( proto.isMessage(error, NotFoundSchema) && error.typeName === "yamori.worker.v1.PaidLeaveProvision" ) { toast.open({ severity: "warn", title: "年次有給休暇の残り日数がありません", }); return; } toast.open({ severity: "danger", title: "勤怠記録の更新に失敗しました",
-
@@ -243,6 +255,38 @@ }}} > 欠勤 </DropdownMenu.Item> <DropdownMenu.Item disabled={!isWorkRecordWritable} onSelect={async () => { try { for (const target of targets) { for (const date of target.dates) { await writeRecord.mutateAsync({ workspaceId: workspaceID, workerId: target.worker.id, writeWorkRecordKey: target.worker.writeWorkRecordKey, workRecord: { dates: [date], record: { case: "paidLeave", value: {}, }, }, }); } } toast.open({ severity: "success", title: "勤怠記録を更新しました", }); } finally { onWorkRecordMutated?.(); } }} > 年次有給休暇 </DropdownMenu.Item> <DropdownMenu.Sub> <DropdownMenu.SubTrigger>その他休暇休業</DropdownMenu.SubTrigger>
-
-
-
@@ -22,6 +22,7 @@ import type { WorkspaceSchema } from "@yamori/proto/yamori/workspace/v1/workspace_pb.js";import { ListRequestSchema } from "@yamori/proto/yamori/worker/v1/list_request_pb.js"; import { ListResponseSchema } from "@yamori/proto/yamori/worker/v1/list_response_pb.js"; import { WorkerSchema } from "@yamori/proto/yamori/worker/v1/worker_pb.js"; import { PaidLeaveProvisionSchema } from "@yamori/proto/yamori/worker/v1/paid_leave_provision_pb.js"; import { LeaveSchema } from "@yamori/proto/yamori/work_record/v1/leave_pb.js"; import { addMonths,
-
@@ -126,7 +127,16 @@ WorkerSchema.field.displayName.number,WorkerSchema.field.writeWorkRecordKey.number, WorkerSchema.field.providePaidLeaveKey.number, WorkerSchema.field.workRecords.number, WorkerSchema.field.paidLeaveProvisions.number, ], paidLeaveProvisionsMask: { fields: [ PaidLeaveProvisionSchema.field.providedAt.number, PaidLeaveProvisionSchema.field.expiresAt.number, PaidLeaveProvisionSchema.field.remainingDays.number, PaidLeaveProvisionSchema.field.isHalvedDayRemaining.number, ], }, workRecordsMask: { workspaceDefinedLeaveMask: { fields: [
-