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

svn path=/Website/branches/v2018.1/; revision=39404
This commit is contained in:
Alex Tiehuis
2018-10-15 14:35:07 +00:00
parent 71a184c3a4
commit bbabd211fe
2 changed files with 24 additions and 4 deletions

View File

@@ -31,6 +31,8 @@ function contactpersoon_list (params)
// params.contact_name : wildcard string
// params.loc_key : key
// params.bld_key : key
var autparamsRELMAN = user.checkAutorisation("WEB_RELMAN", true);
var deleteCp = autparamsRELMAN && autparamsRELMAN.PRSwritelevel < 9 && autparamsRELMAN.ALGwritelevel < 9; // Can delete contact person even when this person is employee
if (intern)
{
@@ -105,6 +107,7 @@ function contactpersoon_list (params)
+ " , cp.prs_contactpersoon_email"
+ " , cp.prs_contactpersoon_key"
+ " , cp.prs_contactpersoon_functie"
+ " , cp.prs_perslid_key"
+ " FROM alg_locatie l"
+ " , prs_contactpersoon cp"
+ " , prs_contactpersoon_locatie n"
@@ -165,6 +168,12 @@ function contactpersoon_list (params)
? " , l.alg_locatie_upper ASC"
: "")
+ " , cp.prs_contactpersoon_naam";
function fnrowActionEnabler(oRs)
{
var eDelete = oRs("prs_perslid_key") <= 0 || deleteCp;
var data = {eDelete: eDelete};
return data;
}
var buttons = [];
var addurl = "appl/prs/prs_contactpersoon.asp" + (bedrijf_key? "?bedrijf_key=" + bedrijf_key : "");
@@ -176,6 +185,7 @@ function contactpersoon_list (params)
var rst = new ResultsetTable({ sql: sql,
keyColumn: "prs_contactpersoon_key",
rowActionEnabler: fnrowActionEnabler,
outputmode: outputmode,
ID: "contacttable",
buttons: buttons,
@@ -198,7 +208,7 @@ function contactpersoon_list (params)
rst.addAction({ action: "contactPersoonEdit", caption: L("lcl_edit"), isDefault: true});
if (canAdd)
rst.addAction({ action: "contactPersoonDelete", caption: L("lcl_delete")});
rst.addAction({ action: "contactPersoonDelete", enabler: "eDelete", caption: L("lcl_delete")});
rst.processResultset();
%>

View File

@@ -18,6 +18,8 @@
FCLTHeader.Requires({plugins:["jQuery"]})
var cps_key = getQParamInt("cps_key");
var autparamsRELMAN = user.checkAutorisation("WEB_RELMAN", true);
var deleteCp = autparamsRELMAN && autparamsRELMAN.PRSwritelevel < 9 && autparamsRELMAN.ALGwritelevel < 9; // Can delete contact person even when this person is employee
var autfunction = 'WEB_RELUSE';
var authparams = user.checkAutorisation(autfunction);
@@ -81,6 +83,10 @@ FCLTHeader.Requires({plugins:["jQuery"]})
if (FcltMgr.startEdit(window))
window.location.href = "prs_edit_contactpersoon.asp?cps_key=<%=cps_key%>"
}
<%
if (prs_prskey <= 0 || deleteCp)
{
%>
function cps_delete()
{
FcltMgr.confirm(L("lcl_prs_del_txt_contactpers"), function() {
@@ -95,6 +101,9 @@ FCLTHeader.Requires({plugins:["jQuery"]})
"json");
});
}
<%
}
%>
function cps_locations()
{
var url = "../prs/prscontactlocs.asp?ckey=<%=cps_key%>";
@@ -109,9 +118,10 @@ FCLTHeader.Requires({plugins:["jQuery"]})
if (authparams.ALGwritelevel < 9 && prs_verwijder == null)
{
buttons = [ {title: L("lcl_change"), action:"cps_change()", icon: "wijzigen.png" },
{title: L("lcl_delete"), action:"cps_delete()", icon: "delete.png" },
{title: L("lcl_prs_companies_dienst_locs"), action: "cps_locations()", icon: "house.png"}];
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)
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"});
}
IFRAMER_HEADER(L("lcl_prs_contactpersoon_frame"), buttons);
if (prs_verwijder != null)