Compare commits
35 Commits
v1.0
...
66ebf78e6b
Author | SHA1 | Date | |
---|---|---|---|
66ebf78e6b | |||
34e8ff03b7 | |||
aedaf89c3e | |||
286bfa733a | |||
4e2465e731 | |||
100aeb2747 | |||
2e018c4387 | |||
67d21427a0 | |||
a5fe0a0997 | |||
48070ba333 | |||
5c5fce36cc | |||
2b5bd81f3f | |||
8da1976025 | |||
632cc2eb3d | |||
0f1966b267 | |||
bcbe553bce | |||
568c548eda | |||
81fb8f0b19 | |||
417a21f1c7 | |||
a22ae4ef3b | |||
f710cefd6d | |||
2630219c2f | |||
4406b14768 | |||
975c8b6f46 | |||
d3091ac909 | |||
52d5c30f94 | |||
43009d52f1 | |||
094f1fb933 | |||
7f3462dcf0 | |||
cb0e9975a2 | |||
1673087920 | |||
011fbddd6c | |||
7a85d05cb5 | |||
635811ce9c | |||
d4b6dec1db |
@ -62,7 +62,7 @@ Datum,Popis,Částka,Měna,Typ
|
|||||||
```
|
```
|
||||||
## Přizpůsobení
|
## Přizpůsobení
|
||||||
|
|
||||||
- Kurz měny: Pro jednoduchost je v kódu nastavený kurz 1 EUR = 25 CZK. Tento kurz můžete upravit podle potřeby v JavaScript kódu v souboru index.html.
|
- Kurz měny: Pro jednoduchost je v kódu nastavený kurz 1 EUR = 25 CZK. Tento kurz můžete upravit podle potřeby v JavaScript kódu v souboru `skript.js`.
|
||||||
|
|
||||||
## Kontakt
|
## Kontakt
|
||||||
|
|
||||||
|
65
finance.csv
65
finance.csv
@ -1,6 +1,63 @@
|
|||||||
Datum,Popis,Částka,Měna,Typ
|
,Popis,Částka,Měna,Typ
|
||||||
2020-06-04,Stav účtu ,9253,CZK,Příjem
|
2020-06-04,Stav účtu ,9253,CZK,Příjem
|
||||||
2024-06-05,Příspěvek @tirtol128,512,CZK,Příjem
|
2024-06-05,Příspěvek @tritol128,512,CZK,Příjem
|
||||||
2024-06-10,Příspěvek @fabia_man,100,CZK,Příjem
|
2024-06-10,Příspěvek @fabia_man,100,CZK,Příjem
|
||||||
2024-06-13,test_synchronizace ,10,CZK,Příjem
|
2024-06-17,Příspěvek @Onqa6,100,CZK,Příjem
|
||||||
2024-06-13,test_synchronizace ,10,CZK ,Výdaj
|
2024-06-18,Příspěvek D.Kolaja,111,CZK,Příjem
|
||||||
|
2024-06-18,Příspěvek Luboš Blažek,1000,CZK,Příjem
|
||||||
|
2024-06-18,Platba Contabo,-324.90,CZK,Výdaj
|
||||||
|
2024-06-24,Příspěvek Pixelfed/dnesnaukrajine,300,CZK,Příjem
|
||||||
|
2024-06-25,Příspěvek M.Kroul,150,CZK,Příjem
|
||||||
|
2024-06-27,Příspěvek Petr K.,88.88,CZK,Příjem
|
||||||
|
2024-06-27,S3 uložiště Idrive2,-382,CZK,Výdaj
|
||||||
|
2024-07-01,Contabo platba server VPS,-1062.97,CZK,Výdaj
|
||||||
|
2024-07-01,Příspěvek PetR,500,CZK,Příjem
|
||||||
|
2024-07-01,Uživatel jiné instance ,44.99,CZK,Příjem
|
||||||
|
2024-07-05,Příspěvek @tritol128,512,CZK,Příjem
|
||||||
|
2024-07-10,Příspěvek @smoon,100,CZK,Příjem
|
||||||
|
2024-07-10,Příspěvek @fabia_man,100,CZK,Příjem
|
||||||
|
2024-07-22,Příspěvek D.Kolaja,111,CZK,Příjem
|
||||||
|
2024-07-22,Příspěvek @Onqa6,100,CZK,Příjem
|
||||||
|
2024-07-22,Contabo platba server VPS,-321.98,CZK,Výdaj
|
||||||
|
2024-07-22,Příspěvek Luboš Blažek,1000,CZK,Příjem
|
||||||
|
2024-07-22,Příspěvek Infoek,474,CZK,Příjem
|
||||||
|
2024-07-29,Příspěvek M.Kroul,150,CZK,Příjem
|
||||||
|
2024-07-29,Příspěvek Pixelfed/dnesnaukrajine,300,CZK,Příjem
|
||||||
|
2024-07-29,S3 uložiště Idrive2,-361.32,CZK,Výdaj
|
||||||
|
2024-08-09,Příspěvek @fabia_man,200,CZK,Příjem
|
||||||
|
2024-08-09,Příspěvek @tritol128,512,CZK,Příjem
|
||||||
|
2024-08-09,Příspěvek Infoek,500,CZK,Příjem
|
||||||
|
2024-08-09,Příspěvek Micaai,50,CZK,Příjem
|
||||||
|
2024-08-09,Příspěvek @Razemix@mamutovo,100,CZK,Příjem
|
||||||
|
2024-08-09,Příspěvek @smoon,100,CZK,Příjem
|
||||||
|
2024-08-09,Příspěvek M.Kroul,150,CZK,Příjem
|
||||||
|
2024-08-17,Příspěvek @Onqa6,100,CZK,Příjem
|
||||||
|
2024-08-19,Příspěvek D.Kolaja,111,CZK,Příjem
|
||||||
|
2024-08-19,Příspěvek Schmaker,200,CZK,Příjem
|
||||||
|
2024-08-19,Příspěvek Luboš Blažek,1000,CZK,Příjem
|
||||||
|
2024-08-19,Contabo platba server VPS,-428.15,CZK,Výdaj
|
||||||
|
2024-08-19,Platba server Hetzner ,-2328.69,CZK,Výdaj
|
||||||
|
2024-08-24,Příspěvek M.Kroul,150,CZK,Příjem
|
||||||
|
2024-08-29,Příspěvek Pixelfed/dnesnaukrajine,300,CZK,Příjem
|
||||||
|
2024-08-29,S3 uložiště Idrive2,-230.76,CZK,Výdaj
|
||||||
|
2024-05-09,Příspěvek @tritol128,512,CZK,Příjem
|
||||||
|
2024-05-09,Příspěvek @fabia_man,200,CZK,Příjem
|
||||||
|
2024-05-09,Příspěvek Micaai,50,CZK,Příjem
|
||||||
|
2024-10-09,Příspěvek Infoek,400,CZK,Příjem
|
||||||
|
2024-09-19,Příspěvek D.Kolaja,111,CZK,Příjem
|
||||||
|
2024-09-19,Platba server Hetzner ,-2348.98,CZK,Výdaj
|
||||||
|
2024-09-19,Contabo platba server VPS,-440.50,CZK,Výdaj
|
||||||
|
2024-09-19,Příspěvek Luboš Blažek,1000,CZK,Příjem
|
||||||
|
2024-09-19,Příspěvek Schmaker,200,CZK,Příjem
|
||||||
|
2024-09-19,Příspěvek @Onqa6,100,CZK,Příjem
|
||||||
|
2024-09-20,Archos platba ,-107,CZK,Výdaj
|
||||||
|
2024-09-25,Archos dorovnání ,110,CZK,Příjem
|
||||||
|
2024-09-25,Příspěvek Pixelfed/dnesnaukrajine,300,CZK,Příjem
|
||||||
|
2024-09-25,Příspěvek M.Kroul,150,CZK,Příjem
|
||||||
|
2024-09-26,S3 uložiště Idrive2,-85.99,CZK,Výdaj
|
||||||
|
2024-09-29,Platba doména Mamutovo,-297,CZK,Výdaj
|
||||||
|
2024-10-06,Příspěvek Infoek,1000,CZK,Příjem
|
||||||
|
2024-10-06,Příspěvek @tritol128,512,CZK,Příjem
|
||||||
|
2024-10-06,Příspěvek Micaai,50,CZK,Příjem
|
||||||
|
2024-10-10,Příspěvek @fabia_man,200,CZK,Příjem
|
||||||
|
2024-10-10,Příspěvek @Razemix@mamutovo,100,CZK,Příjem
|
||||||
|
|
16
finance_2024_corrected.csv
Normal file
16
finance_2024_corrected.csv
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Vytvoření testovacího DataFrame s podobnou strukturou jako uživatelův CSV soubor
|
||||||
|
data_corrected = {
|
||||||
|
'Datum': ['2024-06-04', '2024-06-05', '2024-06-10', '2024-06-17', '2024-06-18'],
|
||||||
|
'Popis': ['Stav účtu', 'Příspěvek @tritol128', 'Příspěvek @fabia_man', 'Příspěvek @Onqa6', 'Příspěvek D.Kolaja'],
|
||||||
|
'Částka': [9253.0, 512.0, 100.0, 100.0, 111.0],
|
||||||
|
'Měna': ['CZK', 'CZK', 'CZK', 'CZK', 'CZK'],
|
||||||
|
'Typ': ['Příjem', 'Příjem', 'Příjem', 'Příjem', 'Příjem']
|
||||||
|
}
|
||||||
|
|
||||||
|
df_corrected = pd.DataFrame(data_corrected)
|
||||||
|
|
||||||
|
# Uložení do CSV souboru
|
||||||
|
corrected_csv_path = "/mnt/data/finance_2024_corrected.csv"
|
||||||
|
df_corrected.to_csv(corrected_csv_path, index=False)
|
||||||
|
|
||||||
|
corrected_csv_path
|
Can't render this file because it contains an unexpected character in line 13 and column 22.
|
@ -7,12 +7,15 @@
|
|||||||
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
|
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
|
||||||
<!-- Custom CSS -->
|
<!-- Custom CSS -->
|
||||||
<link href="styly.css" rel="stylesheet">
|
<link href="styly.css" rel="stylesheet">
|
||||||
|
<!-- Rel="me" link -->
|
||||||
|
<a rel="me" href="https://mamutovo.cz/@zdendys">Mastodon</a>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="d-flex flex-column min-vh-100">
|
<div class="d-flex flex-column min-vh-100">
|
||||||
<header class="text-center mb-3">
|
<header class="text-center mb-3">
|
||||||
<h1>Přehled Financí Komunity</h1>
|
<h1>Přehled Financí Komunity</h1>
|
||||||
<p>Tento projekt poskytuje transparentní přehled transakcí na našem <a href="https://transparentniucty.moneta.cz/264043266" target="_blank">transparentním účtu</a>.</p>
|
<p>Tento projekt poskytuje transparentní přehled transakcí na našem <a href="https://transparentniucty.moneta.cz/264043266" target="_blank">transparentním účtu</a>.</p>
|
||||||
|
<p><strong>Přehled faktur:</strong> Přístup k vystaveným fakturám naleznete v našem <a href="https://oscloud.cz/s/PxkK2LXCzGeGfPS" target="_blank">Nextcloud úložišti</a>.</p>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="account-balance text-center mb-3">
|
<div class="account-balance text-center mb-3">
|
||||||
@ -34,6 +37,12 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Archiv přehledů financí -->
|
||||||
|
<div class="container text-center mt-4">
|
||||||
|
<h2>Archiv přehledů financí</h2>
|
||||||
|
<button id="load-archive-2024" class="btn btn-secondary">Načíst rok 2024</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<footer class="text-center mt-auto py-3">
|
<footer class="text-center mt-auto py-3">
|
||||||
<p>© 2024 <a href="https://git.arch-linux.cz/Archos/prehlad-financi-komunity" target="_blank">Archos</a></p>
|
<p>© 2024 <a href="https://git.arch-linux.cz/Archos/prehlad-financi-komunity" target="_blank">Archos</a></p>
|
||||||
|
94
skript.js
94
skript.js
@ -1,43 +1,59 @@
|
|||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
fetch('finance.csv')
|
// Funkce pro načítání financí
|
||||||
.then(response => {
|
function loadFinanceData(csvFile) {
|
||||||
if (!response.ok) {
|
console.log(`Načítání souboru: ${csvFile}`); // Debug výpis
|
||||||
throw new Error('Network response was not ok');
|
fetch(csvFile)
|
||||||
}
|
.then(response => {
|
||||||
return response.text();
|
if (!response.ok) {
|
||||||
})
|
throw new Error('Network response was not ok');
|
||||||
.then(data => {
|
|
||||||
let rows = data.split('\n').slice(1);
|
|
||||||
rows = rows.filter(row => row.trim() !== ""); // Remove empty rows
|
|
||||||
rows.reverse(); // Reverse the order of rows
|
|
||||||
const tableBody = document.querySelector('#finance-table tbody');
|
|
||||||
let accountBalance = 0;
|
|
||||||
rows.forEach(row => {
|
|
||||||
const columns = row.split(',');
|
|
||||||
if (columns.length >= 5) {
|
|
||||||
const tr = document.createElement('tr');
|
|
||||||
columns.forEach(column => {
|
|
||||||
const td = document.createElement('td');
|
|
||||||
td.textContent = column;
|
|
||||||
tr.appendChild(td);
|
|
||||||
});
|
|
||||||
tableBody.appendChild(tr);
|
|
||||||
|
|
||||||
// Calculate account balance
|
|
||||||
const amount = parseFloat(columns[2]);
|
|
||||||
const currency = columns[3];
|
|
||||||
if (currency === 'CZK') {
|
|
||||||
accountBalance += amount;
|
|
||||||
} else if (currency === 'EUR') {
|
|
||||||
// For simplicity, assume 1 EUR = 25 CZK (you can adjust the conversion rate)
|
|
||||||
accountBalance += amount * 25;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return response.text();
|
||||||
|
})
|
||||||
|
.then(data => {
|
||||||
|
console.log('Načtená data:', data); // Debug výpis načtených dat
|
||||||
|
let rows = data.split('\n').slice(1); // Odstraníme hlavičku CSV souboru
|
||||||
|
rows = rows.filter(row => row.trim() !== ""); // Odstranit prázdné řádky
|
||||||
|
rows.reverse(); // Obrátit pořadí řádků
|
||||||
|
const tableBody = document.querySelector('#finance-table tbody');
|
||||||
|
tableBody.innerHTML = ''; // Vyprázdnit tabulku před načtením nových dat
|
||||||
|
let accountBalance = 0;
|
||||||
|
rows.forEach(row => {
|
||||||
|
const columns = row.split(',');
|
||||||
|
if (columns.length >= 5) {
|
||||||
|
const tr = document.createElement('tr');
|
||||||
|
columns.forEach(column => {
|
||||||
|
const td = document.createElement('td');
|
||||||
|
td.textContent = column.trim();
|
||||||
|
tr.appendChild(td);
|
||||||
|
});
|
||||||
|
tableBody.appendChild(tr);
|
||||||
|
|
||||||
|
// Výpočet zůstatku
|
||||||
|
const amount = parseFloat(columns[2].replace(/,/g, '').replace(/[^0-9.-]/g, '')); // Ošetření čísel
|
||||||
|
const currency = columns[3].trim();
|
||||||
|
|
||||||
|
if (!isNaN(amount)) {
|
||||||
|
if (currency === 'CZK') {
|
||||||
|
accountBalance += amount;
|
||||||
|
} else if (currency === 'EUR') {
|
||||||
|
accountBalance += amount * 25; // Pro jednoduchost: 1 EUR = 25 CZK
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
document.getElementById('account-balance').textContent = accountBalance.toFixed(2) + ' CZK';
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error('Chyba při načítání CSV souboru:', error);
|
||||||
|
document.getElementById('account-balance').textContent = 'Chyba při načítání dat';
|
||||||
});
|
});
|
||||||
document.getElementById('account-balance').textContent = accountBalance.toFixed(2) + ' CZK';
|
}
|
||||||
})
|
|
||||||
.catch(error => {
|
// Načítání aktuálního souboru finance.csv
|
||||||
console.error('Error fetching the CSV file:', error);
|
loadFinanceData('finance.csv'); // Soubor je ve stejné složce, proto nemusíš zadávat cestu
|
||||||
document.getElementById('account-balance').textContent = 'Chyba při načítání dat';
|
|
||||||
});
|
// Přidání funkce pro načítání archivovaných dat za rok 2024
|
||||||
|
document.getElementById('load-archive-2024').addEventListener('click', function() {
|
||||||
|
loadFinanceData('finance_2024_corrected.csv'); // Stejná složka pro archivovaný soubor
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user