From c5d2fabfec8e01ba3af6d0756f4e006f7ec74cab Mon Sep 17 00:00:00 2001
From: James Cole
Date: Sat, 12 Nov 2016 12:12:11 +0100
Subject: [PATCH] Optimize some views for category report
---
.../Report/Category/MonthReportGenerator.php | 2 --
public/js/ff/reports/index.js | 25 ++++++++++++++++---
resources/lang/en_US/firefly.php | 1 +
resources/views/reports/options/category.twig | 2 +-
4 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/app/Generator/Report/Category/MonthReportGenerator.php b/app/Generator/Report/Category/MonthReportGenerator.php
index 09e5fc31e1..6420f24078 100644
--- a/app/Generator/Report/Category/MonthReportGenerator.php
+++ b/app/Generator/Report/Category/MonthReportGenerator.php
@@ -20,7 +20,6 @@ use FireflyIII\Helpers\Collector\JournalCollector;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionType;
use Illuminate\Support\Collection;
-use Log;
/**
* Class MonthReportGenerator
@@ -232,7 +231,6 @@ class MonthReportGenerator extends Support implements ReportGeneratorInterface
$transactions = $collector->getJournals();
$transactions = self::filterExpenses($transactions, $accountIds);
-
return $transactions;
}
diff --git a/public/js/ff/reports/index.js b/public/js/ff/reports/index.js
index 5df1bd03cc..9eb918d86a 100644
--- a/public/js/ff/reports/index.js
+++ b/public/js/ff/reports/index.js
@@ -17,7 +17,6 @@ $(function () {
}
);
-
// set values from cookies, if any:
if (readCookie('report-type') !== null) {
$('select[name="report_type"]').val(readCookie('report-type'));
@@ -26,7 +25,7 @@ $(function () {
if ((readCookie('report-accounts') !== null)) {
var arr = readCookie('report-accounts').split(',');
arr.forEach(function (val) {
- $('input[type="checkbox"][value="' + val + '"]').prop('checked', true);
+ $('input[class="account-checkbox"][type="checkbox"][value="' + val + '"]').prop('checked', true);
});
}
@@ -55,13 +54,24 @@ function getReportOptions() {
$('#extra-options').empty();
$('#extra-options').addClass('loading');
console.log('Changed report type to ' + reportType);
+
$.getJSON('reports/options/' + reportType, function (data) {
$('#extra-options').removeClass('loading').html(data.html);
+ setOptionalFromCookies();
}).fail(function () {
$('#extra-options').removeClass('loading').addClass('error');
});
}
+function setOptionalFromCookies() {
+ if ((readCookie('report-categories') !== null)) {
+ var arr = readCookie('report-categories').split(',');
+ arr.forEach(function (val) {
+ $('input[class="category-checkbox"][type="checkbox"][value="' + val + '"]').prop('checked', true);
+ });
+ }
+}
+
function catchSubmit() {
"use strict";
// date, processed:
@@ -78,7 +88,15 @@ function catchSubmit() {
}
});
- // all category ids to come
+ // all category ids:
+ //category-checkbox
+ var categories = [];
+ $.each($('.category-checkbox'), function (i, v) {
+ var c = $(v);
+ if (c.prop('checked')) {
+ categories.push(c.val());
+ }
+ });
// remember all
@@ -86,6 +104,7 @@ function catchSubmit() {
// set cookie to remember choices.
createCookie('report-type', $('select[name="report_type"]').val(), 365);
createCookie('report-accounts', accounts, 365);
+ createCookie('report-categories', categories, 365);
createCookie('report-start', moment(picker.startDate).format("YYYYMMDD"), 365);
createCookie('report-end', moment(picker.endDate).format("YYYYMMDD"), 365);
}
diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php
index 0700a0f643..2cc9fae536 100644
--- a/resources/lang/en_US/firefly.php
+++ b/resources/lang/en_US/firefly.php
@@ -669,6 +669,7 @@ return [
'report_type' => 'Report type',
'report_type_default' => 'Default financial report',
'report_type_audit' => 'Transaction history overview (audit)',
+ 'report_type_category' => 'Category report',
'report_type_meta-history' => 'Categories, budgets and bills overview',
'more_info_help' => 'More information about these types of reports can be found in the help pages. Press the (?) icon in the top right corner.',
'report_included_accounts' => 'Included accounts',
diff --git a/resources/views/reports/options/category.twig b/resources/views/reports/options/category.twig
index 19ab935805..1487c42ed0 100644
--- a/resources/views/reports/options/category.twig
+++ b/resources/views/reports/options/category.twig
@@ -3,6 +3,6 @@
{% for category in categories %}
{% endfor %}