master branch merge

This commit is contained in:
Cüneyt Şentürk
2020-05-29 14:04:34 +03:00
224 changed files with 3473 additions and 1549 deletions

View File

@ -115,7 +115,7 @@ class Login extends Controller
auth()->logout();
// Session destroy is required if stored in database
if (env('SESSION_DRIVER') == 'database') {
if (config('session.driver') == 'database') {
$request = app('Illuminate\Http\Request');
$request->session()->getHandler()->destroy($request->session()->getId());
}

View File

@ -11,6 +11,7 @@ use App\Jobs\Banking\UpdateReconciliation;
use App\Models\Banking\Account;
use App\Models\Banking\Reconciliation;
use App\Models\Banking\Transaction;
use Date;
class Reconciliations extends Controller
{
@ -48,8 +49,8 @@ class Reconciliations extends Controller
$accounts = Account::enabled()->pluck('name', 'id');
$account_id = request('account_id', setting('default.account'));
$started_at = request('started_at', '0000-00-00');
$ended_at = request('ended_at', '0000-00-00');
$started_at = request('started_at', Date::now()->firstOfMonth()->toDateString());
$ended_at = request('ended_at', Date::now()->endOfMonth()->toDateString());
$account = Account::find($account_id);

View File

@ -47,38 +47,33 @@ class Dashboards extends Controller
*
* @return Response
*/
public function show(Dashboard $dashboard)
public function show($dashboard_id = null)
{
$dashboard_id = session('dashboard_id', 0);
$dashboard_id = $dashboard_id ?? session('dashboard_id');
if ($dashboard) {
$dashboard_id = $dashboard->id;
if (empty($dashboard_id)) {
$dashboard_id = user()->dashboards()->enabled()->pluck('id')->first();
}
// Change Dashboard
if (request()->get('dashboard_id', 0)) {
$dashboard_id = request()->get('dashboard_id');
session(['dashboard_id' => $dashboard_id]);
if (!empty($dashboard_id)) {
$dashboard = Dashboard::find($dashboard_id);
}
$dashboards = user()->dashboards()->enabled()->get();
if (!$dashboard_id) {
$dashboard_id = $dashboards->pluck('id')->first();
if (empty($dashboard)) {
$dashboard = $this->dispatch(new CreateDashboard([
'company_id' => session('company_id'),
'name' => trans_choice('general.dashboards', 1),
'with_widgets' => true,
]));
}
// Dashboard
$dashboard = Dashboard::find($dashboard_id);
// Widgets
$widgets = Widget::where('dashboard_id', $dashboard->id)->orderBy('sort', 'asc')->get()->filter(function ($widget) {
return Widgets::canRead($widget->class);
});
$financial_start = $this->getFinancialStart()->format('Y-m-d');
return view('common.dashboards.show', compact('dashboards', 'dashboard', 'widgets', 'financial_start'));
return view('common.dashboards.show', compact('dashboard', 'widgets', 'financial_start'));
}
/**

View File

@ -50,7 +50,7 @@ class Items extends Controller
*/
public function create()
{
$categories = Category::type('item')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::item()->enabled()->orderBy('name')->pluck('name', 'id');
$taxes = Tax::enabled()->orderBy('name')->get()->pluck('title', 'id');
@ -129,7 +129,7 @@ class Items extends Controller
*/
public function edit(Item $item)
{
$categories = Category::type('item')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::item()->enabled()->orderBy('name')->pluck('name', 'id');
$taxes = Tax::enabled()->orderBy('name')->get()->pluck('title', 'id');

View File

@ -3,6 +3,7 @@
namespace App\Http\Controllers\Common;
use App\Abstracts\Http\Controller;
use App\Events\Common\GlobalSearched;
use App\Models\Banking\Account;
use App\Models\Banking\Transaction;
use App\Models\Common\Contact;
@ -19,53 +20,53 @@ class Search extends Controller
*/
public function index()
{
$results = array();
$search = new \stdClass();
$search->results = [];
$search->keyword = request('keyword');
$keyword = request('keyword');
$accounts = Account::enabled()->usingSearchString($keyword)->get();
$accounts = Account::enabled()->usingSearchString($search->keyword)->get();
if ($accounts->count()) {
foreach ($accounts as $account) {
$results[] = (object)[
$search->results[] = (object) [
'id' => $account->id,
'name' => $account->name,
'type' => trans_choice('general.accounts', 1),
'color' => '#55588b',
'href' => url('banking/accounts/' . $account->id . '/edit'),
'href' => route('accounts.edit', $account->id),
];
}
}
$items = Item::enabled()->usingSearchString($keyword)->get();
$items = Item::enabled()->usingSearchString($search->keyword)->get();
if ($items->count()) {
foreach ($items as $item) {
$results[] = (object)[
$search->results[] = (object) [
'id' => $item->id,
'name' => $item->name,
'type' => trans_choice('general.items', 1),
'color' => '#efad32',
'href' => url('common/items/' . $item->id . '/edit'),
'href' => route('items.edit', $item->id),
];
}
}
$invoices = Invoice::usingSearchString($keyword)->get();
$invoices = Invoice::usingSearchString($search->keyword)->get();
if ($invoices->count()) {
foreach ($invoices as $invoice) {
$results[] = (object)[
$search->results[] = (object) [
'id' => $invoice->id,
'name' => $invoice->invoice_number . ' - ' . $invoice->contact_name,
'type' => trans_choice('general.invoices', 1),
'color' => '#6da252',
'href' => url('sales/invoices/' . $invoice->id),
'href' => route('invoices.show', $invoice->id),
];
}
}/*
$income_transactions = Transaction::type('income')->usingSearchString($keyword)->get();
$income_transactions = Transaction::income()->usingSearchString($keyword)->get();
if ($income_transactions->count()) {
foreach ($income_transactions as $transaction) {
@ -79,35 +80,35 @@ class Search extends Controller
}
}*/
$customers = Contact::customer()->enabled()->usingSearchString($keyword)->get();
$customers = Contact::customer()->enabled()->usingSearchString($search->keyword)->get();
if ($customers->count()) {
foreach ($customers as $customer) {
$results[] = (object)[
$search->results[] = (object) [
'id' => $customer->id,
'name' => $customer->name,
'type' => trans_choice('general.customers', 1),
'color' => '#328aef',
'href' => url('sales/customers/' . $customer->id),
'href' => route('customers.show', $customer->id),
];
}
}
$bills = Bill::usingSearchString($keyword)->get();
$bills = Bill::usingSearchString($search->keyword)->get();
if ($bills->count()) {
foreach ($bills as $bill) {
$results[] = (object)[
$search->results[] = (object) [
'id' => $bill->id,
'name' => $bill->bill_number . ' - ' . $bill->contact_name,
'type' => trans_choice('general.bills', 1),
'color' => '#ef3232',
'href' => url('purchases/bills/' . $bill->id),
'href' => route('bills.show', $bill->id),
];
}
}
/*
$payments = Transaction::type('expense')->usingSearchString($keyword)->get();
$payments = Transaction::expense()->usingSearchString($keyword)->get();
if ($revenues->count()) {
foreach ($revenues as $revenue) {
@ -121,20 +122,22 @@ class Search extends Controller
}
}*/
$vendors = Contact::vendor()->enabled()->usingSearchString($keyword)->get();
$vendors = Contact::vendor()->enabled()->usingSearchString($search->keyword)->get();
if ($vendors->count()) {
foreach ($vendors as $vendor) {
$results[] = (object)[
$search->results[] = (object) [
'id' => $vendor->id,
'name' => $vendor->name,
'type' => trans_choice('general.vendors', 1),
'color' => '#efef32',
'href' => url('purchases/vendors/' . $vendor->id),
'href' => route('vendors.show', $vendor->id),
];
}
}
return response()->json((object) $results);
event(new GlobalSearched($search));
return response()->json((object) $search->results);
}
}

View File

@ -27,8 +27,10 @@ class Database extends Controller
*/
public function store(Request $request)
{
$connection = config('database.default','mysql');
$host = $request['hostname'];
$port = env('DB_PORT', '3306');
$port = config("database.connections.$connection.port", '3306');
$database = $request['database'];
$username = $request['username'];
$password = $request['password'];

View File

@ -30,7 +30,7 @@ class Items extends Controller
*/
public function create(IRequest $request)
{
$categories = Category::type('item')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::item()->enabled()->orderBy('name')->pluck('name', 'id');
$taxes = Tax::enabled()->orderBy('name')->get()->pluck('title', 'id');

View File

@ -84,19 +84,19 @@ class Item extends Controller
// Download
$steps[] = [
'text' => trans('modules.installation.download', ['module' => $name]),
'url' => url('apps/download')
'url' => route('apps.download')
];
// Unzip
$steps[] = [
'text' => trans('modules.installation.unzip', ['module' => $name]),
'url' => url('apps/unzip')
'url' => route('apps.unzip')
];
// Download
$steps[] = [
'text' => trans('modules.installation.install', ['module' => $name]),
'url' => url('apps/install')
'url' => route('apps.install')
];
return response()->json([
@ -269,11 +269,9 @@ class Item extends Controller
public function reviews($alias, Request $request)
{
$page = $request['page'];
$data = [
'query' => [
'page' => ($page) ? $page : 1,
'page' => $request->get('page', 1),
]
];
@ -284,7 +282,7 @@ class Item extends Controller
return response()->json([
'success' => true,
'error' => false,
'data' => null,
'data' => $reviews,
'message' => null,
'html' => $html,
]);

View File

@ -146,7 +146,7 @@ class Tiles extends Controller
]
];
$title = trans('modules.search');
$title = trans('general.search');
$modules = $this->getSearchModules($data);
$installed = Module::all()->pluck('enabled', 'alias')->toArray();

View File

@ -27,7 +27,7 @@ class Invoices extends Controller
->accrued()->where('contact_id', user()->contact->id)
->collect(['invoice_number'=> 'desc']);
$categories = collect(Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id'));
$categories = collect(Category::income()->enabled()->orderBy('name')->pluck('name', 'id'));
$statuses = $this->getInvoiceStatuses();

View File

@ -16,7 +16,7 @@ class Payments extends Controller
*/
public function index()
{
$payments = Transaction::type('income')->where('contact_id', '=', user()->contact->id)->paginate();
$payments = Transaction::income()->where('contact_id', '=', user()->contact->id)->paginate();
$payment_methods = Modules::getPaymentMethods('all');

View File

@ -41,7 +41,7 @@ class Bills extends Controller
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::expense()->enabled()->orderBy('name')->pluck('name', 'id');
$statuses = $this->getBillStatuses();
@ -67,7 +67,7 @@ class Bills extends Controller
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::expense()->enabled()->orderBy('name')->pluck('name', 'id');
$payment_methods = Modules::getPaymentMethods();
@ -106,7 +106,7 @@ class Bills extends Controller
$taxes = Tax::enabled()->orderBy('name')->get();
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::expense()->enabled()->orderBy('name')->pluck('name', 'id');
$number = $this->getNextBillNumber();
@ -202,7 +202,7 @@ class Bills extends Controller
$taxes = Tax::enabled()->orderBy('name')->get();
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::expense()->enabled()->orderBy('name')->pluck('name', 'id');
return view('purchases.bills.edit', compact('bill', 'vendors', 'currencies', 'currency', 'items', 'taxes', 'categories'));
}

View File

@ -30,11 +30,11 @@ class Payments extends Controller
*/
public function index()
{
$payments = Transaction::type('expense')->with(['account', 'category', 'contact'])->isNotTransfer()->collect(['paid_at'=> 'desc']);
$payments = Transaction::expense()->with(['account', 'category', 'contact'])->isNotTransfer()->collect(['paid_at'=> 'desc']);
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::expense()->enabled()->orderBy('name')->pluck('name', 'id');
$accounts = Account::enabled()->orderBy('name')->pluck('name', 'id');
@ -68,7 +68,7 @@ class Payments extends Controller
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::expense()->enabled()->orderBy('name')->pluck('name', 'id');
$payment_methods = Modules::getPaymentMethods();
@ -156,7 +156,7 @@ class Payments extends Controller
$vendors = Contact::vendor()->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::type('expense')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::expense()->enabled()->orderBy('name')->pluck('name', 'id');
$payment_methods = Modules::getPaymentMethods();

View File

@ -78,7 +78,7 @@ class Vendors extends Controller
}
// Handle payments
$transactions = Transaction::where('contact_id', $vendor->id)->type('expense')->get();
$transactions = Transaction::where('contact_id', $vendor->id)->expense()->get();
$counts['transactions'] = $transactions->count();

View File

@ -76,7 +76,7 @@ class Customers extends Controller
}
// Handle transactions
$transactions = Transaction::where('contact_id', $customer->id)->type('income')->get();
$transactions = Transaction::where('contact_id', $customer->id)->income()->get();
$counts['transactions'] = $transactions->count();

View File

@ -42,7 +42,7 @@ class Invoices extends Controller
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::income()->enabled()->orderBy('name')->pluck('name', 'id');
$statuses = $this->getInvoiceStatuses();
@ -68,7 +68,7 @@ class Invoices extends Controller
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::income()->enabled()->orderBy('name')->pluck('name', 'id');
$payment_methods = Modules::getPaymentMethods();
@ -109,7 +109,7 @@ class Invoices extends Controller
$taxes = Tax::enabled()->orderBy('name')->get();
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::income()->enabled()->orderBy('name')->pluck('name', 'id');
$number = $this->getNextInvoiceNumber();
@ -205,7 +205,7 @@ class Invoices extends Controller
$taxes = Tax::enabled()->orderBy('name')->get();
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::income()->enabled()->orderBy('name')->pluck('name', 'id');
return view('sales.invoices.edit', compact('invoice', 'customers', 'currencies', 'currency', 'items', 'taxes', 'categories'));
}

View File

@ -30,11 +30,11 @@ class Revenues extends Controller
*/
public function index()
{
$revenues = Transaction::type('income')->with(['account', 'category', 'contact'])->isNotTransfer()->collect(['paid_at'=> 'desc']);
$revenues = Transaction::income()->with(['account', 'category', 'contact'])->isNotTransfer()->collect(['paid_at'=> 'desc']);
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::income()->enabled()->orderBy('name')->pluck('name', 'id');
$accounts = Account::enabled()->orderBy('name')->pluck('name', 'id');
@ -68,7 +68,7 @@ class Revenues extends Controller
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::income()->enabled()->orderBy('name')->pluck('name', 'id');
$payment_methods = Modules::getPaymentMethods();
@ -156,7 +156,7 @@ class Revenues extends Controller
$customers = Contact::customer()->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::type('income')->enabled()->orderBy('name')->pluck('name', 'id');
$categories = Category::income()->enabled()->orderBy('name')->pluck('name', 'id');
$payment_methods = Modules::getPaymentMethods();

View File

@ -4,6 +4,7 @@ namespace App\Http\Controllers\Settings;
use App\Abstracts\Http\Controller;
use App\Models\Setting\Setting;
use App\Utilities\Modules as Utility;
use App\Http\Requests\Setting\Module as Request;
class Modules extends Controller
@ -54,9 +55,10 @@ class Modules extends Controller
setting()->set($alias . '.' . $key, $value);
}
// Save all settings
setting()->save();
Utility::clearPaymentMethodsCache();
$message = trans('messages.success.updated', ['type' => trans_choice('general.settings', 2)]);
$response = [