61 lines
2.0 KiB
JavaScript
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¶m2=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 |