fix: Change the policy to allow Update, Delete, Submit to writer only
- 담당자가 로그인 한 유저 이름과 같을 때 수정, 삭제, 제출 가능하도록 변경
This commit is contained in:
parent
bd89552cc7
commit
34319dadcd
@ -1,35 +1,54 @@
|
||||
'use client'
|
||||
import { useRouter } from 'next/navigation'
|
||||
import { useServey } from '@/hooks/useSurvey'
|
||||
import { useSessionStore } from '@/store/session'
|
||||
import { useEffect, useState } from 'react'
|
||||
|
||||
export default function DetailButton({ isTemporary, surveyId }: { isTemporary: boolean; surveyId: number }) {
|
||||
export default function DetailButton({ isTemporary, surveyId, representative }: { isTemporary: boolean; surveyId: number; representative: string }) {
|
||||
const router = useRouter()
|
||||
|
||||
const { session } = useSessionStore()
|
||||
const { submitSurvey, deleteSurvey } = useServey(surveyId)
|
||||
const [userNm, setUserNm] = useState('')
|
||||
|
||||
useEffect(() => {
|
||||
if (session?.isLoggedIn) {
|
||||
setUserNm(session?.userNm ?? '')
|
||||
}
|
||||
}, [session, setUserNm])
|
||||
|
||||
const handleSubmit = async () => {
|
||||
if (isTemporary) {
|
||||
alert('一時保存されたデータは提出できません。')
|
||||
return
|
||||
}
|
||||
if (confirm('提出しますか??')) {
|
||||
if (surveyId) {
|
||||
// TODO: 제출 페이지 추가
|
||||
alert('SUBMIT POPUP!!!!!!!!!!!')
|
||||
await submitSurvey()
|
||||
if (userNm === representative) {
|
||||
if (confirm('提出しますか??')) {
|
||||
if (surveyId) {
|
||||
// TODO: 제출 페이지 추가
|
||||
alert('SUBMIT POPUP!!!!!!!!!!!')
|
||||
await submitSurvey()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
alert('担当者のみ提出可能です。')
|
||||
}
|
||||
}
|
||||
const handleUpdate = () => {
|
||||
router.push(`/survey-sale/basic-info?id=${surveyId}&isTemp=${isTemporary}`)
|
||||
if (userNm === representative) {
|
||||
router.push(`/survey-sale/basic-info?id=${surveyId}&isTemp=${isTemporary}`)
|
||||
} else {
|
||||
alert('担当者のみ修正可能です。')
|
||||
}
|
||||
}
|
||||
const handleDelete = async () => {
|
||||
const result = confirm('削除しますか?')
|
||||
console.log('🚀 ~ handleDelete ~ result:', result)
|
||||
if (result) {
|
||||
if (confirm('削除しますか?')) {
|
||||
if (surveyId) {
|
||||
await deleteSurvey()
|
||||
router.push('/survey-sale')
|
||||
if (userNm === representative) {
|
||||
await deleteSurvey()
|
||||
router.push('/survey-sale')
|
||||
} else {
|
||||
alert('担当者のみ削除可能です。')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -56,7 +56,7 @@ export default function DetailForm({
|
||||
<input type="text" className="input-frame" disabled defaultValue={surveyDetail?.customer_name ?? ''} />
|
||||
</div>
|
||||
</div>
|
||||
<DetailButton isTemporary={isTemporary} surveyId={Number(surveyDetail?.id)} />
|
||||
<DetailButton isTemporary={isTemporary} surveyId={Number(surveyDetail?.id)} representative={surveyDetail?.representative ?? ''} />
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
|
||||
@ -196,7 +196,7 @@ export default function RoofDetailForm({
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<DetailButton isTemporary={false} surveyId={Number(surveyDetail?.id)} />
|
||||
<DetailButton isTemporary={false} surveyId={Number(surveyDetail?.id)} representative={surveyDetail?.representative ?? ''} />
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
|
||||
@ -121,7 +121,7 @@ export default function BasicForm() {
|
||||
onChange={(e) => handleChange('representative', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
{(userType === 'musubi' || userType === 'order' || userType?.includes('musubi')) && (
|
||||
{(userType === 'order' || userType?.includes('musubi')) && (
|
||||
<>
|
||||
<div className="data-input-form-bx">
|
||||
<div className="data-input-form-tit">販売店</div>
|
||||
@ -202,10 +202,6 @@ export default function BasicForm() {
|
||||
onChange={(e) => handleChange('address', e.target.value)}
|
||||
>
|
||||
<option value="">東京都</option>
|
||||
<option value="">東京都</option>
|
||||
<option value="">東京都</option>
|
||||
<option value="">東京都</option>
|
||||
<option value="">東京都</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user