Skip to content
This repository has been archived by the owner on Jul 5, 2023. It is now read-only.

Commit

Permalink
Uproszczenie tablic statystyk
Browse files Browse the repository at this point in the history
  • Loading branch information
Adam Stachowicz committed Oct 23, 2016
1 parent 8544e21 commit 83345de
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 50 deletions.
2 changes: 0 additions & 2 deletions app/Http/Controllers/BudgetController.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ public function showAddEditForm($id = NULL) {
]);
}

// TODO: Do funkcji... ale nie działa return
if((int)$dataset->user_id !== Auth::user()->id) {
return Controller::returnBack([
"message" => trans("general.you_cant_operate"),
Expand Down Expand Up @@ -127,7 +126,6 @@ public function store(BudgetRequest $request, $id = NULL) {
]);
}

// TODO: Do funkcji... ale nie działa return
if((int)$object->user_id !== Auth::user()->id) {
return Controller::returnBack([
"message" => trans("general.you_cant_operate"),
Expand Down
22 changes: 11 additions & 11 deletions app/Http/Controllers/StatsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@

use App\Models\Budget;
use App\Models\Type;
use Carbon\Carbon;

class StatsController extends Controller {

public function getJSONStatsData() {
// TODO: czy "js_chart_data"["name"] potrzebne?
/*
* Wykres 1 - Wydatki z podziałem na użytkowników
*/
Expand All @@ -23,11 +23,11 @@ public function getJSONStatsData() {
$js_data[0] = [
"title" => trans("general.expenditures_by_users"),
"div_id" => "#stat",
"js_chart_data" => ["name" => trans("general.Expenditures"), "data" => []]
"js_chart_data" => []
];

foreach($data as $record) {
$js_data[0]["js_chart_data"]["data"] += array_merge($js_data[0]["js_chart_data"]["data"], [[$record->user->name, (float)$record->sum]]);
$js_data[0]["js_chart_data"] += array_merge($js_data[0]["js_chart_data"], [[$record->user->name, (float)$record->sum]]);
}

/*
Expand All @@ -44,11 +44,11 @@ public function getJSONStatsData() {
$js_data[1] = [
"title" => trans("general.expenditures_by_sources"),
"div_id" => "#stat-2",
"js_chart_data" => ["name" => trans("general.Expenditures"), "data" => []]
"js_chart_data" => []
];

foreach($data2 as $record) {
$js_data[1]["js_chart_data"]["data"] += array_merge($js_data[1]["js_chart_data"]["data"], [[$record->source->name, (float)$record->sum]]);
$js_data[1]["js_chart_data"] += array_merge($js_data[1]["js_chart_data"], [[$record->source->name, (float)$record->sum]]);
}

/*
Expand All @@ -58,19 +58,19 @@ public function getJSONStatsData() {
->with(["type" => function($query) {
$query->select("id", "name");
}])
->where("date", ">=", Carbon::now()->startOfMonth())
->groupBy("type_id")
// TODO: od pierwszego dnia aktualnego miesiąca
->get();

$js_data[2] = [
"title" => trans("general.savings_current_month"),
"div_id" => "#stat-3",
"js_chart_data" => ["name" => trans("general.Expenditures"), "data" => []]
"js_chart_data" => []
];

$js_data[2]["js_chart_data"]["data"] += array_merge($js_data[2]["js_chart_data"]["data"], [[trans("general.savings"), (float)($data3[0]->sum - $data3[1]->sum)]]);
$js_data[2]["js_chart_data"] += array_merge($js_data[2]["js_chart_data"], [[trans("general.savings"), (float)($data3[0]->sum - $data3[1]->sum)]]);

$js_data[2]["js_chart_data"]["data"] += array_merge($js_data[2]["js_chart_data"]["data"], [[trans("general.Expenditures"), (float)$data3[1]->sum]]);
$js_data[2]["js_chart_data"] += array_merge($js_data[2]["js_chart_data"], [[trans("general.Expenditures"), (float)$data3[1]->sum]]);

/*
* Wykres 4 - Przychody z podziałem na źródła
Expand All @@ -86,11 +86,11 @@ public function getJSONStatsData() {
$js_data[3] = [
"title" => trans("general.incomes_by_sources"),
"div_id" => "#stat-4",
"js_chart_data" => ["name" => trans("general.Incomes"), "data" => []]
"js_chart_data" => []
];

foreach($data4 as $record) {
$js_data[3]["js_chart_data"]["data"] += array_merge($js_data[3]["js_chart_data"]["data"], [[$record->source->name, (float)$record->sum]]);
$js_data[3]["js_chart_data"] += array_merge($js_data[3]["js_chart_data"], [[$record->source->name, (float)$record->sum]]);
}

return response()->json($js_data);
Expand Down
2 changes: 1 addition & 1 deletion public/js/stats.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ Uwaga! Na niektórych hostingach polecenia z kroku 6 mogą nie wykonywać się p
- [ ] Wykres podsumowujący zsumowane przychody i wydatki względem dni, tygodni lub miesięcy
- [x] Wykres podsumowujący procentowe udziały źródeł przychodów i wydatków
- [x] Wykres podsumowujący wydatki z podziałem na użytkowników
- [x] Wykres podsumowujący oszczędności, czyli różnicę między przychodami i wydatkami w obrębie miesiąca (od 1 dnia miesiąca do dzisiejszego dnia)
- [x] Wykres podsumowujący oszczędności, czyli różnicę między przychodami i wydatkami w obrębie miesiąca
- [x] Obsługa tłumaczeń

## Demo: [budgetmanager.it-maniak.pl](http://budgetmanager.it-maniak.pl/)
Expand Down
63 changes: 28 additions & 35 deletions resources/assets/js/stats.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,47 +6,40 @@ $(document).ready(function() {

data.forEach(function(data) {

var chart_JSON_data = data.js_chart_data;

// series_data - nazwy poszczególnych chartów wraz z danymi
series_data.push({
name: chart_JSON_data.name,
colorByPoint: true,
data: chart_JSON_data.data
data: data.js_chart_data
});

// FIXME: Nie rysuj gdy nie ma danych
//if(series_data.data) {
// Tworzenie charta
$(data.div_id).highcharts({
chart: {
type: "pie"
},
title: {
text: data.title
},
tooltip: {
pointFormat: "<b>{point.y:.2f}</b> PLN<br>" +
"<b>{point.percentage:.1f}%</b>"
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: "pointer",
dataLabels: {
enabled: true,
format: "<b>{point.name}</b>: {point.percentage:.1f}%",
style: {
width: 100, // piksele
color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || "black"
}
// Tworzenie charta
$(data.div_id).highcharts({
chart: {
type: "pie"
},
title: {
text: data.title
},
tooltip: {
pointFormat: "<b>{point.y:.2f}</b> PLN<br>" +
"<b>{point.percentage:.1f}%</b>"
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: "pointer",
dataLabels: {
enabled: true,
format: "<b>{point.name}</b>: {point.percentage:.1f}%",
style: {
width: 100, // piksele
color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || "black"
}
}
},
series: series_data,
credits: false
});
//}
}
},
series: series_data,
credits: false
});

series_data = [];
});
Expand Down

0 comments on commit 83345de

Please sign in to comment.