[mod] aufgeräumt
This commit is contained in:
parent
15fa634056
commit
2a44a115ba
16 changed files with 424 additions and 462 deletions
|
@ -211,12 +211,24 @@ namespace _espe.backend
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
export async function member_list(
|
export async function member_list(
|
||||||
) : Promise<Array<any>>
|
search_term : (null | string)
|
||||||
|
) : Promise<
|
||||||
|
Array<
|
||||||
|
{
|
||||||
|
id : int;
|
||||||
|
preview : {
|
||||||
|
membership_number : string;
|
||||||
|
name_real_value : string;
|
||||||
|
name_real_index : int;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
>
|
||||||
|
>
|
||||||
{
|
{
|
||||||
return (
|
return (
|
||||||
abstract_call(
|
abstract_call(
|
||||||
"GET",
|
"GET",
|
||||||
"/member"
|
("/member/list" + ((search_term === null) ? "" : ("?search_term=" + search_term)))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -226,11 +238,49 @@ namespace _espe.backend
|
||||||
*/
|
*/
|
||||||
export async function member_get(
|
export async function member_get(
|
||||||
id : int
|
id : int
|
||||||
) : Promise<any>
|
) : Promise<
|
||||||
|
{
|
||||||
|
membership_number : string;
|
||||||
|
name_real_value : string;
|
||||||
|
name_real_index : int;
|
||||||
|
email_address_private : (null | string);
|
||||||
|
registered : boolean;
|
||||||
|
enabled : boolean;
|
||||||
|
email_use_veiled_address : boolean;
|
||||||
|
email_use_nominal_address : boolean;
|
||||||
|
email_redirect_to_private_address : boolean;
|
||||||
|
email_allow_sending : boolean;
|
||||||
|
password_set : boolean;
|
||||||
|
}
|
||||||
|
>
|
||||||
{
|
{
|
||||||
return abstract_call(
|
return abstract_call(
|
||||||
"GET",
|
"GET",
|
||||||
"/member/" + id.toFixed(0)
|
("/member/read/" + id.toFixed(0))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
export async function member_project(
|
||||||
|
data : {
|
||||||
|
membership_number : string;
|
||||||
|
name_real_value : string;
|
||||||
|
email_address_private : (null | string);
|
||||||
|
}
|
||||||
|
) : Promise<int>
|
||||||
|
{
|
||||||
|
return abstract_call(
|
||||||
|
"POST",
|
||||||
|
"/member/project",
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"membership_number": data.membership_number,
|
||||||
|
"name_real_value": data.name_real_value,
|
||||||
|
"email_address_private": data.email_address_private,
|
||||||
|
}
|
||||||
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,98 +288,25 @@ namespace _espe.backend
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
export async function member_get2(
|
export async function member_get2(
|
||||||
id : int
|
id : int,
|
||||||
|
key : string
|
||||||
) : Promise<
|
) : Promise<
|
||||||
{
|
{
|
||||||
name_real : string;
|
name_real_value : string;
|
||||||
|
name_real_index : int;
|
||||||
name_login : string;
|
name_login : string;
|
||||||
email_address_numerical_value : string;
|
email_address_veiled : string;
|
||||||
email_address_namely_value : string;
|
email_address_nominal : string;
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
return abstract_call(
|
return abstract_call(
|
||||||
"GET",
|
"GET",
|
||||||
"/member/get/" + id.toFixed(0)
|
lib_plankton.string.coin(
|
||||||
);
|
"/member/info/{{id}}?key={{key}}",
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
*/
|
|
||||||
export async function member_add(
|
|
||||||
data : Record<string, any>
|
|
||||||
) : Promise<int>
|
|
||||||
{
|
|
||||||
return abstract_call(
|
|
||||||
"POST",
|
|
||||||
"/member",
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"membership_number": data["membership_number"],
|
|
||||||
"enabled": data["enabled"],
|
|
||||||
"name_real_value": data["name_real_value"],
|
|
||||||
"name_real_extension": data["name_real_extension"],
|
|
||||||
"name_display": data["name_display"],
|
|
||||||
"name_login": data["name_login"],
|
|
||||||
"password_image": null,
|
|
||||||
"email_address_private_value": data["email_address_private_value"],
|
|
||||||
"email_address_numberbased_use": data["email_address_numberbased_use"],
|
|
||||||
"email_address_namebased_use": data["email_address_namebased_use"],
|
|
||||||
"email_redirect_to_private": data["email_redirect_to_private"],
|
|
||||||
"salutation": data["salutation"],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
*/
|
|
||||||
export async function member_modify(
|
|
||||||
id : int,
|
|
||||||
data : Record<string, any>
|
|
||||||
) : Promise<void>
|
|
||||||
{
|
|
||||||
return abstract_call(
|
|
||||||
"PATCH",
|
|
||||||
"/member/" + id.toFixed(0),
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"membership_number": data["membership_number"],
|
|
||||||
"enabled": data["enabled"],
|
|
||||||
"name_real_value": data["name_real_value"],
|
|
||||||
"name_real_extension": data["name_real_extension"],
|
|
||||||
"name_display": data["name_display"],
|
|
||||||
"name_login": data["name_login"],
|
|
||||||
"password_image": null,
|
|
||||||
"email_address_private_value": data["email_address_private_value"],
|
|
||||||
"email_address_numberbased_use": data["email_address_numberbased_use"],
|
|
||||||
"email_address_namebased_use": data["email_address_namebased_use"],
|
|
||||||
"email_redirect_to_private": data["email_redirect_to_private"],
|
|
||||||
"salutation": data["salutation"],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
*/
|
|
||||||
export async function member_urge_for_registration(
|
|
||||||
id : int,
|
|
||||||
url : string
|
|
||||||
) : Promise<null>
|
|
||||||
{
|
|
||||||
return (
|
|
||||||
abstract_call(
|
|
||||||
"POST",
|
|
||||||
"/member/urge_for_registration",
|
|
||||||
{
|
{
|
||||||
"data": {
|
"id": id.toFixed(0),
|
||||||
"id": id,
|
"key": key,
|
||||||
"url": url,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -342,19 +319,23 @@ namespace _espe.backend
|
||||||
id : int,
|
id : int,
|
||||||
verification : string,
|
verification : string,
|
||||||
data : {
|
data : {
|
||||||
name_login : string;
|
email_use_veiled_address : boolean;
|
||||||
name_display : string;
|
email_use_nominal_address : boolean;
|
||||||
salutation : string;
|
email_redirect_to_private_address : boolean;
|
||||||
email_mode : ("none" | "number" | "number_and_name");
|
password : (null | string);
|
||||||
email_redirect : boolean;
|
|
||||||
password : string;
|
|
||||||
}
|
}
|
||||||
) : Promise<void>
|
) : Promise<void>
|
||||||
{
|
{
|
||||||
return (
|
return (
|
||||||
abstract_call(
|
abstract_call(
|
||||||
"POST",
|
"POST",
|
||||||
"/member/register/" + id.toFixed(0) + "?verification=" + verification,
|
lib_plankton.string.coin(
|
||||||
|
"/member/register/{{id}}?key={{key}}",
|
||||||
|
{
|
||||||
|
"id": id.toFixed(0),
|
||||||
|
"key": verification,
|
||||||
|
}
|
||||||
|
),
|
||||||
{
|
{
|
||||||
"data": data,
|
"data": data,
|
||||||
}
|
}
|
||||||
|
@ -362,4 +343,46 @@ namespace _espe.backend
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
export async function member_modify(
|
||||||
|
id : int,
|
||||||
|
data : {
|
||||||
|
email_address_private : (null | string);
|
||||||
|
registered : boolean;
|
||||||
|
enabled : boolean;
|
||||||
|
}
|
||||||
|
) : Promise<void>
|
||||||
|
{
|
||||||
|
return abstract_call(
|
||||||
|
"PATCH",
|
||||||
|
("/member/modify/" + id.toFixed(0)),
|
||||||
|
{
|
||||||
|
"data": data
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
export async function member_summon(
|
||||||
|
id : int,
|
||||||
|
url : string
|
||||||
|
) : Promise<null>
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
abstract_call(
|
||||||
|
"POST",
|
||||||
|
("/member/summon/" + id.toFixed(0)),
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"url_template": url,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
12
source/logic/helpers.ts
Normal file
12
source/logic/helpers.ts
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @todo outsource
|
||||||
|
*/
|
||||||
|
function template_request(
|
||||||
|
id : string
|
||||||
|
) : DocumentFragment
|
||||||
|
{
|
||||||
|
let dom_template = document.querySelector("template#" + id);
|
||||||
|
// return template["content"].cloneNode(true);
|
||||||
|
return (document.importNode(dom_template["content"], true) as DocumentFragment)
|
||||||
|
}
|
|
@ -1,16 +1,4 @@
|
||||||
|
|
||||||
/**
|
|
||||||
*/
|
|
||||||
function template_request(
|
|
||||||
id : string
|
|
||||||
) : DocumentFragment
|
|
||||||
{
|
|
||||||
let dom_template = document.querySelector("template#" + id);
|
|
||||||
// return template["content"].cloneNode(true);
|
|
||||||
return (document.importNode(dom_template["content"], true) as DocumentFragment)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
async function update_nav(
|
async function update_nav(
|
||||||
|
@ -62,13 +50,13 @@ function setup_nav(
|
||||||
"classes": ["logged_in"],
|
"classes": ["logged_in"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"location": {"name": "create", "parameters": {}},
|
"location": {"name": "list", "parameters": {}},
|
||||||
"label": "Mitglied anlegen",
|
"label": "Liste",
|
||||||
"classes": ["logged_in"],
|
"classes": ["logged_in"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"location": {"name": "members", "parameters": {}},
|
"location": {"name": "create", "parameters": {}},
|
||||||
"label": "Mitglieder-Übersicht",
|
"label": "Anlegen",
|
||||||
"classes": ["logged_in"],
|
"classes": ["logged_in"],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
@ -5,23 +5,23 @@ lib_plankton.zoo_page.register(
|
||||||
{
|
{
|
||||||
membership_number : string;
|
membership_number : string;
|
||||||
name_real_value : string;
|
name_real_value : string;
|
||||||
email_address_private_value : (null | string);
|
email_address_private : (null | string);
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
membership_number : string;
|
membership_number : string;
|
||||||
name_real_value : string;
|
name_real_value : string;
|
||||||
email_address_private_value : string;
|
email_address_private : string;
|
||||||
}
|
}
|
||||||
>(
|
>(
|
||||||
value => ({
|
value => ({
|
||||||
"membership_number": value.membership_number,
|
"membership_number": value.membership_number,
|
||||||
"name_real_value": value.name_real_value,
|
"name_real_value": value.name_real_value,
|
||||||
"email_address_private_value": (value.email_address_private_value ?? ""),
|
"email_address_private": (value.email_address_private ?? ""),
|
||||||
}),
|
}),
|
||||||
representation => ({
|
representation => ({
|
||||||
"membership_number": representation.membership_number,
|
"membership_number": representation.membership_number,
|
||||||
"name_real_value": representation.name_real_value,
|
"name_real_value": representation.name_real_value,
|
||||||
"email_address_private_value": representation.email_address_private_value,
|
"email_address_private": representation.email_address_private,
|
||||||
}),
|
}),
|
||||||
new lib_plankton.zoo_input.class_input_group(
|
new lib_plankton.zoo_input.class_input_group(
|
||||||
[
|
[
|
||||||
|
@ -36,7 +36,7 @@ lib_plankton.zoo_page.register(
|
||||||
"label": "Echter Name",
|
"label": "Echter Name",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "email_address_private_value",
|
"name": "email_address_private",
|
||||||
"input": new lib_plankton.zoo_input.class_input_text(),
|
"input": new lib_plankton.zoo_input.class_input_text(),
|
||||||
"label": "Private E-Mail-Adresse",
|
"label": "Private E-Mail-Adresse",
|
||||||
},
|
},
|
||||||
|
@ -47,21 +47,7 @@ lib_plankton.zoo_page.register(
|
||||||
"label": "Senden",
|
"label": "Senden",
|
||||||
"procedure": async (get_value, get_representation) => {
|
"procedure": async (get_value, get_representation) => {
|
||||||
const value = await get_value();
|
const value = await get_value();
|
||||||
const id : int = await _espe.backend.member_add(
|
const id : int = await _espe.backend.member_project(value);
|
||||||
{
|
|
||||||
"membership_number": value.membership_number,
|
|
||||||
"name_real_value": value.name_real_value,
|
|
||||||
"email_address_private_value": value.email_address_private_value,
|
|
||||||
"name_real_extension": null,
|
|
||||||
"name_display": null,
|
|
||||||
"name_login": null,
|
|
||||||
"salutation": null,
|
|
||||||
"password_image": null,
|
|
||||||
"email_address_numberbased_use": false,
|
|
||||||
"email_address_namebased_use": false,
|
|
||||||
"email_redirect_to_private": false,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
lib_plankton.zoo_page.set({"name": "view", "parameters": {"id": id}});
|
lib_plankton.zoo_page.set({"name": "view", "parameters": {"id": id}});
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
6
source/pages/index/logic.ts
Normal file
6
source/pages/index/logic.ts
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
lib_plankton.zoo_page.register(
|
||||||
|
"index",
|
||||||
|
async (parameters, target_element) => {
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
);
|
0
source/pages/index/structure.html
Normal file
0
source/pages/index/structure.html
Normal file
0
source/pages/index/style.css
Normal file
0
source/pages/index/style.css
Normal file
68
source/pages/list/logic.ts
Normal file
68
source/pages/list/logic.ts
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
lib_plankton.zoo_page.register(
|
||||||
|
"list",
|
||||||
|
(parameters, target_element) => {
|
||||||
|
type type_item = {
|
||||||
|
id : int;
|
||||||
|
preview : {
|
||||||
|
membership_number : string;
|
||||||
|
name_real_value : string;
|
||||||
|
name_real_index : int;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
const term : (null | string) = (parameters["term"] ?? null);
|
||||||
|
const search : lib_plankton.zoo_search.type_search<type_item> = lib_plankton.zoo_search.make<type_item>(
|
||||||
|
(term) => _espe.backend.member_list(term),
|
||||||
|
{
|
||||||
|
"encode_item": (item) => lib_plankton.string.coin(
|
||||||
|
"{{membership_number}} | {{name}}{{addition}}",
|
||||||
|
{
|
||||||
|
"membership_number": item.preview.membership_number,
|
||||||
|
"name": item.preview.name_real_value,
|
||||||
|
"addition": (
|
||||||
|
(
|
||||||
|
(item.preview.name_real_index === null)
|
||||||
|
||
|
||||||
|
(item.preview.name_real_index <= 1)
|
||||||
|
)
|
||||||
|
? ""
|
||||||
|
: (" (" + item.preview.name_real_index.toFixed(0) + ")")
|
||||||
|
),
|
||||||
|
}
|
||||||
|
),
|
||||||
|
"hooks_begin": [
|
||||||
|
(term) => {
|
||||||
|
lib_plankton.zoo_page.set(
|
||||||
|
{
|
||||||
|
"name": "list",
|
||||||
|
"parameters": {
|
||||||
|
"term": term,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hooks_select": [
|
||||||
|
(item) => {
|
||||||
|
lib_plankton.zoo_page.set(
|
||||||
|
{
|
||||||
|
"name": "view",
|
||||||
|
"parameters": {
|
||||||
|
"id": item.id.toFixed(0),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
);
|
||||||
|
lib_plankton.zoo_search.render(
|
||||||
|
search,
|
||||||
|
target_element,
|
||||||
|
{
|
||||||
|
"state": {
|
||||||
|
"term": term,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
1
source/pages/list/structure.html
Normal file
1
source/pages/list/structure.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
|
1
source/pages/list/style.css
Normal file
1
source/pages/list/style.css
Normal file
|
@ -0,0 +1 @@
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
lib_plankton.zoo_page.register(
|
lib_plankton.zoo_page.register(
|
||||||
"register",
|
"register",
|
||||||
async (parameters, target_element) => {
|
async (parameters, target_element) => {
|
||||||
const set_state = function (state) {
|
function set_state(
|
||||||
|
state : ("load" | "fill" | "wait" | "done"),
|
||||||
|
message : (null | string) = null
|
||||||
|
) : void
|
||||||
|
{
|
||||||
target_element.querySelector(".register").setAttribute("rel", state);
|
target_element.querySelector(".register").setAttribute("rel", state);
|
||||||
};
|
target_element.querySelector(".register-message").textContent = (message ?? "");
|
||||||
const set_message = function (message) {
|
}
|
||||||
target_element.querySelector(".register-message").textContent = message;
|
|
||||||
};
|
|
||||||
|
|
||||||
const id : int = parseInt(parameters["id"]);
|
const id : int = parseInt(parameters["id"]);
|
||||||
const verification : string = parameters["verification"];
|
const verification : string = parameters["verification"];
|
||||||
|
@ -15,277 +17,127 @@ lib_plankton.zoo_page.register(
|
||||||
update_nav({"mode": null});
|
update_nav({"mode": null});
|
||||||
|
|
||||||
const member_data : {
|
const member_data : {
|
||||||
name_real : string;
|
name_real_value : string;
|
||||||
|
name_real_index : int;
|
||||||
name_login : string;
|
name_login : string;
|
||||||
email_address_numerical_value : string;
|
email_address_veiled : string;
|
||||||
email_address_namely_value : string;
|
email_address_nominal : string;
|
||||||
} = await _espe.backend.member_get2(id);
|
} = await _espe.backend.member_get2(id, verification);
|
||||||
|
|
||||||
if (false)
|
target_element.appendChild(template_request("register"));
|
||||||
|
|
||||||
|
set_state("load");
|
||||||
|
|
||||||
|
// info
|
||||||
{
|
{
|
||||||
const form = new lib_plankton.zoo_form.class_form<any, any>(
|
}
|
||||||
x => x,
|
// form
|
||||||
x => x,
|
{
|
||||||
new lib_plankton.zoo_input.class_input_group(
|
let input : lib_plankton.zoo_input.interface_input<
|
||||||
|
{
|
||||||
|
email_address : ("none" | "only_veiled" | "both");
|
||||||
|
email_redirect : boolean;
|
||||||
|
password_value : string;
|
||||||
|
password_confirmation : string;
|
||||||
|
}
|
||||||
|
>;
|
||||||
|
// input
|
||||||
|
{
|
||||||
|
input = new lib_plankton.zoo_input.class_input_group(
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "id",
|
"name": "email_address",
|
||||||
"input": new lib_plankton.zoo_input.class_input_hidden(),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "verification",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_hidden(),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "email_mode",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_enumeration(
|
"input": new lib_plankton.zoo_input.class_input_enumeration(
|
||||||
[
|
[
|
||||||
{"value": "none", "label": "keine"},
|
{"value": "none", "label": "keine"},
|
||||||
{"value": "number", "label": "nur numerische" + " " + ("(" + member_data.email_address_numerical_value + ")")},
|
{"value": "only_veiled", "label": "nur pseudonymisiert"},
|
||||||
{"value": "number_and_name", "label": "numerische und namentliche" + " " + ("(" + member_data.email_address_namely_value + ")")},
|
{"value": "both", "label": "pseudonymisiert und namentlich"},
|
||||||
]
|
]
|
||||||
),
|
),
|
||||||
"label": "Partei-E-Mail-Adresse einrichten",
|
"label": "Partei-E-Mail-Adresse einrichten",
|
||||||
"help": "Die nummernbasierte Partei-E-Mail-Adresse hat folgenden schematischen Aufbau: \"mitglied-<mitglieds-nummer>@dielinke-sachsen.de\", z.B. \"mitglied-11223344@dielinke-sachsen.de\".\n\nDie namensbasierte Partei-E-Mail-Adresse hat folgenden schematischen Aufbau: \"<name-in-kleinbuchstaben-mit-punkten-getrennt>@dielinke-sachsen.de\". Beispiel: \"Karl Liebknecht\" würde die Adresse \"karl.liebknecht@dielinke-sachsen.de\" bekommen.\n\nDie Partei-E-Mail-Adressen können zum Empfangen von E-Mails verwendet werden. Falls es nötig werden sollte, dass du auch E-Mails mit über die Partei-Adresse verschicken kannst, wende dich bitte an den/die Mitgliederbeauftragte:n!"
|
"help": (
|
||||||
|
[
|
||||||
|
"Für Partei-Angelegenheiten möchten wir dir anbieten gesonderte E-Mail-Adressen zu verwenden.",
|
||||||
|
lib_plankton.string.coin(
|
||||||
|
"Deine namentliche E-Mail-Adresse würde lauten »{{email_address_nominal}}« und die pseudonymisierte »{{email_address_veiled}}«.",
|
||||||
|
{
|
||||||
|
"email_address_veiled": member_data.email_address_veiled,
|
||||||
|
"email_address_nominal": member_data.email_address_nominal,
|
||||||
|
}
|
||||||
|
),
|
||||||
|
"Die Partei-E-Mail-Adressen können zum Empfangen von E-Mails verwendet werden. Falls es nötig werden sollte, dass du auch E-Mails mit über die Partei-Adresse verschicken kannst, wende dich bitte an den/die Mitgliederbeauftragte:n!",
|
||||||
|
]
|
||||||
|
.join("\n\n")
|
||||||
|
)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "email_redirect",
|
"name": "email_redirect",
|
||||||
"input": new lib_plankton.zoo_input.class_input_checkbox(),
|
"input": new lib_plankton.zoo_input.class_input_checkbox(
|
||||||
"label": "eingehende E-Mails zu privater Adresse umleiten",
|
|
||||||
"help": "Um die bei der Partei-Adresse eingegangenen E-Mails zu lesen, gibt es zwei Wege: Entweder du hinterlegst das zugehörige Konto im E-Mail-Client-Programm deiner Wahl und kümmerst dich selbst darum die E-Mails regelmäßig abzurufen oder die E-Mails werden an deine private Adresse weitergeleitet, sodass sie bei deinen gewöhnlichen E-Mails mit auftauchen.\n\nWenn du dir unsicher bist, empfehlen wir dir die Umleitung anzuschalten.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name_display",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
|
||||||
"label": "Anzeigename",
|
|
||||||
"help": "So wirst du bei Online-Diensten anderen angezeigt.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "salutation",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_text(),
|
|
||||||
"label": "Anrede/Pronomen (z.B. 'er/ihn')",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name_login",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_text(
|
|
||||||
{
|
|
||||||
"pattern": "^[0-9a-zA-Z_]+$",
|
|
||||||
"read_only": true,
|
|
||||||
}
|
|
||||||
),
|
),
|
||||||
"label": "Anmeldename",
|
"label": "eingehende E-Mails an private Adresse leiten",
|
||||||
"help": "Dieser Wert ist der Nutzername für die Anmeldung bei den Online-Diensten. Hierfür solltest du etwas kurzes und prägnantes wählen. Diesen Namen bekommt für gewöhnlich niemand zu sehen. Bitte beachte, dass der Name noch verfügbar sein muss!",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "password",
|
"name": "password_value",
|
||||||
"input": new lib_plankton.zoo_input.class_input_password(),
|
"input": new lib_plankton.zoo_input.class_input_password(
|
||||||
"label": "Passwort",
|
),
|
||||||
"help": "Das Passwort für die Anmeldung bei den Online-Diensten",
|
"label": "Passwort für Netz-Dienste",
|
||||||
|
"help": "Das Passwort für die Anmeldung bei den Netz-Diensten.\n\nDu solltest dir merken oder geeignet abspeichern, was du hier einträgst.\n\nSolltest du dieses Passwort mal vergessen oder verlieren, hast du die Möglichkeit ein neues zu setzen.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "password_confirmation",
|
"name": "password_confirmation",
|
||||||
"input": new lib_plankton.zoo_input.class_input_password(),
|
"input": new lib_plankton.zoo_input.class_input_password(
|
||||||
|
),
|
||||||
"label": "Passwort wiederholen",
|
"label": "Passwort wiederholen",
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
),
|
);
|
||||||
[
|
await input.setup(target_element.querySelector(".register-form-input") as HTMLElement);
|
||||||
|
await input.write(
|
||||||
{
|
{
|
||||||
"label": "Senden",
|
"email_address": "both",
|
||||||
"procedure": async (get_value, get_representation) => {
|
"email_redirect": true,
|
||||||
set_message("wird verarbeitet …");
|
"password_value": "",
|
||||||
|
"password_confirmation": "",
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
// actions
|
||||||
|
{
|
||||||
|
target_element.querySelector(".register-form-action-send").addEventListener(
|
||||||
|
"click",
|
||||||
|
async (event) => {
|
||||||
|
const value : {
|
||||||
|
email_address : ("none" | "only_veiled" | "both");
|
||||||
|
email_redirect : boolean;
|
||||||
|
password_value : string;
|
||||||
|
password_confirmation : string;
|
||||||
|
} = await input.read();
|
||||||
|
if (value.password_value !== value.password_confirmation) {
|
||||||
|
alert("Die Passwörter stimmen nicht überein");
|
||||||
|
set_state("fill");
|
||||||
|
}
|
||||||
|
else {
|
||||||
set_state("wait");
|
set_state("wait");
|
||||||
|
try {
|
||||||
const value : any = await get_value();
|
await _espe.backend.member_register(
|
||||||
|
id,
|
||||||
if (value.password !== value.password_confirmation) {
|
verification,
|
||||||
set_message("Die Passwörter stimmen nicht überein.");
|
{
|
||||||
set_state("fill");
|
"email_use_veiled_address": (value.email_address !== "none"),
|
||||||
|
"email_use_nominal_address": (value.email_address === "both"),
|
||||||
|
"email_redirect_to_private_address": value.email_redirect,
|
||||||
|
"password": value.password_value,
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else {
|
catch (error) {
|
||||||
try {
|
set_state("fill", "Da ist etwas schief gelaufen :/");
|
||||||
await _espe.backend.member_register(
|
|
||||||
id,
|
|
||||||
verification,
|
|
||||||
value
|
|
||||||
);
|
|
||||||
set_message("Danke!");
|
|
||||||
set_state("done");
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
set_message("Da ist etwas schief gelaufen :/");
|
|
||||||
set_state("fill");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
set_state("done", "Danke!");
|
||||||
},
|
}
|
||||||
]
|
|
||||||
);
|
|
||||||
|
|
||||||
target_element.appendChild(template_request("register"));
|
|
||||||
|
|
||||||
await form.setup(target_element.querySelector(".register-form") as HTMLElement);
|
|
||||||
await form.input_write(
|
|
||||||
{
|
|
||||||
"id": id,
|
|
||||||
"verification": verification,
|
|
||||||
"name_login": member_data.name_login,
|
|
||||||
"name_display": member_data.name_real,
|
|
||||||
"salutation": "",
|
|
||||||
"email_mode": "number_and_name",
|
|
||||||
"email_redirect": true,
|
|
||||||
"password": "",
|
|
||||||
"password_confirmation": "",
|
|
||||||
}
|
|
||||||
);
|
|
||||||
set_state("fill");
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
let dom_email_setting_container : HTMLElement = document.createElement("fieldset");
|
|
||||||
dom_email_setting_container.classList.add("register-email_setting");
|
|
||||||
{
|
|
||||||
let dom_legend : HTMLElement = document.createElement("legend");
|
|
||||||
dom_legend.textContent = "E-Mail-Einstellungen";
|
|
||||||
dom_email_setting_container.appendChild(dom_legend);
|
|
||||||
}
|
|
||||||
|
|
||||||
async function update_email_setting() {
|
|
||||||
const value : boolean = (await input_email_use.read())["use"];
|
|
||||||
dom_email_setting_container.classList.toggle("show", value);
|
|
||||||
}
|
|
||||||
|
|
||||||
const input_email_use = new lib_plankton.zoo_input.class_input_group(
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"name": "use",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_checkbox(
|
|
||||||
{
|
|
||||||
"hooks_change": [
|
|
||||||
(value) => {update_email_setting();}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
),
|
|
||||||
"label": "Partei-E-Mail-Adresse einrichten",
|
|
||||||
}
|
}
|
||||||
]
|
);
|
||||||
);
|
|
||||||
const input_email_setting = new lib_plankton.zoo_input.class_input_group(
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"name": "numerical",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_checkbox(
|
|
||||||
),
|
|
||||||
"label": ("numerisch" + " : " + ("" + member_data.email_address_numerical_value + "")),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "namely",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_checkbox(
|
|
||||||
),
|
|
||||||
"label": ("namentlich" + " : " + ("" + member_data.email_address_namely_value + "")),
|
|
||||||
},
|
|
||||||
]
|
|
||||||
);
|
|
||||||
await input_email_use.setup(target_element as HTMLElement);
|
|
||||||
target_element.appendChild(dom_email_setting_container);
|
|
||||||
await input_email_setting.setup(dom_email_setting_container);
|
|
||||||
await input_email_setting.write(
|
|
||||||
{
|
|
||||||
"numerical": true,
|
|
||||||
"namely": true,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
await input_email_use.write({"use": true});
|
|
||||||
update_email_setting();
|
|
||||||
}
|
|
||||||
{
|
|
||||||
let dom_service_data_container : HTMLElement = document.createElement("fieldset");
|
|
||||||
{
|
|
||||||
let dom_legend : HTMLElement = document.createElement("legend");
|
|
||||||
dom_legend.textContent = "Angaben für Netzdienste";
|
|
||||||
dom_service_data_container.appendChild(dom_legend);
|
|
||||||
}
|
}
|
||||||
dom_service_data_container.classList.add("register-services_data");
|
|
||||||
|
|
||||||
async function update_service_data() {
|
|
||||||
const value : boolean = (await input_service_use.read())["use"];
|
|
||||||
dom_service_data_container.classList.toggle("show", value);
|
|
||||||
/*
|
|
||||||
if (value) {
|
|
||||||
dom_service_data_container.removeAttribute("disabled");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
dom_service_data_container.setAttribute("disabled", "disabled");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
const input_service_use = new lib_plankton.zoo_input.class_input_group(
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"name": "use",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_checkbox(
|
|
||||||
{
|
|
||||||
"hooks_change": [
|
|
||||||
(value) => {update_service_data();}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
),
|
|
||||||
"label": "Netz-Dienste nutzen",
|
|
||||||
}
|
|
||||||
]
|
|
||||||
);
|
|
||||||
const input_service_data = new lib_plankton.zoo_input.class_input_group(
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"name": "name_display",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_text(
|
|
||||||
{
|
|
||||||
}
|
|
||||||
),
|
|
||||||
"label": "Anzeigename",
|
|
||||||
"help": "So wirst du bei Online-Diensten anderen angezeigt.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name_login",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_text(
|
|
||||||
{
|
|
||||||
"pattern": "^[0-9a-zA-Z_]+$",
|
|
||||||
}
|
|
||||||
),
|
|
||||||
"label": "Anmeldename",
|
|
||||||
"help": "Dieser Wert ist der Nutzername für die Anmeldung bei den Online-Diensten. Hierfür solltest du etwas kurzes und prägnantes wählen. Diesen Namen bekommt für gewöhnlich niemand zu sehen. Bitte beachte, dass der Name noch verfügbar sein muss!",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "password",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_password(
|
|
||||||
),
|
|
||||||
"label": "Passwort",
|
|
||||||
"help": "Das Passwort für die Anmeldung bei den Online-Diensten",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "password_confirmation",
|
|
||||||
"input": new lib_plankton.zoo_input.class_input_password(
|
|
||||||
),
|
|
||||||
"label": "Passwort wiederholen",
|
|
||||||
},
|
|
||||||
]
|
|
||||||
);
|
|
||||||
await input_service_use.setup(target_element as HTMLElement);
|
|
||||||
target_element.appendChild(dom_service_data_container);
|
|
||||||
await input_service_data.setup(dom_service_data_container);
|
|
||||||
await input_service_data.write(
|
|
||||||
{
|
|
||||||
"name_display": member_data.name_real,
|
|
||||||
"name_login": member_data.name_login,
|
|
||||||
"password": "",
|
|
||||||
"password_confirmation": "",
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
await input_service_use.write({"use": true});
|
|
||||||
update_service_data();
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,36 +1,16 @@
|
||||||
<template id="register">
|
<template id="register">
|
||||||
<section class="register">
|
<section class="register">
|
||||||
<h2>Registrieren</h2>
|
<h2>Registrieren</h2>
|
||||||
|
<div class="register-info">
|
||||||
|
</div>
|
||||||
<div class="register-message">
|
<div class="register-message">
|
||||||
</div>
|
</div>
|
||||||
<div class="register-form">
|
<div class="register-form">
|
||||||
<!--
|
<div class="register-form-input">
|
||||||
<form>
|
</div>
|
||||||
<div class="formfield register-field-use_services">
|
<div class="register-form-actions">
|
||||||
<label>Netz-Dienste nutzen</label>
|
<button class="register-form-action-send">Abschicken</button>
|
||||||
<input name="use_services" type="checkbox"/>
|
</div>
|
||||||
</div>
|
|
||||||
<fieldset class="register-services_data">
|
|
||||||
<legend>Netzdienste</legend>
|
|
||||||
<div class="register-field-display_name">
|
|
||||||
<label>Anzeigename</label>
|
|
||||||
<input name="display_name" type="text"/>
|
|
||||||
</div>
|
|
||||||
<div class="formfield" class="register-field-login_name">
|
|
||||||
<label>Anmeldename</label>
|
|
||||||
<input name="login_name" type="text"/>
|
|
||||||
</div>
|
|
||||||
<div class="formfield"class="register-field-password_value">
|
|
||||||
<label>Passwort</label>
|
|
||||||
<input name="password_value" type="password"/>
|
|
||||||
</div>
|
|
||||||
<div class="formfield"class="register-field-password_confirmation">
|
|
||||||
<label>Passwort wiederholen</label>
|
|
||||||
<input name="password_confirmation" type="password"/>
|
|
||||||
</div>
|
|
||||||
</fieldset>
|
|
||||||
</form>
|
|
||||||
-->
|
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -9,43 +9,3 @@
|
||||||
|
|
||||||
.register[rel="done"] .register-message {}
|
.register[rel="done"] .register-message {}
|
||||||
.register[rel="done"] .register-form {display: none;}
|
.register[rel="done"] .register-form {display: none;}
|
||||||
|
|
||||||
.register-email_setting
|
|
||||||
{
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.register-email_setting.show
|
|
||||||
{
|
|
||||||
max-height: 100vh;
|
|
||||||
|
|
||||||
transition: max-height 1.0s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.register-email_setting:not(.show)
|
|
||||||
{
|
|
||||||
max-height: 0;
|
|
||||||
|
|
||||||
transition: max-height 0.25s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.register-services_data
|
|
||||||
{
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.register-services_data.show
|
|
||||||
{
|
|
||||||
max-height: 100vh;
|
|
||||||
|
|
||||||
transition: max-height 1.0s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.register-services_data:not(.show)
|
|
||||||
{
|
|
||||||
max-height: 0;
|
|
||||||
|
|
||||||
transition: max-height 0.25s ease;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
*/
|
|
||||||
|
|
|
@ -3,7 +3,32 @@ lib_plankton.zoo_page.register(
|
||||||
async (parameters, target_element) => {
|
async (parameters, target_element) => {
|
||||||
const id : int = parseInt(parameters["id"]);
|
const id : int = parseInt(parameters["id"]);
|
||||||
|
|
||||||
const form = new lib_plankton.zoo_form.class_form<any, any>(
|
const form = new lib_plankton.zoo_form.class_form<
|
||||||
|
{
|
||||||
|
membership_number : string;
|
||||||
|
name_real_value : string;
|
||||||
|
name_real_index : int;
|
||||||
|
email_address_private : (null | string);
|
||||||
|
registered : boolean;
|
||||||
|
enabled : boolean;
|
||||||
|
email_use_veiled_address : boolean;
|
||||||
|
email_use_nominal_address : boolean;
|
||||||
|
email_redirect_to_private_address : boolean;
|
||||||
|
email_allow_sending : boolean;
|
||||||
|
},
|
||||||
|
{
|
||||||
|
membership_number : string;
|
||||||
|
name_real_value : string;
|
||||||
|
name_real_index : int;
|
||||||
|
email_address_private : (null | string);
|
||||||
|
registered : boolean;
|
||||||
|
enabled : boolean;
|
||||||
|
email_use_veiled_address : boolean;
|
||||||
|
email_use_nominal_address : boolean;
|
||||||
|
email_redirect_to_private_address : boolean;
|
||||||
|
email_allow_sending : boolean;
|
||||||
|
}
|
||||||
|
>(
|
||||||
value => value,
|
value => value,
|
||||||
representation => representation,
|
representation => representation,
|
||||||
new lib_plankton.zoo_input.class_input_group(
|
new lib_plankton.zoo_input.class_input_group(
|
||||||
|
@ -15,39 +40,57 @@ lib_plankton.zoo_page.register(
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "name_real_value",
|
"name": "name_real_value",
|
||||||
"input": new lib_plankton.zoo_input.class_input_text(),
|
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
||||||
"label": "Echter Name",
|
"label": "Echter Name",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "email_address_private_value",
|
"name": "name_real_index",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_number({"read_only": true}),
|
||||||
|
"label": "Namens-Index",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "email_address_private",
|
||||||
"input": new lib_plankton.zoo_input.class_input_text(),
|
"input": new lib_plankton.zoo_input.class_input_text(),
|
||||||
"label": "Private E-Mail-Adresse",
|
"label": "Private E-Mail-Adresse",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "email_address_numberbased_use",
|
"name": "registered",
|
||||||
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
||||||
"label": "Nummernbasierte E-Mail-Adresse verwenden",
|
"label": "registriert",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "email_address_namebased_use",
|
"name": "enabled",
|
||||||
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
"input": new lib_plankton.zoo_input.class_input_checkbox(),
|
||||||
"label": "Namensbasierte E-Mail-Adresse verwenden",
|
"label": "für Netz-Dienste freigeschalten",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "email_redirect",
|
"name": "email_use_veiled_address",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
||||||
|
"label": "Pseudonymisierte E-Mail-Adresse verwenden",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "email_use_nominal_address",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
||||||
|
"label": "Namentliche E-Mail-Adresse verwenden",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "email_redirect_to_private_address",
|
||||||
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
||||||
"label": "eingehende E-Mails zu privater Adresse umleiten",
|
"label": "eingehende E-Mails zu privater Adresse umleiten",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "email_allow_sending",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_checkbox(),
|
||||||
|
"label": "Versenden von E-Mails erlaubt",
|
||||||
|
},
|
||||||
|
/*
|
||||||
{
|
{
|
||||||
"name": "name_display",
|
"name": "name_display",
|
||||||
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
||||||
"label": "Anzeigename",
|
"label": "Anzeigename",
|
||||||
},
|
},
|
||||||
{
|
*/
|
||||||
"name": "salutation",
|
/*
|
||||||
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
|
||||||
"label": "Anrede/Pronomen",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "name_login",
|
"name": "name_login",
|
||||||
"input": new lib_plankton.zoo_input.class_input_text(
|
"input": new lib_plankton.zoo_input.class_input_text(
|
||||||
|
@ -58,9 +101,24 @@ lib_plankton.zoo_page.register(
|
||||||
),
|
),
|
||||||
"label": "Anmeldename",
|
"label": "Anmeldename",
|
||||||
},
|
},
|
||||||
|
*/
|
||||||
]
|
]
|
||||||
),
|
),
|
||||||
[
|
[
|
||||||
|
{
|
||||||
|
"label": "Änderungen speichern",
|
||||||
|
"procedure": async (get_value, get_representation) => {
|
||||||
|
const value = await get_value();
|
||||||
|
await _espe.backend.member_modify(
|
||||||
|
id,
|
||||||
|
{
|
||||||
|
"email_address_private": value.email_address_private,
|
||||||
|
"enabled": value.enabled,
|
||||||
|
"registered": value.registered,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"label": "Zur Registrierung auffordern",
|
"label": "Zur Registrierung auffordern",
|
||||||
"procedure": async (get_value, get_representation) => {
|
"procedure": async (get_value, get_representation) => {
|
||||||
|
@ -78,7 +136,7 @@ lib_plankton.zoo_page.register(
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
await _espe.backend.member_urge_for_registration(id, url);
|
await _espe.backend.member_summon(id, url);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
lib_plankton.zoo_page.set(
|
lib_plankton.zoo_page.set(
|
||||||
|
@ -100,11 +158,25 @@ lib_plankton.zoo_page.register(
|
||||||
[
|
[
|
||||||
form.setup(dom_fragment.querySelector(".view-form") as HTMLElement),
|
form.setup(dom_fragment.querySelector(".view-form") as HTMLElement),
|
||||||
_espe.backend.member_get(id),
|
_espe.backend.member_get(id),
|
||||||
|
// _espe.backend.member_info(id),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
.then(
|
.then(
|
||||||
([_, member]) => {
|
([_, member_object]) => {
|
||||||
form.input_write(member);
|
form.input_write(
|
||||||
|
{
|
||||||
|
"membership_number": member_object.membership_number,
|
||||||
|
"name_real_value": member_object.name_real_value,
|
||||||
|
"name_real_index": member_object.name_real_index,
|
||||||
|
"email_address_private": member_object.email_address_private,
|
||||||
|
"registered": member_object.registered,
|
||||||
|
"enabled": member_object.enabled,
|
||||||
|
"email_use_veiled_address": member_object.email_use_veiled_address,
|
||||||
|
"email_use_nominal_address": member_object.email_use_nominal_address,
|
||||||
|
"email_redirect_to_private_address": member_object.email_redirect_to_private_address,
|
||||||
|
"email_allow_sending": member_object.email_allow_sending,
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
|
@ -12,5 +12,12 @@
|
||||||
|
|
||||||
.view-form > .plankton_form > .plankton_form_actions
|
.view-form > .plankton_form > .plankton_form_actions
|
||||||
{
|
{
|
||||||
|
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.plankton_form_actions > *
|
||||||
|
{
|
||||||
|
display: block;
|
||||||
|
margin: 8px;
|
||||||
|
}
|
||||||
|
|
|
@ -19,12 +19,14 @@ default: ${dir_build}/logic.js ${dir_build}/style.css ${dir_build}/index.html
|
||||||
|
|
||||||
${dir_temp}/logic-unlinked.js: \
|
${dir_temp}/logic-unlinked.js: \
|
||||||
${dir_lib}/plankton/plankton.d.ts \
|
${dir_lib}/plankton/plankton.d.ts \
|
||||||
|
${dir_source}/logic/helpers.ts \
|
||||||
${dir_source}/logic/backend.ts \
|
${dir_source}/logic/backend.ts \
|
||||||
${dir_source}/logic/conf.ts \
|
${dir_source}/logic/conf.ts \
|
||||||
|
${dir_source}/pages/index/logic.ts \
|
||||||
${dir_source}/pages/login/logic.ts \
|
${dir_source}/pages/login/logic.ts \
|
||||||
${dir_source}/pages/logout/logic.ts \
|
${dir_source}/pages/logout/logic.ts \
|
||||||
${dir_source}/pages/members/logic.ts \
|
|
||||||
${dir_source}/pages/create/logic.ts \
|
${dir_source}/pages/create/logic.ts \
|
||||||
|
${dir_source}/pages/list/logic.ts \
|
||||||
${dir_source}/pages/view/logic.ts \
|
${dir_source}/pages/view/logic.ts \
|
||||||
${dir_source}/pages/register/logic.ts \
|
${dir_source}/pages/register/logic.ts \
|
||||||
${dir_source}/logic/main.ts
|
${dir_source}/logic/main.ts
|
||||||
|
@ -40,10 +42,12 @@ ${dir_build}/logic.js: ${dir_lib}/plankton/plankton.js ${dir_temp}/logic-unlinke
|
||||||
|
|
||||||
${dir_build}/style.css: \
|
${dir_build}/style.css: \
|
||||||
${dir_source}/style/style.css \
|
${dir_source}/style/style.css \
|
||||||
|
${dir_source}/pages/index/style.css \
|
||||||
${dir_source}/pages/login/style.css \
|
${dir_source}/pages/login/style.css \
|
||||||
${dir_source}/pages/logout/style.css \
|
${dir_source}/pages/logout/style.css \
|
||||||
${dir_source}/pages/members/style.css \
|
${dir_source}/pages/members/style.css \
|
||||||
${dir_source}/pages/create/style.css \
|
${dir_source}/pages/create/style.css \
|
||||||
|
${dir_source}/pages/list/style.css \
|
||||||
${dir_source}/pages/view/style.css \
|
${dir_source}/pages/view/style.css \
|
||||||
${dir_source}/pages/register/style.css
|
${dir_source}/pages/register/style.css
|
||||||
@ ${cmd_log} "style …"
|
@ ${cmd_log} "style …"
|
||||||
|
@ -52,10 +56,12 @@ ${dir_build}/style.css: \
|
||||||
|
|
||||||
${dir_build}/index.html: \
|
${dir_build}/index.html: \
|
||||||
${dir_source}/structure/index.html.tpl \
|
${dir_source}/structure/index.html.tpl \
|
||||||
|
${dir_source}/pages/index/structure.html \
|
||||||
${dir_source}/pages/login/structure.html \
|
${dir_source}/pages/login/structure.html \
|
||||||
${dir_source}/pages/logout/structure.html \
|
${dir_source}/pages/logout/structure.html \
|
||||||
${dir_source}/pages/members/structure.html \
|
${dir_source}/pages/members/structure.html \
|
||||||
${dir_source}/pages/create/structure.html \
|
${dir_source}/pages/create/structure.html \
|
||||||
|
${dir_source}/pages/list/structure.html \
|
||||||
${dir_source}/pages/view/structure.html \
|
${dir_source}/pages/view/structure.html \
|
||||||
${dir_source}/pages/register/structure.html
|
${dir_source}/pages/register/structure.html
|
||||||
@ ${cmd_log} "structure …"
|
@ ${cmd_log} "structure …"
|
||||||
|
|
Loading…
Add table
Reference in a new issue