ScoDocMobile/src/ScoDoc/GestionSemestre/Absences/supprAbs.js

61 lines
2.0 KiB
JavaScript

import React, {Component} from "react";
import {Button, Modal} from "react-bootstrap";
import {post} from "../../Request";
/** Module de suppression des absences */
class SupprAbs extends Component {
constructor(props){
super(props)
this.state = {
isOpen: false,
etudid: "",
}
}
openModal = () => this.setState({ isOpen: true });
closeModal = () => this.setState({ isOpen: false });
componentDidUpdate(prevProps) {
if (prevProps.open !== this.props.open) {
this.setState({etudid: this.props.etudid})
if (this.props.open === true) {
this.setState({isOpen: true})
}
}
}
/**
* Envoie une requête POST a l'API
* @param data {String} - Données à envoyer sous la forme param1=val1&param2=val2...
*/
postData() {
let dept = window.location.href.split('/')[7]
let BASE_URL = window.$api_url
let data = "datedebut=" + this.props.data.date + "&datefin=" + this.props.data.date +
"&demijournee=" + this.props.data.demijournee + "&etudid=" + this.state.etudid
post(BASE_URL + dept + "/Scolarite/Absences/doAnnuleAbsence", data)
// Fermeture du modal
this.setState({isOpen: false})
}
render() {
return (
<>
<Modal show={this.state.isOpen} onHide={this.closeModal}>
<Modal.Header closeButton>
<Modal.Title>Suppression d'absence</Modal.Title>
</Modal.Header>
<Modal.Body>
<p>Etes-vous sûr.e de vouloir supprimer cette absence ?</p>
</Modal.Body>
<Modal.Footer>
<Button variant="danger" onClick={() => {this.postData()}}>Supprimer</Button>
<Button variant="secondary" onClick={() => {this.closeModal()}}>Fermer</Button>
</Modal.Footer>
</Modal>
</>
)
}
}
export default SupprAbs