First name is not required

This commit is contained in:
William Bouzourène 2025-03-24 15:45:06 +01:00
parent cc3eaa8c4f
commit 712c504de6
3 changed files with 29 additions and 42 deletions

View file

@ -113,7 +113,7 @@ func Contacts(c *fiber.Ctx) error {
).Limit( ).Limit(
pagination.PageSize, pagination.PageSize,
).Order( ).Order(
"last_name collate nocase asc, first_name collate nocase asc", "concat(last_name, first_name) collate nocase asc",
).Preload( ).Preload(
"Section", "Section",
).Find( ).Find(
@ -134,7 +134,7 @@ func Contacts(c *fiber.Ctx) error {
).Limit( ).Limit(
pagination.PageSize, pagination.PageSize,
).Order( ).Order(
"last_name collate nocase asc, first_name collate nocase asc", "concat(last_name, first_name) collate nocase asc",
).Preload( ).Preload(
"Section", "Section",
).Find( ).Find(
@ -458,11 +458,10 @@ func ContactShow(c *fiber.Ctx) error {
return fiber.NewError(fiber.StatusForbidden, "Forbidden") return fiber.NewError(fiber.StatusForbidden, "Forbidden")
} }
title := fmt.Sprintf( title := fmt.Sprintf("%s | Contact", person.FirstName)
"%s %s | Contact", if person.LastName != "" {
person.LastName, title = fmt.Sprintf("%s %s", person.LastName, title)
person.FirstName, }
)
var fields []models.Field var fields []models.Field
db.Order("position asc").Preload( db.Order("position asc").Preload(
@ -557,13 +556,11 @@ func ContactAdd(c *fiber.Ctx) error {
for _, validErr := range validErrs.(validator.ValidationErrors) { for _, validErr := range validErrs.(validator.ValidationErrors) {
switch validErr.Field() { switch validErr.Field() {
case "LastName": case "LastName":
errors = append(errors, "Le nom de famille est requis et ne peut pas contenir plus de 100 caractères") errors = append(errors, "Le nom de famille ne peut pas contenir plus de 100 caractères")
case "FirstName": case "FirstName":
errors = append(errors, "Le prénom est requis et ne peut pas contenir plus de 100 caractères") errors = append(errors, "Le prénom est requis et ne peut pas contenir plus de 100 caractères")
case "Email": case "Email":
if len(data.Email) > 0 {
errors = append(errors, "L'adresse email doit être valide") errors = append(errors, "L'adresse email doit être valide")
}
case "Phone": case "Phone":
errors = append(errors, "Le numéro de téléphone fixe est trop long") errors = append(errors, "Le numéro de téléphone fixe est trop long")
case "Mobile": case "Mobile":
@ -759,11 +756,10 @@ func ContactEdit(c *fiber.Ctx) error {
return fiber.NewError(fiber.StatusForbidden, "Forbidden") return fiber.NewError(fiber.StatusForbidden, "Forbidden")
} }
title := fmt.Sprintf( title := fmt.Sprintf("%s | Modifier contact", person.FirstName)
"%s %s | Modifier contact", if person.LastName != "" {
person.LastName, title = fmt.Sprintf("%s %s", person.LastName, title)
person.FirstName, }
)
var sections []models.Section var sections []models.Section
db.Order("name collate nocase asc").Find( db.Order("name collate nocase asc").Find(
@ -808,13 +804,11 @@ func ContactEdit(c *fiber.Ctx) error {
for _, validErr := range validErrs.(validator.ValidationErrors) { for _, validErr := range validErrs.(validator.ValidationErrors) {
switch validErr.Field() { switch validErr.Field() {
case "LastName": case "LastName":
errors = append(errors, "Le nom de famille est requis et ne peut pas contenir plus de 100 caractères") errors = append(errors, "Le nom de famille ne peut pas contenir plus de 100 caractères")
case "FirstName": case "FirstName":
errors = append(errors, "Le prénom est requis et ne peut pas contenir plus de 100 caractères") errors = append(errors, "Le prénom est requis et ne peut pas contenir plus de 100 caractères")
case "Email": case "Email":
if len(data.Email) > 0 {
errors = append(errors, "L'adresse email doit être valide") errors = append(errors, "L'adresse email doit être valide")
}
case "Phone": case "Phone":
errors = append(errors, "Le numéro de téléphone fixe est trop long") errors = append(errors, "Le numéro de téléphone fixe est trop long")
case "Mobile": case "Mobile":

View file

@ -15,7 +15,7 @@ import (
) )
type PersonValidation struct { type PersonValidation struct {
LastName string `validate:"required,min=1,max=100"` LastName string `validate:"max=100"`
FirstName string `validate:"required,min=1,max=100"` FirstName string `validate:"required,min=1,max=100"`
Email string `validate:"max=100"` Email string `validate:"max=100"`
Phone string `validate:"max=100"` Phone string `validate:"max=100"`
@ -126,7 +126,7 @@ func Members(c *fiber.Ctx) error {
).Limit( ).Limit(
pagination.PageSize, pagination.PageSize,
).Order( ).Order(
"last_name collate nocase asc, first_name collate nocase asc", "concat(last_name, first_name) collate nocase asc",
).Preload( ).Preload(
"Section", "Section",
).Find( ).Find(
@ -147,7 +147,7 @@ func Members(c *fiber.Ctx) error {
).Limit( ).Limit(
pagination.PageSize, pagination.PageSize,
).Order( ).Order(
"last_name collate nocase asc, first_name collate nocase asc", "concat(last_name, first_name) collate nocase asc",
).Preload( ).Preload(
"Section", "Section",
).Find( ).Find(
@ -471,11 +471,10 @@ func MemberShow(c *fiber.Ctx) error {
return fiber.NewError(fiber.StatusForbidden, "Forbidden") return fiber.NewError(fiber.StatusForbidden, "Forbidden")
} }
title := fmt.Sprintf( title := fmt.Sprintf("%s | Membre", person.FirstName)
"%s %s | Membre", if person.LastName != "" {
person.LastName, title = fmt.Sprintf("%s %s", person.LastName, title)
person.FirstName, }
)
var fields []models.Field var fields []models.Field
db.Order("position asc").Preload( db.Order("position asc").Preload(
@ -570,13 +569,11 @@ func MemberAdd(c *fiber.Ctx) error {
for _, validErr := range validErrs.(validator.ValidationErrors) { for _, validErr := range validErrs.(validator.ValidationErrors) {
switch validErr.Field() { switch validErr.Field() {
case "LastName": case "LastName":
errors = append(errors, "Le nom de famille est requis et ne peut pas contenir plus de 100 caractères") errors = append(errors, "Le nom de famille ne peut pas contenir plus de 100 caractères")
case "FirstName": case "FirstName":
errors = append(errors, "Le prénom est requis et ne peut pas contenir plus de 100 caractères") errors = append(errors, "Le prénom est requis et ne peut pas contenir plus de 100 caractères")
case "Email": case "Email":
if len(data.Email) > 0 {
errors = append(errors, "L'adresse email doit être valide") errors = append(errors, "L'adresse email doit être valide")
}
case "Phone": case "Phone":
errors = append(errors, "Le numéro de téléphone fixe est trop long") errors = append(errors, "Le numéro de téléphone fixe est trop long")
case "Mobile": case "Mobile":
@ -772,11 +769,10 @@ func MemberEdit(c *fiber.Ctx) error {
return fiber.NewError(fiber.StatusForbidden, "Forbidden") return fiber.NewError(fiber.StatusForbidden, "Forbidden")
} }
title := fmt.Sprintf( title := fmt.Sprintf("%s | Modifier membre", person.FirstName)
"%s %s | Modifier membre", if person.LastName != "" {
person.LastName, title = fmt.Sprintf("%s %s", person.LastName, title)
person.FirstName, }
)
var sections []models.Section var sections []models.Section
db.Order("name collate nocase asc").Find( db.Order("name collate nocase asc").Find(
@ -821,13 +817,11 @@ func MemberEdit(c *fiber.Ctx) error {
for _, validErr := range validErrs.(validator.ValidationErrors) { for _, validErr := range validErrs.(validator.ValidationErrors) {
switch validErr.Field() { switch validErr.Field() {
case "LastName": case "LastName":
errors = append(errors, "Le nom de famille est requis et ne peut pas contenir plus de 100 caractères") errors = append(errors, "Le nom de famille ne peut pas contenir plus de 100 caractères")
case "FirstName": case "FirstName":
errors = append(errors, "Le prénom est requis et ne peut pas contenir plus de 100 caractères") errors = append(errors, "Le prénom est requis et ne peut pas contenir plus de 100 caractères")
case "Email": case "Email":
if len(data.Email) > 0 {
errors = append(errors, "L'adresse email doit être valide") errors = append(errors, "L'adresse email doit être valide")
}
case "Phone": case "Phone":
errors = append(errors, "Le numéro de téléphone fixe est trop long") errors = append(errors, "Le numéro de téléphone fixe est trop long")
case "Mobile": case "Mobile":

View file

@ -59,7 +59,6 @@
class="form-control" class="form-control"
type="text" type="text"
name="last_name" name="last_name"
required
value="{{ Person.LastName }}" value="{{ Person.LastName }}"
autofocus autofocus
autocomplete="off" autocomplete="off"