diff --git a/assets/controllers/organization_controller.js b/assets/controllers/organization_controller.js
index 255793e..6f14baf 100644
--- a/assets/controllers/organization_controller.js
+++ b/assets/controllers/organization_controller.js
@@ -1,7 +1,7 @@
import {Controller} from '@hotwired/stimulus'
// Important: include a build with Ajax + pagination (TabulatorFull is simplest)
import {TabulatorFull as Tabulator} from 'tabulator-tables';
-import {eyeIconLink, TABULATOR_FR_LANG} from "../js/global.js";
+import {capitalizeFirstLetter, eyeIconLink, TABULATOR_FR_LANG} from "../js/global.js";
import { Modal } from "bootstrap";
export default class extends Controller {
@@ -197,6 +197,7 @@ export default class extends Controller {
if (this.currentOrgId) {
formData.append('_method', 'PUT');
}
+ formData.set('name', capitalizeFirstLetter(formData.get('name')));
try {
const response = await fetch(url, {
diff --git a/assets/controllers/user_controller.js b/assets/controllers/user_controller.js
index 864edb6..e98869e 100644
--- a/assets/controllers/user_controller.js
+++ b/assets/controllers/user_controller.js
@@ -7,7 +7,8 @@ import {
eyeIconLink,
sendEmailIcon,
TABULATOR_FR_LANG,
- trashIconForm
+ trashIconForm,
+ capitalizeFirstLetter
} from "../js/global.js";
import { Modal } from "bootstrap";
import base_controller from "./base_controller.js";
@@ -161,8 +162,8 @@ export default class extends base_controller {
return wrapper;
},
},
- {title: "Nom", field: "name", headerFilter: "input", widthGrow: 2, vertAlign: "middle"},
- {title: "Prénom", field: "prenom", headerFilter: "input", widthGrow: 2, vertAlign: "middle"},
+ {title: "Nom", field: "surname", headerFilter: "input", widthGrow: 2, vertAlign: "middle"},
+ {title: "Prénom", field: "name", headerFilter: "input", widthGrow: 2, vertAlign: "middle"},
{title: "Email", field: "email", headerFilter: "input", widthGrow: 3, vertAlign: "middle"},
{
title: "Statut", field: "statut", vertAlign: "middle",
@@ -301,6 +302,7 @@ export default class extends base_controller {
// Add filters
if (params.filter) {
params.filter.forEach(filter => {
+ console.log("Adding filter to query:", filter.field, filter.value);
queryParams.append(`filter[${filter.field}]`, filter.value);
});
}
@@ -639,8 +641,8 @@ export default class extends base_controller {
return wrapper;
},
},
- {title: "Nom", field: "name", headerFilter: "input", widthGrow: 2, vertAlign: "middle"},
- {title: "Prénom", field: "prenom", headerFilter: "input", widthGrow: 2, vertAlign: "middle"},
+ {title: "Nom", field: "surname", headerFilter: "input", widthGrow: 2, vertAlign: "middle"},
+ {title: "Prénom", field: "name", headerFilter: "input", widthGrow: 2, vertAlign: "middle"},
{title: "Email", field: "email", headerFilter: "input", widthGrow: 3, vertAlign: "middle"},
{
title: "Statut", field: "statut", vertAlign: "middle",
@@ -1032,6 +1034,7 @@ export default class extends base_controller {
const formData = new FormData(form);
const ucSurname = formData.get('surname').toUpperCase();
formData.set('surname', ucSurname);
+ formData.set('name', capitalizeFirstLetter(formData.get('name'))); // Capitalize first letter of name
try {
const response = await fetch('/user/new/ajax', { // Adjust path if prefix is different
@@ -1101,6 +1104,7 @@ export default class extends base_controller {
// Force Uppercase on Surname as requested
formData.set('surname', formData.get('surname').toUpperCase());
+ formData.set('name', capitalizeFirstLetter(formData.get('name'))); // Capitalize first letter of name
try {
const response = await fetch(`/user/edit/${this.currentUserId}/ajax`, {
diff --git a/assets/js/global.js b/assets/js/global.js
index 84a0c84..2c3b6a5 100644
--- a/assets/js/global.js
+++ b/assets/js/global.js
@@ -79,4 +79,8 @@ export function sendEmailIcon(userId, orgId) {
return `
`
+}
+
+export function capitalizeFirstLetter(string) {
+ return string.charAt(0).toUpperCase() + string.slice(1);
}
\ No newline at end of file
diff --git a/src/Controller/OrganizationController.php b/src/Controller/OrganizationController.php
index a8f851d..e1ba3ed 100644
--- a/src/Controller/OrganizationController.php
+++ b/src/Controller/OrganizationController.php
@@ -107,7 +107,7 @@ class OrganizationController extends AbstractController
}
$organization->setProjectPrefix($this->organizationsService->generateUniqueProjectPrefix());
-
+ $organization->setName(ucFirst($organization->getName()));
$this->entityManager->persist($organization);
$this->entityManager->flush();
@@ -165,6 +165,7 @@ class OrganizationController extends AbstractController
if ($logoFile) {
$this->organizationsService->handleLogo($organization, $logoFile);
}
+ $organization->setName(ucFirst($organization->getName()));
$this->entityManager->persist($organization);
$this->entityManager->flush();
$this->actionService->createAction("Edit Organization", $actingUser, $organization, $organization->getName());
diff --git a/src/Controller/UserController.php b/src/Controller/UserController.php
index e197bf6..e86d7c2 100644
--- a/src/Controller/UserController.php
+++ b/src/Controller/UserController.php
@@ -531,8 +531,8 @@ class UserController extends AbstractController
return [
'id' => $user->getId(),
'pictureUrl' => $user->getPictureUrl(),
- 'name' => $user->getSurname(),
- 'prenom' => $user->getName(),
+ 'surname' => $user->getSurname(),
+ 'name' => $user->getName(),
'email' => $user->getEmail(),
'isConnected' => $this->userService->isUserConnected($user->getUserIdentifier()),
'showUrl' => $this->generateUrl('user_show', ['id' => $user->getId()]),
diff --git a/src/Repository/OrganizationsRepository.php b/src/Repository/OrganizationsRepository.php
index 51066d8..a4103ce 100644
--- a/src/Repository/OrganizationsRepository.php
+++ b/src/Repository/OrganizationsRepository.php
@@ -39,7 +39,7 @@ class OrganizationsRepository extends ServiceEntityRepository
// 2. Filters
if (!empty($filters['name'])) {
$qb->andWhere('o.name LIKE :name')
- ->setParameter('name', '%' . strtolower($filters['name']) . '%');
+ ->setParameter('name', '%' . ucfirst($filters['name']) . '%');
}
if (!empty($filters['email'])) {
$qb->andWhere('o.email LIKE :email')
diff --git a/src/Repository/UserRepository.php b/src/Repository/UserRepository.php
index f817d6d..ced8937 100644
--- a/src/Repository/UserRepository.php
+++ b/src/Repository/UserRepository.php
@@ -45,14 +45,13 @@ class UserRepository extends ServiceEntityRepository implements PasswordUpgrader
$qb = $this->createQueryBuilder('u')
->where('u.isDeleted = :del')
->setParameter('del', false);
-
- if (!empty($filters['name'])) {
- $qb->andWhere('u.surname LIKE :name')
- ->setParameter('name', '%' . strtolower($filters['name']) . '%');
+ if (!empty($filters['surname'])) {
+ $qb->andWhere('u.surname LIKE :surname')
+ ->setParameter('surname', '%' . strtoupper($filters['surname']) . '%');
}
- if (!empty($filters['prenom'])) {
- $qb->andWhere('u.name LIKE :prenom')
- ->setParameter('prenom', '%' . strtolower($filters['prenom']) . '%');
+ if (!empty($filters['name'])) {
+ $qb->andWhere('u.name LIKE :name')
+ ->setParameter('name', '%' . ucFirst($filters['name']) . '%');
}
if (!empty($filters['email'])) {
$qb->andWhere('u.email LIKE :email')
diff --git a/src/Repository/UsersOrganizationsRepository.php b/src/Repository/UsersOrganizationsRepository.php
index 4a13edd..806f21b 100644
--- a/src/Repository/UsersOrganizationsRepository.php
+++ b/src/Repository/UsersOrganizationsRepository.php
@@ -58,13 +58,13 @@ class UsersOrganizationsRepository extends ServiceEntityRepository
->setParameter('org', $org);
// Apply filters
- if (!empty($filters['name'])) {
- $qb->andWhere('u.surname LIKE :name')
- ->setParameter('name', '%' . strtolower($filters['name']) . '%');
+ if (!empty($filters['surname'])) {
+ $qb->andWhere('u.surname LIKE :surname')
+ ->setParameter('surname', '%' . strtoupper($filters['surname']) . '%');
}
- if (!empty($filters['prenom'])) {
- $qb->andWhere('u.name LIKE :prenom')
- ->setParameter('prenom', '%' . strtolower($filters['prenom']) . '%');
+ if (!empty($filters['name'])) {
+ $qb->andWhere('u.name LIKE :name')
+ ->setParameter('name', '%' . ucFirst($filters['name']) . '%');
}
if (!empty($filters['email'])) {
$qb->andWhere('u.email LIKE :email')
diff --git a/src/Service/UserService.php b/src/Service/UserService.php
index efd96b6..364ff43 100644
--- a/src/Service/UserService.php
+++ b/src/Service/UserService.php
@@ -418,8 +418,8 @@ class UserService
}
return [
'pictureUrl' => $user->getPictureUrl(),
- 'name' => $user->getSurname(),
- 'prenom' => $user->getName(),
+ 'surname' => $user->getSurname(),
+ 'name' => $user->getName(),
'email' => $user->getEmail(),
'isConnected' => $this->isUserConnected($user->getUserIdentifier()),
'statut' => $statut,