375 lines
15 KiB
Plaintext
375 lines
15 KiB
Plaintext
<%@language = "javascript" %>
|
|
<%
|
|
/* $Revision$
|
|
$Id$
|
|
|
|
File: prs_edit_perslid.asp
|
|
Description: edit or add persons
|
|
Parameters: prs_key (required)
|
|
|
|
Context:
|
|
Note: De meeste kenmerken mag je alleen bewerken als de WEB_PRSMAN hebt
|
|
Sommige echter ook als je WEB_PRSUSE hebt.
|
|
OSLOGIN mag alleen als je WEB_PRSSYS hebt.
|
|
Tenslotte mag je als je PROFIL hebt voor jezelf hetzelfde als PRSUSE
|
|
|
|
*/ %>
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/iface.inc" -->
|
|
<!-- #include file="../Shared/persoonselector.inc" -->
|
|
<!-- #include file="../Shared/selector.inc" -->
|
|
<!-- #include file="../Shared/afdelingselector.inc" -->
|
|
<!-- #include file="../Shared/functieselector.inc" -->
|
|
<!-- #include file="../Shared/adresselector.inc" -->
|
|
<!-- #include file="prs_flexkenmerk.inc" -->
|
|
<!-- #include file="../Shared/calendar.inc"-->
|
|
<!-- #include file="prs.inc"-->
|
|
|
|
<%
|
|
FCLTHeader.Requires({plugins:["jQuery"], js: []})
|
|
|
|
var prs_key = getQParamInt("prs_key", -1);
|
|
|
|
var prsauthparams = prs.checkAutorisation(prs_key);
|
|
user.auth_required_or_abort(prsauthparams.writeman || prsauthparams.writeuse || prsauthparams.writeself);
|
|
|
|
if (prs_key > 0)
|
|
var thisUser = new Perslid(prs_key); // geeft ook handige informatie
|
|
|
|
var startEmpty = 1;
|
|
var endEmpty = 1;
|
|
|
|
// if (!alg.canWriteRuimte(room_key, authparams.mALGreadlevel))
|
|
// user.auth_required_or_abort(false);
|
|
var prs_flags = 0;
|
|
if (prs_key > -1)
|
|
{
|
|
sql = "SELECT p.prs_perslid_key, "
|
|
+ " prs_srtperslid_key, "
|
|
+ " p.prs_afdeling_key, "
|
|
+ " prs_perslid_naam, "
|
|
+ " prs_perslid_geslacht, "
|
|
+ " prs_perslid_voorletters, "
|
|
+ " prs_perslid_voornaam, "
|
|
+ " prs_perslid_titel, "
|
|
+ " prs_perslid_initialen, "
|
|
+ " prs_perslid_nr, "
|
|
+ " prs_perslid_dienstverband, "
|
|
+ " prs_perslid_opp, "
|
|
+ " p.mld_adres_key, "
|
|
+ " prs_perslid_uurloon, "
|
|
+ " prs_perslid_telefoonnr, "
|
|
+ " prs_perslid_lang, "
|
|
+ " prs_perslid_oslogin, "
|
|
+ " prs_perslid_oslogin2, "
|
|
+ " prs_perslid_apikey, "
|
|
+ " prs_perslid_systeemadres, "
|
|
+ " prs_perslid_flags, "
|
|
+ " prs_perslid_ingangsdatum, "
|
|
+ " prs_perslid_einddatum, "
|
|
+ " d.prs_bedrijf_key, "
|
|
+ " prs_perslid_tussenvoegsel, "
|
|
+ " fac_profiel_key, "
|
|
+ " prs_perslid_email, "
|
|
+ " prs_perslid_mobiel, "
|
|
+ " prs_perslid_ingids "
|
|
+ " FROM prs_v_aanwezigperslid p, "
|
|
+ " prs_afdeling d "
|
|
+ " WHERE p.prs_perslid_key = " + prs_key
|
|
+ " AND p.prs_afdeling_key = d.prs_afdeling_key ";
|
|
|
|
oRsMes = Oracle.Execute(sql);
|
|
if (!oRsMes.eof) {
|
|
var prs_srtkey = oRsMes("prs_srtperslid_key").value;
|
|
var prs_afdkey = oRsMes("prs_afdeling_key").value;
|
|
var prs_naam = oRsMes("prs_perslid_naam").value;
|
|
var prs_vltr = oRsMes("prs_perslid_voorletters").value;
|
|
var prs_vrnaam = oRsMes("prs_perslid_voornaam").value;
|
|
var prs_titel = oRsMes("prs_perslid_titel").value;
|
|
var prs_ini = oRsMes("prs_perslid_initialen").value;
|
|
var prs_nr = oRsMes("prs_perslid_nr").value;
|
|
var prs_dnst = oRsMes("prs_perslid_dienstverband").value;
|
|
var prs_opp = oRsMes("prs_perslid_opp").value;
|
|
var mld_adrkey = oRsMes("mld_adres_key").value;
|
|
var prs_uurln = oRsMes("prs_perslid_uurloon").value;
|
|
var prs_telnr = oRsMes("prs_perslid_telefoonnr").value;
|
|
var prs_lang = oRsMes("prs_perslid_lang").value;
|
|
var prs_oslog = oRsMes("prs_perslid_oslogin").value;
|
|
var prs_oslog2 = oRsMes("prs_perslid_oslogin2").value;
|
|
var prs_apikey = oRsMes("prs_perslid_apikey").value;
|
|
var prs_ingdat = oRsMes("prs_perslid_ingangsdatum").value;
|
|
var prs_systeem= oRsMes("prs_perslid_systeemadres").value;
|
|
var prs_flags = oRsMes("prs_perslid_flags").value;
|
|
var prs_enddat = oRsMes("prs_perslid_einddatum").value;
|
|
var prs_bdrkey = oRsMes("prs_bedrijf_key").value;
|
|
var prs_geslacht = oRsMes("prs_perslid_geslacht").value;
|
|
var prs_tussen = oRsMes("prs_perslid_tussenvoegsel").value;
|
|
var fac_prkey = oRsMes("fac_profiel_key").value;
|
|
var prs_email = oRsMes("prs_perslid_email").value;
|
|
var prs_mobiel = oRsMes("prs_perslid_mobiel").value;
|
|
var prs_bdrkey = oRsMes("prs_bedrijf_key").value;
|
|
var ingids = oRsMes("prs_perslid_ingids").value == 1;
|
|
} else {
|
|
shared.record_not_found("<!--"+prs_key+"-->");
|
|
}
|
|
oRsMes.Close();
|
|
|
|
if (prs_ingdat != null)
|
|
{
|
|
prs_ingdat = new Date(prs_ingdat);
|
|
startEmpty = 0;
|
|
}
|
|
|
|
if (prs_enddat != null)
|
|
{
|
|
prs_enddat = new Date(prs_enddat);
|
|
endEmpty = 0;
|
|
}
|
|
}
|
|
else // nieuw
|
|
{
|
|
ingids = true;
|
|
var prs_srtkey = getQParamInt("prs_srtkey", -1);
|
|
}
|
|
%>
|
|
<html>
|
|
<head>
|
|
<%
|
|
FCLTHeader.Generate();
|
|
// TODO: moet hier niet prs.checkAutorisation gebruikt worden?
|
|
// Die is er beter tegen bestand dat prs_key misschien null is?
|
|
var xfunc = user.func_enabled("*", null, null, prs_key>0?prs_key:null);
|
|
%>
|
|
<script type="text/javascript">
|
|
function prs_submit()
|
|
{
|
|
if (!validateForm("u2"))
|
|
return false;
|
|
$.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), FcltCallbackClose, "json");
|
|
}
|
|
function prs_cancel()
|
|
{
|
|
FcltMgr.closeDetail(window, { cancel: true } );
|
|
}
|
|
|
|
<% if (prs_key > 0) { %>
|
|
function edit_werklocatie(img, prs_key)
|
|
{
|
|
var url = "../../appl/prs/prs_move_huidigewerkplek.asp?prs_key=" + prs_key;
|
|
FcltMgr.openModalDetail(url, "<%=safe.jsstring(thisUser.naam())%>",
|
|
{ callback: function (data) { if (data.wp_aanduiding) {$(img).closest("tr").find(".fldworklocation").text(data.wp_aanduiding);} } });
|
|
}
|
|
|
|
function edit_photo(img)
|
|
{
|
|
var url = "<%=protectQS.create("../../appl/shared/BijlagenForm.asp?module=SML&key="+prs_key)%>";
|
|
FcltMgr.openModalDetail(url, L("lcl_prs_upload_foto"),
|
|
{ callback: FcltMgr.reload } );
|
|
}
|
|
<% } %>
|
|
</script>
|
|
</head>
|
|
|
|
<body id="editbody">
|
|
<%
|
|
var buttons = [ {title: L("lcl_submit"), action:"prs_submit()", icon: "opslaan.png" },
|
|
{title: L("lcl_cancel"), action:"prs_cancel()", icon: "undo.png" }];
|
|
|
|
IFRAMER_HEADER(L("lcl_prs_persoon_frame"), buttons);
|
|
%>
|
|
<div id="edit">
|
|
<form name="u2"
|
|
action="prs_edit_perslid_save.asp?prs_key=<%=prs_key%>"
|
|
method="post"
|
|
target="hidFrameSubmit"
|
|
onSubmit="prs_submit();">
|
|
<%
|
|
// 4i uitstapjes naar werkplekken en verplichtingen zijn als direct frame in prs_perslid.asp gerealiseerd
|
|
if (prsauthparams.writeman)
|
|
manRWFIELD = RWFIELDTR;
|
|
else
|
|
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
|
|
|
if ((prsauthparams.writeself || prsauthparams.writeuse) && S("prs_telefoonnr_aut_use")==1) // dan mag USE er ook een paar
|
|
useRWFIELD = RWFIELDTR;
|
|
else
|
|
useRWFIELD = manRWFIELD
|
|
|
|
BLOCK_START("prsPerslid", L("lcl_prs_basisblok"));
|
|
if (prs_key > 0) // Fotoblokje alleen bij bestaande records
|
|
{
|
|
Response.write("<tr><td style='text-align: right'>");
|
|
if (prsauthparams.writeuse)
|
|
{
|
|
%><span class='fa fa-edit fa-lg button' title='<%=L("lcl_change")%>' onclick='edit_photo(this)'></span><%
|
|
}
|
|
Response.write("</td><td class='profile'><img id='photo' class='profile' src='" + thisUser.photoinfo().photopaththumb + "'></td></tr>");
|
|
}
|
|
manRWFIELD("prs_naam", "fld", L("lcl_prs_person_name"), prs_naam, {required: true, maxlength: 60});
|
|
var sql = "SELECT 0, "+safe.quoted_sql(L("lcl_prs_person_geslachtV"))+" FROM DUAL UNION ALL"
|
|
+ " SELECT 1, "+safe.quoted_sql(L("lcl_prs_person_geslachtM"))+" FROM DUAL";
|
|
FCLTselector("prs_geslacht", sql,
|
|
{ label: L("lcl_prs_person_geslacht"),
|
|
initKey: prs_geslacht,
|
|
emptyOption: L("lcl_prs_person_geslachtO"),
|
|
readonly: !prsauthparams.writeman
|
|
});
|
|
|
|
manRWFIELD("prs_tussen","fldshort", L("lcl_prs_person_tussen"), prs_tussen, {maxlength: 15, suppressEmpty: true});
|
|
manRWFIELD("prs_vltr", "fldshort", L("lcl_prs_person_voorletters"), prs_vltr, {maxlength: 15, suppressEmpty: true});
|
|
manRWFIELD("prs_vrnaam","fld", L("lcl_prs_person_voornaam"), prs_vrnaam, {maxlength: 30});
|
|
manRWFIELD("prs_titel", "fldshort", L("lcl_prs_person_title"), prs_titel, {maxlength: 15, suppressEmpty: true});
|
|
manRWFIELD("prs_ini", "fldshort", L("lcl_prs_person_initials"), prs_ini, {maxlength: 10, suppressEmpty: true});
|
|
|
|
if (S("language_toggles").length > 1)
|
|
{
|
|
var sql = "";
|
|
for (var i=0; i<S("language_toggles").length; i++)
|
|
{
|
|
sql += (i>0 ? " UNION " : "") + "SELECT "+safe.quoted_sql(S("language_toggles")[i])+","+safe.quoted_sql(S("language_toggles")[i])+" FROM DUAL";
|
|
}
|
|
FCLTselector("prs_lang", sql,
|
|
{ label: L("lcl_lcl_taal"),
|
|
initKey: prs_lang,
|
|
emptyOption: ""
|
|
});
|
|
}
|
|
|
|
if (S("prs_hide_fixed_fields") == 0 )
|
|
{
|
|
useRWFIELD("prs_telnr", "fld", L("lcl_prs_person_phone"), prs_telnr, {maxlength: 15});
|
|
useRWFIELD("prs_mobiel", "fld", L("lcl_prs_person_mobile"), prs_mobiel, {maxlength: 15});
|
|
manRWFIELD("prs_email", "fld", L("lcl_prs_person_email"), prs_email, {maxlength: 200});
|
|
}
|
|
if (prsauthparams.writesys || (S("prs_mgt_edit_login") && xfunc.canWrite("WEB_FACMGT"))) {
|
|
RWFIELDTR("prs_oslog", "fld", L("lcl_prs_person_login"), prs_oslog, {maxlength: 30});
|
|
RWFIELDTR("prs_oslog2", "fld", L("lcl_prs_person_login2"), prs_oslog2, {maxlength: 30});
|
|
if (prsauthparams.writetab)
|
|
{
|
|
RWFIELDTR("prs_apikey", "fld", L("lcl_prs_apiuser"), prs_apikey, {maxlength: 64});
|
|
RWFIELDTR("prs_systeemadres", "fld", L("lcl_prs_systeemadres"),prs_systeem, {maxlength: 200});
|
|
RWFIELDTR("prs_flags", "fld", L("lcl_prs_flagscode"), prs_flags);
|
|
}
|
|
}
|
|
|
|
if (prs_key > 0)
|
|
{
|
|
var thisPrs = prs.prs_perslid(prs_key, { withWL: true }); // geeft ook alle informatie
|
|
var wl = thisPrs.werklocatie.alg_locatie_key? thisPrs.werklocatie.aanduiding : "";
|
|
if (prsauthparams.writeuse)
|
|
{ %><tr><td class="label">
|
|
<label class="selector"><%=L("lcl_prs_work_location")%></label>
|
|
<span class='labelextra'>
|
|
<span class='fa fa-edit fa-lg button'
|
|
title='<%=L("lcl_change")%>'
|
|
onclick='edit_werklocatie(this, <%=prs_key%>)'></span>
|
|
</span></td>
|
|
<td><%ROFIELD('fldworklocation', null, wl); %></td>
|
|
</tr><%
|
|
}
|
|
else
|
|
ROFIELDTR('fld', L("lcl_prs_work_location"), wl, {suppressEmpty: true});
|
|
}
|
|
BLOCK_END();
|
|
|
|
BLOCK_START("prsPerslid2", L("lcl_prs_organisatieblok"));
|
|
if (prsauthparams.writesys)
|
|
CHECKBOXTR(L("lcl_prs_in_guide"), "fldnotingids", "ingids", ingids);
|
|
manRWFIELD("prs_nr", "fld", L("lcl_prs_person_nr"), prs_nr);
|
|
|
|
FCLTafdelingselector("prs_afdkey",
|
|
"prs_afdkey",
|
|
{ departmentKey: prs_afdkey,
|
|
label: L("lcl_prs_organisatie"),
|
|
autlevel: prsauthparams.PRSreadlevel, // Was voorheen niet aanwezig
|
|
readonly: !prsauthparams.writeman,
|
|
required: true
|
|
});
|
|
|
|
FCLTfunctieselector("prs_srtkey", "prs_srtkey" ,
|
|
{label: L("lcl_prs_person_function"),
|
|
srtperslidKey: prs_srtkey,
|
|
emptyOption: "",
|
|
readonly: !prsauthparams.writeman,
|
|
required: true
|
|
});
|
|
|
|
manRWFIELD("prs_opp", "fldshort", L("lcl_prs_person_opp"), prs_opp, {maxlength: 10, datatype: "float", suppressEmpty: true});
|
|
manRWFIELD("prs_dnst", "fldshort", L("lcl_prs_person_dienstverband"), prs_dnst, {maxlength: 5, datatype: "float", suppressEmpty: true});
|
|
|
|
if (S("prs_perslid_datums") == 1)
|
|
{
|
|
FCLTcalendar( "prs_ingdat",
|
|
{ label : L("lcl_prs_person_ingangsdatum"),
|
|
datum : prs_ingdat,
|
|
readonly: !prsauthparams.writeman,
|
|
required: true
|
|
});
|
|
|
|
|
|
FCLTcalendar( "prs_enddat",
|
|
{ label : L("lcl_prs_person_einddatum"),
|
|
datum : prs_enddat,
|
|
readonly: !prsauthparams.writeman,
|
|
initEmpty: endEmpty
|
|
});
|
|
}
|
|
|
|
sql = "SELECT fac_profiel_key, "
|
|
+ " fac_profiel_omschrijving "
|
|
+ " FROM fac_profiel "
|
|
+ "ORDER BY 2 "
|
|
|
|
FCLTselector("fac_prkey", sql,
|
|
{ label: L("lcl_prs_profile"),
|
|
initKey: fac_prkey,
|
|
emptyOption: "",
|
|
readonly: !prsauthparams.writeman
|
|
});
|
|
FCLTadresselector("mld_adrkey", "sgAdres",
|
|
{
|
|
label: L("lcl_delivery_address"),
|
|
adresKey: mld_adrkey,
|
|
emptyOption: "",
|
|
filtcode: "A",
|
|
readonly: !prsauthparams.writeman
|
|
}) ;
|
|
|
|
if (S("prs_hide_fixed_fields") == 0 ) {
|
|
manRWFIELD("prs_uurln", "fldshort", L("lcl_prs_person_uurloon"), prs_uurln, {maxlength: 8, datatype: "float", suppressEmpty: true});
|
|
}
|
|
BLOCK_END();
|
|
|
|
// ============================= NOTIFICATIES ========================================
|
|
// Kan de gebruiker uberhaubt *iets* overrulen? Zo nee dan ook geen vinkjes tonen
|
|
var notis = prs.check4notis();
|
|
|
|
if (prs_key > 0 && (prs_key == user_key || prsauthparams.writesys || prsauthparams.writeman) && notis.canany )
|
|
{
|
|
BLOCK_START("prsNoti", L("lcl_noti_prsvoorkeur"));
|
|
CHECKBOXTR(L("lcl_noti_niks"), "fldfacnoti", "noti0", thisUser.noti_niks());
|
|
if (notis.can1) CHECKBOXTR(L("lcl_noti_portal"), "fldfacnoti", "noti1", thisUser.noti_portal());
|
|
if (notis.can2) CHECKBOXTR(L("lcl_noti_email"), "fldfacnoti", "noti2", thisUser.noti_email());
|
|
if (notis.can4) CHECKBOXTR(L("lcl_noti_sms"), "fldfacnoti", "noti4", thisUser.noti_sms());
|
|
if (notis.can8) CHECKBOXTR(L("lcl_noti_popup"), "fldfacnoti", "noti8", thisUser.noti_popup());
|
|
BLOCK_END();
|
|
}
|
|
|
|
BLOCK_START("prsFlex"+(S("prs_flexcolumns")!=1?"2":""), L("lcl_prs_flexblok"));
|
|
generateFlexKenmerkCode ({
|
|
link_key : prs_key,
|
|
srt_key : prs_srtkey,
|
|
niveau : "P",
|
|
reado : false,
|
|
flexcolumns : S("prs_flexcolumns"),
|
|
prsauthparams : prsauthparams
|
|
});
|
|
BLOCK_END();
|
|
IFACE.FORM_END();
|
|
%>
|
|
</form>
|
|
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
|
|
</div>
|
|
</body>
|
|
</html>
|