Merge branch 'master' of github.com:akaunting/akaunting
This commit is contained in:
commit
b7acb13e1f
@ -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);
|
||||
});
|
||||
$this->recur($model, $recurring->recurable_type, $schedule_date);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -85,35 +94,32 @@ 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;
|
||||
}
|
||||
|
||||
if (!$clone = $this->getClone($model, $schedule_date)) {
|
||||
return;
|
||||
}
|
||||
switch ($type) {
|
||||
case 'App\Models\Purchase\Bill':
|
||||
event(new BillCreated($clone));
|
||||
|
||||
switch ($type) {
|
||||
case 'App\Models\Purchase\Bill':
|
||||
event(new BillCreated($clone));
|
||||
event(new BillRecurring($clone));
|
||||
|
||||
event(new BillRecurring($clone));
|
||||
break;
|
||||
case 'App\Models\Sale\Invoice':
|
||||
event(new InvoiceCreated($clone));
|
||||
|
||||
break;
|
||||
case 'App\Models\Sale\Invoice':
|
||||
event(new InvoiceCreated($clone));
|
||||
event(new InvoiceRecurring($clone));
|
||||
|
||||
event(new InvoiceRecurring($clone));
|
||||
break;
|
||||
case 'App\Models\Banking\Transaction':
|
||||
event(new TransactionCreated($clone));
|
||||
|
||||
break;
|
||||
case 'App\Models\Banking\Transaction':
|
||||
event(new TransactionCreated($clone));
|
||||
event(new TransactionRecurring($clone));
|
||||
|
||||
event(new TransactionRecurring($clone));
|
||||
|
||||
break;
|
||||
}
|
||||
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) {
|
||||
|
@ -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'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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()) {
|
||||
|
@ -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();
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div class="row col-md-6 pr-0">
|
||||
<base-input :label="title"
|
||||
name="recurring_frequency"
|
||||
:class="frequencyClasses"
|
||||
:error="frequencyError">
|
||||
name="recurring_frequency"
|
||||
:class="frequencyClasses"
|
||||
:error="frequencyError">
|
||||
<el-select v-model="recurring_frequency" @input="change" filterable
|
||||
:placeholder="placeholder">
|
||||
<template slot="prefix">
|
||||
@ -28,16 +28,14 @@
|
||||
:class="invertalClasses"
|
||||
:error="intervalError"
|
||||
v-model="recurring_interval"
|
||||
@input="change"
|
||||
>
|
||||
>
|
||||
</base-input>
|
||||
|
||||
<base-input :label="''"
|
||||
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>
|
||||
|
@ -1,39 +1,39 @@
|
||||
<template>
|
||||
<akaunting-modal
|
||||
:title="title"
|
||||
:show="display"
|
||||
@cancel="onCancel"
|
||||
v-if="display">
|
||||
:title="title"
|
||||
:show="display"
|
||||
@cancel="onCancel"
|
||||
v-if="display">
|
||||
<template #modal-body>
|
||||
<div class="modal-body text-left">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<base-input
|
||||
v-model="form.name"
|
||||
:label="text.name"
|
||||
prepend-icon="fas fa-font"
|
||||
:placeholder="placeholder.name"
|
||||
inputGroupClasses="input-group-merge">
|
||||
v-model="form.name"
|
||||
:label="text.name"
|
||||
prepend-icon="fas fa-font"
|
||||
:placeholder="placeholder.name"
|
||||
inputGroupClasses="input-group-merge">
|
||||
</base-input>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12">
|
||||
<base-input
|
||||
:label="text.type">
|
||||
:label="text.type">
|
||||
<span class="el-input__prefix">
|
||||
<span class="el-input__suffix-inner el-select-icon">
|
||||
<i class="select-icon-position el-input__icon fa fa-bars"></i>
|
||||
</span>
|
||||
</span>
|
||||
<el-select
|
||||
class="select-primary"
|
||||
v-model="form.class" filterable
|
||||
:placeholder="placeholder.type">
|
||||
class="select-primary"
|
||||
v-model="form.class" filterable
|
||||
:placeholder="placeholder.type">
|
||||
<el-option v-for="(name, value) in types"
|
||||
class="select-primary"
|
||||
:key="name"
|
||||
:label="name"
|
||||
:value="value">
|
||||
class="select-primary"
|
||||
:key="name"
|
||||
:label="name"
|
||||
:value="value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</base-input>
|
||||
@ -41,21 +41,21 @@
|
||||
|
||||
<div class="col-md-6">
|
||||
<base-input
|
||||
:label="text.width">
|
||||
:label="text.width">
|
||||
<span class="el-input__prefix">
|
||||
<span class="el-input__suffix-inner el-select-icon">
|
||||
<i class="select-icon-position el-input__icon fas fa-ruler-horizontal"></i>
|
||||
</span>
|
||||
</span>
|
||||
<el-select
|
||||
class="select-primary"
|
||||
v-model="form.width" filterable
|
||||
:placeholder="placeholder.width">
|
||||
class="select-primary"
|
||||
v-model="form.width" filterable
|
||||
:placeholder="placeholder.width">
|
||||
<el-option v-for="option in widthOptions"
|
||||
class="select-primary"
|
||||
:key="option.label"
|
||||
:label="option.label"
|
||||
:value="option.value">
|
||||
class="select-primary"
|
||||
:key="option.label"
|
||||
:label="option.label"
|
||||
:value="option.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</base-input>
|
||||
@ -63,11 +63,11 @@
|
||||
|
||||
<div class="col-md-6">
|
||||
<base-input
|
||||
v-model="form.sort"
|
||||
:label="text.sort"
|
||||
prepend-icon="fas fa-sort"
|
||||
:placeholder="placeholder.sort"
|
||||
inputGroupClasses="input-group-merge"></base-input>
|
||||
v-model="form.sort"
|
||||
:label="text.sort"
|
||||
prepend-icon="fas fa-sort"
|
||||
:placeholder="placeholder.sort"
|
||||
inputGroupClasses="input-group-merge"></base-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -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>
|
||||
|
@ -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);
|
||||
|
||||
|
@ -84,9 +84,6 @@
|
||||
<span v-if="!form.loading" class="btn-inner--text">
|
||||
Next
|
||||
</span>
|
||||
<span v-if="!form.loading" class="btn-inner--icon">
|
||||
<i class="fas fa-arrow-right"></i>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -32,9 +32,6 @@
|
||||
<span v-if="!form.loading" class="btn-inner--text">
|
||||
Next
|
||||
</span>
|
||||
<span v-if="!form.loading" class="btn-inner--icon">
|
||||
<i class="fas fa-arrow-right"></i>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -26,9 +26,6 @@
|
||||
<span class="btn-inner--text">
|
||||
Refresh
|
||||
</span>
|
||||
<span class="btn-inner--icon">
|
||||
<i class="fas fa-sync"></i>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -82,9 +82,6 @@
|
||||
<span v-if="!form.loading" class="btn-inner--text">
|
||||
Next
|
||||
</span>
|
||||
<span v-if="!form.loading" class="btn-inner--icon">
|
||||
<i class="fas fa-arrow-right"></i>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -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> {{ trans('general.add_new') }}</a>
|
||||
<a href="{{ route('permissions.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||
@endsection
|
||||
@endpermission
|
||||
|
||||
|
@ -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> {{ trans('general.add_new') }}</a>
|
||||
<a href="{{ route('roles.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||
@endsection
|
||||
@endpermission
|
||||
|
||||
|
@ -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> {{ trans('general.add_new') }}</a>
|
||||
<a href="{{ route('users.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||
@endsection
|
||||
@endpermission
|
||||
|
||||
|
@ -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> {{ trans('general.add_new') }}</a>
|
||||
<a href="{{ route('accounts.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||
@endpermission
|
||||
@endsection
|
||||
|
||||
|
@ -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> ' . 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> {{ 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">
|
||||
|
@ -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> {{ 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">
|
||||
|
@ -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> {{ trans('general.add_new') }}</a>
|
||||
<a href="{{ route('reconciliations.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||
@endpermission
|
||||
@endsection
|
||||
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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> {{ 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')
|
||||
|
@ -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> {{ trans('general.add_new') }}</a>
|
||||
<a href="{{ route('transfers.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||
@endsection
|
||||
@endpermission
|
||||
|
||||
|
@ -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> {{ trans('general.add_new') }}</a>
|
||||
<a href="{{ route('companies.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||
@endsection
|
||||
@endpermission
|
||||
|
||||
|
@ -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> {{ trans('general.add_new') }}</a>
|
||||
<a href="{{ route('dashboards.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||
@endsection
|
||||
@endpermission
|
||||
|
||||
|
@ -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> {{ trans('general.cancel') }}</a>
|
||||
{!! Form::button('<span class="fa fa-download"></span> ' . 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>
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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')
|
||||
|
@ -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> {{ 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> {{ trans('general.clear_cache') }}</a>
|
||||
<a href="{{ route('reports.clear') }}" class="btn btn-warning btn-sm">{{ trans('general.clear_cache') }}</a>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
@ -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> {{ trans('errors.header.403') }}</h2>
|
||||
<h2 class="mb-0 text-danger">
|
||||
<i class="fa fa-exclamation-triangle text-danger"></i> {{ 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> {{ trans('general.go_to_dashboard') }}</a>
|
||||
<a href="{{ $landing_page }}" class="btn btn-success">{{ trans('general.go_to_dashboard') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
@ -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> {{ trans('errors.header.404') }}</h2>
|
||||
<h2 class="mb-0 text-warning">
|
||||
<i class="fa fa-exclamation-triangle text-warning"></i> {{ 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> {{ trans('general.go_to_dashboard') }}</a>
|
||||
<a href="{{ $landing_page }}" class="btn btn-success">{{ trans('general.go_to_dashboard') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
@ -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> {{ trans('errors.header.500') }}</h2>
|
||||
<h2 class="mb-0 text-danger">
|
||||
<i class="fa fa-exclamation-triangle text-danger"></i> {{ 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> {{ trans('general.go_to_dashboard') }}</a>
|
||||
<a href="{{ $landing_page }}" class="btn btn-success">{{ trans('general.go_to_dashboard') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
@ -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> {{ trans('updates.check') }}</a>
|
||||
<a href="{{ route('updates.check') }}" class="btn btn-warning btn-sm">{{ trans('updates.check') }}</a>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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>
|
||||
|
@ -7,6 +7,7 @@
|
||||
@elsemobile
|
||||
<body id="leftMenu" class="g-sidenav-show">
|
||||
@endmobile
|
||||
|
||||
@stack('body_start')
|
||||
|
||||
@include('partials.admin.menu')
|
||||
|
@ -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') }} <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') .
|
||||
' <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
|
||||
|
@ -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> {{ 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> {{ 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')
|
||||
|
@ -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> {{ 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> {{ 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> {{ trans('modules.back') }}</a>
|
||||
<a href="{{ url($back) }}" class="btn btn-white">{{ trans('modules.back') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -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> {{ 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> {{ 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')
|
||||
|
@ -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> {{ 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> {{ 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
|
||||
@ -73,9 +74,9 @@
|
||||
<div class="tab-pane fade show active" id="description">
|
||||
{!! $module->description !!}
|
||||
|
||||
@if ($module->screenshots || $module->video)
|
||||
@if($module->screenshots || $module->video)
|
||||
<akaunting-carousel :name="'{{ $module->name }}'" :height="'430px'" arrow="always"
|
||||
@if ($module->video)
|
||||
@if($module->video)
|
||||
@php
|
||||
if (strpos($module->video->link, '=') !== false) {
|
||||
$code = explode('=', $module->video->link);
|
||||
@ -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">
|
||||
|
@ -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> {{ 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> {{ 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')
|
||||
|
@ -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> {{ 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> {{ 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> {!! 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') !!} <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
|
||||
|
@ -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>
|
||||
|
@ -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> {{ $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
|
||||
|
@ -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'),
|
||||
|
@ -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')
|
||||
|
@ -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 }})
|
||||
|
@ -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> ' . 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() !!}
|
||||
|
@ -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> {{ 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> {{ trans('general.export') }}
|
||||
</a>
|
||||
</span>
|
||||
<a href="{{ url($class->getUrl('print')) }}" target="_blank" class="btn btn-white btn-sm">
|
||||
{{ trans('general.print') }}
|
||||
</a>
|
||||
<a href="{{ url($class->getUrl('export')) }}" class="btn btn-white btn-sm header-button-top">
|
||||
{{ trans('general.export') }}
|
||||
</a>
|
||||
@endsection
|
||||
|
@ -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> {{ 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> {{ 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>
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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>
|
||||
|
@ -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">
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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)
|
||||
|
@ -105,10 +105,11 @@
|
||||
@stack('discount_input_start')
|
||||
<div class="input-group input-group-merge">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text" id="input-discount">
|
||||
<i class="fa fa-percent"></i>
|
||||
</span>
|
||||
<span class="input-group-text" id="input-discount">
|
||||
<i class="fa fa-percent"></i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<input type="number"
|
||||
max="100"
|
||||
min="0"
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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'),
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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')
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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')
|
||||
|
@ -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>
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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')
|
||||
|
@ -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>
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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')
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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'),
|
||||
|
@ -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> {{ 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> {{ 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> {{ 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')
|
||||
|
@ -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> {{ trans('general.add_new') }}</a></span>
|
||||
<a href="{{ route('categories.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||
@endsection
|
||||
@endpermission
|
||||
|
||||
|
@ -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> {{ trans('general.add_new') }}</a></span>
|
||||
<a href="{{ route('currencies.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||
@endsection
|
||||
@endpermission
|
||||
|
||||
|
@ -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> {{ 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>
|
||||
|
@ -144,7 +144,8 @@
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
@endpermission
|
||||
@endpermission
|
||||
|
||||
|
||||
@permission('read-settings-currencies')
|
||||
<div class="col-md-4">
|
||||
|
@ -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> {{ trans('general.add_new') }}</a></span>
|
||||
<a href="{{ route('taxes.create') }}" class="btn btn-success btn-sm">{{ trans('general.add_new') }}</a>
|
||||
@endsection
|
||||
@endpermission
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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> {{ trans('general.add_new') }}
|
||||
</button>
|
||||
</span>
|
||||
<button type="button" @click="onAddCurrency" class="btn btn-success btn-sm">
|
||||
{{ trans('general.add_new') }}
|
||||
</button>
|
||||
</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>
|
||||
|
@ -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>
|
||||
|
@ -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> {{ trans('general.add_new') }}
|
||||
</button>
|
||||
</span>
|
||||
<button type="button" @click="onAddTax" class="btn btn-success btn-sm">
|
||||
{{ trans('general.add_new') }}
|
||||
</button>
|
||||
</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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user