Merge branch 'release/4.8.1.3'

This commit is contained in:
James Cole 2019-10-05 06:55:11 +02:00
commit 16cec9a861
7 changed files with 24 additions and 22 deletions

View File

@ -1,3 +1,7 @@
# 4.8.1.3
- [Issue 2680](https://github.com/firefly-iii/firefly-iii/issues/2680) Upgrade routine would delete all transaction groups.
# 4.8.1.2
Firefly III v4.8.1.2 and onwards are licensed under the GNU Affero General

View File

@ -1,7 +1,7 @@
sudo: required
language: bash
env:
- VERSION=4.8.1.2
- VERSION=4.8.1.3
dist: xenial

View File

@ -55,28 +55,19 @@ class DeleteEmptyGroups extends Command
public function handle(): int
{
$start = microtime(true);
$groups = array_unique(TransactionJournal::get(['transaction_group_id'])->pluck('transaction_group_id')->toArray());
// make chunks so SQLite can take the strain:
$chunks = array_chunk($groups, 500);
$total = 0;
foreach ($chunks as $chunk) {
$count = TransactionGroup::whereNull('deleted_at')->whereNotIn('id', $chunk)->count();
$total += $count;
}
if (0 === $total) {
$this->info('No empty transaction groups.');
}
unset($chunks, $chunk, $count);
$groupIds =
TransactionGroup
::leftJoin('transaction_journals','transaction_groups.id','=','transaction_journals.transaction_group_id')
->whereNull('transaction_journals.id')->get(['transaction_groups.id'])->pluck('id')->toArray();
$total = count($groupIds);
if ($total > 0) {
$this->info(sprintf('Deleted %d empty transaction group(s).', $total));
// again, chunks for SQLite.
$chunks = array_chunk($groups, 500);
$chunks = array_chunk($groupIds, 500);
foreach ($chunks as $chunk) {
TransactionGroup::whereNull('deleted_at')->whereNotIn('id', $chunk)->delete();
TransactionGroup::whereNull('deleted_at')->whereIn('id', $chunk)->delete();
}
}
$end = round(microtime(true) - $start, 2);

View File

@ -4,6 +4,13 @@ This project adheres to [Semantic Versioning](http://semver.org/).
## [4.8.1.2 (API 0.10.3)] - 2019-10-05
Emergency fix because I borked the upgrade routine. I apologise for the inconvenience.
### Fixed
- [Issue 2680](https://github.com/firefly-iii/firefly-iii/issues/2680) Upgrade routine would delete all transaction groups.
## [4.8.1.2 (API 0.10.3)] - 2019-10-05
Firefly III v4.8.1.2 and onwards are licensed under the GNU Affero General
Public License. This will not meaningfully change Firefly III. This
particular license has some extra provisions that protect web-applications

View File

@ -30,7 +30,7 @@ return [
'index_help' => 'Pokud budete potřebovat nápovědu ke stránce nebo formuláři, klikněte na toto tlačítko.',
'index_outro' => 'Většina stránek Firefly III začíná krátkou prohlídkou, jako je tato. Obraťte se na mně, pokud máte dotazy nebo komentáře. Ať poslouží!',
'index_sidebar-toggle' => 'Nabídku pod touto ikonou použijte pro vytváření nových transakcí, účtů a ostatní věcí.',
'index_cash_account' => 'These are the accounts created so far. You can use the cash account to track cash expenses but it\'s not mandatory of course.',
'index_cash_account' => 'Toto jsou doposud vytvořené účty. Hotovostní účet můžete použít pro sledování výdajů v hotovosti, ale není to pochopitelně povinné.',
// transactions (withdrawal)
'transactions_create_withdrawal_source' => 'Select your favorite asset account or liability from this dropdown.',

View File

@ -221,7 +221,7 @@ return [
'updates_do_not_check' => 'Niet controleren op nieuwe versies',
'updates_enable_check' => 'Controleren op nieuwe versies',
'admin_update_check_now_title' => 'Op updates controleren',
'admin_update_check_now_explain' => 'Als u op de knop drukt, kijkt Firefly III of je huidige versie de nieuwste is.',
'admin_update_check_now_explain' => 'Als je op de knop drukt, kijkt Firefly III of je huidige versie de nieuwste is.',
'check_for_updates_button' => 'Controleer nu!',
'update_new_version_alert' => 'Er is een nieuwe versie van Firefly III beschikbaar. Je gebruikt v:your_version, de nieuwste versie is v:new_version die werd uitgebracht op :date.',
'update_current_version_alert' => 'Je gebruikt v:version, de nieuwste beschikbare versie.',
@ -1243,7 +1243,7 @@ return [
'store_configuration' => 'Configuratie opslaan',
'single_user_administration' => 'Gebruikersadministratie voor :email',
'edit_user' => 'Wijzig gebruiker :email',
'hidden_fields_preferences' => 'U kunt meer transactieopties inschakelen in uw <a href=":link">instellingen</a>.',
'hidden_fields_preferences' => 'Je kan meer transactieopties inschakelen in je <a href=":link">instellingen</a>.',
'user_data_information' => 'Gebruikersgegevens',
'user_information' => 'Gebruikersinformatie',
'total_size' => 'totale grootte',
@ -1269,7 +1269,7 @@ return [
'send_test_triggered' => 'Testmail verstuurd. Check je inbox en de logboeken.',
'split_transaction_title' => 'Beschrijving van de gesplitste transactie',
'split_title_help' => 'Als u een gesplitste transactie maakt, moet er een algemene beschrijving zijn voor alle splitsingen van de transactie.',
'split_title_help' => 'Als je een gesplitste transactie maakt, moet er een algemene beschrijving zijn voor alle splitsingen van de transactie.',
'transaction_information' => 'Transactieinformatie',
'you_create_transfer' => 'Je maakt een <strong>overschrijving</strong>.',
'you_create_withdrawal' => 'Je maakt een <strong>uitgave</strong>.',

View File

@ -213,7 +213,7 @@ return [
'specific_ingbelgium_descr' => 'Lost mogelijke problemen op met ING België bestanden',
// job configuration for file provider (stage: roles)
'job_config_roles_title' => 'Importinstellingen (3/4) - rol van elke kolom definiëren',
'job_config_roles_text' => 'Elke kolom in je CSV-bestand bevat bepaalde gegevens. Gelieve aan te geven wat voor soort gegevens de import-routine kan verwachten. De optie "maak een link" betekent dat u elke vermelding in die kolom linkt aan een waarde uit je database. Een vaak gelinkte kolom is die met de IBAN-code van de tegenrekening. Die kan je dan linken aan de IBAN in jouw database.',
'job_config_roles_text' => 'Elke kolom in je CSV-bestand bevat bepaalde gegevens. Geef hier aan wat voor soort gegevens de import-routine kan verwachten. De optie "maak een link" betekent dat je elke vermelding in die kolom linkt aan een waarde uit je database. Een vaak gelinkte kolom is die met de IBAN-code van de tegenrekening. Die kan je dan linken aan de IBAN in jouw database.',
'job_config_roles_submit' => 'Volgende',
'job_config_roles_column_name' => 'Kolomnaam',
'job_config_roles_column_example' => 'Voorbeeldgegevens',