FSN#30011: FIN: autorisatie(s) voor leverancier (WEB_FINUSE).
svn path=/Website/trunk/; revision=22342
This commit is contained in:
@@ -143,7 +143,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
|
||||
},
|
||||
|
||||
analysereferentie:
|
||||
function _analysereferentie(ref, iscontactpers)
|
||||
function _analysereferentie(ref, ascontactpers)
|
||||
{ // Levert info op van de meegegeven referentie
|
||||
// {
|
||||
// ref_type: "O", "B" of "C",
|
||||
@@ -281,10 +281,11 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
|
||||
+ " WHERE c.cnt_contract_nummer_intern = " + safe.quoted_sql(cnt_nr)
|
||||
+ " AND c.cnt_contract_status IN (0, 1)"
|
||||
+ (cnt_versie ? " AND c.cnt_contract_versie = "+ safe.quoted_sql(cnt_versie) : "")
|
||||
+ (iscontactpers
|
||||
+ (ascontactpers
|
||||
? " AND c.cnt_prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key
|
||||
+ " AND cp.prs_contactpersoon_verwijder IS NULL)"
|
||||
: "");
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof) {
|
||||
@@ -319,10 +320,11 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
|
||||
+ " AND bo.bes_bestelopdr_status NOT IN (1,3,8)" // Dat zijn echte bestellingen
|
||||
+ " AND bbi.bes_bestelling_key = " + parseInt(besopdr_s[0],10)
|
||||
+ " AND UPPER(bo.bes_bestelopdr_id) LIKE " + safe.quoted_sql_wild(ref + likechar) // Volgnummer kan bij bestellingen ook leeg zijn ('1234' of '1234/1')
|
||||
+ (iscontactpers
|
||||
+ (ascontactpers
|
||||
? " AND bo.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key
|
||||
+ " AND cp.prs_contactpersoon_verwijder IS NULL)"
|
||||
: "");
|
||||
+ " ORDER BY bo.bes_bestelopdr_id";
|
||||
oRs = Oracle.Execute(sql);
|
||||
@@ -368,10 +370,11 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
|
||||
+ " AND o.mld_statusopdr_key NOT IN (1, 2, 3, 10)" // Dat zijn echte opdrachten
|
||||
+ " AND o.mld_melding_key = " + result.mld_key
|
||||
+ " AND o.mld_opdr_bedrijfopdr_volgnr = " + result.opdr_volgnr
|
||||
+ (iscontactpers
|
||||
+ (ascontactpers
|
||||
? " AND o.mld_uitvoerende_keys IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key
|
||||
+ " AND cp.prs_contactpersoon_verwijder IS NULL)"
|
||||
: "");
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
|
||||
@@ -95,7 +95,7 @@ else // nieuwe factuur. Defaults bepalen
|
||||
this_fin.factuur_info = fin_factuur;
|
||||
}
|
||||
}
|
||||
var isContactpersoon = this_fin.canFEwrite;
|
||||
var asContactpersoon = this_fin.canFEwrite && !this_fin.canFOwrite;
|
||||
|
||||
var refoms = L("lcl_fin_referentie");
|
||||
var refurl = "";
|
||||
@@ -137,7 +137,7 @@ var fin_btwtabel_key = oRs("fin_btwtabel_key").value; // Standaard btw tabel key
|
||||
var fin_defaultboekmaand = <%=S("fin_defaultboekmaand")%>;
|
||||
var fin_enable_kostensoort = <%=S("fin_enable_kostensoort")%>;
|
||||
var fin_kostensoort_verplicht = <%=S("fin_kostensoort_verplicht")%>;
|
||||
var isContactpersoon = <%=isContactpersoon? 1 : 0%> == 1;
|
||||
var asContactpersoon = <%=asContactpersoon? 1 : 0%> == 1;
|
||||
|
||||
jQuery(document).ready(function()
|
||||
{
|
||||
|
||||
@@ -326,7 +326,7 @@ function referenceChanged(refchanged)
|
||||
fin_boekm_jaar: $("#finboekm").val().substr(0, 4),
|
||||
refchanged: (refchanged && ($("#referentienr_old").val() == "" || default_costsrt_selected || fin_key == -1)? 1: 0),
|
||||
fin_factuur_nr: $("#finnr").val(),
|
||||
iscontactpers: isContactpersoon? 1 : 0
|
||||
ascontactpers: asContactpersoon? 1 : 0
|
||||
});
|
||||
FcltGetRefInfoCallback(returndata)
|
||||
}
|
||||
|
||||
@@ -35,8 +35,8 @@ var this_fin = fin.func_enabled_factuur(fin_key); // Wat heb ik zoal aan rechten
|
||||
|
||||
user.auth_required_or_abort(this_fin.canChange); // TODO: testen AAIT#22473
|
||||
|
||||
var isContactpersoon = this_fin.canFEwrite;
|
||||
var referentiegegevens = fin.analysereferentie(referentienr, isContactpersoon);
|
||||
var asContactpersoon = this_fin.canFEwrite && !this_fin.canFOwrite;
|
||||
var referentiegegevens = fin.analysereferentie(referentienr, asContactpersoon);
|
||||
// Het moet een geldige referentie zijn.
|
||||
user.auth_required_or_abort(referentiegegevens.valid);
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ function fin_list (params)
|
||||
// ik ken 2 varianten: allemaal of alleen de mijne
|
||||
var alleenmijnkostenplaatsen = (!authparamsFINUSE && !authparamsFINFOF && !authparamsFINBOF); // geen FINUSE, FINFOF of FINBOF -> budgethouder
|
||||
|
||||
var isContactpersoon = user.isContactpersoon();
|
||||
var asContactpersoon = user.isContactpersoon() && !authparamsFINFOF && !authparamsFINBOF;
|
||||
|
||||
// Voor resulttable de globalen zetten; zou nog anders moeten.
|
||||
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
|
||||
@@ -219,7 +219,22 @@ function fin_list (params)
|
||||
+ " AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)"
|
||||
+ " AND f.cnt_contract_key = c.cnt_contract_key(+)"
|
||||
+ " AND c.ins_discipline_key = cd.ins_discipline_key(+)"
|
||||
+ " AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)";
|
||||
+ " AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)"
|
||||
+ (asContactpersoon
|
||||
? " AND (o.mld_uitvoerende_keys IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key
|
||||
+ " AND cp.prs_contactpersoon_verwijder IS NULL)"
|
||||
+ " OR bo.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key
|
||||
+ " AND cp.prs_contactpersoon_verwijder IS NULL)"
|
||||
+ " OR c.cnt_prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key
|
||||
+ " AND cp.prs_contactpersoon_verwijder IS NULL)"
|
||||
+ " )"
|
||||
: "");
|
||||
|
||||
// Als geen FINFOF maar wel FINBOF moet ik ook de alg-scope controleren
|
||||
if (!authparamsFINFOF && authparamsFINBOF && authparamsFINBOF.ALGreadlevel > -1)
|
||||
|
||||
@@ -26,9 +26,9 @@ var ref_nr = getQParam("ref_nr");
|
||||
var fin_boekm_jaar = getQParam("fin_boekm_jaar");
|
||||
var refchanged = (getQParamInt("refchanged") == 1);
|
||||
var fin_factuur_nr = getQParam("fin_factuur_nr");
|
||||
var iscontactpers = (getQParamInt("iscontactpers", 0) == 1);
|
||||
var ascontactpers = (getQParamInt("ascontactpers", 0) == 1);
|
||||
|
||||
var fin_factuur_geg = fin.analysereferentie(ref_nr, iscontactpers);
|
||||
var fin_factuur_geg = fin.analysereferentie(ref_nr, ascontactpers);
|
||||
fin_factuur_geg.fin_boekm_jaar = fin_boekm_jaar;
|
||||
fin_factuur_geg.fin_key = -1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user