FSN#53315 Lek bij beheren van contactpersonen van alleen eigen bedrijf

svn path=/Website/branches/v2018.1/; revision=39474
This commit is contained in:
Alex Tiehuis
2018-10-19 08:29:52 +00:00
parent 0fe84f3408
commit edd9b2034e
3 changed files with 18 additions and 5 deletions

View File

@@ -170,7 +170,7 @@ function contactpersoon_list (params)
+ " , cp.prs_contactpersoon_naam";
function fnrowActionEnabler(oRs)
{
var eDelete = oRs("prs_perslid_key") <= 0 || deleteCp;
var eDelete = (!user.iamContact() || !oRs("prs_perslid_key").Value || deleteCp);
var data = {eDelete: eDelete};
return data;
}

View File

@@ -7,7 +7,7 @@
Description: Verwijderen prs-object
Parameters: key
level: "A" "B" "P" "K" "G" "KPN"
level: "A" "B" "C" "P" "K" "G" "KPN"
Context: Vanuit show-schermen en of vanuit overzichten
Result: JSON object
Note:
@@ -77,6 +77,19 @@ for (var i = 0; i < prs_key_arr.length; i++)
var hasverplichtingen = false;
var canDeleteK = true;
var canDeleteB = true;
if (level == "C")
{
// check existence of prs_perslid_key in contact
sql = "SELECT c.prs_perslid_key "
+ " FROM prs_contactpersoon c "
+ " WHERE prs_contactpersoon_key = " + prs_key_arr[i]
var oRs = Oracle.Execute(sql);
if (!oRs.eof && (!user.iamContact() || oRs("prs_perslid_key").Value == null))
{
ingesloten.push(prs_key_arr[i]);
tobedeleted++;
}
}
if (level == "P")
{
var thePerslid = new Perslid(prs_key_arr[i]);
@@ -118,7 +131,7 @@ for (var i = 0; i < prs_key_arr.length; i++)
oRs.Close();
}
if ((level != "P" || !hasverplichtingen) && (level != "K" || canDeleteK) && (level != "B" || canDeleteB))
if ((level != "C") && (level != "P" || !hasverplichtingen) && (level != "K" || canDeleteK) && (level != "B" || canDeleteB))
{
ingesloten.push(prs_key_arr[i]);
tobedeleted++;

View File

@@ -84,7 +84,7 @@ FCLTHeader.Requires({plugins:["jQuery"]})
window.location.href = "prs_edit_contactpersoon.asp?cps_key=<%=cps_key%>"
}
<%
if (prs_prskey <= 0 || deleteCp)
if (!user.iamContact() || !prs_prskey || deleteCp)
{
%>
function cps_delete()
@@ -119,7 +119,7 @@ if (prs_prskey <= 0 || deleteCp)
if (authparams.ALGwritelevel < 9 && prs_verwijder == null)
{
buttons = [ {title: L("lcl_change"), action:"cps_change()", icon: "wijzigen.png" } ];
if (prs_prskey <= 0 || deleteCp) // cannot delete contact, with web_reluse authority, when contact is employee (only when employee has web_relman write rights)
if (!user.iamContact() || !prs_prskey || deleteCp) // cannot delete contact, with web_reluse authority, when contact is employee (only when employee has web_relman write rights)
buttons.push({title: L("lcl_delete"), action:"cps_delete()", icon: "delete.png" });
buttons.push({title: L("lcl_prs_companies_dienst_locs"), action: "cps_locations()", icon: "house.png"});
}