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

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

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

Loading…
Cancel
Save