98 lines
3.3 KiB
PHP
98 lines
3.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Currency;
|
|
|
|
class CurrencyController extends Controller
|
|
{
|
|
public function __construct() {
|
|
// Staff Permission Check
|
|
$this->middleware(['permission:currency_setup'])->only('currency','create','edit');
|
|
}
|
|
|
|
public function changeCurrency(Request $request)
|
|
{
|
|
$currency = Currency::where('code', $request->currency_code)->first();
|
|
$request->session()->put('currency_code', $request->currency_code);
|
|
$request->session()->put('currency_symbol', $currency->symbol);
|
|
$request->session()->put('currency_exchange_rate', $currency->exchange_rate);
|
|
flash(translate('Currency changed to ').$currency->name)->success();
|
|
}
|
|
|
|
public function currency(Request $request)
|
|
{
|
|
$sort_search =null;
|
|
$currencies = Currency::orderBy('created_at', 'desc');
|
|
if ($request->has('search')){
|
|
$sort_search = $request->search;
|
|
$currencies = $currencies->where('name', 'like', '%'.$sort_search.'%');
|
|
}
|
|
$currencies = $currencies->paginate(10);
|
|
|
|
$active_currencies = Currency::where('status', 1)->get();
|
|
return view('backend.setup_configurations.currencies.index', compact('currencies', 'active_currencies','sort_search'));
|
|
}
|
|
|
|
public function updateYourCurrency(Request $request)
|
|
{
|
|
$currency = Currency::findOrFail($request->id);
|
|
$currency->name = $request->name;
|
|
$currency->symbol = $request->symbol;
|
|
$currency->code = $request->code;
|
|
$currency->exchange_rate = $request->exchange_rate;
|
|
$currency->status = $currency->status;
|
|
if($currency->save()){
|
|
flash(translate('Currency updated successfully'))->success();
|
|
return redirect()->route('currency.index');
|
|
}
|
|
else {
|
|
flash(translate('Something went wrong'))->error();
|
|
return redirect()->route('currency.index');
|
|
}
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
return view('backend.setup_configurations.currencies.create');
|
|
}
|
|
|
|
public function edit(Request $request)
|
|
{
|
|
$currency = Currency::findOrFail($request->id);
|
|
return view('backend.setup_configurations.currencies.edit', compact('currency'));
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$currency = new Currency;
|
|
$currency->name = $request->name;
|
|
$currency->symbol = $request->symbol;
|
|
$currency->code = $request->code;
|
|
$currency->exchange_rate = $request->exchange_rate;
|
|
$currency->status = '0';
|
|
if($currency->save()){
|
|
flash(translate('Currency updated successfully'))->success();
|
|
return redirect()->route('currency.index');
|
|
}
|
|
else {
|
|
flash(translate('Something went wrong'))->error();
|
|
return redirect()->route('currency.index');
|
|
}
|
|
}
|
|
|
|
public function update_status(Request $request)
|
|
{
|
|
$currency = Currency::findOrFail($request->id);
|
|
if($request->status == 0){
|
|
if (get_setting('system_default_currency') == $currency->id) {
|
|
return 0;
|
|
}
|
|
}
|
|
$currency->status = $request->status;
|
|
$currency->save();
|
|
return 1;
|
|
}
|
|
}
|