proper handling of feedback types
This commit is contained in:
@ -55,7 +55,7 @@ export default function FeedbackForm({ publisherId, onDone }) {
|
|||||||
assignmentId: 0,
|
assignmentId: 0,
|
||||||
publisherId: publisherId,
|
publisherId: publisherId,
|
||||||
date: new Date(),
|
date: new Date(),
|
||||||
placementCount: 0,
|
placementCount: 1,
|
||||||
videoCount: 0,
|
videoCount: 0,
|
||||||
returnVisitInfoCount: 0,
|
returnVisitInfoCount: 0,
|
||||||
conversationCount: 0
|
conversationCount: 0
|
||||||
@ -72,9 +72,9 @@ export default function FeedbackForm({ publisherId, onDone }) {
|
|||||||
|
|
||||||
const handleSubmit = async (e) => {
|
const handleSubmit = async (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
item.
|
item.publisher = { connect: { id: pubId } };
|
||||||
item.publisher = { connect: { id: pubId } };
|
//ToDo: create dedicated feedback type instead of using placementCount for subtype
|
||||||
item.type = ReportType.Feedback;
|
item.type = item.placementCount === 1 ? ReportType.Feedback_Problem : (item.placementCount === 2 ? ReportType.Feedback_Suggestion : ReportType.Feedback);
|
||||||
delete item.assignmentId;
|
delete item.assignmentId;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -14,6 +14,8 @@ import { Location, UserRole, ReportType } from "@prisma/client";
|
|||||||
|
|
||||||
export default function Reports() {
|
export default function Reports() {
|
||||||
const [reports, setReports] = useState([]);
|
const [reports, setReports] = useState([]);
|
||||||
|
const [filteredReports, setFilteredReports] = useState([]);
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { data: session } = useSession();
|
const { data: session } = useSession();
|
||||||
|
|
||||||
@ -24,10 +26,17 @@ export default function Reports() {
|
|||||||
console.log("event filter set to:" + event.target.value);
|
console.log("event filter set to:" + event.target.value);
|
||||||
};
|
};
|
||||||
|
|
||||||
const [filteredReports, setFilteredReports] = useState([]);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setFilteredReports(reports.filter(report => report.type === filterType));
|
const isFeedbackType = type => [
|
||||||
|
'Feedback_Problem',
|
||||||
|
'Feedback_Suggestion',
|
||||||
|
'Feedback'
|
||||||
|
].includes(type);
|
||||||
|
|
||||||
|
setFilteredReports(reports.filter(report =>
|
||||||
|
filterType === 'Feedback' ? isFeedbackType(report.type) : report.type === filterType
|
||||||
|
));
|
||||||
}, [reports, filterType]);
|
}, [reports, filterType]);
|
||||||
|
|
||||||
const deleteReport = (id) => {
|
const deleteReport = (id) => {
|
||||||
@ -117,7 +126,7 @@ export default function Reports() {
|
|||||||
<td className="border px-2 py-2">{common.getDateFormated(new Date(report.date))}</td>
|
<td className="border px-2 py-2">{common.getDateFormated(new Date(report.date))}</td>
|
||||||
<td className="border px-2 py-2">{report.location?.name}</td>
|
<td className="border px-2 py-2">{report.location?.name}</td>
|
||||||
<td className="border px-2 py-2">
|
<td className="border px-2 py-2">
|
||||||
{(report.experienceInfo === null || report.experienceInfo === "")
|
{(report.type === ReportType.ServiceReport)
|
||||||
? (
|
? (
|
||||||
<>
|
<>
|
||||||
<div><strong>Отчет</strong></div>
|
<div><strong>Отчет</strong></div>
|
||||||
@ -126,9 +135,16 @@ export default function Reports() {
|
|||||||
Клипове: {report.videoCount} <br />
|
Клипове: {report.videoCount} <br />
|
||||||
Адреси / Телефони: {report.returnVisitInfoCount} <br />
|
Адреси / Телефони: {report.returnVisitInfoCount} <br />
|
||||||
</>
|
</>
|
||||||
) : (report.placementCount > 0) ? (
|
) : (report.type === ReportType.Feedback || report.type === ReportType.Feedback_Problem || report.type === ReportType.Feedback_Suggestion) ? (
|
||||||
<>
|
<>
|
||||||
<div><strong>Отзив</strong></div>
|
<div>
|
||||||
|
<strong style={{ fontWeight: 'bold' }}>Отзив</strong>
|
||||||
|
{report.type === "Feedback_Problem" ?
|
||||||
|
<span style={{ color: 'red', fontWeight: 'bold' }}> - Проблем</span> :
|
||||||
|
report.type === "Feedback_Suggestion" ?
|
||||||
|
<span style={{ color: 'blue' }}> - Предложение</span> :
|
||||||
|
""}
|
||||||
|
</div>
|
||||||
<div dangerouslySetInnerHTML={{ __html: report.experienceInfo }} />
|
<div dangerouslySetInnerHTML={{ __html: report.experienceInfo }} />
|
||||||
</>
|
</>
|
||||||
) : (
|
) : (
|
||||||
|
Reference in New Issue
Block a user