Merge branch 'master' of github.com:akaunting/akaunting

This commit is contained in:
Burak Çakırel 2020-10-01 16:42:41 +03:00
commit b7acb13e1f
No known key found for this signature in database
GPG Key ID: 48FFBB7771B99C7C
73 changed files with 332 additions and 295 deletions

View File

@ -11,8 +11,8 @@ use App\Events\Sale\InvoiceRecurring;
use App\Models\Banking\Transaction;
use App\Models\Common\Company;
use App\Models\Sale\Invoice;
use App\Utilities\Date;
use App\Utilities\Overrider;
use Date;
use Illuminate\Console\Command;
class RecurringCheck extends Command
@ -31,13 +31,6 @@ class RecurringCheck extends Command
*/
protected $description = 'Check for recurring';
/**
* The current day.
*
* @var \Carbon\Carbon
*/
protected $today;
/**
* Execute the console command.
*
@ -61,19 +54,35 @@ class RecurringCheck extends Command
Overrider::load('settings');
Overrider::load('currencies');
$this->today = Date::today();
$today = Date::today();
foreach ($company->recurring as $recurring) {
if (!$model = $recurring->recurable) {
continue;
}
foreach ($recurring->getRecurringSchedule() as $schedule) {
$schedules = $recurring->getRecurringSchedule();
$children_count = $this->getChildrenCount($model);
$schedule_count = $schedules->count();
// All recurring created, including today
if ($children_count > ($schedule_count - 1)) {
continue;
}
// Recur only today
if ($children_count == ($schedule_count - 1)) {
$this->recur($model, $recurring->recurable_type, $today);
continue;
}
// Recur all schedules, previously failed
foreach ($schedules as $schedule) {
$schedule_date = Date::parse($schedule->getStart()->format('Y-m-d'));
\DB::transaction(function () use ($model, $recurring, $schedule_date) {
$this->recur($model, $recurring->recurable_type, $schedule_date);
});
}
}
}
@ -85,11 +94,7 @@ class RecurringCheck extends Command
protected function recur($model, $type, $schedule_date)
{
// Don't recur the future
if ($schedule_date->greaterThan($this->today)) {
return;
}
\DB::transaction(function () use ($model, $type, $schedule_date) {
if (!$clone = $this->getClone($model, $schedule_date)) {
return;
}
@ -114,6 +119,7 @@ class RecurringCheck extends Command
break;
}
});
}
/**
@ -215,6 +221,15 @@ class RecurringCheck extends Command
return false;
}
protected function getChildrenCount($model)
{
$table = $this->getTable($model);
return \DB::table($table)
->where('parent_id', $model->id)
->count();
}
protected function getDateField($model)
{
if ($model instanceof Transaction) {

View File

@ -54,9 +54,7 @@ class Items extends Controller
$taxes = Tax::enabled()->orderBy('name')->get()->pluck('title', 'id');
$currency = Currency::where('code', setting('default.currency'))->first();
return view('common.items.create', compact('categories', 'taxes', 'currency'));
return view('common.items.create', compact('categories', 'taxes'));
}
/**

View File

@ -2,6 +2,7 @@
namespace App\Traits;
use App\Utilities\Date;
use Recurr\Rule;
use Recurr\Transformer\ArrayTransformer;
use Recurr\Transformer\ArrayTransformerConfig;
@ -59,18 +60,19 @@ trait Recurring
]);
}
public function getRecurringSchedule()
public function getRecurringSchedule($set_until_date = true)
{
$config = new ArrayTransformerConfig();
$config->enableLastDayOfMonthFix();
$config->setVirtualLimit($this->getRecurringVirtualLimit());
$transformer = new ArrayTransformer();
$transformer->setConfig($config);
return $transformer->transform($this->getRecurringRule());
return $transformer->transform($this->getRecurringRule($set_until_date));
}
public function getRecurringRule()
public function getRecurringRule($set_until_date = true)
{
$rule = (new Rule())
->setStartDate($this->getRecurringRuleStartDate())
@ -78,6 +80,10 @@ trait Recurring
->setFreq($this->getRecurringRuleFrequency())
->setInterval($this->getRecurringRuleInterval());
if ($set_until_date) {
$rule->setUntil($this->getRecurringRuleUntilDate());
}
// 0 means infinite
if ($this->count != 0) {
$rule->setCount($this->getRecurringRuleCount());
@ -91,6 +97,11 @@ trait Recurring
return new \DateTime($this->started_at, new \DateTimeZone($this->getRecurringRuleTimeZone()));
}
public function getRecurringRuleUntilDate()
{
return new \DateTime(Date::today()->toDateTimeString(), new \DateTimeZone($this->getRecurringRuleTimeZone()));
}
public function getRecurringRuleTimeZone()
{
return setting('localisation.timezone');
@ -112,6 +123,27 @@ trait Recurring
return $this->interval;
}
public function getRecurringVirtualLimit()
{
switch ($this->frequency) {
case 'yearly':
$limit = '2';
break;
case 'monthly':
$limit = '24';
break;
case 'weekly':
$limit = '104';
break;
case 'daily':
default;
$limit = '732';
break;
}
return $limit;
}
public function getCurrentRecurring()
{
if (!$schedule = $this->getRecurringSchedule()) {

View File

@ -16,7 +16,7 @@ class Recurring
continue;
}
foreach ($item->recurring->getRecurringSchedule() as $schedule) {
foreach ($item->recurring->getRecurringSchedule(false) as $schedule) {
$issued = Date::parse($item->$issued_date_field);
$start = $schedule->getStart();

View File

@ -28,7 +28,6 @@
:class="invertalClasses"
:error="intervalError"
v-model="recurring_interval"
@input="change"
>
</base-input>
@ -36,8 +35,7 @@
name="recurring_custom_frequency"
class="recurring-single"
:class="customFrequencyClasses"
:error="customFrequencyError"
>
:error="customFrequencyError">
<el-select v-model="recurring_custom_frequency" @input="change" filterable
:placeholder="placeholder">
<el-option v-for="(label, value) in customFrequencyOptions"
@ -51,12 +49,11 @@
<base-input :label="''"
name="recurring_count"
type="number"
:value="0"
class="recurring-single"
:class="countClasses"
:error="countError"
v-model="recurring_count"
@input="change"
>
v-model="recurring_count">
</base-input>
</div>
</template>

View File

@ -78,12 +78,12 @@
<div class="col-md-12">
<div class="float-right">
<button type="button" class="btn btn-icon btn-outline-secondary" @click="onCancel">
<span class="btn-inner--text">{{ text.cancel }}</span>
{{ text.cancel }}
</button>
<button :disabled="form.loading" type="button" class="btn btn-icon btn-success button-submit" @click="onSave">
<div v-if="form.loading" class="aka-loader-frame"><div class="aka-loader"></div></div>
<span v-if="!form.loading" class="btn-inner--text">{{ text.save }}</span>
<span v-if="form.loading" class="btn-inner--icon"><i class="aka-loader"></i></span>
<span :class="[{'ml-0': form.loading}]" class="btn-inner--text">{{ text.save }}</span>
</button>
</div>
</div>

View File

@ -113,7 +113,6 @@
</div>
<button class="btn btn-icon btn-success" v-on:click="invaildCard">
<span class="btn-inner--icon"><i class="fas fa-check"></i></span>
<span class="btn-inner--text">{{ textButton }}</span>
</button>
</div>
@ -263,9 +262,6 @@
<div v-if="loading" class="aka-loader-frame">
<div class="aka-loader"></div>
</div>
<span v-if="!loading" class="btn-inner--icon">
<i class="fas fa-check"></i>
</span>
<span v-if="!loading" class="btn-inner--text">{{ textButton }}</span>
</button>
</div>
@ -508,12 +504,12 @@ export default {
invaildCard() {
this.loading = true;
this.unMaskCardNumber();
let number = this.formData.cardNumber;
let sum = 0;
let isOdd = true;
this.unMaskCardNumber();
/*for (let i = number.length - 1; i >= 0; i--) {
let num = number.charAt(i);

View File

@ -84,9 +84,6 @@
<span v-if="!form.loading" class="btn-inner--text">
Next &nbsp;
</span>
<span v-if="!form.loading" class="btn-inner--icon">
<i class="fas fa-arrow-right"></i>
</span>
</button>
</div>
</div>

View File

@ -32,9 +32,6 @@
<span v-if="!form.loading" class="btn-inner--text">
Next &nbsp;
</span>
<span v-if="!form.loading" class="btn-inner--icon">
<i class="fas fa-arrow-right"></i>
</span>
</button>
</div>
</div>

View File

@ -26,9 +26,6 @@
<span class="btn-inner--text">
Refresh &nbsp;
</span>
<span class="btn-inner--icon">
<i class="fas fa-sync"></i>
</span>
</button>
</div>
</div>

View File

@ -82,9 +82,6 @@
<span v-if="!form.loading" class="btn-inner--text">
Next &nbsp;
</span>
<span v-if="!form.loading" class="btn-inner--icon">
<i class="fas fa-arrow-right"></i>
</span>
</button>
</div>
</div>

View File

@ -4,7 +4,7 @@
@permission('create-auth-permissions')
@section('new_button')
<a href="{{ route('permissions.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a>
<a href="{{ route('permissions.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endsection
@endpermission

View File

@ -4,7 +4,7 @@
@permission('create-auth-roles')
@section('new_button')
<a href="{{ route('roles.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a>
<a href="{{ route('roles.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endsection
@endpermission

View File

@ -4,7 +4,7 @@
@permission('create-auth-users')
@section('new_button')
<a href="{{ route('users.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a>
<a href="{{ route('users.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endsection
@endpermission

View File

@ -4,7 +4,7 @@
@section('new_button')
@permission('create-banking-accounts')
<a href="{{ route('accounts.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a>
<a href="{{ route('accounts.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endpermission
@endsection

View File

@ -25,7 +25,7 @@
{{ Form::selectAddNewGroup('account_id', trans_choice('general.accounts', 1), 'university', $accounts, request('account_id', setting('default.account')), ['required' => 'required', 'path' => route('modals.accounts.create'), 'change' => 'onChangeAccount'], 'col-xl-2') }}
<div class="col-xl-2">
{!! Form::button('<span class="fa fa-list"></span> &nbsp;' . trans('reconciliations.transactions'), ['type' => 'button', '@click' => 'onReconcilition', 'class' => 'btn btn-success header-button-top']) !!}
{!! Form::button(trans('reconciliations.transactions'), ['type' => 'button', '@click' => 'onReconcilition', 'class' => 'btn btn-success header-button-top']) !!}
</div>
</div>
</div>
@ -140,15 +140,15 @@
<div class="col-md-12">
@if ($transactions->count())
<div class="float-right">
<a href="{{ route('reconciliations.index') }}" class="btn btn-outline-secondary header-button-top"><span class="fa fa-times"></span> &nbsp;{{ trans('general.cancel') }}</a>
<a href="{{ route('reconciliations.index') }}" class="btn btn-outline-secondary header-button-top">{{ trans('general.cancel') }}</a>
{!! Form::button(
'<div v-if="form.loading" class="aka-loader-frame"><div class="aka-loader"></div></div> <span :class="[{\'opacity-10\': reconcile}]" v-if="!form.loading" class="btn-inner--icon"><i class="fas fa-check"></i></span>' . '<span :class="[{\'opacity-10\': reconcile}]" class="btn-inner--text"> ' . trans('reconciliations.reconcile') . '</span>',
[':disabled' => 'reconcile || form.loading', '@click' => 'onReconcileSubmit', 'type' => 'button', 'class' => 'btn btn-icon btn-info header-button-top', 'data-loading-text' => trans('general.loading')]) !!}
'<span v-if="form.loading" class="btn-inner--icon"><i class="aka-loader"></i></span> <span :class="[{\'opacity-10\': reconcile}]" class="btn-inner--text">' . trans('reconciliations.reconcile') . '</span>',
[':disabled' => 'reconcile || form.loading', '@click' => 'onReconcileSubmit', 'type' => 'button', 'class' => 'btn btn-icon btn-info header-button-top']) !!}
{!! Form::button(
'<div v-if="form.loading" class="aka-loader-frame"><div class="aka-loader"></div></div> <span v-if="!form.loading" class="btn-inner--icon"><i class="fas fa-save"></i></span>' . '<span v-if="!form.loading" class="btn-inner--text"> ' . trans('general.save') . '</span>',
[':disabled' => 'form.loading', 'type' => 'submit', 'class' => 'btn btn-icon btn-success header-button-top', 'data-loading-text' => trans('general.loading')]) !!}
'<span v-if="form.loading" class="btn-inner--icon"><i class="aka-loader"></i></span> <span :class="[{\'ml-0\': form.loading}]" class="btn-inner--text">' . trans('general.save') . '</span>',
[':disabled' => 'form.loading', 'type' => 'submit', 'class' => 'btn btn-icon btn-success header-button-top']) !!}
</div>
@else
<div class="text-sm text-muted" id="datatable-basic_info" role="status" aria-live="polite">

View File

@ -113,15 +113,15 @@
<div class="col-md-12">
@if ($transactions->count())
<div class="float-right">
<a href="{{ route('reconciliations.index') }}" class="btn btn-outline-secondary header-button-top"><span class="fa fa-times"></span> &nbsp;{{ trans('general.cancel') }}</a>
<a href="{{ route('reconciliations.index') }}" class="btn btn-outline-secondary header-button-top">{{ trans('general.cancel') }}</a>
{!! Form::button(
'<div v-if="form.loading" class="aka-loader-frame"><div class="aka-loader"></div></div> <span :class="[{\'opacity-10\': reconcile}]" v-if="!form.loading" class="btn-inner--icon"><i class="fas fa-check"></i></span>' . '<span :class="[{\'opacity-10\': reconcile}]" class="btn-inner--text"> ' . trans('reconciliations.reconcile') . '</span>',
'<span v-if="form.loading" class="btn-inner--icon"><i class="aka-loader"></i></span> <span :class="[{\'opacity-10\': reconcile}]" class="btn-inner--text">' . trans('reconciliations.reconcile') . '</span>',
[':disabled' => 'reconcile || form.loading', '@click' => 'onReconcileSubmit', 'type' => 'button', 'class' => 'btn btn-icon btn-info header-button-top', 'data-loading-text' => trans('general.loading')]) !!}
{!! Form::button(
'<div v-if="form.loading" class="aka-loader-frame"><div class="aka-loader"></div></div> <span v-if="!form.loading" class="btn-inner--icon"><i class="fas fa-save"></i></span>' . '<span v-if="!form.loading" class="btn-inner--text"> ' . trans('general.save') . '</span>',
[':disabled' => 'form.loading', 'type' => 'submit', 'class' => 'btn btn-icon btn-success header-button-top', 'data-loading-text' => trans('general.loading')]) !!}
'<span v-if="form.loading" class="btn-inner--icon"><i class="aka-loader"></i></span> <span :class="[{\'ml-0\': form.loading}]" class="btn-inner--text">' . trans('general.save') . '</span>',
[':disabled' => 'form.loading', 'type' => 'submit', 'class' => 'btn btn-icon btn-success header-button-top']) !!}
</div>
@else
<div class="text-sm text-muted" id="datatable-basic_info" role="status" aria-live="polite">

View File

@ -4,7 +4,7 @@
@section('new_button')
@permission('create-banking-reconciliations')
<a href="{{ route('reconciliations.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a>
<a href="{{ route('reconciliations.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endpermission
@endsection

View File

@ -4,13 +4,13 @@
@section('new_button')
@permission('create-sales-revenues')
<span><a href="{{ route('revenues.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_income') }}</a></span>
<a href="{{ route('revenues.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_income') }}</a>
@endpermission
@permission('create-purchases-payments')
<span><a href="{{ route('payments.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_expense') }}</a></span>
<a href="{{ route('payments.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_expense') }}</a>
@endpermission
<span><a href="{{ route('import.create', ['banking', 'transactions']) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-upload "></span> &nbsp;{{ trans('import.import') }}</a></span>
<span><a href="{{ route('transactions.export', request()->input()) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-download"></span> &nbsp;{{ trans('general.export') }}</a></span>
<a href="{{ route('import.create', ['banking', 'transactions']) }}" class="btn btn-white btn-sm">{{ trans('import.import') }}</a>
<a href="{{ route('transactions.export', request()->input()) }}" class="btn btn-white btn-sm">{{ trans('general.export') }}</a>
@endsection
@section('content')

View File

@ -4,7 +4,7 @@
@permission('create-banking-transfers')
@section('new_button')
<a href="{{ route('transfers.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a>
<a href="{{ route('transfers.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endsection
@endpermission

View File

@ -4,7 +4,7 @@
@permission('create-common-companies')
@section('new_button')
<a href="{{ route('companies.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a>
<a href="{{ route('companies.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endsection
@endpermission

View File

@ -4,7 +4,7 @@
@permission('create-common-dashboards')
@section('new_button')
<a href="{{ route('dashboards.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a>
<a href="{{ route('dashboards.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endsection
@endpermission

View File

@ -41,8 +41,8 @@
<div class="card-footer">
<div class="row save-buttons">
<div class="col-xs-12 col-sm-12">
<a href="{{ url($path) }}" class="btn btn-outline-secondary header-button-top"><span class="fa fa-times"></span> &nbsp;{{ trans('general.cancel') }}</a>
{!! Form::button('<span class="fa fa-download"></span> &nbsp;' . trans('import.import'), ['type' => 'submit', 'class' => 'btn btn-success header-button-top']) !!}
<a href="{{ url($path) }}" class="btn btn-outline-secondary">{{ trans('general.cancel') }}</a>
{!! Form::button(trans('import.import'), ['type' => 'submit', 'class' => 'btn btn-success']) !!}
</div>
</div>
</div>

View File

@ -4,10 +4,10 @@
@section('new_button')
@permission('create-common-items')
<span><a href="{{ route('items.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a></span>
<span><a href="{{ route('import.create', ['common', 'items']) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-upload "></span> &nbsp;{{ trans('import.import') }}</a></span>
<a href="{{ route('items.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
<a href="{{ route('import.create', ['common', 'items']) }}" class="btn btn-white btn-sm">{{ trans('import.import') }}</a>
@endpermission
<span><a href="{{ route('items.export', request()->input()) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-download"></span> &nbsp;{{ trans('general.export') }}</a></span>
<a href="{{ route('items.export', request()->input()) }}" class="btn btn-white btn-sm">{{ trans('general.export') }}</a>
@endsection
@section('content')

View File

@ -4,9 +4,9 @@
@section('new_button')
@permission('create-common-reports')
<a href="{{ route('reports.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a>
<a href="{{ route('reports.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endpermission
<a href="{{ route('reports.clear') }}" class="btn btn-warning btn-sm header-button-top"><span class="fa fa-history"></span> &nbsp;{{ trans('general.clear_cache') }}</a>
<a href="{{ route('reports.clear') }}" class="btn btn-warning btn-sm">{{ trans('general.clear_cache') }}</a>
@endsection
@section('content')

View File

@ -5,14 +5,17 @@
@section('content')
<div class="card">
<div class="card-header">
<h2 class="mb-0 text-danger"><i class="fa fa-exclamation-triangle text-danger"></i>&nbsp;&nbsp;{{ trans('errors.header.403') }}</h2>
<h2 class="mb-0 text-danger">
<i class="fa fa-exclamation-triangle text-danger"></i> &nbsp;{{ trans('errors.header.403') }}
</h2>
</div>
<div class="card-body">
<p>{{ trans('errors.message.403') }}</p>
@php $landing_page = user() ? route(user()->landing_page) : route('login'); @endphp
<a href="{{ $landing_page }}" class="btn btn-success header-button-top"><span class="fa fa-tachometer-alt"></span> &nbsp;{{ trans('general.go_to_dashboard') }}</a>
<a href="{{ $landing_page }}" class="btn btn-success">{{ trans('general.go_to_dashboard') }}</a>
</div>
</div>
@endsection

View File

@ -5,14 +5,17 @@
@section('content')
<div class="card">
<div class="card-header">
<h2 class="mb-0 text-warning"><i class="fa fa-exclamation-triangle text-warning"></i>&nbsp;&nbsp;{{ trans('errors.header.404') }}</h2>
<h2 class="mb-0 text-warning">
<i class="fa fa-exclamation-triangle text-warning"></i> &nbsp;{{ trans('errors.header.404') }}
</h2>
</div>
<div class="card-body">
<p>{{ trans('errors.message.404') }}</p>
@php $landing_page = user() ? route(user()->landing_page) : route('login'); @endphp
<a href="{{ $landing_page }}" class="btn btn-success header-button-top"><span class="fa fa-tachometer-alt"></span> &nbsp;{{ trans('general.go_to_dashboard') }}</a>
<a href="{{ $landing_page }}" class="btn btn-success">{{ trans('general.go_to_dashboard') }}</a>
</div>
</div>
@endsection

View File

@ -5,14 +5,17 @@
@section('content')
<div class="card">
<div class="card-header">
<h2 class="mb-0 text-danger"><i class="fa fa-exclamation-triangle text-danger"></i>&nbsp;&nbsp;{{ trans('errors.header.500') }}</h2>
<h2 class="mb-0 text-danger">
<i class="fa fa-exclamation-triangle text-danger"></i> &nbsp;{{ trans('errors.header.500') }}
</h2>
</div>
<div class="card-body">
<p>{{ trans('errors.message.500') }}</p>
@php $landing_page = user() ? route(user()->landing_page) : route('login'); @endphp
<a href="{{ $landing_page }}" class="btn btn-success header-button-top"><span class="fa fa-tachometer-alt"></span> &nbsp;{{ trans('general.go_to_dashboard') }}</a>
<a href="{{ $landing_page }}" class="btn btn-success">{{ trans('general.go_to_dashboard') }}</a>
</div>
</div>
@endsection

View File

@ -3,7 +3,7 @@
@section('title', trans_choice('general.updates', 2))
@section('new_button')
<a href="{{ route('updates.check') }}" class="btn btn-warning btn-sm header-button-top"><span class="fa fa-history"></span> &nbsp;{{ trans('updates.check') }}</a>
<a href="{{ route('updates.check') }}" class="btn btn-warning btn-sm">{{ trans('updates.check') }}</a>
@endsection
@section('content')

View File

@ -3,7 +3,7 @@
@section('title', trans_choice('general.updates', 2))
@section('new_button')
<a href="{{ route('updates.check') }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-history"></span> &nbsp;{{ trans('updates.check') }}</a>
<a href="{{ route('updates.check') }}" class="btn btn-white btn-sm header-button-top">{{ trans('updates.check') }}</a>
@endsection
@section('content')
@ -22,13 +22,14 @@
<div class="col-sm-2 col-md-6 long-texts">
{{ trans('updates.new_core') }}
</div>
<div class="col-sm-10 col-md-6 text-right">
<a href="{{ route('updates.run', ['alias' => 'core', 'version' => $core]) }}"
class="btn btn-info btn-sm header-button-top long-texts">
<i class="fa fa-refresh"></i> &nbsp;{{ trans('updates.update', ['version' => $core]) }}
<a href="{{ route('updates.run', ['alias' => 'core', 'version' => $core]) }}" class="btn btn-info btn-sm header-button-top long-texts">
{{ trans('updates.update', ['version' => $core]) }}
</a>
<button type="button" @click="onChangelog" class="btn btn-white btn-sm header-button-bottom">
<i class="fa fa-exchange-alt"></i> &nbsp;{{ trans('updates.changelog') }}
{{ trans('updates.changelog') }}
</button>
</div>
@endif
@ -51,6 +52,7 @@
<th class="col-xs-4 col-sm-2 col-md-2 text-center">{{ trans('general.actions') }}</th>
</tr>
</thead>
<tbody>
@if ($modules)
@foreach($modules as $module)
@ -60,7 +62,7 @@
<td class="col-xs-4 col-sm-3 col-md-3">{{ $module->latest }}</td>
<td class="col-xs-4 col-sm-2 col-md-2 text-center">
<a href="{{ route('updates.run', ['alias' => $module->alias, 'version' => $module->latest]) }}" class="btn btn-warning btn-sm">
<i class="fa fa-refresh" aria-hidden="true"></i> {{ trans_choice('general.updates', 1) }}
{{ trans_choice('general.updates', 1) }}
</a>
</td>
</tr>

View File

@ -7,6 +7,7 @@
@elsemobile
<body id="leftMenu" class="g-sidenav-show">
@endmobile
@stack('body_start')
@include('partials.admin.menu')

View File

@ -40,18 +40,16 @@
<div class="card-footer">
<div class="float-right">
@if (Request::is('install/requirements'))
<a href="{{ route('install.requirements') }}" class="btn btn-success"> {{ trans('install.refresh') }} &nbsp;<i class="fa fa-refresh"></i></a>
<a href="{{ route('install.requirements') }}" class="btn btn-success"> {{ trans('install.refresh') }}</a>
@else
{!! Form::button(
'<i v-if="loading" :class="(loading) ? \'show \' : \'\'" class="fas fa-spinner fa-spin d-none"></i> ' .
trans('install.next') .
' &nbsp;<i class="fa fa-arrow-right"></i>',
trans('install.next'),
[
':disabled' => 'loading',
'type' => 'submit',
'id' => 'next-button',
'class' => 'btn btn-success',
'data-loading-text' => trans('general.loading')
'class' => 'btn btn-success'
]
) !!}
@endif

View File

@ -3,8 +3,8 @@
@section('title', trans_choice('general.modules', 2))
@section('new_button')
<span><a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-key"></span> &nbsp;{{ trans('modules.api_key') }}</a></span>
<span><a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-user"></span> &nbsp;{{ trans('modules.my_apps') }}</a></span>
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
@section('content')

View File

@ -3,8 +3,8 @@
@section('title', trans_choice('general.modules', 2))
@section('new_button')
<span><a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-key"></span> &nbsp;{{ trans('modules.api_key') }}</a></span>
<span><a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-user"></span> &nbsp;{{ trans('modules.my_apps') }}</a></span>
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
@section('content')
@ -22,7 +22,7 @@
<div class="card-footer">
<div class="row">
<div class="col-md-12">
<a href="{{ url($back) }}" class="btn btn-white header-button-top"><span class="fas fa-arrow-left"></span> &nbsp;{{ trans('modules.back') }}</a>
<a href="{{ url($back) }}" class="btn btn-white">{{ trans('modules.back') }}</a>
</div>
</div>
</div>

View File

@ -3,8 +3,8 @@
@section('title', trans_choice('general.modules', 2))
@section('new_button')
<span><a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-key"></span> &nbsp;{{ trans('modules.api_key') }}</a></span>
<span><a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-user"></span> &nbsp;{{ trans('modules.my_apps') }}</a></span>
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
@section('content')

View File

@ -3,8 +3,8 @@
@section('title', trans_choice('general.modules', 2))
@section('new_button')
<span><a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-key"></span> &nbsp;{{ trans('modules.api_key') }}</a></span>
<span><a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-user"></span> &nbsp;{{ trans('modules.my_apps') }}</a></span>
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
@section('content')
@ -24,6 +24,7 @@
@for($i = 1; $i <= $module->vote; $i++)
<i class="fa fa-star fa-sm text-yellow"></i>
@endfor
@for($i = $module->vote; $i < 5; $i++)
<i class="fa fa-star-o fa-sm"></i>
@endfor
@ -280,14 +281,10 @@
<td class="col-7 text-right">{{ Date::parse($module->updated_at)->diffForHumans() }}</td>
</tr>
@endif
@if ($module->categories)
@if ($module->category)
<tr class="row">
<th class="col-5">{{ trans_choice('general.categories', (count($module->categories) > 1) ? 2 : 1) }}</th>
<td class="col-7 text-right">
@foreach ($module->categories as $module_category)
<a href="{{ route('apps.categories.show', $module_category->slug) }}">{{ $module_category->name }}</a> </br>
@endforeach
</td>
<th class="col-5">{{ trans_choice('general.categories', 1) }}</th>
<td class="col-7 text-right"><a href="{{ route('apps.categories.show', $module->category->slug) }}">{{ $module->category->name }}</a></td>
</tr>
@endif
<tr class="row">

View File

@ -3,8 +3,8 @@
@section('title', trans_choice('general.modules', 2))
@section('new_button')
<span><a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm button-header-top"><span class="fa fa-key"></span> &nbsp;{{ trans('modules.api_key') }}</a></span>
<span><a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm button-header-top"><span class="fa fa-user"></span> &nbsp;{{ trans('modules.my_apps') }}</a></span>
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
@section('content')

View File

@ -3,8 +3,8 @@
@section('title', trans_choice('general.modules', 2))
@section('new_button')
<span><a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm button-header-top"><span class="fa fa-key"></span> &nbsp;{{ trans('modules.api_key') }}</a></span>
<span><a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm button-header-top"><span class="fa fa-user"></span> &nbsp;{{ trans('modules.my_apps') }}</a></span>
<a href="{{ route('apps.api-key.create') }}" class="btn btn-white btn-sm">{{ trans('modules.api_key') }}</a>
<a href="{{ route('apps.my.index') }}" class="btn btn-white btn-sm">{{ trans('modules.my_apps') }}</a>
@endsection
@section('content')
@ -24,13 +24,13 @@
<div class="col-md-6 text-left">
@if ($modules->current_page > 1)
<a href="{{ url(request()->path()) }}?page={{ $modules->current_page - 1 }}" class="btn btn-white btn-sm button-header-top"><span class="fas fa-arrow-left"></span> &nbsp;{!! trans('pagination.previous') !!}</a>
<a href="{{ url(request()->path()) }}?page={{ $modules->current_page - 1 }}" class="btn btn-white btn-sm">{!! trans('pagination.previous') !!}</a>
@endif
</div>
<div class="col-md-6 text-right">
@if ($modules->current_page < $modules->last_page)
<a href="{{ url(request()->path()) }}?page={{ $modules->current_page + 1 }}" class="btn btn-white btn-sm button-header-top">{!! trans('pagination.next') !!}&nbsp; <span class="fas fa-arrow-right"></span> </a>
<a href="{{ url(request()->path()) }}?page={{ $modules->current_page + 1 }}" class="btn btn-white btn-sm">{!! trans('pagination.next') !!}</a>
@endif
</div>
@else

View File

@ -5,9 +5,11 @@
</div>
<div class="col-xs-12 col-sm-6 text-center p-5">
<p class="text-justify description">{!! trans('general.empty.' . $page) !!} {!! trans('general.empty.documentation', ['url' => 'https://akaunting.com/docs/user-manual/' . $docs_path]) !!}</p>
<p class="text-justify description">
{!! trans('general.empty.' . $page) !!} {!! trans('general.empty.documentation', ['url' => 'https://akaunting.com/docs/user-manual/' . $docs_path]) !!}
</p>
<a href="{{ route($page . '.create') }}" class="btn btn-success header-button-top float-right mt-4">
<span class="btn-inner--icon"><i class="fas fa-plus"></i></span>
<span class="btn-inner--text">{{ trans('general.title.create', ['type' => trans_choice('general.' . $page, 1)]) }}</span>
</a>
</div>

View File

@ -1,6 +1,6 @@
@foreach($modules as $module)
<span>
<a href="{{ url($module->action_url) . '?' . http_build_query((array) $module->action_parameters) }}" class="btn btn-white btn-sm header-button-bottom" target="{{ $module->action_target }}"><span class="fa fa-rocket"></span> &nbsp;{{ $module->name }}</a>
<a href="{{ url($module->action_url) . '?' . http_build_query((array) $module->action_parameters) }}" class="btn btn-white btn-sm" target="{{ $module->action_target }}">{{ $module->name }}</a>
</span>
@endforeach

View File

@ -23,7 +23,7 @@
$message = trans('general.delete_confirm', ['name' => '<strong>' . $name . '</strong>', 'type' => $type]);
@endphp
{!! Form::button('<i class="fa fa-trash-o" aria-hidden="true"></i> ' . trans('general.delete'), array(
{!! Form::button(trans('general.delete'), array(
'type' => 'button',
'class' => 'btn btn-danger btn-xs',
'title' => trans('general.delete'),

View File

@ -8,14 +8,11 @@
@endphp
<div class="{{ $col }}">
<a href="{{ $url }}" class="btn btn-icon btn-outline-secondary header-button-top">
<span class="btn-inner--icon"><i class="fas fa-times"></i></span>
<span class="btn-inner--text">{{ trans('general.cancel') }}</span>
</a>
<a href="{{ $url }}" class="btn btn-outline-secondary">{{ trans('general.cancel') }}</a>
{!! Form::button(
'<div v-if="form.loading" class="aka-loader-frame"><div class="aka-loader"></div></div> <span v-if="!form.loading" class="btn-inner--icon"><i class="fas fa-save"></i></span>' . '<span v-if="!form.loading" class="btn-inner--text">' . trans('general.save') . '</span>',
[':disabled' => 'form.loading', 'type' => 'submit', 'class' => 'btn btn-icon btn-success button-submit header-button-top', 'data-loading-text' => trans('general.loading')]) !!}
'<span v-if="form.loading" class="btn-inner--icon"><i class="aka-loader"></i></span> <span :class="[{\'ml-0\': form.loading}]" class="btn-inner--text">' . trans('general.save') . '</span>',
[':disabled' => 'form.loading', 'type' => 'submit', 'class' => 'btn btn-icon btn-success']) !!}
</div>
@stack('save_buttons_end')

View File

@ -4,12 +4,14 @@
<h4 class="ml--3 mb-0 float-left">
<a href="{{ route('apps.app.show', $module->slug) }}">{{ $module->name }}</a>
</h4>
@if (isset($installed[$module->slug]))
@php $color = 'bg-green'; @endphp
@if (!$installed[$module->slug])
@php $color = 'bg-warning'; @endphp
@endif
<span class="mr--3 float-right">
<span class="badge {{ $color }} text-white">{{ trans('modules.badge.installed') }}</span>
</span>
@ -29,9 +31,11 @@
@for($i = 1; $i <= $module->vote; $i++)
<i class="fa fa-star text-xs text-yellow"></i>
@endfor
@for($i = $module->vote; $i < 5; $i++)
<i class="far fa-star text-xs"></i>
@endfor
<small class="text-xs">
@if ($module->total_review)
({{ $module->total_review }})

View File

@ -13,7 +13,7 @@
@foreach($class->filters as $name => $values)
{!! Form::select($name . '[]', $values, request($name), ['id' => 'filter-' . $name, 'class' => 'form-control form-control-sm d-inline-block w-auto']) !!}
@endforeach
{!! Form::button('<span class="fa fa-filter"></span> &nbsp;' . trans('general.filter'), ['type' => 'submit', 'class' => 'btn btn-sm btn-secondary']) !!}
{!! Form::button(trans('general.filter'), ['type' => 'submit', 'class' => 'btn btn-sm btn-secondary']) !!}
</div>
{!! Form::close() !!}

View File

@ -1,14 +1,10 @@
@section('title', $class->model->name)
@section('new_button')
<span>
<a href="{{ url($class->getUrl('print')) }}" target="_blank" class="btn btn-white btn-sm header-button-top">
<span class="fa fa-print"></span> &nbsp;{{ trans('general.print') }}
<a href="{{ url($class->getUrl('print')) }}" target="_blank" class="btn btn-white btn-sm">
{{ trans('general.print') }}
</a>
</span>
<span>
<a href="{{ url($class->getUrl('export')) }}" class="btn btn-white btn-sm header-button-top">
<span class="fa fa-upload"></span> &nbsp;{{ trans('general.export') }}
{{ trans('general.export') }}
</a>
</span>
@endsection

View File

@ -291,16 +291,17 @@
<div class="col-xs-12 col-sm-6 text-right">
@stack('button_print_start')
<a href="{{ route('portal.invoices.print', $invoice->id) }}" target="_blank" class="btn btn-success header-button-top">
<i class="fa fa-print"></i>&nbsp; {{ trans('general.print') }}
{{ trans('general.print') }}
</a>
@stack('button_print_end')
@stack('button_pdf_start')
<a href="{{ route('portal.invoices.pdf', $invoice->id) }}" class="btn btn-white header-button-top">
<i class="fa fa-file-pdf"></i>&nbsp; {{ trans('general.download') }}
{{ trans('general.download') }}
</a>
@stack('button_pdf_end')
</div>
<div id="confirm" class="col-sm-12">
<component v-bind:is="method_show_html" @interface="onRedirectConfirm"></component>
</div>

View File

@ -3,7 +3,7 @@
@section('title', trans_choice('general.invoices', 1) . ': ' . $invoice->invoice_number)
@section('new_button')
<a href="{{ route('portal.dashboard') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-user"></span> &nbsp;{{ trans('invoices.all_invoices') }}</a>
<a href="{{ route('portal.dashboard') }}" class="btn btn-success btn-sm">{{ trans('invoices.all_invoices') }}</a>
@endsection
@section('content')
@ -234,11 +234,12 @@
</div>
<div class="col-md-8 text-right">
<a href="{{ $print_action }}" target="_blank" class="btn btn-success header-button-top">
<i class="fa fa-print"></i>&nbsp; {{ trans('general.print') }}
<a href="{{ $print_action }}" target="_blank" class="btn btn-success">
{{ trans('general.print') }}
</a>
<a href="{{ $pdf_action }}" class="btn btn-white header-button-top" data-toggle="tooltip" title="{{ trans('invoices.download_pdf') }}">
<i class="fa fa-file-pdf"></i>&nbsp; {{ trans('general.download') }}
<a href="{{ $pdf_action }}" class="btn btn-white" data-toggle="tooltip" title="{{ trans('invoices.download_pdf') }}">
{{ trans('general.download') }}
</a>
</div>
@ -252,6 +253,7 @@
@push('footer_start')
<script src="{{ asset('public/js/portal/invoices.js?v=' . version('short')) }}"></script>
<script type="text/javascript">
var payment_action_path = {!! json_encode($payment_actions) !!};
</script>

View File

@ -127,7 +127,8 @@
<i class="fa fa-percent"></i>
</span>
</div>
{!! Form::number('pre_discount', null, ['id' => 'pre-discount', 'class' => 'form-control', 'v-model' => 'form.discount']) !!} </div>
{!! Form::number('pre_discount', null, ['id' => 'pre-discount', 'class' => 'form-control', 'v-model' => 'form.discount']) !!}
</div>
</div>
<div class="col-sm-6">
<div class="discount-description">

View File

@ -4,10 +4,10 @@
@section('new_button')
@permission('create-purchases-bills')
<span><a href="{{ route('bills.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a></span>
<span><a href="{{ route('import.create', ['group' => 'purchases', 'type' => 'bills']) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-upload"></span> &nbsp;{{ trans('import.import') }}</a></span>
<a href="{{ route('bills.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
<a href="{{ route('import.create', ['group' => 'purchases', 'type' => 'bills']) }}" class="btn btn-white btn-sm">{{ trans('import.import') }}</a>
@endpermission
<span><a href="{{ route('bills.export', request()->input()) }}" class="btn btn-white btn-sm header-button-bottom"><span class="fa fa-download"></span> &nbsp;{{ trans('general.export') }}</a></span>
<a href="{{ route('bills.export', request()->input()) }}" class="btn btn-white btn-sm">{{ trans('general.export') }}</a>
@endsection
@section('content')
@ -64,6 +64,7 @@
<a class="btn btn-neutral btn-sm text-light items-align-center py-2" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-ellipsis-h text-muted"></i>
</a>
<div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow">
<a class="dropdown-item" href="{{ route('bills.show', $item->id) }}">{{ trans('general.show') }}</a>
@if (!$item->reconciled)

View File

@ -109,6 +109,7 @@
<i class="fa fa-percent"></i>
</span>
</div>
<input type="number"
max="100"
min="0"

View File

@ -58,6 +58,7 @@
<span class="timeline-step badge-primary">
<i class="fas fa-plus"></i>
</span>
<div class="timeline-content">
@stack('timeline_body_create_bill_head_start')
<h2 class="font-weight-500">{{ trans('bills.create_bill') }}</h2>
@ -86,6 +87,7 @@
<span class="timeline-step badge-danger">
<i class="far fa-envelope"></i>
</span>
<div class="timeline-content">
@stack('timeline_body_receive_bill_head_start')
<h2 class="font-weight-500">{{ trans('bills.receive_bill') }}</h2>
@ -446,20 +448,21 @@
@stack('button_edit_start')
@if(!$bill->reconciled)
<a href="{{ route('bills.edit', $bill->id) }}" class="btn btn-info header-button-top">
<i class="fas fa-edit"></i>&nbsp; {{ trans('general.edit') }}
{{ trans('general.edit') }}
</a>
@endif
@stack('button_edit_end')
@stack('button_print_start')
<a href="{{ route('bills.print', $bill->id) }}" target="_blank" class="btn btn-success header-button-top">
<i class="fa fa-print"></i>&nbsp; {{ trans('general.print') }}
{{ trans('general.print') }}
</a>
@stack('button_print_end')
@stack('button_group_start')
<div class="dropup header-drop-top">
<button type="button" class="btn btn-primary header-button-top" data-toggle="dropdown" aria-expanded="false"><i class="fa fa-chevron-up"></i>&nbsp; {{ trans('general.more_actions') }}</button>
<div class="dropdown-menu" role="menu">
@stack('button_dropdown_start')
@if ($bill->status != 'cancelled')
@ -608,7 +611,7 @@
]);
@endphp
{!! Form::button('<i class="fa fa-trash-o" aria-hidden="true"></i> ' . trans('general.delete'), array(
{!! Form::button(trans('general.delete'), array(
'type' => 'button',
'class' => 'btn btn-danger btn-sm',
'title' => trans('general.delete'),

View File

@ -4,10 +4,10 @@
@section('new_button')
@permission('create-purchases-payments')
<span><a href="{{ route('payments.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a></span>
<span><a href="{{ route('import.create', ['group' => 'purchases', 'type' => 'payments']) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-upload"></span> &nbsp;{{ trans('import.import') }}</a></span>
<a href="{{ route('payments.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
<a href="{{ route('import.create', ['group' => 'purchases', 'type' => 'payments']) }}" class="btn btn-white btn-sm">{{ trans('import.import') }}</a>
@endpermission
<span><a href="{{ route('payments.export', request()->input()) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-download"></span> &nbsp;{{ trans('general.export') }}</a></span>
<a href="{{ route('payments.export', request()->input()) }}" class="btn btn-white btn-sm">{{ trans('general.export') }}</a>
@endsection
@section('content')

View File

@ -4,10 +4,10 @@
@section('new_button')
@permission('create-purchases-vendors')
<span><a href="{{ route('vendors.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a></span>
<span><a href="{{ route('import.create', ['group' => 'purchases', 'type' => 'vendors']) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-upload"></span> &nbsp;{{ trans('import.import') }}</a></span>
<a href="{{ route('vendors.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
<a href="{{ route('import.create', ['group' => 'purchases', 'type' => 'vendors']) }}" class="btn btn-white btn-sm">{{ trans('import.import') }}</a>
@endpermission
<span><a href="{{ route('vendors.export', request()->input()) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-download"></span> &nbsp;{{ trans('general.export') }}</a></span>
<a href="{{ route('vendors.export', request()->input()) }}" class="btn btn-white btn-sm">{{ trans('general.export') }}</a>
@endsection
@section('content')

View File

@ -68,7 +68,7 @@
</ul>
@stack('vendor_edit_button_start')
<a href="{{ route('vendors.edit', $vendor->id) }}" class="btn btn-info btn-block"><i class="fas fa-edit"></i><b>{{ trans('general.edit') }}</b></a>
<a href="{{ route('vendors.edit', $vendor->id) }}" class="btn btn-info btn-block"><b>{{ trans('general.edit') }}</b></a>
@stack('vendor_edit_button_end')
</div>
@ -129,13 +129,13 @@
<ul class="nav nav-pills nav-fill flex-column flex-md-row" id="tabs-icons-text" role="tablist">
@stack('vendor_transactions_tab_start')
<li class="nav-item">
<a class="nav-link mb-sm-3 mb-md-0 active" id="transactions-tab" data-toggle="tab" href="#transactions-content" role="tab" aria-controls="transactions-content" aria-selected="true"><i class="fas fa-hand-holding-usd mr-2"></i>{{ trans_choice('general.transactions', 2) }}</a>
<a class="nav-link mb-sm-3 mb-md-0 active" id="transactions-tab" data-toggle="tab" href="#transactions-content" role="tab" aria-controls="transactions-content" aria-selected="true">{{ trans_choice('general.transactions', 2) }}</a>
</li>
@stack('vendor_transactions_tab_end')
@stack('vendor_bills_tab_start')
<li class="nav-item">
<a class="nav-link mb-sm-3 mb-md-0" id="bills-tab" data-toggle="tab" href="#bills-content" role="tab" aria-controls="bills-content" aria-selected="false"><i class="fa fa-money-bill mr-2"></i>{{ trans_choice('general.bills', 2) }}</a>
<a class="nav-link mb-sm-3 mb-md-0" id="bills-tab" data-toggle="tab" href="#bills-content" role="tab" aria-controls="bills-content" aria-selected="false">{{ trans_choice('general.bills', 2) }}</a>
</li>
@stack('vendor_bills_tab_end')
</ul>

View File

@ -4,10 +4,10 @@
@section('new_button')
@permission('create-sales-customers')
<span><a href="{{ route('customers.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a></span>
<span><a href="{{ route('import.create', ['group' => 'sales', 'type' => 'customers']) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-upload"></span> &nbsp;{{ trans('import.import') }}</a></span>
<a href="{{ route('customers.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
<a href="{{ route('import.create', ['group' => 'sales', 'type' => 'customers']) }}" class="btn btn-white btn-sm">{{ trans('import.import') }}</a>
@endpermission
<span><a href="{{ route('customers.export', request()->input()) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-download"></span> &nbsp;{{ trans('general.export') }}</a></span>
<a href="{{ route('customers.export', request()->input()) }}" class="btn btn-white btn-sm header-button-top">{{ trans('general.export') }}</a>
@endsection
@section('content')

View File

@ -68,7 +68,7 @@
</ul>
@stack('customer_edit_button_start')
<a href="{{ route('customers.edit', $customer->id) }}" class="btn btn-info btn-block"><i class="fas fa-edit"></i><b>{{ trans('general.edit') }}</b></a>
<a href="{{ route('customers.edit', $customer->id) }}" class="btn btn-info btn-block edit-sv"><b>{{ trans('general.edit') }}</b></a>
@stack('customer_edit_button_end')
</div>
@ -129,13 +129,13 @@
<ul class="nav nav-pills nav-fill flex-column flex-md-row" id="tabs-icons-text" role="tablist">
@stack('customer_transactions_tab_start')
<li class="nav-item">
<a class="nav-link mb-sm-3 mb-md-0 active" id="transactions-tab" data-toggle="tab" href="#transactions-content" role="tab" aria-controls="transactions-content" aria-selected="true"><i class="fas fa-hand-holding-usd mr-2"></i>{{ trans_choice('general.transactions', 2) }}</a>
<a class="nav-link mb-sm-3 mb-md-0 active" id="transactions-tab" data-toggle="tab" href="#transactions-content" role="tab" aria-controls="transactions-content" aria-selected="true">{{ trans_choice('general.transactions', 2) }}</a>
</li>
@stack('customer_transactions_tab_end')
@stack('customer_invoices_tab_start')
<li class="nav-item">
<a class="nav-link mb-sm-3 mb-md-0" id="invoices-tab" data-toggle="tab" href="#invoices-content" role="tab" aria-controls="invoices-content" aria-selected="false"><i class="fa fa-money-bill mr-2"></i>{{ trans_choice('general.invoices', 2) }}</a>
<a class="nav-link mb-sm-3 mb-md-0" id="invoices-tab" data-toggle="tab" href="#invoices-content" role="tab" aria-controls="invoices-content" aria-selected="false">{{ trans_choice('general.invoices', 2) }}</a>
</li>
@stack('customer_invoices_tab_end')
</ul>

View File

@ -4,10 +4,10 @@
@section('new_button')
@permission('create-sales-invoices')
<span><a href="{{ route('invoices.create') }}" class="btn btn-primary btn-sm btn-success header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a></span>
<span><a href="{{ route('import.create', ['group' => 'sales', 'type' => 'invoices']) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-upload"></span> &nbsp;{{ trans('import.import') }}</a></span>
<a href="{{ route('invoices.create') }}" class="btn btn-primary btn-sm btn-success header-button-top">{{ trans('general.add_new') }}</a>
<a href="{{ route('import.create', ['group' => 'sales', 'type' => 'invoices']) }}" class="btn btn-white btn-sm header-button-top">{{ trans('import.import') }}</a>
@endpermission
<span><a href="{{ route('invoices.export', request()->input()) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-download"></span> &nbsp;{{ trans('general.export') }}</a></span>
<a href="{{ route('invoices.export', request()->input()) }}" class="btn btn-white btn-sm header-button-top">{{ trans('general.export') }}</a>
@endsection
@section('content')

View File

@ -463,21 +463,21 @@
@stack('button_edit_start')
@if(!$invoice->reconciled)
<a href="{{ route('invoices.edit', $invoice->id) }}" class="btn btn-info header-button-top">
<i class="fas fa-edit"></i>&nbsp; {{ trans('general.edit') }}
{{ trans('general.edit') }}
</a>
@endif
@stack('button_edit_end')
@stack('button_print_start')
<a href="{{ route('invoices.print', $invoice->id) }}" target="_blank" class="btn btn-success header-button-top">
<i class="fa fa-print"></i>&nbsp; {{ trans('general.print') }}
{{ trans('general.print') }}
</a>
@stack('button_print_end')
@if ($invoice->status != 'cancelled')
@stack('button_share_start')
<a href="{{ $signed_url }}" target="_blank" class="btn btn-white header-button-top">
<i class="fa fa-share"></i>&nbsp; {{ trans('general.share') }}
{{ trans('general.share') }}
</a>
@stack('button_share_end')
@endif
@ -643,7 +643,7 @@
]);
@endphp
{!! Form::button('<i class="fa fa-trash-o" aria-hidden="true"></i> ' . trans('general.delete'), array(
{!! Form::button(trans('general.delete'), array(
'type' => 'button',
'class' => 'btn btn-danger btn-sm',
'title' => trans('general.delete'),

View File

@ -4,10 +4,10 @@
@section('new_button')
@permission('create-sales-revenues')
<span><a href="{{ route('revenues.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a></span>
<span><a href="{{ route('import.create', ['group' => 'sales', 'type' => 'revenues']) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-upload"></span> &nbsp;{{ trans('import.import') }}</a></span>
<a href="{{ route('revenues.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
<a href="{{ route('import.create', ['group' => 'sales', 'type' => 'revenues']) }}" class="btn btn-white btn-sm">{{ trans('import.import') }}</a>
@endpermission
<span><a href="{{ route('revenues.export', request()->input()) }}" class="btn btn-white btn-sm header-button-top"><span class="fa fa-download"></span> &nbsp;{{ trans('general.export') }}</a></span>
<a href="{{ route('revenues.export', request()->input()) }}" class="btn btn-white btn-sm">{{ trans('general.export') }}</a>
@endsection
@section('content')

View File

@ -4,7 +4,7 @@
@permission('create-settings-categories')
@section('new_button')
<span><a href="{{ route('categories.create') }}" class="btn btn-success btn-sm btn-alone"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a></span>
<a href="{{ route('categories.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endsection
@endpermission

View File

@ -4,7 +4,7 @@
@permission('create-settings-currencies')
@section('new_button')
<span><a href="{{ route('currencies.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a></span>
<a href="{{ route('currencies.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endsection
@endpermission

View File

@ -45,7 +45,7 @@
<div class="input-group">
<a href="#" class="btn btn-block btn-outline-primary" @click="onTemplate">
<i class="fas fa-palette"></i>&nbsp; {{ trans('settings.invoice.choose_template') }}
{{ trans('settings.invoice.choose_template') }}
</a>
</div>
</div>
@ -85,7 +85,8 @@
</button>
<button :disabled="form.loading" type="button" class="btn btn-success button-submit" @click="addTemplate">
<div class="aka-loader"></div><span>{{ trans('general.confirm') }}</span>
<span v-if="form.loading" class="btn-inner--icon"><i class="aka-loader"></i></span>
<span :class="[{'ml-0': form.loading}]" class="btn-inner--text">{{ trans('general.confirm') }}</span>
</button>
</div>
</template>

View File

@ -146,6 +146,7 @@
</div>
@endpermission
@permission('read-settings-currencies')
<div class="col-md-4">
<a href="{{ route('currencies.index') }}">

View File

@ -4,7 +4,7 @@
@permission('create-settings-taxes')
@section('new_button')
<span><a href="{{ route('taxes.create') }}" class="btn btn-success btn-sm btn-alone"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a></span>
<a href="{{ route('taxes.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
@endsection
@endpermission

View File

@ -33,6 +33,7 @@
<i class="fa fa-key"></i>
</span>
</div>
{!! Form::text('api_key', setting('apps.api_key', null), array_merge([
'class' => 'form-control',
'data-name' => 'api_key',
@ -44,9 +45,11 @@
<div class="invalid-feedback d-block" v-if="form.errors.has('api_key')" v-html="form.errors.get('api_key')"></div>
</div>
<p class="mb-0 mt--3">
<small>{!! trans('modules.get_api_key', ['url' => 'https://akaunting.com/dashboard']) !!}</small>
</p>
<br>
</div>
@ -64,12 +67,11 @@
<div class="row">
<div class="col-md-12 text-right">
{!! Form::button(
'<div v-if="form.loading" class="aka-loader-frame"><div class="aka-loader"></div></div> <span v-if="!form.loading" class="btn-inner--icon"><i class="fas fa-save"></i></span>' . '<span v-if="!form.loading" class="btn-inner--text"> ' . trans('general.save') . '</span>',
[':disabled' => 'form.loading', 'type' => 'submit', 'class' => 'btn btn-icon btn-success button-submit header-button-top', 'data-loading-text' => trans('general.loading')]) !!}
'<span v-if="form.loading" class="btn-inner--icon"><i class="aka-loader"></i></span> <span :class="[{\'ml-0\': form.loading}]" class="btn-inner--text">' . trans('general.save') . '</span>',
[':disabled' => 'form.loading', 'type' => 'submit', 'class' => 'btn btn-icon btn-success']) !!}
<a href="{{ route('wizard.currencies.index') }}" id="wizard-skip" class="btn btn-icon btn-white header-button-top">
<span class="btn-inner--icon"><i class="fas fa-arrow-right"></i></span>
<span class="btn-inner--text">{{ trans('general.skip') }}</span>
<a href="{{ route('wizard.currencies.index') }}" id="wizard-skip" class="btn btn-white">
{{ trans('general.skip') }}
</a>
</div>
</div>

View File

@ -9,11 +9,9 @@
<div class="card-body border-bottom-0">
<div class="row">
<div class="col-md-12 text-right">
<span>
<button type="button" @click="onAddCurrency" class="btn btn-success header-button-top btn-sm">
<span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}
<button type="button" @click="onAddCurrency" class="btn btn-success btn-sm">
{{ trans('general.add_new') }}
</button>
</span>
</div>
</div>
</div>
@ -65,6 +63,7 @@
<a class="btn btn-neutral btn-sm text-light items-align-center py-2" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-ellipsis-h text-muted"></i>
</a>
<div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow">
<button type="button" class="dropdown-item" @click="onEditCurrency('{{ $item->id }}')">
{{ trans('general.edit') }}
@ -94,11 +93,10 @@
</td>
<td class="col-xs-4 col-sm-4 col-md-2 text-center">
{!! Form::button(
'<span class="btn-inner--icon"><i class="fas fa-save"></i></span>', [
trans('general.save'), [
':disabled' => 'form.loading',
'type' => 'submit',
'class' => 'btn btn-success',
'data-loading-text' => trans('general.loading'),
]) !!}
<div class="d-none">
@ -124,13 +122,12 @@
<div class="row">
<div class="col-sm-6">
<a href="{{ route('wizard.companies.edit') }}" class="btn btn-icon btn-white header-button-top">
<span class="btn-inner--icon"><i class="fas fa-arrow-left"></i></span>
<span class="btn-inner--text">{{ trans('pagination.previous') }}</span>
</a>
</div>
<div class="col-sm-6 text-right">
<a href="{{ route('wizard.taxes.index') }}" id="wizard-skip" class="btn btn-icon btn-white header-button-top">
<span class="btn-inner--icon"><i class="fas fa-arrow-right"></i></span>
<span class="btn-inner--text">{{ trans('pagination.next') }}</span>
</a>
</div>

View File

@ -51,13 +51,12 @@
<div class="row">
<div class="col-sm-6">
<a href="{{ route('wizard.taxes.index') }}" class="btn btn-icon btn-white header-button-top">
<span class="btn-inner--icon"><i class="fas fa-arrow-left"></i></span>
<span class="btn-inner--text">{{ trans('pagination.previous') }}</span>
</a>
</div>
<div class="col-sm-6 text-right">
<a href="{{ route('dashboard') }}" id="wizard-skip" class="btn btn-icon btn-success header-button-top">
<span class="btn-inner--icon"><i class="fa fa-tachometer-alt"></i></span>
<span class="btn-inner--text">{{ trans('general.go_to_dashboard') }}</span>
</a>
</div>

View File

@ -9,11 +9,9 @@
<div class="card-body border-bottom-0">
<div class="row">
<div class="col-md-12 text-right">
<span>
<button type="button" @click="onAddTax" class="btn btn-success header-button-top btn-sm">
<span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}
<button type="button" @click="onAddTax" class="btn btn-success btn-sm">
{{ trans('general.add_new') }}
</button>
</span>
</div>
</div>
</div>
@ -89,11 +87,10 @@
</td>
<td class="col-xs-4 col-sm-4 col-md-3 text-center">
{!! Form::button(
'<span class="btn-inner--icon"><i class="fas fa-save"></i></span>', [
trans('general.save'), [
':disabled' => 'form.loading',
'type' => 'submit',
'class' => 'btn btn-success',
'data-loading-text' => trans('general.loading'),
]) !!}
</td>
</tr>
@ -107,13 +104,12 @@
<div class="row">
<div class="col-sm-6">
<a href="{{ route('wizard.currencies.index') }}" class="btn btn-icon btn-white header-button-top">
<span class="btn-inner--icon"><i class="fas fa-arrow-left"></i></span>
<span class="btn-inner--text">{{ trans('pagination.previous') }}</span>
</a>
</div>
<div class="col-sm-6 text-right">
<a href="{{ route('wizard.finish.index') }}" id="wizard-skip" class="btn btn-icon btn-white header-button-top">
<span class="btn-inner--icon"><i class="fas fa-arrow-right"></i></span>
<span class="btn-inner--text">{{ trans('pagination.next') }}</span>
</a>
</div>