Skip to content

Commit

Permalink
feat: allow sorting of categories in settings
Browse files Browse the repository at this point in the history
feat: add filters to statistics page
feat: allow renaming / translation of payment methods
feat: allow deletion of the default payment methods
  • Loading branch information
ellite committed Mar 5, 2024
1 parent d7e050b commit 83234ab
Show file tree
Hide file tree
Showing 25 changed files with 754 additions and 98 deletions.
34 changes: 34 additions & 0 deletions endpoints/categories/sort.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

require_once '../../includes/connect_endpoint.php';

session_start();

if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {
$categories = $_POST['categoryIds'];
$order = 2;

foreach ($categories as $categoryId) {
$sql = "UPDATE categories SET `order` = :order WHERE id = :categoryId";
$stmt = $db->prepare($sql);
$stmt->bindParam(':order', $order, SQLITE3_INTEGER);
$stmt->bindParam(':categoryId', $categoryId, SQLITE3_INTEGER);
$result = $stmt->execute();
$order++;
}

$response = [
"success" => true,
"message" => translate("sort_order_saved", $i18n)
];
echo json_encode($response);
} else {
$response = [
"success" => false,
"errorMessage" => translate("session_expired", $i18n)
];
echo json_encode($response);
die();
}

?>
2 changes: 1 addition & 1 deletion endpoints/payments/get.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<?= $payment['name'] ?>
</span>
<?php
if ($payment['id'] > 31 && !$inUse) {
if (!$inUse) {
?>
<div class="delete-payment-method" title="<?= translate('delete', $i18n) ?>" data-paymentid="<?= $payment['id'] ?>" onclick="deletePaymentMethod(<?= $payment['id'] ?>)">
x
Expand Down
41 changes: 41 additions & 0 deletions endpoints/payments/rename.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?php

require_once '../../includes/connect_endpoint.php';
session_start();

if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
die(json_encode([
"success" => false,
"message" => translate('session_expired', $i18n)
]));
}

if (!isset($_POST['paymentId']) || !isset($_POST['name']) || $_POST['paymentId'] === '' || $_POST['name'] === '') {
die(json_encode([
"success" => false,
"message" => translate('fields_missing', $i18n)
]));
}

$paymentId = $_POST['paymentId'];
$name = $_POST['name'];

$sql = "UPDATE payment_methods SET name = :name WHERE id = :paymentId";
$stmt = $db->prepare($sql);
$stmt->bindParam(':name', $name, SQLITE3_TEXT);
$stmt->bindParam(':paymentId', $paymentId, SQLITE3_INTEGER);
$result = $stmt->execute();

if ($result) {
echo json_encode([
"success" => true,
"message" => translate('payment_renamed', $i18n)
]);
} else {
echo json_encode([
"success" => false,
"message" => translate('payment_not_renamed', $i18n)
]);
}

?>
Binary file added images/siteicons/draggable.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion includes/getdbkeys.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
}

$categories = array();
$query = "SELECT * FROM categories";
$query = "SELECT * FROM categories ORDER BY `order` ASC";
$result = $db->query($query);
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$categoryId = $row['id'];
Expand Down
8 changes: 8 additions & 0 deletions includes/i18n/de.php
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,24 @@
"experimental_info" => "Experimentelle Einstellungen funktionieren möglicherweise nicht perfekt.",
"payment_methods" => "Zahlungsmethoden",
"payment_methods_info" => "Zahlungsmethode zum (de-)aktivieren anklicken.",
"rename_payment_methods_info" => "Klicken Sie auf den Namen einer Zahlungsmethode, um sie umzubenennen",
"cant_delete_payment_method_in_use" => "Genutzte Zahlungsmethoden können nicht deaktiviert werden",
"add_custom_payment" => "Eigene Zahlungsmethode hinzufügen",
"payment_method_name" => "Name der Zahlungsmethode",
"payment_method_added_successfuly" => "Zahlungsmethode erfolgreich hinzugefügt",
"disable" => "Deaktivieren",
"enable" => "Aktivieren",
"rename_payment_method" => "Zahlungsmethode umbenennen",
"payment_renamed" => "Zahlungsmethode umbenannt",
"payment_not_renamed" => "Zahlungsmethode konnte nicht umbenannt werden",
"test" => "Test",
"add" => "Hinzufügen",
"save" => "Speichern",
"export_subscriptions" => "Abonnements exportieren",
"export_to_json" => "Nach JSON exportieren",
// Filters menu
"filter" => "Filter",
"clear" => "Leeren",
// Toast
"success" => "Erfolgreich",
// Endpoint responses
Expand All @@ -162,6 +169,7 @@
"failed_remove_category" => "Kategorie konnte nicht gelöscht werden",
"category_saved" => "Kategorie gespeichert",
"category_removed" => "Kategorie gelöscht",
"sort_order_saved" => "Sortierung gespeichert",
// Currency
"currency_saved" => "wurde gespeichert.",
"error_adding_currency" => "Fehler beim hinzufügen der Währung.",
Expand Down
8 changes: 8 additions & 0 deletions includes/i18n/el.php
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,24 @@
"experimental_info" => "Οι πειραματικές ρυθμίσεις πιθανότατα δεν θα λειτουργούν τέλεια.",
"payment_methods" => "Τρόποι πληρωμής",
"payment_methods_info" => "Κάνε κλικ σε μια μέθοδο πληρωμής για να την απενεργοποιήσεις/ενεργοποιήσεις.",
"rename_payment_methods_info" => "Κάντε κλικ στο όνομα μιας μεθόδου πληρωμής για να τη μετονομάσετε.",
"cant_delete_payment_method_in_use" => "Δεν είναι εφικτό να απενεργοποιηθεί η χρησιμοποιούμενη μέθοδο πληρωμής",
"add_custom_payment" => "Προσθήκη προσαρμοσμένης μεθόδου πληρωμής",
"payment_method_name" => "Όνομα μεθόδου πληρωμής",
"payment_method_added_successfuly" => "Η μέθοδος πληρωμής προστέθηκε με επιτυχία",
"disable" => "Ανενεργό",
"enable" => "Ενεργό",
"rename_payment_method" => "Μετονομασία μεθόδου πληρωμής",
"payment_renamed" => "Η μέθοδος πληρωμής μετονομάστηκε",
"payment_not_renamed" => "Η μέθοδος πληρωμής δεν μετονομάστηκε",
"test" => "Δοκιμή",
"add" => "Προσθήκη",
"save" => "Αποθήκευση",
"export_subscriptions" => "Εξαγωγή συνδρομών",
"export_to_json" => "Εξαγωγή σε JSON",
// Filters menu
"filter" => "Φίλτρο",
"clear" => "Καθαρισμός",
// Toast
"success" => "Επιτυχία",
// Endpoint responses
Expand All @@ -162,6 +169,7 @@
"failed_remove_category" => "Απέτυχε η διαγραφή κατηγορίας",
"category_saved" => "Αποθήκευση κατηγορίας",
"category_removed" => "Διαγραφή κατηγορίας",
"sort_order_saved" => "Η ταξινόμηση αποθηκεύτηκε",
// Currency
"currency_saved" => "αποθηκεύτηκε.",
"error_adding_currency" => "Error adding currency entry.",
Expand Down
8 changes: 8 additions & 0 deletions includes/i18n/en.php
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,24 @@
"experimental_info" => "Experimental settings will probably not work perfectly.",
"payment_methods" => "Payment Methods",
"payment_methods_info" => "Click a payment method to disable / enable it.",
"rename_payment_methods_info" => "Click the name on a payment method to rename it.",
"cant_delete_payment_method_in_use" => "Can't disable used payment method",
"add_custom_payment" => "Add Custom Payment Method",
"payment_method_name" => "Payment Method Name",
"payment_method_added_successfuly" => "Payment method added successfully",
"disable" => "Disable",
"enable" => "Enable",
"rename_payment_method" => "Rename Payment Method",
"payment_renamed" => "Payment method renamed",
"payment_not_renamed" => "Payment method not renamed",
"test" => "Test",
"add" => "Add",
"save" => "Save",
"export_subscriptions" => "Export Subscriptions",
"export_to_json" => "Export to JSON",
// Filters menu
"filter" => "Filter",
"clear" => "Clear",
// Toast
"success" => "Success",
// Endpoint responses
Expand All @@ -162,6 +169,7 @@
"failed_remove_category" => "Failed to remove category",
"category_saved" => "Category saved",
"category_removed" => "Category removed",
"sort_order_saved" => "Sort order saved",
// Currency
"currency_saved" => "was saved.",
"error_adding_currency" => "Error adding currency entry.",
Expand Down
8 changes: 8 additions & 0 deletions includes/i18n/es.php
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,24 @@
"experimental_info" => "Las configuraciones experimentales probablemente no funcionarán perfectamente.",
"payment_methods" => "Métodos de Pago",
"payment_methods_info" => "Haz clic en un método de pago para deshabilitarlo/habilitarlo.",
"rename_payment_methods_info" => "Haz clic en el nombre de un método de pago para cambiarle el nombre.",
"cant_delete_payment_method_in_use" => "No se puede desactivar el método de pago utilizado",
"add_custom_payment" => "Añadir método de pago personalizado",
"payment_method_name" => "Nombre del método de pago",
"payment_method_added_successfuly" => "Método de pago añadido con éxito",
"disable" => "Desactivar",
"enable" => "Activar",
"rename_payment_method" => "Renombrar método de pago",
"payment_renamed" => "Método de pago renombrado",
"payment_not_renamed" => "Error al renombrar el método de pago",
"test" => "Probar",
"add" => "Agregar",
"save" => "Guardar",
"export_subscriptions" => "Exportar suscripciones",
"export_to_json" => "Exportar a JSON",
// Filters menu
"filter" => "Filtrar",
"clear" => "Limpiar",
// Toast
"success" => "Éxito",
// Endpoint responses
Expand All @@ -162,6 +169,7 @@
"failed_remove_category" => "Error al eliminar la categoría",
"category_saved" => "Categoría guardada",
"category_removed" => "Categoría eliminada",
"sort_order_saved" => "Orden de clasificación guardado",
// Currency
"currency_saved" => "fue guardada.",
"error_adding_currency" => "Error al añadir la entrada de la moneda.",
Expand Down
8 changes: 8 additions & 0 deletions includes/i18n/fr.php
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,24 @@
"experimental_info" => "Les paramètres expérimentaux ne fonctionneront probablement pas parfaitement.",
"payment_methods" => "Méthodes de paiement",
"payment_methods_info" => "Cliquez sur une méthode de paiement pour la désactiver / l'activer.",
"rename_payment_methods_info" => "Cliquez sur le nom d'un mode de paiement pour le renommer.",
"cant_delete_payment_method_in_use" => "Impossible de désactiver la méthode de paiement utilisée",
"add_custom_payment" => "Ajouter un paiement personnalisé",
"payment_method_name" => "Nom de la méthode de paiement",
"payment_method_added_successfuly" => "Méthode de paiement ajoutée avec succès",
"disable" => "Désactiver",
"enable" => "Activer",
"rename_payment_method" => "Renommer la méthode de paiement",
"payment_renamed" => "Méthode de paiement renommée",
"payment_not_renamed" => "La méthode de paiement n'a pas été renommée",
"test" => "Test",
"add" => "Ajouter",
"save" => "Enregistrer",
"export_subscriptions" => "Exporter les abonnements",
"export_to_json" => "Exporter en JSON",
// Menu des filtes
"filter" => "Filtre",
"clear" => "Effacer",
// Toast
"success" => "Succès",
// Réponses de l'API
Expand All @@ -162,6 +169,7 @@
"failed_remove_category" => "Échec de la suppression de la catégorie",
"category_saved" => "Catégorie enregistrée",
"category_removed" => "Catégorie supprimée",
"sort_order_saved" => "L'ordre de tri a été enregistré",
// Devise
"currency_saved" => "a été enregistrée.",
"error_adding_currency" => "Erreur lors de l'ajout de l'entrée de devise.",
Expand Down
8 changes: 8 additions & 0 deletions includes/i18n/jp.php
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,24 @@
"experimental_info" => "実験的な設定は、おそらく完全には機能しません。",
"payment_methods" => "支払い方法",
"payment_methods_info" => "支払い方法をクリックして無効/有効を切り替えます。",
"rename_payment_methods_info" => "支払い方法の名前をクリックして、名前を変更します。",
"cant_delete_payment_method_in_use" => "支払い方法が使用中のため無効にできません。",
"add_custom_payment" => "カスタム支払い方法を追加",
"payment_method_name" => "支払い方法名",
"payment_method_added_successfuly" => "支払い方法が追加されました",
"disable" => "無効",
"enable" => "有効",
"rename_payment_method" => "支払い方法の名前を変更",
"payment_renamed" => "支払い方法が変更されました",
"payment_not_renamed" => "支払い方法が変更されませんでした",
"test" => "テスト",
"add" => "追加",
"save" => "保存",
"export_subscriptions" => "購読をエクスポート",
"export_to_json" => "JSONにエクスポート",
// Filters menu
"filter" => "フィルタ",
"clear" => "クリア",
// Toast
"success" => "成功",
// Endpoint responses
Expand All @@ -162,6 +169,7 @@
"failed_remove_category" => "カテゴリの削除に失敗",
"category_saved" => "カテゴリの保存",
"category_removed" => "カテゴリの削除",
"sort_order_saved" => "並べ替え順が保存されました",
// Currency
"currency_saved" => "通貨を保存",
"error_adding_currency" => "通貨エントリの追加エラー.",
Expand Down
8 changes: 8 additions & 0 deletions includes/i18n/pt.php
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,24 @@
"experimental_info" => "Definições experimentais provavelmente não funcionarão correctamente.",
"payment_methods" => "Métodos de Pagamento",
"payment_methods_info" => "Clique num método de pagamento para o activar / desactivar.",
"rename_payment_methods_info" => "Clique no nome do método de pagamento para o renomear.",
"cant_delete_payment_method_in_use" => "Não pode desactivar metodo de pagamento em uso",
"add_custom_payment" => "Adicionar método de pagamento personalizado",
"payment_method_name" => "Nome do método de pagamento",
"payment_method_added_successfuly" => "Método de pagamento adicionado com sucesso",
"disable" => "Desactivar",
"enable" => "Activar",
"rename_payment_method" => "Renomear método de pagamento",
"payment_renamed" => "Método de pagamento renomeado",
"payment_not_renamed" => "Método de pagamento não renomeado",
"test" => "Testar",
"add" => "Adicionar",
"save" => "Guardar",
"export_subscriptions" => "Exportar Subscrições",
"export_to_json" => "Exportar para JSON",
// Filters menu
"filter" => "Filtro",
"clear" => "Limpar",
// Toast
"success" => "Sucesso",
// Endpoint responses
Expand All @@ -162,6 +169,7 @@
"failed_remove_category" => "Erro ao remover categoria",
"category_saved" => "Categoria guardada",
"category_removed" => "Categoria removida",
"sort_order_saved" => "Ordenação guardada",
// Currency
"currency_saved" => "guardada.",
"error_adding_currency" => "Erro ao adicionar moeda.",
Expand Down
8 changes: 8 additions & 0 deletions includes/i18n/tr.php
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,24 @@
"experimental_info" => "Deneysel ayarlar muhtemelen mükemmel çalışmayacak.",
"payment_methods" => "Ödeme Yöntemleri",
"payment_methods_info" => "Bir ödeme yöntemini devre dışı bırakmak / etkinleştirmek için tıklayın.",
"rename_payment_methods_info" => "Yeniden adlandırmak için bir ödeme yönteminin adına tıklayın.",
"cant_delete_payment_method_in_use" => "Kullanımda olan ödeme yöntemini devre dışı bırakamazsınız",
"add_custom_payment" => "Özel ödeme yöntemi ekle",
"payment_method_name" => "Ödeme Yöntemi Adı",
"payment_method_added_successfuly" => "Ödeme yöntemi başarıyla eklendi",
"disable" => "Devre Dışı Bırak",
"enable" => "Etkinleştir",
"rename_payment_method" => "Ödeme yöntemi adını değiştir",
"payment_renamed" => "Ödeme yöntemi adı değiştirildi",
"payment_not_renamed" => "Ödeme yöntemi adı değiştirilemedi",
"test" => "Test Et",
"add" => "Ekle",
"save" => "Kaydet",
"export_subscriptions" => "Abonelikleri Dışa Aktar",
"export_to_json" => "JSON'a dışa aktar",
// Filters menu
"filter" => "Filtre",
"clear" => "Temizle",
// Toast
"success" => "Başarılı",
// Endpoint responses
Expand All @@ -162,6 +169,7 @@
"failed_remove_category" => "Kategori kaldırılamadı",
"category_saved" => "Kategori kaydedildi",
"category_removed" => "Kategori kaldırıldı",
"sort_order_saved" => "Sıralama düzeni kaydedildi",
// Currency
"currency_saved" => "kaydedildi.",
"error_adding_currency" => "Para birimi girişi eklenirken hata oluştu.",
Expand Down
9 changes: 9 additions & 0 deletions includes/i18n/zh_cn.php
Original file line number Diff line number Diff line change
Expand Up @@ -143,17 +143,25 @@
"experimental_info" => "实验性设置,可能存在问题。",
"payment_methods" => "支付方式",
"payment_methods_info" => "点击支付方式以禁用/启用。",
"rename_payment_methods_info" => "点击付款方式名称,重新命名该付款方式。"
"cant_delete_payment_method_in_use" => "不能禁用正在使用的支付方式",
"add_custom_payment" => "添加自定义支付方式",
"payment_method_name" => "支付方式名称",
"payment_method_added_successfuly" => "支付方式已成功添加",
"disable" => "禁用",
"enable" => "启用",
"rename_payment_method" => "重命名支付方式",
"payment_renamed" => "支付方式已重命名",
"payment_not_renamed" => "支付方式未重命名",
"test" => "测试",
"add" => "添加",
"save" => "保存",
"export_subscriptions" => "导出订阅",
"export_to_json" => "导出为 JSON",

// Filters menu
"filter" => "筛选",
"clear" => "清除",

// Toast
"success" => "成功",
Expand All @@ -172,6 +180,7 @@
"failed_remove_category" => "移除分类失败",
"category_saved" => "分类已保存",
"category_removed" => "分类已移除",
"sort_order_saved" => "排序顺序已保存",

// Currency
"currency_saved" => "货币已保存。",
Expand Down
Loading

0 comments on commit 83234ab

Please sign in to comment.