fix: show email field on adding household member

fix: move display settings to the bottom
fix: reorder subscription form
This commit is contained in:
Miguel Ribeiro 2024-02-28 21:48:16 +01:00 committed by GitHub
parent 0b82345ee9
commit ec25d4bc5a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 80 additions and 63 deletions

View File

@ -1,3 +1,3 @@
<?php <?php
$version = "v1.9.0"; $version = "v1.9.1";
?> ?>

View File

@ -195,6 +195,17 @@
</div> </div>
</div> </div>
<?php
if ($notificationsEnabled) {
?>
<div class="form-group-inline">
<input type="checkbox" id="notifications" name="notifications">
<label for="notifications"><?= translate('enable_notifications', $i18n) ?></label>
</div>
<?php
}
?>
<div class="form-group"> <div class="form-group">
<label for="payment_method"><?= translate('payment_method', $i18n) ?></label> <label for="payment_method"><?= translate('payment_method', $i18n) ?></label>
<select id="payment_method" name="payment_method_id"> <select id="payment_method" name="payment_method_id">
@ -252,17 +263,6 @@
<label for="inactive"><?= translate('inactive', $i18n) ?></label> <label for="inactive"><?= translate('inactive', $i18n) ?></label>
</div> </div>
<?php
if ($notificationsEnabled) {
?>
<div class="form-group-inline">
<input type="checkbox" id="notifications" name="notifications">
<label for="notifications"><?= translate('enable_notifications', $i18n) ?></label>
</div>
<?php
}
?>
<div class="buttons"> <div class="buttons">
<input type="button" value="<?= translate('delete', $i18n) ?>" class="warning-button left" id="deletesub" style="display: none"> <input type="button" value="<?= translate('delete', $i18n) ?>" class="warning-button left" id="deletesub" style="display: none">
<input type="button" value="<?= translate('cancel', $i18n) ?>" class="secondary-button" onClick="closeAddSubscription()"> <input type="button" value="<?= translate('cancel', $i18n) ?>" class="secondary-button" onClick="closeAddSubscription()">

View File

@ -12,6 +12,7 @@ let i18n = {
network_response_error: "Netzwerkfehler", network_response_error: "Netzwerkfehler",
failed_add_member: "Hinzufügen von Mitglied fehlgeschlagen", failed_add_member: "Hinzufügen von Mitglied fehlgeschlagen",
member: "Mitglied", member: "Mitglied",
email: "E-Mail",
save_member: "Mitglied speichern", save_member: "Mitglied speichern",
delete_member: "Mitglied löschen", delete_member: "Mitglied löschen",
failed_remove_member: "Mitglied konnte nicht gelöscht werden", failed_remove_member: "Mitglied konnte nicht gelöscht werden",

View File

@ -12,6 +12,7 @@ let i18n = {
network_response_error: "Η ανταπόκριση του δικτύου δεν ήταν εντάξει", network_response_error: "Η ανταπόκριση του δικτύου δεν ήταν εντάξει",
failed_add_member: "Αποτυχία προσθήκης μέλους", failed_add_member: "Αποτυχία προσθήκης μέλους",
member: "Μέλος", member: "Μέλος",
email: "Email",
save_member: "Αποθήκευση μέλους", save_member: "Αποθήκευση μέλους",
delete_member: "Διαγραφή μέλους", delete_member: "Διαγραφή μέλους",
failed_remove_member: "Αποτυχία διαγραφής μέλους", failed_remove_member: "Αποτυχία διαγραφής μέλους",

View File

@ -12,6 +12,7 @@ let i18n = {
network_response_error: "Network response was not ok", network_response_error: "Network response was not ok",
failed_add_member: "Failed to add member", failed_add_member: "Failed to add member",
member: "Member", member: "Member",
email: "Email",
save_member: "Save member", save_member: "Save member",
delete_member: "Delete member", delete_member: "Delete member",
failed_remove_member: "Failed to remove member", failed_remove_member: "Failed to remove member",

View File

@ -12,6 +12,7 @@ let i18n = {
network_response_error: "Error en la respuesta de la red", network_response_error: "Error en la respuesta de la red",
failed_add_member: "Error al añadir miembro", failed_add_member: "Error al añadir miembro",
member: "Miembro", member: "Miembro",
email: "Correo electrónico",
save_member: "Guardar miembro", save_member: "Guardar miembro",
delete_member: "Eliminar miembro", delete_member: "Eliminar miembro",
failed_remove_member: "Error al eliminar miembro", failed_remove_member: "Error al eliminar miembro",

View File

@ -12,6 +12,7 @@ let i18n = {
network_response_error: "La réponse du réseau n'était pas correcte", network_response_error: "La réponse du réseau n'était pas correcte",
failed_add_member: "Échec de l'ajout du membre", failed_add_member: "Échec de l'ajout du membre",
member: "Membre", member: "Membre",
email: "Courriel",
save_member: "Enregistrer le membre", save_member: "Enregistrer le membre",
delete_member: "Supprimer le membre", delete_member: "Supprimer le membre",
failed_remove_member: "Échec de la suppression du membre", failed_remove_member: "Échec de la suppression du membre",

View File

@ -12,6 +12,7 @@ let i18n = {
network_response_error: "ネットワークの応答異常", network_response_error: "ネットワークの応答異常",
failed_add_member: "世帯員の追加に失敗", failed_add_member: "世帯員の追加に失敗",
member: "世帯員", member: "世帯員",
email: "メール",
save_member: "世帯員の保存", save_member: "世帯員の保存",
delete_member: "世帯員の削除", delete_member: "世帯員の削除",
failed_remove_member: "世帯員の削除に失敗", failed_remove_member: "世帯員の削除に失敗",

View File

@ -12,6 +12,7 @@ let i18n = {
'network_response_error': 'Erro de resposta de rede', 'network_response_error': 'Erro de resposta de rede',
'failed_add_member': 'Falha ao adicionar membro', 'failed_add_member': 'Falha ao adicionar membro',
'member': 'Membro', 'member': 'Membro',
'email': 'Email',
'save_member': 'Guardar membro', 'save_member': 'Guardar membro',
'delete_member': 'Remover membro', 'delete_member': 'Remover membro',
'failed_remove_member': 'Erro ao remover membro', 'failed_remove_member': 'Erro ao remover membro',

View File

@ -12,6 +12,7 @@ let i18n = {
network_response_error: "Ağ yanıtı kabul edilmedi", network_response_error: "Ağ yanıtı kabul edilmedi",
failed_add_member: "Üye eklenemedi", failed_add_member: "Üye eklenemedi",
member: "Üye", member: "Üye",
email: "E-posta",
save_member: "Üyeyi Kaydet", save_member: "Üyeyi Kaydet",
delete_member: "Üyeyi Sil", delete_member: "Üyeyi Sil",
failed_remove_member: "Üye silinmedi", failed_remove_member: "Üye silinmedi",

View File

@ -12,6 +12,7 @@ let i18n = {
'network_response_error': "网络响应不正常", 'network_response_error': "网络响应不正常",
'failed_add_member': '添加成员失败', 'failed_add_member': '添加成员失败',
'member': '成员', 'member': '成员',
'email': '电子邮箱',
'save_member': '保存成员', 'save_member': '保存成员',
'delete_member': '删除成员', 'delete_member': '删除成员',
'failed_remove_member': '移除成员失败', 'failed_remove_member': '移除成员失败',

View File

@ -12,6 +12,7 @@ let i18n = {
'network_response_error': "網路無回應", 'network_response_error': "網路無回應",
'failed_add_member': '新增成員失敗', 'failed_add_member': '新增成員失敗',
'member': '成員', 'member': '成員',
'email': '電子信箱',
'save_member': '保存成員', 'save_member': '保存成員',
'delete_member': '刪除成員', 'delete_member': '刪除成員',
'failed_remove_member': '移除成員失敗', 'failed_remove_member': '移除成員失敗',

View File

@ -43,6 +43,12 @@ function addMemberButton(memberId) {
input.name = "member"; input.name = "member";
input.value = translate('member'); input.value = translate('member');
let emailInput = document.createElement("input");
emailInput.type = "text";
emailInput.placeholder = translate('email');
emailInput.name = "email";
emailInput.value = "";
let editLink = document.createElement("button"); let editLink = document.createElement("button");
editLink.className = "image-button medium" editLink.className = "image-button medium"
editLink.name = "save"; editLink.name = "save";
@ -70,6 +76,7 @@ function addMemberButton(memberId) {
deleteLink.appendChild(deleteImage); deleteLink.appendChild(deleteImage);
div.appendChild(input); div.appendChild(input);
div.appendChild(emailInput);
div.appendChild(editLink); div.appendChild(editLink);
div.appendChild(deleteLink); div.appendChild(deleteLink);

View File

@ -298,18 +298,6 @@
</div> </div>
</section> </section>
<?php
$sql = "SELECT * FROM payment_methods";
$result = $db->query($sql);
if ($result) {
$payments = array();
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$payments[] = $row;
}
}
?>
<?php <?php
$sql = "SELECT * FROM currencies"; $sql = "SELECT * FROM currencies";
$result = $db->query($sql); $result = $db->query($sql);
@ -472,6 +460,56 @@
</div> </div>
</section> </section>
<?php
$sql = "SELECT * FROM payment_methods";
$result = $db->query($sql);
if ($result) {
$payments = array();
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$payments[] = $row;
}
}
?>
<section class="account-section">
<header>
<h2><?= translate('payment_methods', $i18n) ?></h2>
</header>
<div class="payments-list">
<?php
$paymentsInUseQuery = $db->query('SELECT id FROM payment_methods WHERE id IN (SELECT DISTINCT payment_method_id FROM subscriptions)');
$paymentsInUse = [];
while ($row = $paymentsInUseQuery->fetchArray(SQLITE3_ASSOC)) {
$paymentsInUse[] = $row['id'];
}
foreach ($payments as $payment) {
$inUse = in_array($payment['id'], $paymentsInUse);
?>
<div class="payments-payment"
data-enabled="<?= $payment['enabled']; ?>"
data-in-use="<?= $inUse ? 'yes' : 'no' ?>"
data-paymentid="<?= $payment['id'] ?>"
title="<?= $inUse ? translate('cant_delete_payment_method_in_use', $i18n) : ($payment['enabled'] ? translate('disable', $i18n) : translate('enable', $i18n)) ?>"
onClick="togglePayment(<?= $payment['id'] ?>)">
<img src="images/uploads/icons/<?= $payment['icon'] ?>" alt="Logo" />
<span class="payment-name">
<?= $payment['name'] ?>
</span>
</div>
<?php
}
?>
</div>
<div class="settings-notes">
<p>
<i class="fa-solid fa-circle-info"></i>
<?= translate('payment_methods_info', $i18n) ?>
</p>
</div>
</section>
<section class="account-section"> <section class="account-section">
<header> <header>
<h2><?= translate('display_settings', $i18n) ?></h2> <h2><?= translate('display_settings', $i18n) ?></h2>
@ -515,44 +553,6 @@
</div> </div>
</section> </section>
<section class="account-section">
<header>
<h2><?= translate('payment_methods', $i18n) ?></h2>
</header>
<div class="payments-list">
<?php
$paymentsInUseQuery = $db->query('SELECT id FROM payment_methods WHERE id IN (SELECT DISTINCT payment_method_id FROM subscriptions)');
$paymentsInUse = [];
while ($row = $paymentsInUseQuery->fetchArray(SQLITE3_ASSOC)) {
$paymentsInUse[] = $row['id'];
}
foreach ($payments as $payment) {
$inUse = in_array($payment['id'], $paymentsInUse);
?>
<div class="payments-payment"
data-enabled="<?= $payment['enabled']; ?>"
data-in-use="<?= $inUse ? 'yes' : 'no' ?>"
data-paymentid="<?= $payment['id'] ?>"
title="<?= $inUse ? translate('cant_delete_payment_method_in_use', $i18n) : ($payment['enabled'] ? translate('disable', $i18n) : translate('enable', $i18n)) ?>"
onClick="togglePayment(<?= $payment['id'] ?>)">
<img src="images/uploads/icons/<?= $payment['icon'] ?>" alt="Logo" />
<span class="payment-name">
<?= $payment['name'] ?>
</span>
</div>
<?php
}
?>
</div>
<div class="settings-notes">
<p>
<i class="fa-solid fa-circle-info"></i>
<?= translate('payment_methods_info', $i18n) ?>
</p>
</div>
</section>
<section class="account-section"> <section class="account-section">
<header> <header>
<h2><?= translate('export_subscriptions', $i18n) ?></h2> <h2><?= translate('export_subscriptions', $i18n) ?></h2>