finish command provider features
This commit is contained in:
parent
7f61f9bdbf
commit
5ccd469bc8
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -40,7 +40,7 @@ class Bdd {
|
||||
"fk_defunt_id","fk_lieu_id","fk_client_id","fk_thanato_id",
|
||||
"fk_product_id","ht_price",
|
||||
"fk_client_group_id","fk_produit_id","ht_amount","client_group_name",
|
||||
"provider_name","provider_last_name","provider_company_name","provider_siret_number","provider_phone","provider_email","provider_address","provider_city");
|
||||
"provider_name","provider_last_name","provider_company_name","provider_siret_number","provider_phone","provider_email","provider_address","provider_city","fk_provider_id");
|
||||
$this->whiteTable = array("client", "lieu", "trajet", "devis", "produit_devis", "facture", "produit",
|
||||
"configuration", "ligne_trajet", "thanato", "article", "defunt", "article_devis",
|
||||
"bibliotheque", "bijou_defunt", "obs_defunt", "hypo_defunt",
|
||||
|
||||
@ -207,6 +207,7 @@ class OrderBdd {
|
||||
orders.fk_client_id,
|
||||
orders.fk_thanato_id,
|
||||
orders.fk_order_status_key,
|
||||
orders.fk_provider_id,
|
||||
thanato.id as thanato_id,
|
||||
thanato.nom as thanato_nom,
|
||||
thanato.prenom as thanato_prenom,
|
||||
@ -219,13 +220,17 @@ class OrderBdd {
|
||||
lieu.id as lieu_id,
|
||||
lieu.adresse as lieu_adresse,
|
||||
lieu.nom as lieu_nom,
|
||||
order_status.status_label as order_status_label
|
||||
order_status.status_label as order_status_label,
|
||||
provider.provider_name as provider_name,
|
||||
provider.provider_last_name as provider_last_name,
|
||||
provider.provider_company_name as provider_company_name
|
||||
FROM "
|
||||
.$this->orderTablePrefix."orders as orders
|
||||
LEFT JOIN ".$this->orderTablePrefix."thanato as thanato on orders.fk_thanato_id = thanato.id
|
||||
LEFT JOIN ".$this->orderTablePrefix."client as client on orders.fk_client_id = client.id
|
||||
LEFT JOIN ".$this->orderTablePrefix."defunt as defunt on orders.fk_defunt_id = defunt.id
|
||||
LEFT JOIN ".$this->orderTablePrefix."lieu as lieu on orders.fk_lieu_id = lieu.id
|
||||
LEFT JOIN ".$this->orderTablePrefix."provider as provider on orders.fk_provider_id = provider.id
|
||||
LEFT JOIN ".$this->orderTablePrefix."order_status as order_status on orders.fk_order_status_key = order_status.status_key
|
||||
ORDER BY orders.id DESC;
|
||||
"
|
||||
|
||||
@ -4,6 +4,10 @@ import { hideLoader, showLoader,baseUrl } from "../modules/mainFunction.mjs";
|
||||
import { showError, showSuccess } from "@nextcloud/dialogs";
|
||||
|
||||
document.body.addEventListener('click', e => {
|
||||
if(e.target.className.includes("selectProviders")){
|
||||
Provider.loadProvidersIntoSelect(e);
|
||||
return;
|
||||
}
|
||||
if("createDefaultProvider"=== e.target.id){
|
||||
Provider.createDefaultProvider(new DataTable('.tabledt'));
|
||||
return;
|
||||
|
||||
@ -24,6 +24,8 @@ export class Order {
|
||||
this.statusKey = ((myresp.fk_order_status_key == null || myresp.fk_order_status_key.length === 0) ? '-' : myresp.fk_order_status_key);
|
||||
this.productReferences = ((myresp.product_references == null || myresp.product_references.length === 0) ? '-' : myresp.product_references);
|
||||
this.orderDetailsUrl = generateUrl(`/apps/gestion/order/${this.id}/details`);
|
||||
this.fkProviderId = myresp.fk_provider_id;
|
||||
this.providerName = ((myresp.provider_name == null || myresp.provider_name.length === 0) ? '-' : myresp.provider_name);
|
||||
}
|
||||
|
||||
static getClientFullname(myresp){
|
||||
@ -90,6 +92,7 @@ export class Order {
|
||||
'<div class="getThanatosSubcontractor" data-table="orders" data-column="fk_thanato_id" data-id="' + this.id + '" data-current="' + this.thanatoId + '">'+ this.thanatoFullName + '</div>',
|
||||
'<div class="loadSelect_listlieu" data-table="orders" data-column="fk_lieu_id" data-id="' + this.id + '" data-current="' + this.locationId + '">'+ this.locationName + '</div>',
|
||||
'<div>' + this.productReferences + '</div>',
|
||||
'<div class="selectProviders" data-table="orders" data-column="fk_provider_id" data-id="' + this.id + '" data-current="' + this.fkProviderId + '">'+ this.providerName + '</div>',
|
||||
'<div style="'+ Order.getComandStatusCssSytle(this.statusKey) +'">' + this.statusLabel + '</div>',
|
||||
'<div style="display:inline-block;margin-right:0px;width:80%;"><a href="' + this.orderDetailsUrl + '"><button>' + t('gestion', 'Open') + '</button></a>'+'<div data-modifier="orders" data-id=' + this.id + ' data-table="orders" style="display:inline-block;margin-right:0px;" class="deleteItem icon-delete"></div>'
|
||||
];
|
||||
@ -137,4 +140,5 @@ export class Order {
|
||||
};
|
||||
oReq.send();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,23 +1,42 @@
|
||||
import { showError } from "@nextcloud/dialogs";
|
||||
import { updateDB } from "../modules/ajaxRequest.mjs";
|
||||
import { baseUrl, checkSelectPurJs, hideLoader, LoadDT, removeOptions, showDone, showLoader } from "../modules/mainFunction.mjs";
|
||||
import {
|
||||
baseUrl,
|
||||
checkSelectPurJs,
|
||||
hideLoader,
|
||||
LoadDT,
|
||||
removeOptions,
|
||||
showDone,
|
||||
showLoader,
|
||||
} from "../modules/mainFunction.mjs";
|
||||
|
||||
export class Provider {
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @param myresp instantiate client object
|
||||
*/
|
||||
constructor(myresp) {
|
||||
this.id = myresp.id;
|
||||
this.providerName = ((myresp.provider_name.length === 0) ? '-' : myresp.provider_name);
|
||||
this.providerLastName = ((myresp.provider_last_name.length === 0) ? '-' : myresp.provider_last_name);
|
||||
this.providerCompanyName = ((myresp.provider_company_name.length === 0) ? '-' : myresp.provider_company_name);
|
||||
this.providerSiretNumber = ((myresp.provider_siret_number.length === 0) ? '-' : myresp.provider_siret_number);
|
||||
this.providerPhone = ((myresp.provider_phone.length === 0) ? '-' : myresp.provider_phone);
|
||||
this.providerEmail = ((myresp.provider_email.length === 0) ? '-' : myresp.provider_email);
|
||||
this.providerAddress = ((myresp.provider_address.length === 0) ? '-' : myresp.provider_address);
|
||||
this.providerCity = ((myresp.provider_city.length === 0) ? '-' : myresp.provider_city);
|
||||
this.providerName =
|
||||
myresp.provider_name.length === 0 ? "-" : myresp.provider_name;
|
||||
this.providerLastName =
|
||||
myresp.provider_last_name.length === 0 ? "-" : myresp.provider_last_name;
|
||||
this.providerCompanyName =
|
||||
myresp.provider_company_name.length === 0
|
||||
? "-"
|
||||
: myresp.provider_company_name;
|
||||
this.providerSiretNumber =
|
||||
myresp.provider_siret_number.length === 0
|
||||
? "-"
|
||||
: myresp.provider_siret_number;
|
||||
this.providerPhone =
|
||||
myresp.provider_phone.length === 0 ? "-" : myresp.provider_phone;
|
||||
this.providerEmail =
|
||||
myresp.provider_email.length === 0 ? "-" : myresp.provider_email;
|
||||
this.providerAddress =
|
||||
myresp.provider_address.length === 0 ? "-" : myresp.provider_address;
|
||||
this.providerCity =
|
||||
myresp.provider_city.length === 0 ? "-" : myresp.provider_city;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -25,32 +44,66 @@ export class Provider {
|
||||
*/
|
||||
getDTRow() {
|
||||
let myrow = [
|
||||
'<div>' + this.id + '</div>',
|
||||
'<div class="editable" data-table="provider" data-column="provider_name" data-id="' + this.id + '">' + this.providerName + '</div>',
|
||||
'<div class="editable" data-table="provider" data-column="provider_last_name" data-id="' + this.id + '">' + this.providerLastName + '</div>',
|
||||
'<div class="editable" data-table="provider" data-column="provider_company_name" data-id="' + this.id + '">' + this.providerCompanyName + '</div>',
|
||||
'<div class="editable" data-table="provider" data-column="provider_siret_number" data-id="' + this.id + '">' + this.providerSiretNumber + '</div>',
|
||||
'<div class="editable" data-table="provider" data-column="provider_phone" data-id="' + this.id + '">' + this.providerPhone + '</div>',
|
||||
'<div class="editable" data-table="provider" data-column="provider_email" data-id="' + this.id + '">' + this.providerEmail + '</div>',
|
||||
'<div class="editable" data-table="provider" data-column="provider_address" data-id="' + this.id + '">' + this.providerAddress + '</div>',
|
||||
'<div class="editable" data-table="provider" data-column="provider_city" data-id="' + this.id + '">' + this.providerCity + '</div>',
|
||||
'<center><div data-modifier="provider" data-id=' + this.id + ' data-table="provider" style="display:inline-block;margin-right:0px;" class="deleteItem icon-delete"></div></center>'
|
||||
"<div>" + this.id + "</div>",
|
||||
'<div class="editable" data-table="provider" data-column="provider_name" data-id="' +
|
||||
this.id +
|
||||
'">' +
|
||||
this.providerName +
|
||||
"</div>",
|
||||
'<div class="editable" data-table="provider" data-column="provider_last_name" data-id="' +
|
||||
this.id +
|
||||
'">' +
|
||||
this.providerLastName +
|
||||
"</div>",
|
||||
'<div class="editable" data-table="provider" data-column="provider_company_name" data-id="' +
|
||||
this.id +
|
||||
'">' +
|
||||
this.providerCompanyName +
|
||||
"</div>",
|
||||
'<div class="editable" data-table="provider" data-column="provider_siret_number" data-id="' +
|
||||
this.id +
|
||||
'">' +
|
||||
this.providerSiretNumber +
|
||||
"</div>",
|
||||
'<div class="editable" data-table="provider" data-column="provider_phone" data-id="' +
|
||||
this.id +
|
||||
'">' +
|
||||
this.providerPhone +
|
||||
"</div>",
|
||||
'<div class="editable" data-table="provider" data-column="provider_email" data-id="' +
|
||||
this.id +
|
||||
'">' +
|
||||
this.providerEmail +
|
||||
"</div>",
|
||||
'<div class="editable" data-table="provider" data-column="provider_address" data-id="' +
|
||||
this.id +
|
||||
'">' +
|
||||
this.providerAddress +
|
||||
"</div>",
|
||||
'<div class="editable" data-table="provider" data-column="provider_city" data-id="' +
|
||||
this.id +
|
||||
'">' +
|
||||
this.providerCity +
|
||||
"</div>",
|
||||
'<center><div data-modifier="provider" data-id=' +
|
||||
this.id +
|
||||
' data-table="provider" style="display:inline-block;margin-right:0px;" class="deleteItem icon-delete"></div></center>',
|
||||
];
|
||||
return myrow;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {*} providerDatatable
|
||||
*
|
||||
* @param {*} providerDatatable
|
||||
*/
|
||||
static loadProviderDatatable(providerDatatable) {
|
||||
var oReq = new XMLHttpRequest();
|
||||
oReq.open('PROPFIND', baseUrl + '/provider/list', true);
|
||||
oReq.open("PROPFIND", baseUrl + "/provider/list", true);
|
||||
oReq.setRequestHeader("Content-Type", "application/json");
|
||||
oReq.onload = function(e){
|
||||
oReq.onload = function (e) {
|
||||
if (this.status == 200) {
|
||||
LoadDT(providerDatatable, JSON.parse(this.response), Provider);
|
||||
}else{
|
||||
} else {
|
||||
showError(this.response);
|
||||
}
|
||||
};
|
||||
@ -58,23 +111,22 @@ export class Provider {
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {*} dt
|
||||
*
|
||||
* @param {*} dt
|
||||
*/
|
||||
static createDefaultProvider(dt) {
|
||||
var oReq = new XMLHttpRequest();
|
||||
showLoader();
|
||||
oReq.open('POST', baseUrl + '/provider/createDefaultProvider', true);
|
||||
oReq.onload = function(e){
|
||||
oReq.open("POST", baseUrl + "/provider/createDefaultProvider", true);
|
||||
oReq.onload = function (e) {
|
||||
if (this.status == 200) {
|
||||
if(this.response != null){
|
||||
showDone()
|
||||
if (this.response != null) {
|
||||
showDone();
|
||||
Provider.loadProviderDatatable(dt);
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
showError("Erreur dans la création d'un fournisseur");
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
showError("Erreur dans la création d'un fournisseur");
|
||||
}
|
||||
hideLoader();
|
||||
@ -82,5 +134,68 @@ export class Provider {
|
||||
oReq.send();
|
||||
}
|
||||
|
||||
|
||||
static getProviders(callback) {
|
||||
var oReq = new XMLHttpRequest();
|
||||
oReq.open("PROPFIND", baseUrl + "/provider/list", true);
|
||||
oReq.setRequestHeader("Content-Type", "application/json");
|
||||
oReq.onload = function (e) {
|
||||
if (this.status == 200) {
|
||||
callback(JSON.parse(this.response));
|
||||
} else {
|
||||
showError(this.response);
|
||||
}
|
||||
};
|
||||
oReq.send();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {*} e
|
||||
*/
|
||||
static loadProvidersIntoSelect(e) {
|
||||
Provider.getProviders((response) => {
|
||||
var selectElement = document.createElement("select");
|
||||
selectElement.dataset.current = e.target.dataset.current;
|
||||
selectElement.dataset.id = e.target.dataset.id;
|
||||
selectElement.dataset.old = e.target.innerHTML;
|
||||
|
||||
selectElement.addEventListener("change", (el) => {
|
||||
if (el.target.value != 0) {
|
||||
updateDB(
|
||||
el.target.parentElement.dataset.table,
|
||||
el.target.parentElement.dataset.column,
|
||||
el.target.value,
|
||||
el.target.parentElement.dataset.id
|
||||
);
|
||||
|
||||
var parentElement = el.target.parentElement;
|
||||
parentElement.innerHTML =
|
||||
el.target.options[el.target.selectedIndex].text;
|
||||
parentElement.dataset.current = el.target.value;
|
||||
} else {
|
||||
var parentElement = el.target.parentElement;
|
||||
parentElement.innerHTML = el.target.dataset.old;
|
||||
}
|
||||
});
|
||||
|
||||
var option = document.createElement("option");
|
||||
option.value = 0;
|
||||
option.text = t("gestion", "Cancel");
|
||||
selectElement.appendChild(option);
|
||||
|
||||
JSON.parse(response).forEach((myresp) => {
|
||||
var txt = document.createElement("textarea");
|
||||
txt.innerHTML = myresp.provider_name;
|
||||
var option = document.createElement("option");
|
||||
option.value = myresp.id;
|
||||
option.text = txt.value;
|
||||
selectElement.appendChild(option);
|
||||
});
|
||||
|
||||
checkSelectPurJs(selectElement);
|
||||
|
||||
e.target.innerHTML = "";
|
||||
e.target.appendChild(selectElement);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import DataTable from "datatables.net";
|
||||
import { globalConfiguration, optionDatatable } from "./modules/mainFunction.mjs";
|
||||
import "./listener/main_listener";
|
||||
import "./listener/orderListener";
|
||||
import "./listener/providerListener";
|
||||
import { Order } from "./objects/order.mjs";
|
||||
window.addEventListener("DOMContentLoaded", function () {
|
||||
globalConfiguration();
|
||||
|
||||
@ -23,6 +23,7 @@
|
||||
<th><?php p($l->t('Thanatopracteur'));?></th>
|
||||
<th><?php p($l->t('Lieu'));?></th>
|
||||
<th><?php p($l->t('Type de soins'));?></th>
|
||||
<th><?php p($l->t('Fournisseur'));?></th>
|
||||
<th><?php p($l->t('Etat'));?></th>
|
||||
<th><?php p($l->t('Actions'));?></th>
|
||||
</tr>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user