PCHD#39463: Facturen goedkeuren door vervanger.

svn path=/Website/branches/v2016.3/; revision=32884
This commit is contained in:
Maykel Geerdink
2017-02-20 14:31:44 +00:00
parent 50798feffe
commit 420edf379f
2 changed files with 6 additions and 14 deletions

View File

@@ -792,11 +792,10 @@ function getSqlFiatFin(fiatstatus, prsKeys, params)
+ " AND f.cnt_contract_key = c.cnt_contract_key(+)"
+ " AND f.fin_factuur_verwijder IS NULL"
+ " AND budgethouder > 0"
// Ik kan facturen fiatteren als: 1) Ik ben budgethouder van de BrOC-kostenplaats (BrOC = Bestelling, /*reservering*/, Opdracht, Contract)
// 2) ik heb ALG write rechten (WEB_FINBOF) op
// Ik kan facturen fiatteren als: 1) ik heb ALG write rechten (WEB_FINBOF) op
// a) het afleveradres van de locatie van de bestelling
// b) de plaats van de bijbehorende melding van de opdracht OF
// 3) ik ben contracteigenaar van het contract
// 2) ik ben budgethouder van de BrOC-kostenplaats (BrOC = Bestelling, /*reservering*/, Opdracht, Contract)
// "AND (" + sql1a + " OR " + sql1b + " OR " + sql2 + " OR " + sql3 + ")"
+ " AND ("
+ (authparamsFINBOF && authparamsFINBOF.ALGwritelevel > -1
@@ -840,10 +839,7 @@ function getSqlFiatFin(fiatstatus, prsKeys, params)
: (authparamsFINBOF && authparamsFINBOF.ALGwritelevel == -1
? " 1 = 1" // Volledige FINBOF rechten
: " 1 = 0")) // Geen enkele FINBOF rechten
// 2) Ben ik contracteigenaar van het contract?
+ " OR (f.cnt_contract_key IS NOT NULL"
+ " AND c.prs_perslid_key_eig IN (" + prsKeys + "))"
// 3) Ben ik budgethouder van de BrOC-kostenplaats?
// 2) Ben ik budgethouder van de BrOC-kostenplaats?
+ " OR (budgethouder IN (" + prsKeys + "))"
+ ")"
+ (params.opdrtype_key

View File

@@ -682,26 +682,22 @@ function fin_list (params)
// Als status > 2 dan is er zeker een referentie bekend.
// Fiateren ook afhankelijk of budgethouder binnen de organisatiescope ligt
// Verwijderen: Write rechten voor WEB_FINFOF nodig
// Fiateren: Ik kan facturen goedkeuren als: 1) Ik ben budgethouder van de BrOC-kostenplaats (BrOC = Bestelling, /*reservering*/, Opdracht, Contract)
// 2) ik heb ALG write rechten (WEB_FINBOF) op
// Fiateren: Ik kan facturen goedkeuren als: 1) ik heb ALG write rechten (WEB_FINBOF) op
// a) het afleveradres van de locatie van de bestelling
// b) de plaats van de bijbehorende melding van de opdracht OF
// 3) ik ben contracteigenaar van het contract
// 2) ik ben budgethouder van de BrOC-kostenplaats (BrOC = Bestelling, /*reservering*/, Opdracht, Contract)
var budgethouder = oRs("budgethouder").Value;
var contracteigenaar = oRs("prs_perslid_key_eig").Value;
var besmldfiat_write = false;
var cntfiat_write = false;
var fiat_write = false;
if (oRs("bes_bestelopdr_key").Value)
besmldfiat_write = (oRs("bes_fiat_write").Value == 1) // Ik heb write rechten op de locatie van het afleveradres
else if (oRs("mld_opdr_key").Value)
besmldfiat_write = (oRs("mld_fiat_write").Value == 1) // Ik heb write rechten op de plaats van de bijbehorende melding
else if (oRs("cnt_contract_key").Value) // Contract
cntfiat_write = user.isCollega(oRs("prs_perslid_key_eig").Value); // Contracteigenaar IN (user_key, vervangers).
else // opd_cnt_bes_type is nog niet bekend/gekozen, dan moet ik volledig rechten hebben
fiat_write = (authparamsFINBOF && authparamsFINBOF.ALGwritelevel == -1);
var canapprove = (user.isCollega(oRs("budgethouder").Value) || cntfiat_write || besmldfiat_write || fiat_write) && !deleted; // Budgethouder IN (user_key, vervangers).
var canapprove = (user.isCollega(oRs("budgethouder").Value) || besmldfiat_write || fiat_write) && !deleted; // Budgethouder IN (user_key, vervangers).
var eDelete = !embedded &&
(authparamsFINFOF &&