migrate to gtea from bistbucket

This commit is contained in:
2026-03-15 17:08:23 +07:00
commit 129ca2260c
3716 changed files with 566316 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
<div class="modal fade common-validation-modal" id="incomes-create-modal">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5">{{ __('Create Income') }}</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="personal-info">
<form action="{{ route('business.incomes.store') }}" method="post" enctype="multipart/form-data"
class="ajaxform_instant_reload">
@csrf
<div class="row">
<div class="col-lg-6 mb-2">
<label>{{ __('Amount') }}</label>
<input type="number" name="amount" required class="form-control receive_amount" placeholder="{{ __('Enter amount') }}">
</div>
<div class="col-lg-6">
<label class="custom-top-label">{{ __('Category') }}</label>
<div class="gpt-up-down-arrow position-relative">
<select class="form-control form-selected" name="income_category_id" required>
<option value="">{{ __('Select A Category') }}</option>
@foreach ($income_categories as $income_category)
<option value="{{ $income_category->id }}">{{ $income_category->categoryName }}</option>
@endforeach
</select>
<span></span>
</div>
</div>
<div class="col-lg-6">
<label>{{ __('Income For') }}</label>
<input type="text" name="incomeFor" class="form-control" placeholder="{{ __('Enter income for') }}">
</div>
<div class="col-lg-6">
<label>{{ __('Reference Number') }}</label>
<input type="text" name="referenceNo" class="form-control" placeholder="{{ __('Enter reference number') }}">
</div>
<div class="col-lg-6">
<label>{{ __('Income Date') }}</label>
<input type="date" name="incomeDate" value="{{ now()->format('Y-m-d') }}" class="form-control">
</div>
<div class="col-lg-6">
<label>{{__('Note')}}</label>
<textarea name="note" class="form-control" placeholder="{{ __('Enter note') }}"></textarea>
</div>
<div class="col-lg-6">
<label>{{ __('Payment Type') }}</label>
@include('business::component.payment_type', ['context' => 'income', 'payment_types' => $payment_types])
</div>
</div>
<div class="col-lg-12">
<div class="button-group text-center mt-5">
<button type="reset" class="theme-btn border-btn m-2">{{ __('Reset') }}</button>
@usercan('incomes.create')
<button class="theme-btn m-2 submit-btn">{{ __('Save') }}</button>
@endusercan
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,106 @@
<div class="responsive-table m-0">
<table class="table" id="datatable">
<thead>
<tr>
@usercan('incomes.delete')
<th class="w-60">
<div class="d-flex align-items-center gap-3">
<input type="checkbox" class="select-all-delete multi-delete">
</div>
</th>
@endusercan
<th>{{ __('SL') }}.</th>
@if (auth()->user()->accessToMultiBranch())
<th class="text-start">{{ __('Branch') }}</th>
@endif
<th class="text-start">{{ __('Date') }}</th>
<th class="text-start">{{ __('Reference Number') }}</th>
<th class="text-start">{{ __('Category') }}</th>
<th class="text-start">{{ __('Income For') }}</th>
<th class="text-start">{{ __('Amount') }}</th>
<th>{{ __('Action') }}</th>
</tr>
</thead>
<tbody>
@foreach ($incomes as $income)
<tr>
@usercan('incomes.delete')
<td class="w-60 checkbox">
<input type="checkbox" name="ids[]" class="delete-checkbox-item multi-delete" value="{{ $income->id }}">
</td>
@endusercan
<td>{{ ($incomes->currentPage() - 1) * $incomes->perPage() + $loop->iteration }}</td>
@if (auth()->user()->accessToMultiBranch())
<td class="text-start">{{ $income->branch->name ?? '' }}</td>
@endif
<td class="text-start">{{ formatted_date($income->incomeDate) }}</td>
<td class="text-start">{{ $income->referenceNo }}</td>
<td class="text-start">{{ $income->category?->categoryName }}</td>
<td class="text-start">{{ $income->incomeFor }}</td>
<td class="text-start">{{ currency_format($income->amount, currency: business_currency()) }}</td>
<td class="d-print-none">
<div class="dropdown table-action">
<button type="button" data-bs-toggle="dropdown">
<i class="far fa-ellipsis-v"></i>
</button>
<ul class="dropdown-menu">
<li>
@usercan('incomes.update')
<a href="#incomes-edit-modal" data-bs-toggle="modal" class="incomes-edit-btn"
data-url="{{ route('business.incomes.update', $income->id) }}"
data-income-category-id="{{ $income->income_category_id }}"
data-income-amount="{{ $income->amount }}"
data-income-for="{{ $income->incomeFor }}"
data-income-payment-type="{{ $income->payment_type_id != null ? $income->payment_type->name ?? '' : $income->paymentType }}"
data-income-reference-no="{{ $income->referenceNo }}"
data-income-date-update="{{ $income->incomeDate }}"
data-income-note="{{ $income->note }}"
data-existing-transactions='@json($income->transactions ?? [])'>
<i class="fal fa-pencil-alt"></i>{{ __('Edit') }}
</a>
@endusercan
</li>
<li>
<a href="#"
data-url="{{ route('business.view-payment', ['type' => 'income', 'id' => $income->id]) }}"
class="view-payment-btn" data-bs-toggle="modal"
data-bs-target="#view-payment-modal">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path
d="M3 13.9844V6.0407C3 3.90019 3 2.82994 3.65901 2.16497C4.31802 1.5 5.37868 1.5 7.5 1.5H10.5C12.6213 1.5 13.6819 1.5 14.341 2.16497C15 2.82994 15 3.90019 15 6.0407V13.9844C15 15.1181 15 15.685 14.6535 15.9081C14.0873 16.2728 13.2121 15.5081 12.7718 15.2305C12.4081 15.0011 12.2263 14.8864 12.0244 14.8798C11.8063 14.8726 11.6212 14.9826 11.2282 15.2305L9.795 16.1343C9.40838 16.3781 9.2151 16.5 9 16.5C8.7849 16.5 8.59162 16.3781 8.205 16.1343L6.77185 15.2305C6.40811 15.0011 6.22624 14.8864 6.0244 14.8798C5.80629 14.8726 5.6212 14.9826 5.22815 15.2305C4.78796 15.5081 3.91265 16.2728 3.34646 15.9081C3 15.685 3 15.1181 3 13.9844Z"
stroke="#4B5563" stroke-linecap="round" stroke-linejoin="round" />
<path d="M12 4.5H6" stroke="#4B5563" stroke-linecap="round"
stroke-linejoin="round" />
<path d="M7.5 7.5H6" stroke="#4B5563" stroke-linecap="round"
stroke-linejoin="round" />
<path
d="M10.875 7.40625C10.2537 7.40625 9.75 7.84695 9.75 8.39063C9.75 8.9343 10.2537 9.375 10.875 9.375C11.4963 9.375 12 9.8157 12 10.3594C12 10.9031 11.4963 11.3438 10.875 11.3438M10.875 7.40625C11.3648 7.40625 11.7815 7.68015 11.936 8.0625M10.875 7.40625V6.75M10.875 11.3438C10.3852 11.3438 9.96847 11.0699 9.81405 10.6875M10.875 11.3438V12"
stroke="#4B5563" stroke-linecap="round" />
</svg>
{{ __('View Payment') }}
</a>
</li>
<li>
@usercan('incomes.delete')
<a href="{{ route('business.incomes.destroy', $income->id) }}"
class="confirm-action" data-method="DELETE">
<i class="fal fa-trash-alt"></i>
{{ __('Delete') }}
</a>
@endusercan
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="mt-3">
{{ $incomes->links('vendor.pagination.bootstrap-5') }}
</div>

View File

@@ -0,0 +1,66 @@
<div class="modal fade common-validation-modal" id="incomes-edit-modal">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5">{{ __('Edit Income') }}</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="personal-info">
<form action="" method="post" enctype="multipart/form-data"
class="ajaxform_instant_reload incomeUpdateForm">
@csrf
@method('put')
<div class="row">
<div class="col-lg-6 mb-2">
<label>{{ __('Amount') }}</label>
<input type="number" name="amount" required class="form-control receive_amount" placeholder="{{ __('Enter amount') }}">
</div>
<div class="col-lg-6">
<label class="custom-top-label">{{ __('Category') }}</label>
<div class="gpt-up-down-arrow position-relative">
<select class="form-control form-selected" id="income_categoryId" name="income_category_id" required>
<option value="">{{ __('Select A Category') }}</option>
@foreach ($income_categories as $income_category)
<option value="{{ $income_category->id }}">{{ $income_category->categoryName }}</option>
@endforeach
</select>
<span></span>
</div>
</div>
<div class="col-lg-6">
<label>{{ __('Income For') }}</label>
<input type="text" name="incomeFor" id="inc_for" class="form-control" placeholder="{{ __('Enter income for') }}">
</div>
<div class="col-lg-6">
<label>{{ __('Reference Number') }}</label>
<input type="text" name="referenceNo" id="incomeReferenceNo" class="form-control" placeholder="{{ __('Enter reference number') }}">
</div>
<div class="col-lg-6">
<label>{{ __('Income Date') }}</label>
<input type="date" name="incomeDate" id="inc_date_update" class="form-control">
</div>
<div class="col-lg-6">
<label>{{__('Note')}}</label>
<textarea name="note" id="inc_note" class="form-control" placeholder="{{ __('Enter note') }}"></textarea>
</div>
<div class="col-lg-6">
<label>{{ __('Payment Type') }}</label>
@include('business::component.payment_type', ['context' => 'income', 'payment_types' => $payment_types])
</div>
</div>
<div class="col-lg-12">
<div class="button-group text-center mt-5">
<a href="{{ route('business.incomes.index') }}" class="theme-btn border-btn m-2">{{ __('Cancel') }}</a>
@usercan('incomes.update')
<button class="theme-btn m-2 submit-btn">{{ __('Save') }}</button>
@endusercan
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,117 @@
@extends('layouts.business.master')
@section('title')
{{ __('Income List') }}
@endsection
@section('main_content')
<div class="erp-table-section">
<div class="container-fluid">
<div class="card">
<div class="card-bodys">
<div class="table-header p-16">
<h4>{{ __('Income List') }}</h4>
@usercan('incomes.create')
<a type="button" href="#incomes-create-modal" data-bs-toggle="modal"
class="add-order-btn rounded-2 {{ Route::is('business.incomes.create') ? 'active' : '' }}"
class="btn btn-primary"><i class="fas fa-plus-circle me-1"></i>{{ __('Add new') }}</a>
@endusercan
</div>
<div class="table-top-form p-16-0">
<form action="{{ route('business.incomes.index') }}" method="GET" class="filter-form" table="#incomes-data">
<div class="table-top-left d-flex gap-3 margin-lr-16 flex-wrap">
<div class="gpt-up-down-arrow position-relative">
<select name="per_page" class="form-control">
<option @selected(request('per_page') == 20) value="20">{{ __('Show 20') }}</option>
<option @selected(request('per_page') == 50) value="50">{{ __('Show 50') }}</option>
<option @selected(request('per_page') == 100) value="100">{{ __('Show 100') }}</option>
<option @selected(request('per_page') == 500) value="500">{{ __('Show 500') }}</option>
</select>
<span></span>
</div>
@if(auth()->user()->accessToMultiBranch())
<div class="table-search position-relative">
<div class="gpt-up-down-arrow position-relative">
<select name="branch_id" class="form-control">
<option value="">{{ __('Select Branch') }}</option>
@foreach ($branches as $branch)
<option value="{{ $branch->id }}" @selected(request('branch_id') == $branch->id) >{{ $branch->name }}</option>
@endforeach
</select>
<span></span>
</div>
</div>
@endif
<div class="table-search position-relative">
<input type="text" name="search" class="form-control" placeholder="{{ __('Search...') }}" value="{{ request('search') }}">
<span class="position-absolute">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.582 14.582L18.332 18.332" stroke="#4D4D4D" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M16.668 9.16797C16.668 5.02584 13.3101 1.66797 9.16797 1.66797C5.02584 1.66797 1.66797 5.02584 1.66797 9.16797C1.66797 13.3101 5.02584 16.668 9.16797 16.668C13.3101 16.668 16.668 13.3101 16.668 9.16797Z" stroke="#4D4D4D" stroke-width="1.25" stroke-linejoin="round"/>
</svg>
</span>
</div>
<div class="custom-from-to align-items-center date-filters d-none">
<label class="header-label">{{ __('From Date') }}</label>
<input type="date" name="from_date" value="{{ request('from_date') ?? now()->format('Y-m-d') }}" class="form-control">
</div>
<div class="custom-from-to align-items-center date-filters d-none">
<label class="header-label">{{ __('To Date') }}</label>
<input type="date" name="to_date" value="{{ request('to_date') ?? now()->format('Y-m-d') }}" class="form-control">
</div>
<div class="gpt-up-down-arrow position-relative d-print-none custom-date-filter">
<select name="custom_days" class="form-control custom-days">
<option value="today" {{ request()->get('custom_days') == 'today' ? 'selected' : '' }}>{{ __('Today') }}</option>
<option value="yesterday" {{ request()->get('custom_days') == 'yesterday' ? 'selected' : '' }}>{{ __('Yesterday') }}</option>
<option value="last_seven_days" {{ request()->get('custom_days') == 'last_seven_days' ? 'selected' : '' }}>{{ __('Last 7 Days') }}</option>
<option value="last_thirty_days" {{ request()->get('custom_days') == 'last_thirty_days' ? 'selected' : '' }}>{{ __('Last 30 Days') }}</option>
<option value="current_month" {{ request()->get('custom_days') == 'current_month' ? 'selected' : '' }}>{{ __('Current Month') }}</option>
<option value="last_month" {{ request()->get('custom_days') == 'last_month' ? 'selected' : '' }}>{{ __('Last Month') }}</option>
<option value="current_year" {{ request()->get('custom_days') == 'current_year' ? 'selected' : '' }}>{{ __('Current Year') }}</option>
<option value="custom_date" {{ request()->get('custom_days') == 'custom_date' ? 'selected' : '' }}>{{ __('Custom Date') }}</option>
</select>
<span></span>
<div class="calendar-icon">
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.6667 2.67188H3.33333C2.59695 2.67188 2 3.26883 2 4.00521V13.3385C2 14.0749 2.59695 14.6719 3.33333 14.6719H12.6667C13.403 14.6719 14 14.0749 14 13.3385V4.00521C14 3.26883 13.403 2.67188 12.6667 2.67188Z" stroke="#4B5563" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M10.6641 1.32812V3.99479" stroke="#4B5563" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.33594 1.32812V3.99479" stroke="#4B5563" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M2 6.67188H14" stroke="#4B5563" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="delete-item delete-show d-none">
<div class="delete-item-show">
<p class="fw-bold"><span class="selected-count"></span> {{ __('items show') }}</p>
<button data-bs-toggle="modal" class="trigger-modal" data-bs-target="#multi-delete-modal" data-url="{{ route('business.incomes.delete-all') }}">{{ __('Delete') }}</button>
</div>
</div>
<div id="incomes-data">
@include('business::incomes.datas')
</div>
</div>
</div>
</div>
<input type="hidden" id="payment-delete-route" data-url="{{ route('business.delete.payments', ['type' => ':type', 'id' => ':id']) }}">
@endsection
@push('modal')
@include('business::component.delete-modal')
@include('business::incomes.create')
@include('business::incomes.edit')
@include('business::component.view-payment-modal')
@include('business::component.edit-payment')
@endpush