import { showError } from "@nextcloud/dialogs"; import { generateUrl } from "@nextcloud/router"; import { baseUrl, LoadDT, showDone } from "../modules/mainFunction.mjs"; import { Devis } from "./devis.mjs"; export class Facture { /** * Facture object * @param myresp instantiate Facture object */ constructor(myresp) { this.id = myresp.id; this.user_id = myresp.user_id; this.date = ((myresp.date == null || myresp.date.length === 0) ? '-' : myresp.date); this.num = ((myresp.num == null || myresp.num.length === 0) ? '-' : myresp.num); this.version = ((myresp.version == null || myresp.version.length === 0) ? '-' : myresp.version); this.date_paiement = ((myresp.date_paiement == null || myresp.date_paiement.length === 0) ? '-' : myresp.date_paiement); this.type_paiement = ((myresp.type_paiement == null || myresp.type_paiement.length === 0) ? '-' : myresp.type_paiement); this.dnum = ((myresp.dnum == null || myresp.dnum.length === 0) ? '-' : myresp.dnum); this.nom_defunt = ((myresp.nom_defunt == null || myresp.nom_defunt.length == 0) ? '-' : myresp.nom_defunt); this.nom = ((myresp.nom == null || myresp.nom.length === 0) ? '-' : myresp.nom); this.lieu = ((myresp.lieu == null || myresp.lieu.length === 0) ? '-' : myresp.lieu); this.prenom = ((myresp.prenom == null || myresp.prenom.length === 0) ? '-' : myresp.prenom); this.status_paiement = ((myresp.status_paiement == null || myresp.status_paiement.length === 0) ? '-' : myresp.status_paiement); this.id_devis = ((myresp.id_devis == null || myresp.id_devis.length === 0) ? '-' : myresp.id_devis); this.baseUrl = generateUrl(`/apps/gestion/facture/${this.id}/show`); this.factureProduits = Devis.getDevisProduitsString(myresp); } /** * Get datatable row for a devis */ getDTRow() { let myrow = [ '
' + this.user_id + '
', '
' + this.num + '
', '', '', '
' + this.type_paiement + '
', '
' + this.nom_defunt + ' | ' + this.prenom + ' ' + this.nom + '
', '
' + this.lieu + '
', '
' + this.factureProduits + '
', '
' + this.status_paiement + '
', '
', ]; return myrow; } static loadFactureDT(factureDT) { var oReq = new XMLHttpRequest(); oReq.open('PROPFIND', baseUrl + '/getFacturesWithProduits', true); oReq.setRequestHeader("Content-Type", "application/json"); oReq.onload = function(e){ if (this.status == 200) { LoadDT(factureDT, JSON.parse(this.response), Facture); // Devis.loadDevisList(); // configuration(checkAutoIncrement); }else{ showError(this.response); } }; oReq.send(); } /** * * @param {*} dt */ static newFacture(dt) { var oReq = new XMLHttpRequest(); oReq.open('POST', baseUrl + '/facture/insert', true); oReq.onload = function(e){ if (this.status == 200) { showDone() Facture.loadFactureDT(dt); }else{ showError(this.response); } }; oReq.send(); } }