Skip to content

Commit

Permalink
Merge pull request #257 from Sterbenfr/fix/livraison
Browse files Browse the repository at this point in the history
fix(livraison): fix
  • Loading branch information
Maxime-Labbe authored Jul 30, 2024
2 parents 44bb6d2 + 528371b commit 452a1ea
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 114 deletions.
113 changes: 18 additions & 95 deletions app/dons/[donsID]/modalites-livraison/[modalites_livraisonID]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ interface Modalite_livraisonID {
prenom_contact_livraison: string
telephone_contact_livraison: string
mail_contact_livraison: string
nombre_palettes_prevu: number
nombre_palettes_consignees_prevu: number
nombre_cartons_prevu: number
poids_prevu_kg: number
nombre_palettes_prevu: string
nombre_palettes_consignees_prevu: string
nombre_cartons_prevu: string
poids_prevu_kg: string
produits_sur_palettes: string
temperature_conserv_produits: number
temperature_conserv_produits: string
commentaires: string
pieces_associees: string
libelle_type_livraison: string
Expand Down Expand Up @@ -196,48 +196,6 @@ function Modalites_livraisonPage({
: new Date().toISOString().split('T')[0]
}

const handleHeureChange = (event: React.ChangeEvent<HTMLInputElement>) => {
if (
event.target.value[event.target.value.length - 1] === ':' ||
!isNaN(parseInt(event.target.value[event.target.value.length - 1]))
) {
if (parseInt(event.target.value.slice(0, 2)) > 23) {
event.target.value = '23' + event.target.value.slice(2)
}
if (parseInt(event.target.value.slice(3, 5)) > 59) {
event.target.value =
event.target.value.slice(0, 3) +
'59' +
event.target.value.slice(5)
}
if (parseInt(event.target.value.slice(6, 8)) > 59) {
event.target.value =
event.target.value.slice(0, 6) +
'59' +
event.target.value.slice(8)
}
if (
event.target.value.length === 3 &&
event.target.value[2] !== ':'
) {
event.target.value =
event.target.value.slice(0, 2) + ':' + event.target.value[2]
}
if (event.target.value.length === 5) {
event.target.value = event.target.value + ':00'
}
if (event.target.value.length === 7) {
event.target.value = event.target.value.slice(0, 5)
}
modalite_livraison[0].heure_prevue_livraison = event.target.value
} else {
event.target.value = event.target.value.slice(
0,
event.target.value.length - 1,
)
}
}

const handleFileChange: React.ChangeEventHandler<
HTMLInputElement
> = event => {
Expand Down Expand Up @@ -267,9 +225,6 @@ function Modalites_livraisonPage({
'adresse_livraison',
'telephone_contact_livraison',
'mail_contact_livraison',
'nombre_palettes_prevu',
'nombre_palettes_consignees_prevu',
'nombre_cartons_prevu',
]

keysToCheck.forEach(key => {
Expand Down Expand Up @@ -301,12 +256,6 @@ function Modalites_livraisonPage({
if (
!modifiedModalite_livraison.adresse_enlevement ||
modifiedModalite_livraison.adresse_enlevement.trim() === '' ||
!modifiedModalite_livraison.nombre_palettes_prevu ||
modifiedModalite_livraison.nombre_palettes_prevu === 0 ||
!modifiedModalite_livraison.nombre_palettes_consignees_prevu ||
modifiedModalite_livraison.nombre_palettes_consignees_prevu === 0 ||
!modifiedModalite_livraison.nombre_cartons_prevu ||
modifiedModalite_livraison.nombre_cartons_prevu === 0 ||
!(
modifiedModalite_livraison.telephone_contact_enlevement ||
modifiedModalite_livraison.mail_contact_enlevement
Expand Down Expand Up @@ -602,38 +551,14 @@ function Modalites_livraisonPage({
<p className={style.titre}>
Heure prévue livraison :
</p>
{modify &&
session?.user.role ===
('AD' || 'AP' || 'EN' || 'SU') ? (
<input
className={style.selectF}
type='input'
name='heure_prevue_livraison'
value={
modifiedModalite_livraison.heure_prevue_livraison
}
placeholder={
modalite_livraison[0]
.heure_prevue_livraison ==
null ||
modalite_livraison[0]
.heure_prevue_livraison === ''
? 'Exemple: 14:20'
: 'Actuellement: ' +
modalite_livraison[0]
.heure_prevue_livraison
}
onInput={handleHeureChange}
/>
) : (
<p>
{modalite_livraison[0]
.heure_prevue_livraison == null
? '/'
: modalite_livraison[0]
.heure_prevue_livraison}
</p>
)}

<p>
{modalite_livraison[0]
.heure_prevue_livraison == (null || '')
? '/'
: modalite_livraison[0]
.heure_prevue_livraison}
</p>
</div>
</div>

Expand Down Expand Up @@ -1129,8 +1054,7 @@ function Modalites_livraisonPage({
type='number'
name='nombre_palettes_prevu'
value={
modifiedModalite_livraison.nombre_palettes_prevu ??
''
modifiedModalite_livraison.nombre_palettes_prevu
}
placeholder={
modalite_livraison[0]
Expand All @@ -1156,7 +1080,8 @@ function Modalites_livraisonPage({
) : (
<p>
{modalite_livraison[0]
.nombre_palettes_prevu == null
.nombre_palettes_prevu ==
(null || '')
? '/'
: modalite_livraison[0]
.nombre_palettes_prevu}
Expand All @@ -1179,8 +1104,7 @@ function Modalites_livraisonPage({
type='number'
name='nombre_palettes_consignees_prevu'
value={
modifiedModalite_livraison.nombre_palettes_consignees_prevu ??
''
modifiedModalite_livraison.nombre_palettes_consignees_prevu
}
placeholder={
modalite_livraison[0]
Expand Down Expand Up @@ -1230,8 +1154,7 @@ function Modalites_livraisonPage({
type='number'
name='nombre_cartons_prevu'
value={
modifiedModalite_livraison.nombre_cartons_prevu ??
''
modifiedModalite_livraison.nombre_cartons_prevu
}
placeholder={
modalite_livraison[0]
Expand Down
32 changes: 20 additions & 12 deletions app/dons/[donsID]/modalites-livraison/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ export interface ModalitesLivraison {
prenom_contact_livraison: string
telephone_contact_livraison: string
mail_contact_livraison: string
nombre_palettes_prevu: number
nombre_palettes_consignees_prevu: number
nombre_cartons_prevu: number
poids_prevu_kg: number
nombre_palettes_prevu: string
nombre_palettes_consignees_prevu: string
nombre_cartons_prevu: string
poids_prevu_kg: string
produits_sur_palettes: string
temperature_conserv_produits: number
temperature_conserv_produits: string
commentaires: string
pieces_associees: Blob
}
Expand Down Expand Up @@ -68,7 +68,7 @@ function ModalitesLivraisonPage({ params }: { params: { donsID: string } }) {
const [codeDon] = useState(params.donsID)
const [codeTypeLivraison, setCodeTypeLivraison] = useState('')
const [datePrevueLivraison, setDatePrevueLivraison] = useState(new Date())
const [heurePrevueLivraison, setHeurePrevueLivraison] = useState('')
const [heurePrevueLivraison, setHeurePrevueLivraison] = useState('12:00:00')
const [adresseEnlevement, setAdresseEnlevement] = useState('')
const [civiliteContactEnlevement, setCiviliteContactEnlevement] =
useState('')
Expand Down Expand Up @@ -309,7 +309,6 @@ function ModalitesLivraisonPage({ params }: { params: { donsID: string } }) {
id: 'heure_prevue_livraison',
type: 'input',
value: heurePrevueLivraison,
required: true,
maxLength: 8,
onInputChange: handleHeurePrevueLivraison,
placeholder: 'Exemple: 14:00',
Expand All @@ -320,7 +319,6 @@ function ModalitesLivraisonPage({ params }: { params: { donsID: string } }) {
placeholder: 'Exemple: 1 rue de la Paix, 75000 Paris',
value: adresseEnlevement,
maxLength: 255,
required: true,
onInputChange: handleAdresseEnlevement,
},
{
Expand All @@ -337,7 +335,7 @@ function ModalitesLivraisonPage({ params }: { params: { donsID: string } }) {
placeholder: 'Exemple: Dupont',
maxLength: 20,
onInputChange: handleNomContactEnlevement,
}, // a voir si select
},
{
id: 'prenom_contact_enlevement',
type: 'input',
Expand Down Expand Up @@ -421,23 +419,23 @@ function ModalitesLivraisonPage({ params }: { params: { donsID: string } }) {
type: 'number',
value: nombrePalettesPrevu,
placeholder: 'Exemple: 10',
required: true,
maxLength: 10,
onInputChange: handleNombrePalettesPrevu,
},
{
id: 'nombre_palettes_consignees_prevu',
type: 'number',
value: nombrePalettesConsigneesPrevu,
placeholder: 'Exemple: 7',
required: true,
maxLength: 10,
onInputChange: handleNombrePalettesConsigneesPrevu,
},
{
id: 'nombre_cartons_prevu',
type: 'number',
value: nombreCartonsPrevu,
placeholder: 'Exemple: 34',
required: true,
maxLength: 10,
onInputChange: handleNombreCartonsPrevu,
},
{
Expand Down Expand Up @@ -476,6 +474,15 @@ function ModalitesLivraisonPage({ params }: { params: { donsID: string } }) {
if (fields[FindIndex('poids_prevu_kg')].value === '') {
fields[FindIndex('poids_prevu_kg')].value = null
}
if (fields[FindIndex('nombre_cartons_prevu')].value === '') {
fields[FindIndex('nombre_cartons_prevu')].value = null
}
if (fields[FindIndex('nombre_palettes_consignees_prevu')].value === '') {
fields[FindIndex('nombre_palettes_consignees_prevu')].value = null
}
if (fields[FindIndex('nombre_palettes_prevu')].value === '') {
fields[FindIndex('nombre_palettes_prevu')].value = null
}
if (fields[FindIndex('telephone_contact_livraison')].value !== '') {
fields[FindIndex('mail_contact_livraison')].required = false
} else if (fields[FindIndex('mail_contact_livraison')].value !== '') {
Expand Down Expand Up @@ -533,6 +540,7 @@ function ModalitesLivraisonPage({ params }: { params: { donsID: string } }) {
type: 'number',
placeholder: 'Exemple: 27',
value: temperatureConservProduits,
maxLength: 3,
onInputChange: handleTemperatureConservProduits,
})

Expand Down
14 changes: 7 additions & 7 deletions migration/13-Table-Modalites-Livraison.sql
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ CREATE TABLE ModalitesLivraison (
code_Don INT NOT NULL,
code_type_livraison CHAR(3) NOT NULL,
date_prevue_livraison DATE NOT NULL,
heure_prevue_livraison TIME NOT NULL,
adresse_enlevement VARCHAR(255) NOT NULL,
heure_prevue_livraison TIME,
adresse_enlevement VARCHAR(255),
civilite_contact_enlevement VARCHAR(3),
nom_contact_enlevement VARCHAR(20),
prenom_contact_enlevement VARCHAR(20),
Expand All @@ -17,12 +17,12 @@ CREATE TABLE ModalitesLivraison (
prenom_contact_livraison VARCHAR(20),
telephone_contact_livraison VARCHAR(12),
mail_contact_livraison VARCHAR(255),
nombre_palettes_prevu INT,
nombre_palettes_consignees_prevu INT,
nombre_cartons_prevu INT,
poids_prevu_kg INT,
nombre_palettes_prevu VARCHAR(10),
nombre_palettes_consignees_prevu VARCHAR(10),
nombre_cartons_prevu VARCHAR(10),
poids_prevu_kg VARCHAR(10),
produits_sur_palettes ENUM('O', 'N'),
temperature_conserv_produits INT,
temperature_conserv_produits VARCHAR(3),
commentaires VARCHAR(200),
pieces_associees VARCHAR(200),
PRIMARY KEY (numero_livraison),
Expand Down

0 comments on commit 452a1ea

Please sign in to comment.