[int]
This commit is contained in:
parent
bba17fbc97
commit
172f3f2c1f
5 changed files with 117 additions and 42 deletions
|
@ -47,7 +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 = await _espe.backend.member_add(
|
const id : int = await _espe.backend.member_add(
|
||||||
{
|
{
|
||||||
"membership_number": value.membership_number,
|
"membership_number": value.membership_number,
|
||||||
"name_real_value": value.name_real_value,
|
"name_real_value": value.name_real_value,
|
||||||
|
@ -62,7 +62,7 @@ lib_plankton.zoo_page.register(
|
||||||
"email_redirect_to_private": false,
|
"email_redirect_to_private": false,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
lib_plankton.zoo_page.set({"name": "members", "parameters": {}});
|
lib_plankton.zoo_page.set({"name": "view", "parameters": {"id": id}});
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -170,34 +170,5 @@ lib_plankton.zoo_page.register(
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
target_element.querySelector(".members-urge_for_registration").addEventListener(
|
|
||||||
"click",
|
|
||||||
async () => {
|
|
||||||
// const verification : string = await _espe.backend.verification_get(_id);
|
|
||||||
const url : string = (
|
|
||||||
window.location.href.split("#")[0]
|
|
||||||
+
|
|
||||||
lib_plankton.zoo_page.encode(
|
|
||||||
{
|
|
||||||
"name": "register",
|
|
||||||
"parameters": {
|
|
||||||
"id": _id,
|
|
||||||
"verification": "{{verification}}",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
await _espe.backend.member_urge_for_registration(_id, url);
|
|
||||||
|
|
||||||
lib_plankton.zoo_page.set(
|
|
||||||
{
|
|
||||||
"name": "index",
|
|
||||||
"parameters": {},
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
112
source/logic/pages/view.ts
Normal file
112
source/logic/pages/view.ts
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
lib_plankton.zoo_page.register(
|
||||||
|
"view",
|
||||||
|
async (parameters, target_element) => {
|
||||||
|
const id : int = parseInt(parameters["id"]);
|
||||||
|
|
||||||
|
const form = new lib_plankton.zoo_form.class_form<any, any>(
|
||||||
|
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}),
|
||||||
|
"label": "Mitgliedsnummer",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "name_real_value",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
||||||
|
"label": "Echter Name",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "email_address_private_value",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
||||||
|
"label": "Private E-Mail-Adresse",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "email_address_numberbased_use",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_checkbox(/*{"read_only": true}*/),
|
||||||
|
"label": "Nummernbasierte E-Mail-Adresse verwenden",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "email_address_namebased_use",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_checkbox(/*{"read_only": true}*/),
|
||||||
|
"label": "Namensbasierte E-Mail-Adresse verwenden",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "email_redirect",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_checkbox(/*{"read_only": true}*/),
|
||||||
|
"label": "eingehende E-Mails zu privater Adresse umleiten",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "name_display",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
||||||
|
"label": "Anzeigename",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "salutation",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
||||||
|
"label": "Anrede/Pronomen",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "name_login",
|
||||||
|
"input": new lib_plankton.zoo_input.class_input_text(
|
||||||
|
{
|
||||||
|
"pattern": "^[0-9a-zA-Z_]+$",
|
||||||
|
"read_only": true,
|
||||||
|
}
|
||||||
|
),
|
||||||
|
"label": "Anmeldename",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
),
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"label": "Zur Registrierung auffordern",
|
||||||
|
"procedure": async (get_value, get_representation) => {
|
||||||
|
const url : string = (
|
||||||
|
window.location.href.split("#")[0]
|
||||||
|
+
|
||||||
|
lib_plankton.zoo_page.encode(
|
||||||
|
{
|
||||||
|
"name": "register",
|
||||||
|
"parameters": {
|
||||||
|
"id": id,
|
||||||
|
"verification": "{{verification}}",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
await _espe.backend.member_urge_for_registration(id, url);
|
||||||
|
|
||||||
|
/*
|
||||||
|
lib_plankton.zoo_page.set(
|
||||||
|
{
|
||||||
|
"name": "index",
|
||||||
|
"parameters": {},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
alert("Benachrichtigung verschickt");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
let dom_fragment : DocumentFragment = template_request("view");
|
||||||
|
Promise.all(
|
||||||
|
[
|
||||||
|
form.setup(dom_fragment.querySelector(".view-form") as HTMLElement),
|
||||||
|
_espe.backend.member_get(id),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
.then(
|
||||||
|
([_, member]) => {
|
||||||
|
form.input_write(member);
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_element.appendChild(dom_fragment);
|
||||||
|
},
|
||||||
|
);
|
|
@ -16,13 +16,8 @@
|
||||||
<template id="view">
|
<template id="view">
|
||||||
<section class="view">
|
<section class="view">
|
||||||
<h2>Mitglied</h2>
|
<h2>Mitglied</h2>
|
||||||
<pre class="view-data">
|
<div class="view-form">
|
||||||
</pre>
|
|
||||||
<hr/>
|
|
||||||
<div>
|
|
||||||
<button class="view-urge_for_registration">Zur Registrierung auffordern</button>
|
|
||||||
</div>
|
</div>
|
||||||
<a class="view-result">Registrierung</a>
|
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
<template id="members">
|
<template id="members">
|
||||||
|
@ -31,10 +26,6 @@
|
||||||
<div class="members-editor">
|
<div class="members-editor">
|
||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
<div class="members-extras">
|
|
||||||
<button class="members-urge_for_registration">Zur Registrierung auffordern</button>
|
|
||||||
<a class="members-result">Registrierung</a>
|
|
||||||
</div>
|
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
<template id="register">
|
<template id="register">
|
||||||
|
|
|
@ -31,6 +31,7 @@ ${dir_temp}/logic-unlinked.js: \
|
||||||
${dir_source}/logic/pages/logout.ts \
|
${dir_source}/logic/pages/logout.ts \
|
||||||
${dir_source}/logic/pages/members.ts \
|
${dir_source}/logic/pages/members.ts \
|
||||||
${dir_source}/logic/pages/create.ts \
|
${dir_source}/logic/pages/create.ts \
|
||||||
|
${dir_source}/logic/pages/view.ts \
|
||||||
${dir_source}/logic/pages/register.ts \
|
${dir_source}/logic/pages/register.ts \
|
||||||
${dir_source}/logic/main.ts
|
${dir_source}/logic/main.ts
|
||||||
@ ${cmd_log} "logic | compile …"
|
@ ${cmd_log} "logic | compile …"
|
||||||
|
|
Loading…
Add table
Reference in a new issue