Glossary: Fix name -> title + creation of term by API

pull/5244/head
Angel Fernando Quiroz Campos 2 years ago
parent c6eb8ab57b
commit 6ea26f18d3
  1. 12
      assets/vue/components/glossary/GlossaryForm.vue
  2. 8
      src/CoreBundle/Controller/Api/CreateCGlossaryAction.php
  3. 6
      src/CoreBundle/Controller/Api/GetGlossaryCollectionController.php

@ -69,15 +69,15 @@ const resourceLinkList = ref(
cid, cid,
visibility: RESOURCE_LINK_PUBLISHED, // visible by default visibility: RESOURCE_LINK_PUBLISHED, // visible by default
}, },
]) ]),
) )
const formData = reactive({ const formData = reactive({
name: "", title: "",
description: "", description: "",
}) })
const rules = { const rules = {
name: { required }, title: { required },
description: { required }, description: { required },
} }
const v$ = useVuelidate(rules, formData) const v$ = useVuelidate(rules, formData)
@ -92,7 +92,7 @@ const fetchTerm = async () => {
} }
try { try {
const glossary = await glossaryService.getGlossaryTerm(props.termId) const glossary = await glossaryService.getGlossaryTerm(props.termId)
formData.name = glossary.title formData.title = glossary.title
formData.description = glossary.description formData.description = glossary.description
} catch (error) { } catch (error) {
console.error("Error glossary term:", error) console.error("Error glossary term:", error)
@ -108,7 +108,7 @@ const submitGlossaryForm = async () => {
} }
const postData = { const postData = {
title: formData.name, title: formData.title,
description: formData.description, description: formData.description,
parentResourceNodeId: parentResourceNodeId.value, parentResourceNodeId: parentResourceNodeId.value,
resourceLinkList: resourceLinkList.value, resourceLinkList: resourceLinkList.value,
@ -126,7 +126,7 @@ const submitGlossaryForm = async () => {
notification.showSuccessNotification(t("Glossary term saved")) notification.showSuccessNotification(t("Glossary term saved"))
await router.push({ await router.push({
name: "GlossaryList", title: "GlossaryList",
query: route.query, query: route.query,
}) })
} catch (error) { } catch (error) {

@ -19,11 +19,11 @@ class CreateCGlossaryAction extends BaseResourceFileAction
public function __invoke(Request $request, CGlossaryRepository $repo, EntityManager $em): CGlossary public function __invoke(Request $request, CGlossaryRepository $repo, EntityManager $em): CGlossary
{ {
$data = json_decode($request->getContent(), true); $data = json_decode($request->getContent(), true);
$title = $data['name']; $title = $data['title'];
$description = $data['description']; $description = $data['description'];
$parentResourceNodeId = $data['parentResourceNodeId']; $parentResourceNodeId = $data['parentResourceNodeId'];
$resourceLinkList = json_decode($data['resourceLinkList'], true); $resourceLinkList = json_decode($data['resourceLinkList'], true);
$sid = isset($data['sid']) ? (int) $data['sid'] : null; $sid = isset($data['sid']) ? (int) $data['sid'] : 0;
$cid = (int) $data['cid']; $cid = (int) $data['cid'];
$course = null; $course = null;
@ -37,8 +37,8 @@ class CreateCGlossaryAction extends BaseResourceFileAction
// Check if the term already exists // Check if the term already exists
$qb = $repo->getResourcesByCourse($course, $session) $qb = $repo->getResourcesByCourse($course, $session)
->andWhere('resource.name = :name') ->andWhere('resource.title = :title')
->setParameter('name', $title) ->setParameter('title', $title)
; ;
$existingGlossaryTerm = $qb->getQuery()->getOneOrNullResult(); $existingGlossaryTerm = $qb->getQuery()->getOneOrNullResult();
if (null !== $existingGlossaryTerm) { if (null !== $existingGlossaryTerm) {

@ -34,8 +34,8 @@ class GetGlossaryCollectionController extends BaseResourceFileAction
$qb = $repo->getResourcesByCourse($course, $session, null, null, true, true); $qb = $repo->getResourcesByCourse($course, $session, null, null, true, true);
if ($q) { if ($q) {
$qb->andWhere($qb->expr()->like('resource.name', ':name')) $qb->andWhere($qb->expr()->like('resource.title', ':title'))
->setParameter('name', '%'.$q.'%') ->setParameter('title', '%'.$q.'%')
; ;
} }
$glossaries = $qb->getQuery()->getResult(); $glossaries = $qb->getQuery()->getResult();
@ -48,7 +48,7 @@ class GetGlossaryCollectionController extends BaseResourceFileAction
[ [
'iid' => $item->getIid(), 'iid' => $item->getIid(),
'id' => $item->getIid(), 'id' => $item->getIid(),
'name' => $item->getTitle(), 'title' => $item->getTitle(),
'description' => $item->getDescription(), 'description' => $item->getDescription(),
]; ];
} }

Loading…
Cancel
Save