2024-04-23 23:01:49 +02:00
|
|
|
lib_plankton.zoo_page.register(
|
|
|
|
"view",
|
|
|
|
async (parameters, target_element) => {
|
|
|
|
const id : int = parseInt(parameters["id"]);
|
|
|
|
|
2024-05-01 09:53:59 +02:00
|
|
|
let dom_fragment : DocumentFragment = template_request("view");
|
|
|
|
|
|
|
|
dom_fragment.querySelector(".view-title").textContent = lib_plankton.translate.get("page.view.title");
|
|
|
|
|
|
|
|
const member_data = await _espe.backend.member_get(id);
|
|
|
|
|
2024-04-30 01:32:40 +02:00
|
|
|
const form = new lib_plankton.zoo_form.class_form<
|
|
|
|
{
|
|
|
|
membership_number : string;
|
|
|
|
name_real_value : string;
|
|
|
|
name_real_index : int;
|
|
|
|
registered : boolean;
|
|
|
|
enabled : boolean;
|
2024-04-30 08:46:19 +02:00
|
|
|
email_address_private : (null | string);
|
|
|
|
email_address_veiled : (null | string);
|
|
|
|
email_address_nominal : (null | string);
|
2024-04-30 01:32:40 +02:00
|
|
|
email_redirect_to_private_address : boolean;
|
|
|
|
email_allow_sending : boolean;
|
2024-04-30 08:46:19 +02:00
|
|
|
name_login : string;
|
|
|
|
password_set : boolean;
|
2024-04-30 01:32:40 +02:00
|
|
|
},
|
|
|
|
{
|
|
|
|
membership_number : string;
|
|
|
|
name_real_value : string;
|
|
|
|
name_real_index : int;
|
|
|
|
registered : boolean;
|
|
|
|
enabled : boolean;
|
2024-04-30 08:46:19 +02:00
|
|
|
email_address_private : (null | string);
|
|
|
|
email_address_veiled : (null | string);
|
|
|
|
email_address_nominal : (null | string);
|
2024-04-30 01:32:40 +02:00
|
|
|
email_redirect_to_private_address : boolean;
|
|
|
|
email_allow_sending : boolean;
|
2024-04-30 08:46:19 +02:00
|
|
|
name_login : string;
|
|
|
|
password_set : boolean;
|
2024-04-30 01:32:40 +02:00
|
|
|
}
|
|
|
|
>(
|
2024-04-23 23:01:49 +02:00
|
|
|
value => value,
|
|
|
|
representation => representation,
|
|
|
|
new lib_plankton.zoo_input.class_input_group(
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "membership_number",
|
|
|
|
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
2024-04-30 15:32:42 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.membership_number.label"),
|
2024-04-23 23:01:49 +02:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "name_real_value",
|
2024-04-30 01:32:40 +02:00
|
|
|
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
2024-04-30 15:32:42 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.name_real_value.label"),
|
2024-04-23 23:01:49 +02:00
|
|
|
},
|
|
|
|
{
|
2024-04-30 01:32:40 +02:00
|
|
|
"name": "name_real_index",
|
|
|
|
"input": new lib_plankton.zoo_input.class_input_number({"read_only": true}),
|
2024-04-30 15:32:42 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.name_real_index.label"),
|
2024-04-30 01:32:40 +02:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "enabled",
|
|
|
|
"input": new lib_plankton.zoo_input.class_input_checkbox(),
|
2024-04-30 15:32:42 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.enabled.label"),
|
2024-04-23 23:01:49 +02:00
|
|
|
},
|
2024-05-01 09:53:59 +02:00
|
|
|
{
|
|
|
|
"name": "registered",
|
|
|
|
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.registered.label"),
|
|
|
|
},
|
2024-04-23 23:01:49 +02:00
|
|
|
{
|
2024-04-30 08:46:19 +02:00
|
|
|
"name": "email_address_private",
|
|
|
|
"input": new lib_plankton.zoo_input.class_input_text(),
|
2024-04-30 15:32:42 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.email_address_private.label"),
|
2024-04-23 23:01:49 +02:00
|
|
|
},
|
|
|
|
{
|
2024-04-30 08:46:19 +02:00
|
|
|
"name": "email_address_veiled",
|
|
|
|
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
2024-04-30 15:32:42 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.email_address_veiled.label"),
|
2024-04-30 08:46:19 +02:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "email_address_nominal",
|
|
|
|
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
2024-04-30 15:32:42 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.email_address_nominal.label"),
|
2024-04-30 01:32:40 +02:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "email_redirect_to_private_address",
|
2024-04-24 08:33:22 +02:00
|
|
|
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
2024-04-30 15:32:42 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.email_redirect_to_private_address.label"),
|
2024-04-23 23:01:49 +02:00
|
|
|
},
|
|
|
|
{
|
2024-04-30 01:32:40 +02:00
|
|
|
"name": "email_allow_sending",
|
|
|
|
"input": new lib_plankton.zoo_input.class_input_checkbox(),
|
2024-04-30 15:32:42 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.email_allow_sending.label"),
|
2024-04-23 23:01:49 +02:00
|
|
|
},
|
|
|
|
{
|
2024-04-30 08:46:19 +02:00
|
|
|
"name": "name_login",
|
2024-04-23 23:01:49 +02:00
|
|
|
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
2024-04-30 15:32:42 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.name_login.label"),
|
2024-04-23 23:01:49 +02:00
|
|
|
},
|
|
|
|
{
|
2024-04-30 08:46:19 +02:00
|
|
|
"name": "password_set",
|
|
|
|
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
2024-04-30 15:32:42 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.field.password_set.label"),
|
2024-04-23 23:01:49 +02:00
|
|
|
},
|
|
|
|
]
|
|
|
|
),
|
2024-05-01 09:53:59 +02:00
|
|
|
(
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"label": lib_plankton.translate.get("page.view.form.action.save"),
|
|
|
|
"procedure": async (get_value, get_representation) => {
|
|
|
|
const value = await get_value();
|
|
|
|
await _espe.backend.member_modify(
|
|
|
|
id,
|
2024-04-23 23:01:49 +02:00
|
|
|
{
|
2024-05-01 09:53:59 +02:00
|
|
|
"email_address_private": value.email_address_private,
|
|
|
|
"enabled": value.enabled,
|
|
|
|
"registered": value.registered,
|
2024-04-23 23:01:49 +02:00
|
|
|
}
|
2024-05-01 09:53:59 +02:00
|
|
|
);
|
|
|
|
},
|
2024-04-23 23:01:49 +02:00
|
|
|
},
|
2024-04-29 00:15:48 +02:00
|
|
|
]
|
2024-05-01 09:53:59 +02:00
|
|
|
.concat(
|
|
|
|
member_data.registered
|
|
|
|
? []
|
|
|
|
: [
|
2024-04-30 01:32:40 +02:00
|
|
|
{
|
2024-05-01 09:53:59 +02:00
|
|
|
"label": lib_plankton.translate.get("page.view.form.action.summon"),
|
|
|
|
"procedure": async (get_value, get_representation) => {
|
|
|
|
const url_template : string = (
|
|
|
|
window.location.href.split("#")[0]
|
|
|
|
+
|
|
|
|
lib_plankton.zoo_page.encode(
|
|
|
|
{
|
|
|
|
"name": "register",
|
|
|
|
"parameters": {
|
|
|
|
"id": id,
|
|
|
|
"verification": "{{verification}}",
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
const url : string = await _espe.backend.member_summon(id, url_template);
|
|
|
|
|
|
|
|
if (_espe.conf.get().settings.test_mode) {
|
|
|
|
alert(lib_plankton.translate.get("page.view.misc.test_info", {"url": url}));
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
alert(lib_plankton.translate.get("page.view.misc.summoned"));
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
]
|
|
|
|
)
|
2024-04-29 00:15:48 +02:00
|
|
|
)
|
|
|
|
);
|
2024-05-01 09:53:59 +02:00
|
|
|
await form.setup(dom_fragment.querySelector(".view-form") as HTMLElement);
|
|
|
|
await form.input_write(
|
|
|
|
{
|
|
|
|
"membership_number": member_data.membership_number,
|
|
|
|
"name_real_value": member_data.name_real_value,
|
|
|
|
"name_real_index": member_data.name_real_index,
|
|
|
|
"registered": member_data.registered,
|
|
|
|
"enabled": member_data.enabled,
|
|
|
|
"email_address_private": member_data.email_address_private,
|
|
|
|
"email_address_veiled": (
|
|
|
|
member_data.email_use_veiled_address
|
|
|
|
? member_data.email_address_veiled
|
|
|
|
: ("(" + lib_plankton.translate.get("common.not_used") + ")")
|
|
|
|
),
|
|
|
|
"email_address_nominal": (
|
|
|
|
member_data.email_use_nominal_address
|
|
|
|
? member_data.email_address_nominal
|
|
|
|
: ("(" + lib_plankton.translate.get("common.not_used") + ")")
|
|
|
|
),
|
|
|
|
"email_redirect_to_private_address": member_data.email_redirect_to_private_address,
|
|
|
|
"email_allow_sending": member_data.email_allow_sending,
|
|
|
|
"name_login": member_data.name_login,
|
|
|
|
"password_set": member_data.password_set,
|
|
|
|
}
|
|
|
|
);
|
2024-04-23 23:01:49 +02:00
|
|
|
|
|
|
|
target_element.appendChild(dom_fragment);
|
|
|
|
},
|
|
|
|
);
|