VEBE#39163 Contract kopiëren toegevoegd
svn path=/Website/trunk/; revision=33490
This commit is contained in:
@@ -1056,6 +1056,9 @@ cnt = { setcontractstatus:
|
||||
cresult.canChange = (cresult.canChangeFlex && !cnt_info.isAbonnement) ||
|
||||
(haveCNTMSUrights && (S("cnt_inactivate_mode") == 0 || (S("cnt_inactivate_mode") == 1 && cresult.canMANwrite))) ||
|
||||
canChangeAbonnement;
|
||||
|
||||
cresult.canCopy = (cresult.canMANwrite && cresult.canMANread) || (S("cnt_contract_approval") == 1 && cresult.canUSEwrite && cresult.canUSEread);
|
||||
|
||||
cresult.canChangeAlg = cresult.canChange &&
|
||||
!(actief && cresult.canUSEwrite && !cresult.canMANwrite && !haveCNTMSUrights); // Alleen nog status Actief(0) uitsluiten bij ALLEEN CNTUSE rechten (zie overzicht hierboven).
|
||||
cresult.canChangeKosten = (cresult.canMANwrite ||
|
||||
@@ -1109,6 +1112,7 @@ cnt = { setcontractstatus:
|
||||
cresult.canUSEread = cresult.canRead("WEB_CNTUSE") || cresult.mijncontract;
|
||||
cresult.canUSEwrite = cresult.canWrite("WEB_CNTUSE");
|
||||
cresult.canReadAny = cresult.canUSEread || cresult.canMANread;
|
||||
cresult.canCopy = (cresult.canMANwrite && cresult.canMANread) || (S("cnt_contract_approval") == 1 && cresult.canUSEwrite && cresult.canUSEread);
|
||||
|
||||
return cresult;
|
||||
},
|
||||
|
||||
@@ -31,6 +31,7 @@ FCLTHeader.Requires({ plugins: ["suggest","jQuery"],
|
||||
|
||||
var verynew = getQParamInt("verynew", 0) == 1;
|
||||
var cnt_key = getQParamInt("cnt_key", -1);
|
||||
var copy = (getQParamInt("cnt_copy", 0) == 1);
|
||||
|
||||
var transitParam = "";
|
||||
if (verynew)
|
||||
@@ -48,7 +49,10 @@ if (cnt_key > 0)
|
||||
if (oRs.eof)
|
||||
shared.record_not_found();
|
||||
hasFactuurschema = (oRs("cnt_disc_params_factuurschema").Value == 1);
|
||||
tabtitle += " "+ oRs("cnt_contract_nummer_intern").Value + (oRs("cnt_contract_versie").Value ? "."+oRs("cnt_contract_versie").Value : "");
|
||||
if (copy)
|
||||
tabtitle = L("lcl_cnt_copy") + " " + tabtitle.toLowerCase();
|
||||
else
|
||||
tabtitle += " "+ oRs("cnt_contract_nummer_intern").Value + (oRs("cnt_contract_versie").Value ? "."+oRs("cnt_contract_versie").Value : "");
|
||||
oRs.close();
|
||||
}
|
||||
%>
|
||||
@@ -72,7 +76,7 @@ if (cnt_key > 0)
|
||||
}
|
||||
if (params.keepForm)
|
||||
return;
|
||||
<% if (cnt_key == -1)
|
||||
<% if (cnt_key == -1 || copy)
|
||||
{ %>
|
||||
if (params.cancel)
|
||||
{
|
||||
@@ -104,7 +108,7 @@ if (cnt_key > 0)
|
||||
|
||||
<body>
|
||||
<%
|
||||
if (cnt_key == -1)
|
||||
if (cnt_key == -1 || copy)
|
||||
{
|
||||
var page="cnt_edit_contract.asp"; // Maak een nieuw
|
||||
|
||||
@@ -189,6 +193,8 @@ if (cnt_key > 0)
|
||||
</div>
|
||||
<% }
|
||||
}
|
||||
if (copy)
|
||||
transitParam += "&cnt_copy=1";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -200,7 +206,7 @@ if (cnt_key > 0)
|
||||
initHeight: "450px",
|
||||
FcltClose: "contractClose"
|
||||
} );
|
||||
if (cnt_key > 0)
|
||||
if (cnt_key > 0 && !copy)
|
||||
{
|
||||
// ===================== CONTRACTNOTES FRAME ============================
|
||||
// Future extension kan zijn hiervoor WEB_CNTUSE te vereisen,
|
||||
|
||||
@@ -30,11 +30,22 @@ FCLTHeader.Requires({plugins:["jQuery"],
|
||||
|
||||
var cnt_key = getQParamInt("cnt_key");
|
||||
var l_cnt_srt = getQParamInt("srtdisc", -1);
|
||||
var copy = (getQParamInt("cnt_copy", 0) == 1);
|
||||
|
||||
var transitParam = "&cnt_key="+cnt_key;
|
||||
var cnt_copy_key = -1;
|
||||
if (copy)
|
||||
{
|
||||
cnt_copy_key = cnt_key;
|
||||
cnt_key = -1;
|
||||
transitParam = "&cnt_key="+cnt_copy_key+"&cnt_copy=1";
|
||||
}
|
||||
__DoLog("Koen: " + transitParam);
|
||||
if (cnt_key > -1)
|
||||
{
|
||||
var cnt_info = cnt.cnt_contract_info(cnt_key); // nog heel beperkt
|
||||
var this_cnt = cnt.func_enabled_contract(cnt_key, cnt_info); // Wat heb ik zoal aan rechten op dit contract?
|
||||
|
||||
user.auth_required_or_abort(this_cnt.canChange);
|
||||
|
||||
if (!cnt_info.locked_user_key || cnt_info.locked_user_key == user_key)
|
||||
@@ -45,17 +56,41 @@ if (cnt_key > -1)
|
||||
}
|
||||
else // nieuw contract
|
||||
{
|
||||
if (S("cnt_contract_approval") == 1)
|
||||
{ // Als het approval mechanisme actief is mag ik met WEB_CNTUSE rechten ook een contract aanmaken.
|
||||
var autfunction = ["WEB_CNTUSE", "WEB_CNTMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
if (copy)
|
||||
{
|
||||
var cnt_info = cnt.cnt_contract_info(cnt_copy_key);
|
||||
var this_cnt = cnt.func_enabled_contract(cnt_copy_key, cnt_info);
|
||||
user.auth_required_or_abort(this_cnt.canCopy);
|
||||
cnt_info.cnt_key = -1;
|
||||
cnt_info.nummer_intern = null;
|
||||
l_cnt_srt = getQParam("srtdisc", -1);
|
||||
}
|
||||
else
|
||||
{
|
||||
var autfunction = "WEB_CNTMAN";
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
}
|
||||
var cnt_info = {contract_status: S("cnt_contract_approval") == 1 ? 2 : 0};
|
||||
|
||||
if (S("cnt_contract_approval") == 1)
|
||||
{ // Als het approval mechanisme actief is mag ik met WEB_CNTUSE rechten ook een contract aanmaken.
|
||||
var autfunction = ["WEB_CNTUSE", "WEB_CNTMAN"];
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
}
|
||||
else
|
||||
{
|
||||
var autfunction = "WEB_CNTMAN";
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
}
|
||||
|
||||
var authparamsUSE = user.checkAutorisation("WEB_CNTUSE", true) || {PRSreadlevel: 9, PRSwritelevel: 9};
|
||||
|
||||
var this_cnt = {canChangeKosten: true,
|
||||
canChangeAlg: true,
|
||||
isAbonnement: false,
|
||||
// Volgende 4 worden voor de flex gebruikt
|
||||
canMANread : authparams.PRSreadlevel < 9,
|
||||
canUSEread : authparamsUSE.PRSreadlevel < 9,
|
||||
canMANwrite : authparams.PRSwritelevel < 9,
|
||||
canUSEwrite : authparamsUSE.PRSwritelevel < 9 };
|
||||
}
|
||||
|
||||
var sql = "SELECT dp.cnt_srtcontract_type,"
|
||||
+ " dp.cnt_disc_params_factuurschema,"
|
||||
@@ -69,25 +104,15 @@ else // nieuw contract
|
||||
+ " AND cs.ins_discipline_key = " + l_cnt_srt;
|
||||
var oRs = Oracle.Execute( sql );
|
||||
|
||||
var authparamsUSE = user.checkAutorisation("WEB_CNTUSE", true) || {PRSreadlevel: 9, PRSwritelevel: 9};
|
||||
cnt_info.srtcontract_type = oRs("cnt_srtcontract_type").value;
|
||||
cnt_info.discipline_omschrijving = oRs("ins_discipline_omschrijving").value;
|
||||
cnt_info.discipline_key = l_cnt_srt;
|
||||
cnt_info.hasfactuurschema = oRs("cnt_disc_params_factuurschema").value == 1;
|
||||
cnt_info.kostensoort_naam = oRs("kostensoort_naam").value;
|
||||
|
||||
var this_cnt = {canChangeKosten: true,
|
||||
canChangeAlg: true,
|
||||
isAbonnement: false,
|
||||
// Volgende4 worden voor de flex gebruikt
|
||||
canMANread : authparams.PRSreadlevel < 9,
|
||||
canUSEread : authparamsUSE.PRSreadlevel < 9,
|
||||
canMANwrite : authparams.PRSwritelevel < 9,
|
||||
canUSEwrite : authparamsUSE.PRSwritelevel < 9 };
|
||||
|
||||
var cnt_info = {contract_status: S("cnt_contract_approval") == 1? 2 : 0,
|
||||
srtcontract_type: oRs("cnt_srtcontract_type").value,
|
||||
discipline_omschrijving: oRs("ins_discipline_omschrijving").value,
|
||||
discipline_key: l_cnt_srt,
|
||||
hasfactuurschema: oRs("cnt_disc_params_factuurschema").Value == 1,
|
||||
kostensoort_naam: oRs("kostensoort_naam").Value};
|
||||
oRs.close();
|
||||
}
|
||||
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
@@ -99,7 +124,6 @@ else // nieuw contract
|
||||
FcltMgr.resized(window)
|
||||
});
|
||||
|
||||
|
||||
function cnt_submit()
|
||||
{
|
||||
document.activeElement.blur(); // trigger laatste onChanges
|
||||
@@ -184,7 +208,7 @@ else // nieuw contract
|
||||
</script>
|
||||
<div id="edit">
|
||||
<form name="u2"
|
||||
action="cnt_edit_contract_save.asp?cnt_key=<%=cnt_key%>&srtdisc=<%=cnt_info.discipline_key%>"
|
||||
action="cnt_edit_contract_save.asp?srtdisc=<%=cnt_info.discipline_key%><%=transitParam%>";
|
||||
method="post"
|
||||
target="hidFrameSubmit"
|
||||
onSubmit="cnt_submit();">
|
||||
@@ -446,7 +470,7 @@ else // nieuw contract
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("cntFlex"+(S("cnt_flexcolumns")!=1?"2":"") , L("lcl_cnt_flexblok"));
|
||||
generateFlexKenmerkCode ({cnt_key : cnt_key,
|
||||
generateFlexKenmerkCode ({cnt_key : copy ? cnt_copy_key : cnt_key,
|
||||
disc_key : cnt_info.discipline_key,
|
||||
this_cnt : this_cnt,
|
||||
flexcolumns: S("cnt_flexcolumns")
|
||||
|
||||
@@ -14,11 +14,17 @@ var JSON_Result = true;
|
||||
<!-- #include file="../Shared/kenmerk_common.inc"-->
|
||||
<!-- #include file="cnt.inc" -->
|
||||
|
||||
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
var cnt_key = getQParamInt("cnt_key", -1);
|
||||
var srtdisc_key = getQParamInt("srtdisc");
|
||||
var copy = (getQParamInt("cnt_copy", 0) == 1);
|
||||
var cnt_copy_key = -1;
|
||||
if (copy)
|
||||
{
|
||||
cnt_copy_key = cnt_key;
|
||||
cnt_key = -1;
|
||||
}
|
||||
var cnt_kosten = getFParamFloat("cnt_cntkstn", 0);
|
||||
var isNew = (cnt_key < 0);
|
||||
|
||||
@@ -183,6 +189,35 @@ if (!warning)
|
||||
}
|
||||
)
|
||||
|
||||
if (copy) // copy scope as well
|
||||
{
|
||||
var copyPlaatsScopeSql = "INSERT INTO cnt_contract_plaats (cnt_contract_key,"
|
||||
+ " cnt_alg_plaats_code,"
|
||||
+ " cnt_alg_plaats_key,"
|
||||
+ " cnt_contract_plaats_gewicht)"
|
||||
+ " SELECT " + cnt_key + ","
|
||||
+ " cnt_alg_plaats_code,"
|
||||
+ " cnt_alg_plaats_key,"
|
||||
+ " cnt_contract_plaats_gewicht"
|
||||
+ " FROM cnt_contract_plaats"
|
||||
+ " WHERE cnt_contract_key = " + cnt_copy_key
|
||||
+ " AND cnt_contract_plaats_verwijder IS NULL";
|
||||
Oracle.Execute(copyPlaatsScopeSql);
|
||||
|
||||
var copyObjectScopeSql = "INSERT INTO cnt_contract_object (cnt_contract_key,"
|
||||
+ " cnt_ins_srtdeel_key,"
|
||||
+ " cnt_ins_deel_key)"
|
||||
+ " SELECT " + cnt_key + ","
|
||||
+ " cnt_ins_srtdeel_key,"
|
||||
+ " cnt_ins_deel_key"
|
||||
+ " FROM cnt_contract_object"
|
||||
+ " WHERE cnt_contract_key = " + cnt_copy_key
|
||||
+ " AND cnt_contract_object_verwijder IS NULL";
|
||||
Oracle.Execute(copyObjectScopeSql);
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (!isNew && (cntUpd.trackarray.length || flextrack.length))
|
||||
shared.trackaction("CNTUPD", cnt_key, L("lcl_cnt_is_cntupd") + "\n" + cntUpd.trackarray.concat(flextrack).join("\n"));
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ var urlMail = "../shared/queuemail.asp?pcode=CNTMAI&defemail_key=" + defemail_ke
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script type="text/javascript">
|
||||
cnt_key = <%=cnt_key%>;
|
||||
srtdisc = <%=cnt_info.discipline_key%>;
|
||||
var cnt_nummer = "<%=safe.jsstring(cnt_info.nummer_intern)%>";
|
||||
jQuery(document).ready(function()
|
||||
{
|
||||
@@ -98,6 +99,11 @@ var urlMail = "../shared/queuemail.asp?pcode=CNTMAI&defemail_key=" + defemail_ke
|
||||
window.location.href = "cnt_edit_contract.asp?cnt_key=<%=cnt_key%>&embedded=1";
|
||||
}
|
||||
|
||||
function cnt_copy()
|
||||
{
|
||||
FcltMgr.openDetail("appl/cnt/cnt_contract.asp?cnt_key=" + cnt_key + "&srtdisc=" + srtdisc + "&cnt_copy=1", L("lcl_cnt_copy") + " " + L("lcl_contract").toLowerCase());
|
||||
}
|
||||
|
||||
function cnt_factuurschema()
|
||||
{
|
||||
var url = "appl/cnt/cnt_factuurschema.asp?cnt_key=<%=cnt_key%>";
|
||||
@@ -202,6 +208,8 @@ var urlMail = "../shared/queuemail.asp?pcode=CNTMAI&defemail_key=" + defemail_ke
|
||||
{
|
||||
if (this_cnt.canChange)
|
||||
buttons.push({title: L("lcl_change"), icon: "wijzigen.png", action:"cnt_change()" });
|
||||
if (this_cnt.canCopy)
|
||||
buttons.push({title: L("lcl_copy"), icon: "fa-copy", action: "cnt_copy()"});
|
||||
if (false && this_cnt.canOrder)
|
||||
{ // Aanzet tot CONN#17536, maar nog rudimentair
|
||||
// TODO: heb ik MLD_ORDBOF rechten voor deze cnt_discipline en
|
||||
|
||||
Reference in New Issue
Block a user