[mod] page:view:loc
This commit is contained in:
parent
3a105c8ac8
commit
c42ee84034
9 changed files with 60 additions and 215 deletions
|
@ -3,6 +3,23 @@
|
|||
"identifier": "deu"
|
||||
},
|
||||
"tree": {
|
||||
"common.not_used": "nicht verwendet",
|
||||
"page.view.title": "Mitglied",
|
||||
"page.view.form.field.membership_number.label": "Mitgliedsnummer",
|
||||
"page.view.form.field.name_real_value.label": "Echter Name",
|
||||
"page.view.form.field.name_real_index.label": "Namens-Index",
|
||||
"page.view.form.field.registered.label": "registriert",
|
||||
"page.view.form.field.enabled.label": "aktiviert",
|
||||
"page.view.form.field.email_address_private.label": "private E-Mail-Adresse",
|
||||
"page.view.form.field.email_address_veiled.label": "pseudonymisierte E-Mail-Adresse",
|
||||
"page.view.form.field.email_address_nominal.label": "namentliche E-Mail-Adresse",
|
||||
"page.view.form.field.email_redirect_to_private_address.label": "eingehende E-Mails zu privater Adresse umleiten",
|
||||
"page.view.form.field.email_allow_sending.label": "Versenden von E-Mails erlaubt",
|
||||
"page.view.form.field.name_login.label": "Anmeldename",
|
||||
"page.view.form.field.password_set.label": "Passwort gesetzt",
|
||||
"page.view.form.action.save": "Änderungen speichern",
|
||||
"page.view.form.action.summon": "Zur Registrierung auffordern",
|
||||
"page.view.misc.summoned": "Benachrichtigung verschickt",
|
||||
"page.register.title": "Registrieren",
|
||||
"page.register.form.field.email_address.label": "Partei-E-Mail-Adresse einrichten",
|
||||
"page.register.form.field.email_address.help": "Für Partei-Angelegenheiten möchten wir dir anbieten gesonderte E-Mail-Adressen zu verwenden.\n\nDeine namentliche E-Mail-Adresse würde lauten »{{email_address_nominal}}« und die pseudonymisierte »{{email_address_veiled}}«\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!",
|
||||
|
@ -12,11 +29,11 @@
|
|||
"page.register.form.field.email_redirect.label": "eingehende E-Mails an private Adresse leiten",
|
||||
"page.register.form.field.email_redirect.help": "",
|
||||
"page.register.form.field.password_value.label": "Passwort für Netz-Dienste",
|
||||
"page.register.form.field.password_value.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.",
|
||||
"page.register.form.field.password_value.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.",
|
||||
"page.register.form.field.password_confirmation.label": "Passwort wiederholen",
|
||||
"page.register.form.field.password_confirmation.help": "",
|
||||
"page.register.form.submit": "Abschicken",
|
||||
"page.register.flaw.password_mismatch": "Die Passwörter stimmen nicht überein",
|
||||
"page.register.flaw.password_mismatch": "die Passwörter stimmen nicht überein",
|
||||
"page.register.flaw.password_too_short": "das Passwort muss mindestens {{minimum_length}} Zeichen haben",
|
||||
"page.register.flaw.password_too_long": "das Passwort darf höchstens {{maximum_length}} Zeichen haben",
|
||||
"page.register.flaw.password_lacks_letter": "das Passwort muss einen Buchstaben beinhalten",
|
||||
|
|
|
@ -3,6 +3,23 @@
|
|||
"identifier": "eng"
|
||||
},
|
||||
"tree": {
|
||||
"common.not_used": "not used",
|
||||
"page.view.title": "Member",
|
||||
"page.view.form.field.membership_number.label": "membership number",
|
||||
"page.view.form.field.name_real_value.label": "real name",
|
||||
"page.view.form.field.name_real_index.label": "name index",
|
||||
"page.view.form.field.registered.label": "registered",
|
||||
"page.view.form.field.enabled.label": "enabled",
|
||||
"page.view.form.field.email_address_private.label": "private e-mail address",
|
||||
"page.view.form.field.email_address_veiled.label": "veiled e-mail address",
|
||||
"page.view.form.field.email_address_nominal.label": "nominal e-mail address",
|
||||
"page.view.form.field.email_redirect_to_private_address.label": "redirect incoming e-mails to private address",
|
||||
"page.view.form.field.email_allow_sending.label": "allow sending e-mails",
|
||||
"page.view.form.field.name_login.label": "login name",
|
||||
"page.view.form.field.password_set.label": "password set",
|
||||
"page.view.form.action.save": "save changes",
|
||||
"page.view.form.action.summon": "urge for registration",
|
||||
"page.view.misc.summoned": "notification sent",
|
||||
"page.register.title": "Register",
|
||||
"page.register.form.field.email_address.label": "Set up party e-mail address",
|
||||
"page.register.form.field.email_address.help": "We offer you to use a special e-mail address for any party concerns.\n\nYour namely e-mail address would be »{{email_address_nominal}}« and the veiled one »{{email_address_veiled}}«\n\nThe party e-mail address may be used for the reception of e-mails. In case it becomes necessary for you to submit e-mails via a party address, please get in contact with your membership authority!",
|
||||
|
@ -10,11 +27,11 @@
|
|||
"page.register.form.field.email_address.option.only_veiled": "only veiled",
|
||||
"page.register.form.field.email_address.option.both": "both, veiled and namely",
|
||||
"page.register.form.field.email_redirect.label": "redirect incoming e-mails to private address",
|
||||
|
||||
"page.register.form.field.email_redirect.help": "",
|
||||
"page.register.form.field.password_value.label": "password for online services",
|
||||
|
||||
"page.register.form.field.password_value.help": "the password for logging in to the online services\n\nYou should remember, denote or save properly, what you enter here.\n\nIn case you forget or lose the password some day, you can reset it.",
|
||||
"page.register.form.field.password_confirmation.label": "confirm password",
|
||||
|
||||
"page.register.form.field.password_confirmation.help": "",
|
||||
"page.register.form.submit": "submit",
|
||||
"page.register.flaw.password_mismatch": "passwords do not match",
|
||||
"page.register.flaw.password_too_short": "the password must have at least {{minimum_length}} characters",
|
||||
|
|
|
@ -1,174 +0,0 @@
|
|||
lib_plankton.zoo_page.register(
|
||||
"members",
|
||||
(parameters, target_element) => {
|
||||
const state : (null | any) = (
|
||||
("state" in parameters)
|
||||
? lib_plankton.json.decode(lib_plankton.base64.decode(parameters["state"]))
|
||||
: null
|
||||
);
|
||||
|
||||
const set_state = function (state) {
|
||||
target_element.querySelector(".members").setAttribute("rel", state);
|
||||
};
|
||||
|
||||
let _id : (null | int) = null;
|
||||
|
||||
const editor : lib_plankton.zoo_editor.type_editor<int, any> = lib_plankton.zoo_editor.make<int, any>(
|
||||
{
|
||||
"setup": (parameters) => Promise.resolve<void>(undefined),
|
||||
"search": async (term) => lib_plankton.call.convey(
|
||||
await _espe.backend.member_list(),
|
||||
[
|
||||
// (raw as Array<{id : int; preview : any;}>)
|
||||
x => x.filter(
|
||||
(
|
||||
(term === null)
|
||||
||
|
||||
(term === "")
|
||||
)
|
||||
? (entry => true)
|
||||
: (
|
||||
(term.length < 2)
|
||||
? (entry => false)
|
||||
: (
|
||||
entry => (
|
||||
entry.preview["membership_number"].includes(term)
|
||||
||
|
||||
entry.preview["name_real_value"].toLowerCase().includes(term)
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
x => x.map(
|
||||
entry => ({
|
||||
"key": entry.id,
|
||||
"preview": entry.preview,
|
||||
})
|
||||
),
|
||||
]
|
||||
),
|
||||
"read": (key) => _espe.backend.member_get(key),
|
||||
"create": (value) => /*_espe.backend.member_add(value)*/Promise.reject(new Error("missing")),
|
||||
"update": (key, value) => _espe.backend.member_modify(key, value),
|
||||
"delete": (key) => /*_espe.backend.member_remove(key)*/Promise.reject(new Error("missing")),
|
||||
},
|
||||
lib_plankton.zoo_form.make<any>(
|
||||
"GET",
|
||||
[
|
||||
{
|
||||
"name": "membership_number",
|
||||
"type": "text",
|
||||
"label": "Mitgliedsnummer",
|
||||
},
|
||||
{
|
||||
"name": "enabled",
|
||||
"type": "checkbox",
|
||||
"label": "Für Online-Dienste freischalten",
|
||||
},
|
||||
{
|
||||
"name": "name_real_value",
|
||||
"type": "text",
|
||||
"label": "Echter Name",
|
||||
},
|
||||
{
|
||||
"name": "name_real_extension",
|
||||
"type": "text",
|
||||
"label": "Zusatz für echten Name (für mögliche Dopplung)",
|
||||
},
|
||||
{
|
||||
"name": "name_display",
|
||||
"type": "text",
|
||||
"label": "Anzeigename",
|
||||
},
|
||||
{
|
||||
"name": "name_login",
|
||||
"type": "text",
|
||||
"label": "Anmeldename",
|
||||
},
|
||||
{
|
||||
"name": "email_address_private_value",
|
||||
"type": "text",
|
||||
"label": "Private E-Mail-Adresse",
|
||||
},
|
||||
{
|
||||
"name": "email_address_numberbased_use",
|
||||
"type": "checkbox",
|
||||
"label": "Nummernbasierte E-Mail-Adresse verwenden",
|
||||
},
|
||||
{
|
||||
"name": "email_address_namebased_use",
|
||||
"type": "checkbox",
|
||||
"label": "Namensbasierte E-Mail-Adresse verwenden",
|
||||
},
|
||||
{
|
||||
"name": "email_redirect_to_private",
|
||||
"type": "checkbox",
|
||||
"label": "E-Mails an private Adresse umleiten",
|
||||
},
|
||||
{
|
||||
"name": "salutation",
|
||||
"type": "text",
|
||||
"label": "Anrede/Pronomen",
|
||||
},
|
||||
],
|
||||
value => ({
|
||||
"enabled": (value.enabled ? "on" : ""),
|
||||
"membership_number": value.membership_number,
|
||||
"name_real_value": value.name_real_value,
|
||||
"name_real_extension": value.name_real_extension,
|
||||
"name_display": value.name_display,
|
||||
"name_login": value.name_login,
|
||||
"email_address_private_value": value.email_address_private_value,
|
||||
"email_address_numberbased_use": (value.email_address_numberbased_use ? "on" : ""),
|
||||
"email_address_namebased_use": (value.email_address_namebased_use ? "on" : ""),
|
||||
"email_redirect_to_private": (value.email_redirect_to_private ? "on" : ""),
|
||||
"salutation": value.salutation,
|
||||
}),
|
||||
raw => ({
|
||||
"enabled": (raw["enabled"] === "on"),
|
||||
"membership_number": raw["membership_number"],
|
||||
"name_real_value": raw["name_real_value"],
|
||||
"name_real_extension": raw["name_real_extension"],
|
||||
"name_display": raw["name_display"],
|
||||
"name_login": raw["name_login"],
|
||||
"email_address_private_value": raw["email_address_private_value"],
|
||||
"email_address_numberbased_use": (raw["email_address_numberbased_use"] === "on"),
|
||||
"email_address_namebased_use": (raw["email_address_namebased_use"] === "on"),
|
||||
"email_redirect_to_private": (raw["email_redirect_to_private"] === "on"),
|
||||
"salutation": raw["salutation"],
|
||||
}),
|
||||
{
|
||||
}
|
||||
),
|
||||
{
|
||||
"encode_hit": hit => lib_plankton.string.coin(
|
||||
"{{number}} | {{name}}",
|
||||
{
|
||||
"number": hit.preview["membership_number"],
|
||||
"name": hit.preview["name_real_value"],
|
||||
}
|
||||
),
|
||||
"hook_switch": (state) => {
|
||||
_id = state.key;
|
||||
set_state((_id === null) ? "poor" : "rich");
|
||||
const state_encoded : string = lib_plankton.base64.encode(lib_plankton.json.encode(state));
|
||||
lib_plankton.zoo_page.set({"name": "members", "parameters": {"state": state_encoded}});
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
target_element.appendChild(template_request("members"));
|
||||
|
||||
lib_plankton.zoo_editor.render<int, any>(
|
||||
editor,
|
||||
target_element.querySelector(".members-editor"),
|
||||
(
|
||||
Object.assign(
|
||||
{
|
||||
},
|
||||
((state !== null) ? {"state": state} : {})
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
);
|
|
@ -1,8 +0,0 @@
|
|||
<template id="members">
|
||||
<section class="members">
|
||||
<h2>Mitglied</h2>
|
||||
<div class="members-editor">
|
||||
</div>
|
||||
<hr/>
|
||||
</section>
|
||||
</template>
|
|
@ -1,8 +0,0 @@
|
|||
.members-result:not([href])
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.members:not([rel]) .members-extras {display: none;}
|
||||
.members[rel="poor"] .members-extras {display: none;}
|
||||
.members[rel="rich"] .members-extras {}
|
|
@ -40,68 +40,68 @@ lib_plankton.zoo_page.register(
|
|||
{
|
||||
"name": "membership_number",
|
||||
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
||||
"label": "Mitgliedsnummer",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.membership_number.label"),
|
||||
},
|
||||
{
|
||||
"name": "name_real_value",
|
||||
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
||||
"label": "Echter Name",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.name_real_value.label"),
|
||||
},
|
||||
{
|
||||
"name": "name_real_index",
|
||||
"input": new lib_plankton.zoo_input.class_input_number({"read_only": true}),
|
||||
"label": "Namens-Index",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.name_real_index.label"),
|
||||
},
|
||||
{
|
||||
"name": "registered",
|
||||
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
||||
"label": "registriert",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.registered.label"),
|
||||
},
|
||||
{
|
||||
"name": "enabled",
|
||||
"input": new lib_plankton.zoo_input.class_input_checkbox(),
|
||||
"label": "für Netz-Dienste freigeschalten",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.enabled.label"),
|
||||
},
|
||||
{
|
||||
"name": "email_address_private",
|
||||
"input": new lib_plankton.zoo_input.class_input_text(),
|
||||
"label": "Private E-Mail-Adresse",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.email_address_private.label"),
|
||||
},
|
||||
{
|
||||
"name": "email_address_veiled",
|
||||
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
||||
"label": "Pseudonymisierte E-Mail-Adresse",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.email_address_veiled.label"),
|
||||
},
|
||||
{
|
||||
"name": "email_address_nominal",
|
||||
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
||||
"label": "Namentliche E-Mail-Adresse",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.email_address_nominal.label"),
|
||||
},
|
||||
{
|
||||
"name": "email_redirect_to_private_address",
|
||||
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
||||
"label": "eingehende E-Mails zu privater Adresse umleiten",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.email_redirect_to_private_address.label"),
|
||||
},
|
||||
{
|
||||
"name": "email_allow_sending",
|
||||
"input": new lib_plankton.zoo_input.class_input_checkbox(),
|
||||
"label": "Versenden von E-Mails erlaubt",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.email_allow_sending.label"),
|
||||
},
|
||||
{
|
||||
"name": "name_login",
|
||||
"input": new lib_plankton.zoo_input.class_input_text({"read_only": true}),
|
||||
"label": "Anmeldename",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.name_login.label"),
|
||||
},
|
||||
{
|
||||
"name": "password_set",
|
||||
"input": new lib_plankton.zoo_input.class_input_checkbox({"read_only": true}),
|
||||
"label": "Passwort gesetzt",
|
||||
"label": lib_plankton.translate.get("page.view.form.field.password_set.label"),
|
||||
},
|
||||
]
|
||||
),
|
||||
[
|
||||
{
|
||||
"label": "Änderungen speichern",
|
||||
"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(
|
||||
|
@ -115,7 +115,7 @@ lib_plankton.zoo_page.register(
|
|||
},
|
||||
},
|
||||
{
|
||||
"label": "Zur Registrierung auffordern",
|
||||
"label": lib_plankton.translate.get("page.view.form.action.summon"),
|
||||
"procedure": async (get_value, get_representation) => {
|
||||
const url : string = (
|
||||
window.location.href.split("#")[0]
|
||||
|
@ -141,13 +141,14 @@ lib_plankton.zoo_page.register(
|
|||
}
|
||||
);
|
||||
*/
|
||||
alert("Benachrichtigung verschickt");
|
||||
alert(lib_plankton.translate.get("page.view.misc.summoned"));
|
||||
},
|
||||
},
|
||||
]
|
||||
);
|
||||
|
||||
let dom_fragment : DocumentFragment = template_request("view");
|
||||
dom_fragment.querySelector(".view-title").textContent = lib_plankton.translate.get("page.view.title");
|
||||
(
|
||||
Promise.all(
|
||||
[
|
||||
|
@ -168,12 +169,12 @@ lib_plankton.zoo_page.register(
|
|||
"email_address_veiled": (
|
||||
member_data.email_use_veiled_address
|
||||
? member_data.email_address_veiled
|
||||
: "(nicht verwendet)"
|
||||
: ("(" + lib_plankton.translate.get("common.not_used") + ")")
|
||||
),
|
||||
"email_address_nominal": (
|
||||
member_data.email_use_nominal_address
|
||||
? member_data.email_address_nominal
|
||||
: "(nicht verwendet)"
|
||||
: ("(" + 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,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template id="view">
|
||||
<section class="view">
|
||||
<h2>Mitglied</h2>
|
||||
<h2 class="view-title"></h2>
|
||||
<div class="view-form">
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
/*
|
||||
.view-form > .plankton_form
|
||||
{
|
||||
display: flex;
|
||||
|
@ -15,6 +16,7 @@
|
|||
|
||||
flex: 1;
|
||||
}
|
||||
*/
|
||||
|
||||
.plankton_form_actions > *
|
||||
{
|
||||
|
|
|
@ -45,7 +45,6 @@ ${dir_build}/style.css: \
|
|||
${dir_source}/pages/index/style.css \
|
||||
${dir_source}/pages/login/style.css \
|
||||
${dir_source}/pages/logout/style.css \
|
||||
${dir_source}/pages/members/style.css \
|
||||
${dir_source}/pages/create/style.css \
|
||||
${dir_source}/pages/list/style.css \
|
||||
${dir_source}/pages/view/style.css \
|
||||
|
@ -59,7 +58,6 @@ ${dir_build}/index.html: \
|
|||
${dir_source}/pages/index/structure.html \
|
||||
${dir_source}/pages/login/structure.html \
|
||||
${dir_source}/pages/logout/structure.html \
|
||||
${dir_source}/pages/members/structure.html \
|
||||
${dir_source}/pages/create/structure.html \
|
||||
${dir_source}/pages/list/structure.html \
|
||||
${dir_source}/pages/view/structure.html \
|
||||
|
|
Loading…
Add table
Reference in a new issue