<%@language = "javascript" %> <%/* $Revision$ $Id$ File: fac_user_info.asp Description: Details van een user aka persoon Parameters: prs_key (default user_key) Context: Bijvoorbeeld vanuit telefoongids Note: */ %> <% FCLTHeader.Requires({plugins:["jQuery", "suggest"], js: ["jquery-ui.js"]}) // AUTORISATIEPARAMETERS var prs_key = getQParamInt("prs_key", user_key); var itsme = (prs_key == user_key); var sql = "SELECT prs_srtperslid_key" + " , prs_perslid_otpsecret" + " , prs_perslid_verwijder" + " , prs_perslid_wachtwoord_hash" + " FROM prs_perslid" + " WHERE prs_perslid_key = " + prs_key; var oRs = Oracle.Execute(sql); if (oRs.Eof) shared.record_not_found(); // Kan gebeuren met heel oude gepinde tabbladen var prs_deleted = oRs("prs_perslid_verwijder").value != null; var prs_srtkey = oRs("prs_srtperslid_key").value; var otpsecret = oRs("prs_perslid_otpsecret").Value; var haspass = oRs("prs_perslid_wachtwoord_hash").Value != null; oRs.Close(); // In ieder geval deze prs.checkAutorisation(prs_key); // TODO autorisaties checken // van welke personen mag ik deze gegevens zien? Het is denkbaar dat hiervoor de // WEB_PHONEB-scope wordt gehanteerd, waarmee mensen binnen mijn organisatie of mijn // gebied kunnen worden bepaald. De overige mensen kunnen bv wel gevonden worden, maar // daarvan mag ik niet deze detailgegevens bekijken. // // Ik val zelf natuurlijk altijd binnen mijn scope, dus mag ik mijn gegevens altijd zien. // Indien ik weet dat het over mezelf gaat, komen er nog wat extra features beschikbaar, // zoals wachtwoord wijzigen. // OVERIGE PARAMETERS %>
<% FCLTHeader.Generate(); // PRS_PHONEB gebruiken voor READ-bepaling, en PRSMAN/PRSUSE of PRSSYS vereisen voor write? // Bepaal of ik FB-achtigegevens van deze persoon mag zien, // geimplementeerd als "I am FO" indien ik schrijfrechten heb voor // RES, BES of MLD voor deze persoon, of Systeembeheer var xfunc = user.func_enabled("*", null, null, prs_key); var iamfo = (xfunc.canWrite("WEB_RESFOF") || xfunc.canWrite("WEB_MLDFOF") || xfunc.canWrite("WEB_BESFOF") || xfunc.canWrite("WEB_PRSSYS")); var canChange = ((itsme && xfunc.canWrite("WEB_PROFIL")) || xfunc.canWrite("WEB_PRSMAN") || xfunc.canWrite("WEB_PRSUSE")); var prsauthparams = prs.checkAutorisation(prs_key); var thisUser = new Perslid(prs_key); // geeft ook alle informatie var sql = "SELECT COUNT(*)" + " FROM aut_client_perslid" + " WHERE prs_perslid_key = " + prs_key; var oRs = Oracle.Execute(sql); var hasAppRegistrations = oRs(0).Value; oRs.Close() var sql = "SELECT COUNT(*)" + " FROM fac_notificatie_job" + " WHERE prs_perslid_key_receiver = " + prs_key; var oRs = Oracle.Execute(sql); var hasNotjobs = oRs(0).Value; oRs.Close() %>
<% PAGE_START(); var page="fac_show_user_info.asp?prs_key=" + prs_key; IFRAMER("user_info_frame", page, { FcltClose: "user_info_close", icon: "fa-bookmark", title: (itsme ? L("lcl_prs_person_mijndata") : safe.jsstring(thisUser.naam())) } ); if (!prs_deleted && itsme && xfunc.canWrite("WEB_PRSOBJ")) { page = "../ins/ins_my_objects.asp"; IFRAMER("bezittingenFrame", page, { icon: "fa-list", title: L("lcl_spo_header") } ); } if (hasNotjobs) { page = "../mgt/fac_notificatie_job.asp?mode=list&niveau=S&receiver=" + prs_key; IFRAMER("rapFrame", page, { icon: "fa-list", title: L("lcl_scheduled_reports") } ); } if (hasAppRegistrations) { page = "../mgt/aut_client_perslid.asp?mode=list&person=" + prs_key; IFRAMER("appFrame", page, { icon: "fa-list", title: L("aut_client_perslid_m") } ); } PAGE_END(); %>
<% ASPPAGE_END(); %>