Files
Facilitor/APPL/MLD/opdr_reject_offer.asp
2025-03-25 10:00:27 +00:00

139 lines
4.9 KiB
Plaintext

<%@ LANGUAGE = JavaScript %>
<% /*
$Revision$
$Id$
File: opdr_reject_offer.asp
Description: Wijs een offerte opdracht af.
Parameters:
opdr_key Opdracht key van de offerte opdracht die moet worden gegewezen
Context:
Note:
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="mld.inc" -->
<%
FCLTHeader.Requires({ plugins: ["jQuery"] });
var opdr_key_arr = getQParamIntArray("opdr_key", []);
if (opdr_key_arr.length == 0)
{
protectRequest.validateToken();
opdr_key_arr = getFParamIntArray("opdr_key") // Automatisch afwijzen andere offertes bij accepteren van één offerte
}
var result = {};
var toberejected = 0;
var maychangeopm = false;
var ingesloten = [];
var opdr_type;
// Bepaal de opdrachten in de selectie die
// ook echt afgewezen kunnen of mogen worden.
for (var i = 0; i < opdr_key_arr.length; i++)
{
var this_opdr = mld.func_enabled_opdracht(opdr_key_arr[i]);
if (this_opdr.canRejectOffer)
{
ingesloten.push(opdr_key_arr[i]);
toberejected++;
if (!maychangeopm && this_opdr.canOpmChange)
maychangeopm = true; // Ik mag voor zeker 1 opdracht de opmerking aanpassen
}
// Zijn bij de melding van deze opdracht alle verplichte kenmerken ingevuld?
var sql = "SELECT mld_melding_key"
+ " FROM mld_opdr o"
+ " WHERE o.mld_opdr_key = " + opdr_key_arr[i];
var oRs = Oracle.Execute(sql);
var mld_key = oRs("mld_melding_key").value;
oRs.Close();
}
user.anything_todo_or_abort(toberejected > 0); // We klagen niet over enkele wel en enkele niet
var result = { opdr_key: ingesloten.join(","), message: "", success: false };
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript">
$(function()
{
$('textarea').resize(function () { FcltMgr.resized(window) } );
$('textarea').autogrow();
});
async function mld_reject()
{
document.activeElement.blur(); // trigger laatste onChanges
if (!await validateForm("rejectform"))
return false;
$.post($("form[name=rejectform]")[0].action, $("[name=rejectform]").serialize(), FcltCallbackClose, "json");;
return true; // disable button
}
function mld_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
</script>
</head>
<body class="fclt-modal" id="mod_rejectoffertebody">
<% MODAL_START(); %>
<% var mld_opdr = mld.mld_opdr_info(opdr_key_arr[0]);
lcl.set_dialect(mld_opdr.opdr_type, "MLD_TYPEOPDR_KEY"); // opdr_type van de laatste opdracht genomen
// Uitvoerende omschrijving bepalen m.b.v. uitvoerende key
sql = "SELECT " + safe.quoted_sql(L("lcl_mld_bedrijf_prefix")) + " || b.prs_bedrijf_naam uitv_omschr"
+ " FROM prs_bedrijf b"
+ " WHERE b.prs_bedrijf_key = " + mld_opdr.uitvoerende_key
+ " UNION ALL"
+ " SELECT " + safe.quoted_sql(L("lcl_mld_person_prefix")) + " ||" + S("prs_pers_string") + " uitv_omschr"
+ " FROM prs_perslid p "
+ " WHERE p.prs_perslid_key = " + mld_opdr.uitvoerende_key;
oRs = Oracle.Execute(sql);
// Waarde moet aanwezig zijn want is verplicht.
var uitvoerende_omschr = oRs("uitv_omschr").value;
oRs.close();
var ttl = L("lcl_mld_opdr_offerte_reject");
if (ingesloten.length == 1)
{
var mld_opdr = mld.mld_opdr_info(ingesloten[0]);
ttl += " " + (mld_opdr.srtdiscprefix || "") + mld_opdr.mld_key + "/" + mld_opdr.mld_opdr_bedrijfopdr_volgnr;
}
%>
<form name="rejectform" action="opdr_reject_offer_save.asp?opdr_key=<%=ingesloten.join(",")%>" method="post">
<%
MODAL_BLOCK_START("offerteReject", ttl, { icon: "fa-times" });
%>
<!-- Opdrachttype en uitvoerende -->
<%
ROFIELDTR("fld", L("lcl_mld_typeopdr"), mld_opdr.opdr_type_omschr); // Opdrachttype
ROFIELDTR("fld", L("lcl_ord_company_uit"), uitvoerende_omschr); // Uitvoerende
// Reden afwijzing
RWTEXTAREATR("opdr_opm",
"fldtxt",
L("lcl_mld_inf_Opmerking"),
(ingesloten.length > 1? "" : mld_opdr.opdr_opmerking),
{html: "rows='8'", readonly: !maychangeopm});
MODAL_BLOCK_END();
var buttons = [ {title: L("lcl_reject"), icon: "fa-fclt-save", action: "mld_reject()", singlepress: true, id: "btn_reject_submit", importance: 1 },
{title: L("lcl_cancel"), icon: "fa-fclt-cancel", action: "mld_cancel()", importance: 3 }];
SIMPLE_BLOCK_START();
CreateButtons(buttons);
SIMPLE_BLOCK_END();
IFACE.FORM_END(); %>
</form>
<% MODAL_END(); %>
</body>
</html>
<% ASPPAGE_END(); %>