Skip to content

Commit

Permalink
Wizard files added
Browse files Browse the repository at this point in the history
  • Loading branch information
cuneytsenturk committed Oct 23, 2018
1 parent 82a9b7d commit 97f43a0
Show file tree
Hide file tree
Showing 33 changed files with 1,335 additions and 15 deletions.
2 changes: 1 addition & 1 deletion app/Events/AdminMenuCreated.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ public function __construct($menu)
{
$this->menu = $menu;
}
}
}
2 changes: 1 addition & 1 deletion app/Events/BillCreated.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ public function __construct($bill)
{
$this->bill = $bill;
}
}
}
2 changes: 1 addition & 1 deletion app/Events/BillUpdated.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ public function __construct($bill)
{
$this->bill = $bill;
}
}
}
2 changes: 1 addition & 1 deletion app/Events/CompanySwitched.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ public function __construct($company)
{
$this->company = $company;
}
}
}
2 changes: 1 addition & 1 deletion app/Events/CustomerMenuCreated.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ public function __construct($menu)
{
$this->menu = $menu;
}
}
}
2 changes: 1 addition & 1 deletion app/Events/InvoiceCreated.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ public function __construct($invoice)
{
$this->invoice = $invoice;
}
}
}
2 changes: 1 addition & 1 deletion app/Events/InvoicePrinting.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ public function __construct($invoice)
{
$this->invoice = $invoice;
}
}
}
2 changes: 1 addition & 1 deletion app/Events/InvoiceUpdated.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ public function __construct($invoice)
{
$this->invoice = $invoice;
}
}
}
2 changes: 1 addition & 1 deletion app/Events/ModuleInstalled.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ public function __construct($alias, $company_id)
$this->alias = $alias;
$this->company_id = $company_id;
}
}
}
2 changes: 1 addition & 1 deletion app/Events/UpdateFinished.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ public function __construct($alias, $old, $new)
$this->old = $old;
$this->new = $new;
}
}
}
5 changes: 5 additions & 0 deletions app/Http/Controllers/Auth/Login.php
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,11 @@ public function store()
return redirect($path);
}

// Check wizard
if (!setting('general.wizard', false)) {
return redirect('wizard');
}

return redirect('/');
}

Expand Down
73 changes: 73 additions & 0 deletions app/Http/Controllers/Wizard/Companies.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<?php

namespace App\Http\Controllers\Wizard;

use Illuminate\Routing\Controller;
use App\Models\Common\Company;

class Companies extends Controller
{
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function edit()
{
if (setting(setting('general.wizard', false))) {
return redirect('/');
}

$company = Company::find(session('company_id'));

$company->setSettings();

return view('wizard.companies.edit', compact('company', 'currencies'));
}

/**
* Update the specified resource in storage.
*
* @param Company $company
* @param Request $request
*
* @return Response
*/
public function update(Company $company, Request $request)
{
// Update company
$company->update($request->input());

// Get the company settings
setting()->forgetAll();
setting()->setExtraColumns(['company_id' => $company->id]);
setting()->load(true);

// Update settings
setting()->set('general.company_name', $request->get('company_name'));
setting()->set('general.company_email', $request->get('company_email'));
setting()->set('general.company_address', $request->get('company_address'));

if ($request->file('company_logo')) {
$company_logo = $this->getMedia($request->file('company_logo'), 'settings', $company->id);

if ($company_logo) {
$company->attachMedia($company_logo, 'company_logo');

setting()->set('general.company_logo', $company_logo->id);
}
}

setting()->set('general.default_payment_method', 'offlinepayment.cash.1');
setting()->set('general.default_currency', $request->get('default_currency'));

setting()->save();

// Redirect
$message = trans('messages.success.updated', ['type' => trans_choice('general.companies', 1)]);

flash($message)->success();

return redirect('common/companies');
}
}
96 changes: 96 additions & 0 deletions app/Http/Controllers/Wizard/Currencies.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<?php

namespace App\Http\Controllers\Wizard;

use Akaunting\Money\Currency as MoneyCurrency;
use App\Http\Controllers\Controller;
use App\Http\Requests\Setting\Currency as Request;
use App\Models\Banking\Account;
use App\Models\Setting\Currency;

class Currencies extends Controller
{
/**
* Show the form for editing the specified resource.
*
* @param Currency $currency
*
* @return Response
*/
public function edit(Currency $currency)
{
// Get current currencies
$current = Currency::pluck('code')->toArray();

// Prepare codes
$codes = array();
$currencies = MoneyCurrency::getCurrencies();
foreach ($currencies as $key => $item) {
// Don't show if already available
if (($key != $currency->code) && in_array($key, $current)) {
continue;
}

$codes[$key] = $key;
}

// Set default currency
$currency->default_currency = ($currency->code == setting('general.default_currency')) ? 1 : 0;

return view('settings.currencies.edit', compact('currency', 'codes'));
}

/**
* Update the specified resource in storage.
*
* @param Currency $currency
* @param Request $request
*
* @return Response
*/
public function update(Currency $currency, Request $request)
{
// Check if we can disable or change the code
if (!$request['enabled'] || ($currency->code != $request['code'])) {
$relationships = $this->countRelationships($currency, [
'accounts' => 'accounts',
'customers' => 'customers',
'invoices' => 'invoices',
'revenues' => 'revenues',
'bills' => 'bills',
'payments' => 'payments',
]);

if ($currency->code == setting('general.default_currency')) {
$relationships[] = strtolower(trans_choice('general.companies', 1));
}
}

if (empty($relationships)) {
// Force the rate to be 1 for default currency
if ($request['default_currency']) {
$request['rate'] = '1';
}

$currency->update($request->all());

// Update default currency setting
if ($request['default_currency']) {
setting()->set('general.default_currency', $request['code']);
setting()->save();
}

$message = trans('messages.success.updated', ['type' => trans_choice('general.currencies', 1)]);

flash($message)->success();

return redirect('settings/currencies');
} else {
$message = trans('messages.warning.disabled', ['name' => $currency->name, 'text' => implode(', ', $relationships)]);

flash($message)->warning();

return redirect('settings/currencies/' . $currency->id . '/edit');
}
}
}
73 changes: 73 additions & 0 deletions app/Http/Controllers/Wizard/Finish.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<?php

namespace App\Http\Controllers\Wizard;

use Illuminate\Routing\Controller;
use App\Models\Common\Company;

class Finish extends Controller
{
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function edit()
{
if (setting(setting('general.wizard', false))) {
return redirect('/');
}

$company = Company::find(session('company_id'));

$company->setSettings();

return view('wizard.companies.edit', compact('company', 'currencies'));
}

/**
* Update the specified resource in storage.
*
* @param Company $company
* @param Request $request
*
* @return Response
*/
public function update(Company $company, Request $request)
{
// Update company
$company->update($request->input());

// Get the company settings
setting()->forgetAll();
setting()->setExtraColumns(['company_id' => $company->id]);
setting()->load(true);

// Update settings
setting()->set('general.company_name', $request->get('company_name'));
setting()->set('general.company_email', $request->get('company_email'));
setting()->set('general.company_address', $request->get('company_address'));

if ($request->file('company_logo')) {
$company_logo = $this->getMedia($request->file('company_logo'), 'settings', $company->id);

if ($company_logo) {
$company->attachMedia($company_logo, 'company_logo');

setting()->set('general.company_logo', $company_logo->id);
}
}

setting()->set('general.default_payment_method', 'offlinepayment.cash.1');
setting()->set('general.default_currency', $request->get('default_currency'));

setting()->save();

// Redirect
$message = trans('messages.success.updated', ['type' => trans_choice('general.companies', 1)]);

flash($message)->success();

return redirect('common/companies');
}
}

0 comments on commit 97f43a0

Please sign in to comment.