[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: AccountController.php
<?php namespace App\Http\Controllers\User; use App\Http\Controllers\Controller; use App\Models\Account; use App\Models\Transaction; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Validator; class AccountController extends Controller { /** * Create a new controller instance. * * @return void */ public function __construct() {} /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $assets = ['datatable']; $accounts = Account::all(); return view('backend.user.account.list', compact('accounts', 'assets')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create(Request $request) { if (!$request->ajax()) { return back(); } else { return view('backend.user.account.modal.create'); } } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $validator = Validator::make($request->all(), [ 'account_name' => 'required|max:50', 'opening_date' => 'required|date', 'account_number' => 'nullable|max:50', 'currency' => 'required', 'opening_balance' => 'required|numeric', ]); if ($validator->fails()) { if ($request->ajax()) { return response()->json(['result' => 'error', 'message' => $validator->errors()->all()]); } else { return redirect()->route('accounts.create') ->withErrors($validator) ->withInput(); } } DB::beginTransaction(); $account = new Account(); $account->account_name = $request->input('account_name'); $account->opening_date = $request->input('opening_date'); $account->account_number = $request->input('account_number'); $account->currency = $request->input('currency'); $account->description = $request->input('description'); $account->opening_balance = $request->input('opening_balance'); $account->save(); $account->currency = $account->currency . ' (' . currency_symbol($account->currency) . ')'; if ($account->opening_balance > 0) { $transaction = new Transaction(); $transaction->trans_date = $request->input('opening_date'); $transaction->account_id = $account->id; $transaction->dr_cr = 'cr'; $transaction->type = 'income'; $transaction->amount = $request->opening_balance; $transaction->description = _lang('Account Opneing Balance'); $transaction->save(); } DB::commit(); if (!$request->ajax()) { return redirect()->route('accounts.create')->with('success', _lang('Saved Successfully')); } else { return response()->json(['result' => 'success', 'action' => 'store', 'message' => _lang('Saved Successfully'), 'data' => $account, 'table' => '#accounts_table']); } } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show(Request $request, $id) { $account = Account::find($id); if (!$request->ajax()) { return back(); } else { return view('backend.user.account.modal.view', compact('account', 'id')); } } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit(Request $request, $id) { $account = Account::find($id); if (!$request->ajax()) { return back(); } else { return view('backend.user.account.modal.edit', compact('account', 'id')); } } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $validator = Validator::make($request->all(), [ 'account_name' => 'required|max:50', 'opening_date' => 'required|date', 'account_number' => 'nullable|max:50', ]); if ($validator->fails()) { if ($request->ajax()) { return response()->json(['result' => 'error', 'message' => $validator->errors()->all()]); } else { return redirect()->route('accounts.edit', $id) ->withErrors($validator) ->withInput(); } } $account = Account::find($id); $account->account_name = $request->input('account_name'); $account->opening_date = $request->input('opening_date'); $account->account_number = $request->input('account_number'); $account->description = $request->input('description'); $account->save(); $account->currency = $account->currency . ' (' . currency_symbol($account->currency) . ')'; if (!$request->ajax()) { return redirect()->route('accounts.index')->with('success', _lang('Updated Successfully')); } else { return response()->json(['result' => 'success', 'action' => 'update', 'message' => _lang('Updated Successfully'), 'data' => $account, 'table' => '#accounts_table']); } } public function convert_due_amount(Request $request, $accountId, $amount) { $account = Account::find($accountId); $rawAmount = convert_currency($request->activeBusiness->currency, $account->currency, $amount); $formatAmount = formatAmount($rawAmount, currency_symbol($account->currency)); return response()->json(['rawAmount' => $rawAmount, 'formatAmount' => $formatAmount]); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { DB::beginTransaction(); $account = Account::find($id); try { Transaction::where('account_id', $id) ->where('transaction_category_id', null) ->where('ref_id', null) ->delete(); $account->delete(); DB::commit(); return redirect()->route('accounts.index')->with('success', _lang('Deleted Successfully')); } catch (\Exception $e) { DB::rollBack(); return redirect()->route('accounts.index')->with('error', _lang('Sorry, This account is already exists in transactions')); } } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.8 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002