class RegVehicle_PartAcceptance{ constructor(){ this.name = "regvehicle_partacceptance"; } static GetCustomDestination(data, dest){ return (data.vehicle_id ?? "" != "" ? "regvehicle.view" : "regvehicle.overview"); } static GetCustomDestID(data, destID){ return data.vehicle_id ?? destID; } static allowView(){ return userrights.has("regvehicles.view"); } static allowAddNew(){ return userrights.has("regvehicles.edit"); } static allowEdit(){ return userrights.has("regvehicles.edit"); } static allowDelete(){ return userrights.has("regvehicles.edit"); } static GetExtraForEdit(data){ let retval = { top:"", bottom:"" } let gridData = data.extraData.tuning_options; let html = ""; if(gridData.length == 0 || gridData.length == undefined){ html += `

${getTranslation("no_data_found")}

`; retval.top = html; return retval; } let columns = ["name", "price", "id"]; html = `` for(let i=0; i`; html += ``; for(let k=0; k${getTranslation(columns[k])}`; } html += ``; html += ``; html += ``; } html+=``; for(let j=0; j ${Form.Hidden("input-part_accepted_price_" + row.id, row.price)} `; } else if(key == "price"){ html += ` `; } else{ html += ` `; } } html+=``; } html += ` `; html += ``; html += `
${System.FormatNumber(row[key])} ${row[key] ?? ""}
${getTranslation("sum_total")}: 0
`; retval.top = html; return retval; } static CustomValidation(){ let elements = Array.from(document.querySelectorAll(".part-accepted")); let totalPrice = 0; elements.forEach(function(checkbox){ let price = parseInt(checkbox.getAttribute("data-price")); if(price > 0 && checkbox.checked){ totalPrice += price; } }); document.getElementById("part_acceptance_total_price").innerHTML = System.FormatNumber(totalPrice); Form.validate(); } static GetEdit(data={}){ let retval = { "vehicle_id": { "val" : data.vehicle_id ?? -1 ,"type" : "hidden" ,"mandatory":true ,"isRow":true }, "content": { "val" : data.content ?? "" ,"type" : "textarea" ,"mandatory":true ,isRow:true } } return retval; } }