close #272 Enhancement: Newest Expenses - Payments: Recent payments not showing on the top

This commit is contained in:
cuneytsenturk 2018-07-07 18:23:31 +03:00
parent 672159eafc
commit bf30fad8af
9 changed files with 253 additions and 6 deletions

View File

@ -91,5 +91,9 @@ class Kernel extends HttpKernel
'install' => \App\Http\Middleware\CanInstall::class, 'install' => \App\Http\Middleware\CanInstall::class,
'company.settings' => \App\Http\Middleware\LoadSettings::class, 'company.settings' => \App\Http\Middleware\LoadSettings::class,
'company.currencies' => \App\Http\Middleware\LoadCurrencies::class, 'company.currencies' => \App\Http\Middleware\LoadCurrencies::class,
'bill.dateformat' => \App\Http\Middleware\BillDateFormat::class,
'invoice.dateformat' => \App\Http\Middleware\InvoiceDateFormat::class,
'payment.dateformat' => \App\Http\Middleware\PaymentDateFormat::class,
'revenue.dateformat' => \App\Http\Middleware\RevenueDateFormat::class,
]; ];
} }

View File

@ -0,0 +1,42 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Date;
use Illuminate\Support\Facades\Request;
class BillDateFormat
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$company_id = session('company_id');
if (empty($company_id)) {
return $next($request);
}
$uri = $request->path();
$method = Request::method();
if (($method == 'POST') || ($method == 'PATCH')) {
$time = Date::now()->format('H:i:s');
if (basename($uri) == 'payment') {
$request['paid_at'] = $request['paid_at'] . ' ' . $time;
} else {
$request['billed_at'] = $request['billed_at'] . ' ' . $time;
$request['due_at'] = $request['due_at'] . ' ' . $time;
}
}
return $next($request);
}
}

View File

@ -0,0 +1,42 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Date;
use Illuminate\Support\Facades\Request;
class InvoiceDateFormat
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$company_id = session('company_id');
if (empty($company_id)) {
return $next($request);
}
$uri = $request->path();
$method = Request::method();
if (($method == 'POST') || ($method == 'PATCH')) {
$time = Date::now()->format('H:i:s');
if (basename($uri) == 'payment') {
$request['paid_at'] = $request['paid_at'] . ' ' . $time;
} else {
$request['invoiced_at'] = $request['invoiced_at'] . ' ' . $time;
$request['due_at'] = $request['due_at'] . ' ' . $time;
}
}
return $next($request);
}
}

View File

@ -0,0 +1,36 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Date;
use Illuminate\Support\Facades\Request;
class PaymentDateFormat
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$company_id = session('company_id');
if (empty($company_id)) {
return $next($request);
}
$method = Request::method();
if (($method == 'POST') || ($method == 'PATCH')) {
$time = Date::now()->format('H:i:s');
$request['paid_at'] = $request['paid_at'] . ' ' . $time;
}
return $next($request);
}
}

View File

@ -0,0 +1,36 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Date;
use Illuminate\Support\Facades\Request;
class RevenueDateFormat
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$company_id = session('company_id');
if (empty($company_id)) {
return $next($request);
}
$method = Request::method();
if (($method == 'POST') || ($method == 'PATCH')) {
$time = Date::now()->format('H:i:s');
$request['paid_at'] = $request['paid_at'] . ' ' . $time;
}
return $next($request);
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Listeners\Updates;
use App\Events\UpdateFinished;
use Artisan;
class Version1211 extends Listener
{
const ALIAS = 'core';
const VERSION = '1.2.11';
/**
* Handle the event.
*
* @param $event
* @return void
*/
public function handle(UpdateFinished $event)
{
// Check if should listen
if (!$this->check($event)) {
return;
}
// Update database
Artisan::call('migrate', ['--force' => true]);
}
}

View File

@ -26,6 +26,8 @@ class EventServiceProvider extends ServiceProvider
'App\Listeners\Updates\Version126', 'App\Listeners\Updates\Version126',
'App\Listeners\Updates\Version127', 'App\Listeners\Updates\Version127',
'App\Listeners\Updates\Version129', 'App\Listeners\Updates\Version129',
'App\Listeners\Updates\Version1210',
'App\Listeners\Updates\Version1211',
], ],
'Illuminate\Auth\Events\Login' => [ 'Illuminate\Auth\Events\Login' => [
'App\Listeners\Auth\Login', 'App\Listeners\Auth\Login',

View File

@ -0,0 +1,55 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class ModifyDateColumn extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('bills', function (Blueprint $table) {
$table->dateTime('billed_at')->change();
$table->dateTime('due_at')->change();
});
Schema::table('bill_payments', function (Blueprint $table) {
$table->dateTime('paid_at')->change();
});
Schema::table('invoices', function (Blueprint $table) {
$table->dateTime('invoiced_at')->change();
$table->dateTime('due_at')->change();
});
Schema::table('invoice_payments', function (Blueprint $table) {
$table->dateTime('paid_at')->change();
});
Schema::table('payments', function (Blueprint $table) {
$table->dateTime('paid_at')->change();
});
Schema::table('revenues', function (Blueprint $table) {
$table->dateTime('paid_at')->change();
});
Schema::table('recurring', function (Blueprint $table) {
$table->dateTime('started_at')->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
}
}

View File

@ -53,15 +53,15 @@ Route::group(['middleware' => 'language'], function () {
Route::get('invoices/{invoice}/print', 'Incomes\Invoices@printInvoice'); Route::get('invoices/{invoice}/print', 'Incomes\Invoices@printInvoice');
Route::get('invoices/{invoice}/pdf', 'Incomes\Invoices@pdfInvoice'); Route::get('invoices/{invoice}/pdf', 'Incomes\Invoices@pdfInvoice');
Route::get('invoices/{invoice}/duplicate', 'Incomes\Invoices@duplicate'); Route::get('invoices/{invoice}/duplicate', 'Incomes\Invoices@duplicate');
Route::post('invoices/payment', 'Incomes\Invoices@payment'); Route::post('invoices/payment', 'Incomes\Invoices@payment')->middleware('invoice.dateformat')->name('invoice.payment');
Route::delete('invoices/payment/{payment}', 'Incomes\Invoices@paymentDestroy'); Route::delete('invoices/payment/{payment}', 'Incomes\Invoices@paymentDestroy');
Route::post('invoices/import', 'Incomes\Invoices@import')->name('invoices.import'); Route::post('invoices/import', 'Incomes\Invoices@import')->name('invoices.import');
Route::get('invoices/export', 'Incomes\Invoices@export')->name('invoices.export'); Route::get('invoices/export', 'Incomes\Invoices@export')->name('invoices.export');
Route::resource('invoices', 'Incomes\Invoices'); Route::resource('invoices', 'Incomes\Invoices', ['middleware' => ['invoice.dateformat']]);
Route::get('revenues/{revenue}/duplicate', 'Incomes\Revenues@duplicate'); Route::get('revenues/{revenue}/duplicate', 'Incomes\Revenues@duplicate');
Route::post('revenues/import', 'Incomes\Revenues@import')->name('revenues.import'); Route::post('revenues/import', 'Incomes\Revenues@import')->name('revenues.import');
Route::get('revenues/export', 'Incomes\Revenues@export')->name('revenues.export'); Route::get('revenues/export', 'Incomes\Revenues@export')->name('revenues.export');
Route::resource('revenues', 'Incomes\Revenues'); Route::resource('revenues', 'Incomes\Revenues', ['middleware' => ['revenue.dateformat']]);
Route::get('customers/currency', 'Incomes\Customers@currency'); Route::get('customers/currency', 'Incomes\Customers@currency');
Route::get('customers/{customer}/duplicate', 'Incomes\Customers@duplicate'); Route::get('customers/{customer}/duplicate', 'Incomes\Customers@duplicate');
Route::post('customers/customer', 'Incomes\Customers@customer'); Route::post('customers/customer', 'Incomes\Customers@customer');
@ -78,15 +78,15 @@ Route::group(['middleware' => 'language'], function () {
Route::get('bills/{bill}/print', 'Expenses\Bills@printBill'); Route::get('bills/{bill}/print', 'Expenses\Bills@printBill');
Route::get('bills/{bill}/pdf', 'Expenses\Bills@pdfBill'); Route::get('bills/{bill}/pdf', 'Expenses\Bills@pdfBill');
Route::get('bills/{bill}/duplicate', 'Expenses\Bills@duplicate'); Route::get('bills/{bill}/duplicate', 'Expenses\Bills@duplicate');
Route::post('bills/payment', 'Expenses\Bills@payment'); Route::post('bills/payment', 'Expenses\Bills@payment')->middleware('bill.dateformat')->name('bill.payment');
Route::delete('bills/payment/{payment}', 'Expenses\Bills@paymentDestroy'); Route::delete('bills/payment/{payment}', 'Expenses\Bills@paymentDestroy');
Route::post('bills/import', 'Expenses\Bills@import')->name('bills.import'); Route::post('bills/import', 'Expenses\Bills@import')->name('bills.import');
Route::get('bills/export', 'Expenses\Bills@export')->name('bills.export'); Route::get('bills/export', 'Expenses\Bills@export')->name('bills.export');
Route::resource('bills', 'Expenses\Bills'); Route::resource('bills', 'Expenses\Bills', ['middleware' => ['bill.dateformat']]);
Route::get('payments/{payment}/duplicate', 'Expenses\Payments@duplicate'); Route::get('payments/{payment}/duplicate', 'Expenses\Payments@duplicate');
Route::post('payments/import', 'Expenses\Payments@import')->name('payments.import'); Route::post('payments/import', 'Expenses\Payments@import')->name('payments.import');
Route::get('payments/export', 'Expenses\Payments@export')->name('payments.export'); Route::get('payments/export', 'Expenses\Payments@export')->name('payments.export');
Route::resource('payments', 'Expenses\Payments'); Route::resource('payments', 'Expenses\Payments', ['middleware' => ['payment.dateformat']]);
Route::get('vendors/currency', 'Expenses\Vendors@currency'); Route::get('vendors/currency', 'Expenses\Vendors@currency');
Route::get('vendors/{vendor}/duplicate', 'Expenses\Vendors@duplicate'); Route::get('vendors/{vendor}/duplicate', 'Expenses\Vendors@duplicate');
Route::post('vendors/vendor', 'Expenses\Vendors@vendor'); Route::post('vendors/vendor', 'Expenses\Vendors@vendor');