FCLT#90489 Bij self-registratie mogen mensen niet altijd in _DEFAULT komen

svn path=/Website/trunk/; revision=70459
This commit is contained in:
Jos Groot Lipman
2025-09-30 08:40:09 +00:00
parent 5055a16ade
commit 3f3eadc244
3 changed files with 10 additions and 87 deletions

2
APPL/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/.vscode
.vs

View File

@@ -1,75 +0,0 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
*/
ANONYMOUS_Allowed = 1;
%>
<!--#include file="../Shared/common.inc"-->
<!--#include file="../Shared/iface.inc"-->
<!--#include file="../Shared/selector.inc"-->
<%
if (S("self_register") != 1)
shared.simpel_page(L("lcl_no_auth"));
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript">
async function self_submit()
{
if (!await validateForm("u2"))
return false;
$.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), FcltCallbackClose, "json");
}
</script>
</head>
<body class="fclt-modal" id="mod_selfreg">
<% MODAL_START(); %>
<form name="u2" method="post" action="self_register_save.asp?">
<%
MODAL_BLOCK_START("selfInput", L("lcl_self_needed_info"), { icon: "fa-address-card" });
%> <tr><td colspan="2"><%=L("lcl_self_register_header")%></td></tr><%
RWFIELDTR("prs_naam", "fld required", L("lcl_prs_person_name"), "", {required: true, maxlength: 60});
RWFIELDTR("prs_vrnaam", "fld", L("lcl_prs_person_voornaam"), "", {maxlength: 30});
RWFIELDTR("prs_email", "fld required", L("lcl_prs_person_email"), "");
RWFIELDTR("prs_telnr", "fld required", L("lcl_prs_person_phone"), "", { required: true, maxlength: 20 });
RWFIELDTR("password1", "fld required", L("lcl_ch_password_new"), "", { required: true, html: " type=password autocomplete=new-password" });
RWFIELDTR("password2", "fld required", L("lcl_ch_password_con"), "", { required: true, html: " type=password autocomplete=new-password" });
var fac_groep_key_arr = S("self_register_groep_keys");
if (fac_groep_key_arr.length > 1)
{
var sql = "SELECT fac_groep_key, fac_groep_omschrijving"
+ " FROM fac_groep"
+ " WHERE fac_groep_key IN (" + fac_groep_key_arr + ")"
+ " ORDER BY fac_groep_omschrijving ASC";
FCLTselector("fac_groep_key",
sql,
{ label: L("lcl_self_register_group"),
emptyOption: "",
required: true
});
}
MODAL_BLOCK_END();
var buttons = [ {title: L("lcl_submit"), icon: "fa-fclt-save", action: "self_submit()", importance: 1 },
{title: L("lcl_cancel"), icon: "fa-fclt-cancel", action: "FcltMgr.closeDetail( window )", importance: 3 }];
SIMPLE_BLOCK_START();
CreateButtons(buttons, { isModal: true });
SIMPLE_BLOCK_END();
IFACE.FORM_END();
%>
</form>
<div class="info" id="sfooter"><%=L("lcl_self_register_footer")%></div>
<% MODAL_END(); %>
</body>
</html>
<% ASPPAGE_END(); %>

View File

@@ -5,6 +5,7 @@
*/
ANONYMOUS_Allowed = 1;
var JSON_Result = true;
%>
<!--#include file="../Shared/common.inc"-->
<% settings.overrule_setting("multi_language_option", 0); %>
@@ -12,7 +13,6 @@ var JSON_Result = true;
<!-- #include file="../Shared/send_mail.inc"-->
<!-- #include file="../aut/login.inc" -->
<%
if (S("self_register") != 1)
shared.simpel_page(L("lcl_no_auth"));
@@ -75,7 +75,7 @@ if (!oRs.eof)
var fields = [ { dbs: "prs_perslid_naam", typ: "varchar", frm: "prs_naam" },
{ dbs: "prs_perslid_voornaam", typ: "varchar", frm: "prs_vrnaam" },
{ dbs: "prs_perslid_telefoonnr", typ: "varchar", frm: "prs_telnr" },
{ dbs: "prs_perslid_email", typ: "varchar", val: email },
//{ dbs: "prs_perslid_email", typ: "varchar", val: email }, nog niet, we willen mogelijk _DEFAULT niet krijgen
{ dbs: "prs_perslid_mobiel", typ: "varchar", frm: "prs_mobiel" },
{ dbs: "prs_afdeling_key", typ: "key", val: S("self_register_afdeling_key") },
{ dbs: "prs_srtperslid_key", typ: "key", val: S("self_register_srtperslid_key") },
@@ -85,11 +85,8 @@ var fields = [ { dbs: "prs_perslid_naam", typ: "varchar", frm: "prs_naam
var regIns = buildInsert("prs_perslid", fields);
var prs_key = regIns.sequences["prs_perslid_key"];
sql = regIns.sql;
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
Oracle.Execute(sql);
// S("self_register_groep_keys") heeft prioriteit over S("self_register_groep_key")
if (S("self_register_groep_keys").length)
{
var fac_groep_key = getFParamInt("fac_groep_key", S("self_register_groep_keys")[0]);
@@ -103,14 +100,13 @@ if (S("self_register_groep_keys").length)
Oracle.Execute(sql);
}
// else komt die _DEFAULT groep wel zodra we prs_perslid_oslogin zetten
// else komt die _DEFAULT groep wel zodra we prs_perslid_oslogin of prs_perslid_email zetten
sql = "UPDATE prs_perslid"
+ " SET prs_perslid_oslogin = " + safe.quoted_sql(email, 256)
+ " , prs_perslid_email = " + safe.quoted_sql(email, 200)
+ " WHERE prs_perslid_key = " + prs_key;
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
Oracle.Execute(sql);
// Geen doLogin hier want dat is te gemakkelijk te misbruiken. Wel even voor
// de rest van *dit* bestand user_key en user zetten zodat we kunnen tracken
@@ -154,6 +150,6 @@ if (!custfunc.prsself_postsave(prs_key, pResult))
var result = { success: true, message: L("lcl_self_register_email_sent").format(email) };
Response.Write(JSON.stringify(result));
Response.End;
ASPPAGE_END();
%>
<% ASPPAGE_END(); %>