savepoint
svn path=/Website/trunk/; revision=33
This commit is contained in:
@@ -1,14 +1,12 @@
|
||||
<%@language = "javascript" %>
|
||||
<%
|
||||
|
||||
/* $Revision: 1 $
|
||||
$Modtime: 30-09-09 15:16 $
|
||||
<%/* $Revision: 2 $
|
||||
$Modtime: 30-10-09 17:40 $
|
||||
|
||||
File: fac_user.asp
|
||||
Status: ?% (new style)
|
||||
Status: 90%
|
||||
Description: Details van een user aka persoon
|
||||
Parameters: prs_key (default user_key)
|
||||
Context:
|
||||
Context: Bijvoorbeeld vanuit telefoongids
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
@@ -16,6 +14,7 @@
|
||||
<!--#include file="../../cust/install.inc" -->
|
||||
<!--#include file="../Shared/escape.inc" -->
|
||||
<!--#include file="../Shared/iface.inc" -->
|
||||
<!--#include file="../prs/prs_flexkenmerk.inc" -->
|
||||
<%
|
||||
FCLTHeader.Requires({plugins:["suggest","jQuery"],
|
||||
js: ["expand_frame.js", "FCLTMgr.js", "jquery-ui.js"]});
|
||||
@@ -23,8 +22,17 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"],
|
||||
|
||||
// AUTORISATIEPARAMETERS
|
||||
var prs_key = getQParamInt("prs_key", user_key);
|
||||
var itsme = (prs_key == user_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
|
||||
%>
|
||||
@@ -32,39 +40,191 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"],
|
||||
<head>
|
||||
<%
|
||||
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 = (xfunc.canWrite("WEB_PRSMAN")
|
||||
|| xfunc.canWrite("WEB_PRSUSE"));
|
||||
|
||||
%>
|
||||
|
||||
<script type="text/javascript" >
|
||||
function prs_change()
|
||||
{
|
||||
if (FcltMgr.startEdit(window))
|
||||
window.location.href = "../prs/prs_edit_perslid.asp?prs_key=<%=prs_key%>"
|
||||
}
|
||||
function prs_changepwd()
|
||||
{
|
||||
var url = "../prs/pchange.asp";
|
||||
FcltMgr.openModalDetail(url, "<%=lcl_password_title%>");
|
||||
}
|
||||
function prs_collegas()
|
||||
{
|
||||
var url = "../prs/prs_perslid_substitutes.asp?pkey=<%=prs_key%>";
|
||||
FcltMgr.openModalDetail(url, "<%=lcl_prs_frame_substitutes%>");
|
||||
}
|
||||
function prs_objecten()
|
||||
{
|
||||
var url = "appl/ins/ins_my_objects.asp";
|
||||
FcltMgr.openDetail(url, "<%=lcl_spo_header%>");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="showbody">
|
||||
<%
|
||||
IFRAMER_HEADER(lcl_prs_frame_algemeen, {});
|
||||
var buttons = [];
|
||||
if (itsme || canChange) {
|
||||
buttons.push({ title: lcl_change, icon: "wijzigen.png", action: "prs_change()", id: "bchange_perslid" });
|
||||
}
|
||||
if (itsme) {
|
||||
buttons.push({ title: lcl_password_title, icon: "wall_brick.png", action: "prs_changepwd()", id: "bchange_pwd" });
|
||||
buttons.push({ title: lcl_prs_frame_substitutes, icon: "group.png", action: "prs_collegas()", id: "bcollegas" });
|
||||
buttons.push({ title: lcl_spo_header, icon: "briefcase.png", action: "prs_objecten()", id: "bobjecten" });
|
||||
}
|
||||
IFRAMER_HEADER(lcl_prs_frame_algemeen, buttons);
|
||||
|
||||
var fac_profiel_limiet = 0;
|
||||
var sql = "select fp.fac_profiel_limiet"
|
||||
+ " FROM PRS_V_aanwezigPERSLID p, "
|
||||
var fac_profiel_limiet = -1;
|
||||
var sql = "select fp.fac_profiel_limiet, fp.fac_profiel_omschrijving"
|
||||
+ " FROM prs_v_aanwezigperslid p, "
|
||||
+ " fac_profiel fp"
|
||||
+ " WHERE prs_perslid_key = " + prs_key
|
||||
+ " AND p.fac_profiel_key = fp.fac_profiel_key(+)"
|
||||
+ " AND p.fac_profiel_key = fp.fac_profiel_key"
|
||||
|
||||
oRs = Oracle.Execute (sql);
|
||||
if (!oRs.eof)
|
||||
if (!oRs.eof) {
|
||||
fac_profiel_limiet = oRs("fac_profiel_limiet").value;
|
||||
|
||||
fac_profiel_omschrijving = oRs("fac_profiel_omschrijving").value;
|
||||
}
|
||||
thisUser = new Perslid(prs_key); // geeft ook alle informatie
|
||||
%>
|
||||
<table>
|
||||
<tr><td><%=ROFIELD('fld', 'Naam', thisUser.naam())%></td><td><%=ROFIELD('fld', 'Kostenplaats', thisUser.kpn_string()) %></td></tr>
|
||||
<tr><td><%=ROFIELD('fld', 'Afdeling', thisUser.afdeling().naam()) %></td><td><%=ROFIELD('fld', 'Mandaat', fac_profiel_limiet) %></td></tr>
|
||||
<tr><td><%=ROFIELD('fld', 'Functie', thisUser.prs_srtperslid())%></td><td><%=ROFIELD('fld', 'Budgethouder', '?')%></td></tr>
|
||||
<tr><td><%=ROFIELD('fld', 'Telefoon', thisUser.prs_perslid_telefoonnr())%></td><td><%=ROFIELD('fld', 'E-mail', thisUser.prs_perslid_email())%></td></tr>
|
||||
<tr><td><%=ROFIELD('fld', 'Mobiel', thisUser.prs_perslid_mobiel())%></td></tr>
|
||||
<tr></tr>
|
||||
<script type="text/javascript" >
|
||||
$(document).ready(function () {
|
||||
FcltMgr.setTitle("<%=itsme ? lcl_prs_person_mijndata : thisUser.naam()%>");
|
||||
});
|
||||
</script>
|
||||
<%
|
||||
|
||||
// ============================= PERSOONSGEGEVENS ======================================
|
||||
BLOCK_START("prsNaw", lcl_prs_basisblok);
|
||||
ROFIELDTR('fld', lcl_prs_person_name, thisUser.naam());
|
||||
ROFIELDTR('fld', lcl_prs_person_dept_name, thisUser.afdeling().naam());
|
||||
ROFIELDTR('fld', lcl_prs_person_function, thisUser.prs_srtperslid(), {suppressEmpty: true});
|
||||
ROFIELDTR('fld', lcl_prs_person_phone, thisUser.prs_perslid_telefoonnr(), {suppressEmpty: true});
|
||||
ROFIELDTR('fld', lcl_prs_person_mobile, thisUser.prs_perslid_mobiel(), {suppressEmpty: true});
|
||||
ROFIELDTR('fld', lcl_prs_person_email, thisUser.prs_perslid_email(), {suppressEmpty: true});
|
||||
for (i=0; i<thisUser.werkplekken().length; i++)
|
||||
{ // TODO order by ?
|
||||
%>
|
||||
<tr><td><%=ROFIELD('fldroom', (i==0 ? 'Werkplek':null), thisUser.werkplekken()[i].prs_werkplek_aanduiding()) %></td></tr>
|
||||
<%
|
||||
ROFIELDTR('fldroom', (i==0 ? 'Werkplek':null), thisUser.werkplekken()[i].prs_werkplek_aanduiding(), {suppressEmpty: true});
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
|
||||
// ============================= KOSTENGEGEVENS ========================================
|
||||
if (itsme || iamfo) { // indien ik facilitair ben
|
||||
budgethouderUser = new Perslid(thisUser.kpn_budgethouderkey());
|
||||
selfbudgethouder = (prs_key == thisUser.kpn_budgethouderkey()); // ik hoef geen details die ik al zie
|
||||
BLOCK_START("prsFin", lcl_prs_finblock);
|
||||
ROFIELDTR('fld', lcl_account, thisUser.kpn_string());
|
||||
ROFIELDTR('fld', lcl_prs_budgethouder, budgethouderUser.naam(),
|
||||
!selfbudgethouder
|
||||
? {infoPointer: {Url:"appl/fac/fac_user_info.asp?prs_key="+thisUser.kpn_budgethouderkey(), Title:lcl_details}}
|
||||
: {}
|
||||
);
|
||||
if (fac_profiel_limiet != -1) {
|
||||
ROFIELDTR('fld', lcl_prs_profile , fac_profiel_omschrijving);
|
||||
ROFIELDTR('fld', lcl_BES_orderlimit, fac_profiel_limiet,
|
||||
{infoPointer: {Url:"appl/prs/kpn_mandate.asp?prs_key="+prs_key, Title:lcl_menu_fin_mandatering} });
|
||||
}
|
||||
BLOCK_END();
|
||||
}
|
||||
|
||||
// ============================= FLEXKENMERKEN =========================================
|
||||
BLOCK_START("prsUsrFlex", lcl_prs_flexblok);
|
||||
generateFlexKenmerkCode({link_key: prs_key,
|
||||
niveau: "P",
|
||||
reado: true
|
||||
}); // MOETEN WE NOG FORCEREN DAT ALLEEN prsuse WORDT GETOOND?
|
||||
// Dat doet generateFlex zelf maar?! TODO
|
||||
BLOCK_END();
|
||||
|
||||
// ============================= VERVANGERS ============================================
|
||||
if (itsme || iamfo) { // indien ik facilitair ben
|
||||
var sql = "SELECT pc.prs_perslid_key_alt"
|
||||
+ ", " + prs_pers_string + " prs_perslid_naam"
|
||||
+ " FROM prs_collega pc"
|
||||
+ ", prs_perslid p"
|
||||
+ " WHERE pc.prs_perslid_key_alt = p.prs_perslid_key"
|
||||
+ " AND pc.prs_perslid_key = " + prs_key
|
||||
+ " ORDER BY 2";
|
||||
oRs = Oracle.Execute (sql);
|
||||
if (!oRs.eof) {
|
||||
BLOCK_START("prsSubst", lcl_prs_substitutesblock);
|
||||
while (!oRs.eof) {
|
||||
lurl='appl/fac/fac_user_info.asp?prs_key='+oRs("prs_perslid_key_alt").value;
|
||||
%><tr><td colspan="2"><input class="fldpers" readonly value="<%=oRs("prs_perslid_naam").value%>"><% InfoPointer(lurl, "")%></td></tr><%
|
||||
oRs.moveNext();
|
||||
}
|
||||
BLOCK_END();
|
||||
}
|
||||
}
|
||||
|
||||
// ============================= LOGIN- EN AUTORISATIEGROEPGEGEVENS ====================
|
||||
// Indien Ik beheer ben laat ik lekker handig de autorisatiegroepen zien
|
||||
if (xfunc.canWrite("WEB_PRSSYS")) {
|
||||
var sql = "SELECT g.fac_groep_omschrijving"
|
||||
+ " FROM fac_groep g, fac_gebruikersgroep gg"
|
||||
+ " WHERE g.fac_groep_key = gg.fac_groep_key"
|
||||
+ " AND gg.prs_perslid_key = " + prs_key
|
||||
+ " ORDER BY 1";
|
||||
oRs = Oracle.Execute (sql);
|
||||
if (!oRs.eof) {
|
||||
BLOCK_START("prsAut", lcl_mgt_aut_group);
|
||||
ROFIELDTR("fld",lcl_prs_person_login, thisUser.oslogin(), {suppressEmpty: true});
|
||||
ROFIELDTR("fld",lcl_prs_person_login2, thisUser.oslogin2(), {suppressEmpty: true});
|
||||
var i= 0;
|
||||
while (!oRs.eof) {
|
||||
ROFIELDTR("fld", (i==0 ? lcl_mgt_aut_group : ""), oRs("fac_groep_omschrijving").value);
|
||||
i++;
|
||||
oRs.moveNext();
|
||||
}
|
||||
ROFIELDTR("fld",lcl_prs_person_lastlogin, toDateTimeString(thisUser.login()));
|
||||
BLOCK_END();
|
||||
}
|
||||
}
|
||||
|
||||
// ============================= OBJECTGEGEVENS ========================================
|
||||
// Mijn persoonlijke bezittingen, en de mogelijkheid om deze te editen via
|
||||
// een button zit bovenin voor de user zelf.
|
||||
if (itsme || iamfo) {
|
||||
sql= " SELECT D.ins_deel_omschrijving, SD.ins_srtdeel_omschrijving, D.ins_deel_key,"
|
||||
+ " di.ins_discipline_min_level auth, sd.ins_srtdeel_key"
|
||||
+ " FROM ins_v_aanwezigdeel D,ins_v_aanwezigsrtdeel SD, ins_discipline DI"
|
||||
+ " WHERE D.ins_srtdeel_key = SD.ins_srtdeel_key"
|
||||
+ " AND D.ins_discipline_key = DI.ins_discipline_key"
|
||||
+ " AND ins_alg_ruimte_type = 'P'"
|
||||
+ " AND ins_alg_ruimte_key = " + user_key
|
||||
+ " ORDER BY 2,1";
|
||||
oRs = Oracle.Execute (sql);
|
||||
if (!oRs.eof) {
|
||||
BLOCK_START("prsIns", lcl_spo_title);
|
||||
while (!oRs.eof) {
|
||||
%><tr>
|
||||
<td><input class="fld" readonly value="<%=oRs("ins_srtdeel_omschrijving").value%>"></td>
|
||||
<td><input class="fld" readonly value="<%=oRs("ins_deel_omschrijving").value%>"></td></tr><%
|
||||
oRs.moveNext();
|
||||
}
|
||||
BLOCK_END();
|
||||
}
|
||||
}
|
||||
%>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user