v2 first commit
This commit is contained in:
@@ -1,46 +1,17 @@
|
||||
@stack('content_start')
|
||||
|
||||
<!-- Content Wrapper. Contains page content -->
|
||||
<div class="content-wrapper">
|
||||
@stack('content_wrapper_start')
|
||||
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header content-center">
|
||||
@stack('content_header_start')
|
||||
|
||||
<h1>
|
||||
@yield('title')
|
||||
@yield('new_button')
|
||||
@if (!empty($suggestion_modules))
|
||||
@foreach($suggestion_modules as $s_module)
|
||||
<span class="new-button">
|
||||
<a href="{{ url($s_module->action_url) . '?' . http_build_query((array) $s_module->action_parameters) }}" class="btn btn-default btn-sm" target="{{ $s_module->action_target }}"><span class="fa fa-rocket"></span> {{ $s_module->name }}</a>
|
||||
</span>
|
||||
@endforeach
|
||||
@endif
|
||||
</h1>
|
||||
|
||||
@stack('content_header_end')
|
||||
</section>
|
||||
|
||||
<!-- Main content -->
|
||||
<section class="content content-center">
|
||||
@include('flash::message')
|
||||
|
||||
<div id="app">
|
||||
@stack('content_content_start')
|
||||
|
||||
@yield('content')
|
||||
@yield('content')
|
||||
|
||||
@stack('content_content_end')
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
<notifications></notifications>
|
||||
|
||||
@stack('content_wrapper_end')
|
||||
</div>
|
||||
<!-- /.content-wrapper -->
|
||||
|
||||
<script type="text/javascript">
|
||||
$('div.alert').not('.alert-important').delay(3000).fadeOut(350);
|
||||
</script>
|
||||
|
||||
@stack('content_end')
|
||||
<akaunting-modal
|
||||
v-if="addNew.modal"
|
||||
:show="addNew.modal"
|
||||
:title="addNew.title"
|
||||
:message="addNew.html">
|
||||
</akaunting-modal>
|
||||
</div>
|
||||
@stack('content_end')
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
@stack('footer_start')
|
||||
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right hidden-xs">
|
||||
<b>{{ trans('footer.version') }}</b> {{ version('short') }}
|
||||
</div>
|
||||
<strong>{{ trans('footer.powered') }}</strong>: <a href="{{ trans('footer.link') }}" target="_blank">{{ trans('footer.software') }}</a>
|
||||
</footer>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="text-sm float-left text-muted footer-texts">
|
||||
{{ trans('footer.powered') }}: <a class="text-success" href="{{ trans('footer.link') }}" target="_blank">{{ trans('footer.software') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="text-sm float-right text-muted footer-texts">
|
||||
{{ trans('footer.version') }} {{ version('short') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
@stack('footer_end')
|
||||
|
||||
@@ -1,72 +1,54 @@
|
||||
<head>
|
||||
@stack('head_start')
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<title>@yield('title') - @setting('company.name')</title>
|
||||
|
||||
<title>@yield('title') - @setting('general.company_name')</title>
|
||||
@include('partials.pwa.pwa')
|
||||
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/css/bootstrap.min.css') }}">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/font-awesome.min.css') }}">
|
||||
<!-- Ionicons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/ionicons.min.css') }}">
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/AdminLTE.min.css') }}">
|
||||
<!-- AdminLTE Skins -->
|
||||
@if (setting('general.admin_theme', 'skin-green-light') == 'skin-green-light')
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-green-light.min.css') }}">
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-black.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/skin-black.css?v=' . version('short')) }}">
|
||||
@endif
|
||||
<!-- Select2 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/plugins/select2/select2.min.css') }}">
|
||||
<!-- App style -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/app.css?v=' . version('short')) }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-green.css?v=' . version('short')) }}">
|
||||
|
||||
<link rel="shortcut icon" href="{{ asset('public/img/favicon.ico') }}">
|
||||
|
||||
@stack('css')
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="{{ asset('public/img/favicon.ico') }}" type="image/png">
|
||||
|
||||
@stack('stylesheet')
|
||||
<!-- Font -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!-- Icons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/nucleo/css/nucleo.css') }}" type="text/css">
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/@fortawesome/fontawesome-free/css/all.min.css') }}" type="text/css">
|
||||
|
||||
<!-- jQuery 2.2.3 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/jQuery/jquery-2.2.3.min.js') }}"></script>
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/js/bootstrap.min.js') }}"></script>
|
||||
<!-- SlimScroll -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/slimScroll/jquery.slimscroll.min.js') }}"></script>
|
||||
<!-- FastClick -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/fastclick/fastclick.js') }}"></script>
|
||||
<!-- AdminLTE App -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/dist/js/app.min.js') }}"></script>
|
||||
<!-- Select2 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/select2/select2.min.js') }}"></script>
|
||||
<!-- Mask Money -->
|
||||
<script src="{{ asset('public/js/jquery/jquery.maskMoney.js') }}"></script>
|
||||
<!-- Css -->
|
||||
<!-- Argon -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/argon.css?v=1.1.0') }}" type="text/css">
|
||||
|
||||
<script src="{{ asset('public/js/app.js?v=' . version('short')) }}"></script>
|
||||
<!-- Color -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-color.css?v=' . version('short')) }}">
|
||||
<!-- Custom -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/custom.css?v=' . version('short')) }}">
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
var app_url = '{{ url("/") }}';
|
||||
var url_search = '{{ url("common/search/search") }}';
|
||||
//--></script>
|
||||
@stack('css')
|
||||
|
||||
@stack('js')
|
||||
@stack('stylesheet')
|
||||
|
||||
@stack('scripts')
|
||||
<script type="text/javascript"><!--
|
||||
var url = '{{ url("/") }}';
|
||||
var app_url = '{{ env("APP_URL") }}';
|
||||
//--></script>
|
||||
|
||||
@stack('js')
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
window.Laravel = <?php echo json_encode([
|
||||
'csrfToken' => csrf_token(),
|
||||
]); ?>;
|
||||
|
||||
var aka_currency = {!! !empty($currency) ? $currency : 'false' !!};
|
||||
|
||||
var flash_notification = {!! (session()->has('flash_notification')) ? json_encode(session()->get('flash_notification')) : 'false' !!};
|
||||
//--></script>
|
||||
|
||||
{{ session()->forget('flash_notification') }}
|
||||
|
||||
@stack('scripts')
|
||||
@stack('head_end')
|
||||
</head>
|
||||
|
||||
@@ -1,250 +1,31 @@
|
||||
@stack('header_start')
|
||||
<div id="header" class="header pb-6">
|
||||
<div class="container-fluid content-layout">
|
||||
<div class="header-body">
|
||||
<div class="row py-4 align-items-center">
|
||||
<div class="col-sm-4 col-md-5 align-items-center">
|
||||
<h2 class="d-inline-block mb-0">@yield('title')</h2>
|
||||
@yield('dashboard_action')
|
||||
</div>
|
||||
<div class="col-sm-8 col-md-7">
|
||||
<div class="text-right">
|
||||
@yield('new_button')
|
||||
|
||||
<header class="main-header">
|
||||
<!-- Logo -->
|
||||
<a href="{{ url('/') }}" class="logo">
|
||||
@if (setting('general.admin_theme', 'skin-green-light') == 'skin-green-light')
|
||||
<!-- mini logo for sidebar mini 50x50 pixels -->
|
||||
<span class="logo-mini"><img src="{{ asset('public/img/akaunting-logo-white.png') }}" class="logo-image-mini" width="25" alt="Akaunting Logo"></span>
|
||||
<!-- logo for regular state and mobile devices -->
|
||||
<span class="logo-lg"><img src="{{ asset('public/img/akaunting-logo-white.png') }}" class="logo-image-lg" width="25" alt="Akaunting Logo"> <b>Akaunting</b></span>
|
||||
@else
|
||||
<!-- mini logo for sidebar mini 50x50 pixels -->
|
||||
<span class="logo-mini"><img src="{{ asset('public/img/akaunting-logo-green.png') }}" class="logo-image-mini" width="25" alt="Akaunting Logo"></span>
|
||||
<!-- logo for regular state and mobile devices -->
|
||||
<span class="logo-lg"><img src="{{ asset('public/img/akaunting-logo-green.png') }}" class="logo-image-lg" width="25" alt="Akaunting Logo"> <b>Akaunting</b></span>
|
||||
@endif
|
||||
</a>
|
||||
<!-- Header Navbar: style can be found in header.less -->
|
||||
<nav class="navbar navbar-static-top">
|
||||
<!-- Sidebar toggle button-->
|
||||
<a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
</a>
|
||||
|
||||
<ul class="add-new nav navbar-nav pull-left">
|
||||
<!-- Notifications: style can be found in dropdown.less -->
|
||||
<li class="dropdown add-new-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-plus"></i>
|
||||
</a>
|
||||
<div class="dropdown-menu">
|
||||
<ul class="list-inline">
|
||||
<li>
|
||||
<ul class="list-unstyled">
|
||||
<li class="header"><i class="fa fa-money"></i> <span style="font-weight: 600;">{{ trans_choice('general.incomes', 1) }}</span></li>
|
||||
<li>
|
||||
<ul class="menu">
|
||||
@permission('create-incomes-invoices')
|
||||
<li><a href="{{ url('incomes/invoices/create') }}">{{ trans_choice('general.invoices', 1) }}</a></li>
|
||||
@endpermission
|
||||
@permission('create-incomes-revenues')
|
||||
<li><a href="{{ url('incomes/revenues/create') }}">{{ trans_choice('general.revenues', 1) }}</a></li>
|
||||
@endpermission
|
||||
@permission('create-incomes-customers')
|
||||
<li><a href="{{ url('incomes/customers/create') }}">{{ trans_choice('general.customers', 1) }}</a></li>
|
||||
@endpermission
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul class="list-unstyled">
|
||||
<li class="header"><i class="fa fa-shopping-cart"></i> <span style="font-weight: 600;">{{ trans_choice('general.expenses', 1) }}</span></li>
|
||||
<li>
|
||||
<ul class="menu">
|
||||
@permission('create-expenses-bills')
|
||||
<li><a href="{{ url('expenses/bills/create') }}">{{ trans_choice('general.bills', 1) }}</a></li>
|
||||
@endpermission
|
||||
@permission('create-expenses-payments')
|
||||
<li><a href="{{ url('expenses/payments/create') }}">{{ trans_choice('general.payments', 1) }}</a></li>
|
||||
@endpermission
|
||||
@permission('create-expenses-vendors')
|
||||
<li><a href="{{ url('expenses/vendors/create') }}">{{ trans_choice('general.vendors', 1) }}</a></li>
|
||||
@endpermission
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<ul class="list-unstyled">
|
||||
<li class="header"><i class="fa fa-university"></i> <span style="font-weight: 600;">{{ trans('general.banking') }}</span></li>
|
||||
<li>
|
||||
<ul class="menu">
|
||||
@permission('create-banking-accounts')
|
||||
<li><a href="{{ url('banking/accounts/create') }}">{{ trans_choice('general.accounts', 1) }}</a></li>
|
||||
@endpermission
|
||||
@permission('create-banking-transfers')
|
||||
<li><a href="{{ url('banking/transfers/create') }}">{{ trans_choice('general.transfers', 1) }}</a></li>
|
||||
@endpermission
|
||||
@permission('create-banking-reconciliations')
|
||||
<li><a href="{{ url('banking/reconciliations/create') }}">{{ trans_choice('general.reconciliations', 1) }}</a></li>
|
||||
@endpermission
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@stack('header_navbar_left')
|
||||
|
||||
<div class="navbar-custom-menu">
|
||||
<ul class="nav navbar-nav">
|
||||
@stack('header_navbar_right')
|
||||
|
||||
@permission('read-notifications')
|
||||
<!-- Notifications: style can be found in dropdown.less -->
|
||||
<li class="dropdown notifications-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-bell-o"></i>
|
||||
@if ($notifications)
|
||||
<span class="label label-warning">{{ $notifications }}</span>
|
||||
@endif
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="header">{{ trans_choice('header.notifications.counter', $notifications, ['count' => $notifications]) }}</li>
|
||||
<li>
|
||||
<!-- inner menu: contains the actual data -->
|
||||
<ul class="menu">
|
||||
@if (count($bills))
|
||||
<li>
|
||||
<a href="{{ url('auth/users/' . $user->id . '/read-bills') }}">
|
||||
<i class="fa fa-shopping-cart text-red"></i> {{ trans_choice('header.notifications.upcoming_bills', count($bills), ['count' => count($bills)]) }}
|
||||
</a>
|
||||
</li>
|
||||
@permission('read-modules-home')
|
||||
@if (!empty($suggestion_modules))
|
||||
@foreach($suggestion_modules as $s_module)
|
||||
<span>
|
||||
<a href="{{ url($s_module->action_url) . '?' . http_build_query((array) $s_module->action_parameters) }}" class="btn btn-white btn-sm header-button-bottom" target="{{ $s_module->action_target }}"><span class="fa fa-rocket"></span> {{ $s_module->name }}</a>
|
||||
</span>
|
||||
@endforeach
|
||||
@endif
|
||||
@if (count($invoices))
|
||||
<li>
|
||||
<a href="{{ url('auth/users/' . $user->id . '/read-invoices') }}">
|
||||
<i class="fa fa-money text-green"></i> {{ trans_choice('header.notifications.overdue_invoices', count($invoices), ['count' => count($invoices)]) }}
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if (count($items))
|
||||
<li>
|
||||
<a href="{{ url('auth/users/' . $user->id . '/read-items') }}">
|
||||
<i class="fa fa-cubes text-red"></i> {{ trans_choice('header.notifications.items_stock', count($items), ['count' => count($items)]) }}
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if (count($items_reminder))
|
||||
<li>
|
||||
<a href="{{ url('auth/users/' . $user->id . '/read-items') }}">
|
||||
<i class="fa fa-cubes text-red"></i> {{ trans_choice('header.notifications.items_reminder', count($items_reminder), ['count' => count($items_reminder)]) }}
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</li>
|
||||
<li class="footer"><a href="#">{{ trans('header.notifications.view_all') }}</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
@endpermission
|
||||
<!-- Tasks: style can be found in dropdown.less -->
|
||||
<li class="dropdown tasks-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-flag-o"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="header">{{ trans('header.change_language') }}</li>
|
||||
<li>
|
||||
<!-- inner menu: contains the actual data -->
|
||||
{!! language()->flags() !!}
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
@permission('read-install-updates')
|
||||
<!-- Updates: style can be found in dropdown.less -->
|
||||
<li>
|
||||
<a href="{{ url('install/updates') }}" data-toggle="tooltip" data-placement="bottom" title="{{ $updates }} Updates Available">
|
||||
<i class="fa fa-refresh"></i>
|
||||
@if ($updates)
|
||||
<span class="label label-danger">{{ $updates }}</span>
|
||||
@endif
|
||||
</a>
|
||||
</li>
|
||||
@endpermission
|
||||
<!-- Updates: style can be found in dropdown.less -->
|
||||
<li class="hidden-xs">
|
||||
<a href="{{ url(trans('header.docs_link')) }}" target="_blank" title="{{ trans('general.help') }}">
|
||||
<i class="fa fa-life-ring"></i>
|
||||
</a>
|
||||
</li>
|
||||
<!-- User Account: style can be found in dropdown.less -->
|
||||
<li class="dropdown user user-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
@if ($user->picture)
|
||||
@if (setting('general.use_gravatar', '0') == '1')
|
||||
<img src="{{ $user->picture }}" class="user-image" alt="User Image">
|
||||
@else
|
||||
<img src="{{ Storage::url($user->picture->id) }}" class="user-image" alt="User Image">
|
||||
@endif
|
||||
@else
|
||||
<i class="fa fa-user-o"></i>
|
||||
@endif
|
||||
@if (!empty($user->name))
|
||||
<span class="hidden-xs">{{ $user->name }}</span>
|
||||
@endif
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<!-- User image -->
|
||||
<li class="user-header">
|
||||
@if ($user->picture)
|
||||
@if (setting('general.use_gravatar', '0') == '1')
|
||||
<img src="{{ $user->picture }}" class="img-circle" alt="User Image">
|
||||
@else
|
||||
<img src="{{ Storage::url($user->picture->id) }}" class="img-circle" alt="User Image">
|
||||
@endif
|
||||
@else
|
||||
<i class="fa fa-4 fa-user-o" style="color: #fff; font-size: 7em;"></i>
|
||||
@endif
|
||||
<p>
|
||||
@if (!empty($user->name))
|
||||
{{ $user->name }}
|
||||
@endif
|
||||
<small>{{ trans('header.last_login', ['time' => $user->last_logged_in_at]) }}</small>
|
||||
</p>
|
||||
</li>
|
||||
<!-- Menu Body -->
|
||||
<li class="user-body">
|
||||
<div class="row">
|
||||
@permission('read-auth-users')
|
||||
<div class="col-xs-4 text-center">
|
||||
<a href="{{ url('auth/users') }}">{{ trans_choice('general.users', 2) }}</a>
|
||||
</div>
|
||||
@endpermission
|
||||
@permission('read-auth-roles')
|
||||
<div class="col-xs-4 text-center">
|
||||
<a href="{{ url('auth/roles') }}">{{ trans_choice('general.roles', 2) }}</a>
|
||||
</div>
|
||||
@endpermission
|
||||
@permission('read-auth-permissions')
|
||||
<div class="col-xs-4 text-center">
|
||||
<a href="{{ url('auth/permissions') }}">{{ trans_choice('general.permissions', 2) }}</a>
|
||||
</div>
|
||||
@endpermission
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
</li>
|
||||
<!-- Menu Footer-->
|
||||
<li class="user-footer">
|
||||
@permission('read-auth-profile')
|
||||
<div class="pull-left">
|
||||
<a href="{{ url('auth/users/' . $user->id . '/edit') }}" class="btn btn-default btn-flat">{{ trans('auth.profile') }}</a>
|
||||
</div>
|
||||
@endpermission
|
||||
<div class="pull-right">
|
||||
<a href="{{ url('auth/logout') }}" class="btn btn-default btn-flat">{{ trans('auth.logout') }}</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
@stack('header_button')
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('header_end')
|
||||
|
||||
@@ -1,43 +1,47 @@
|
||||
@stack('menu_start')
|
||||
|
||||
<aside class="main-sidebar">
|
||||
<!-- sidebar: style can be found in sidebar.less -->
|
||||
<section class="sidebar">
|
||||
<!-- Sidebar user panel -->
|
||||
<div class="user-panel">
|
||||
<div class="pull-left image">
|
||||
<img src="{{ setting('general.company_logo') ? Storage::url(setting('general.company_logo')) : asset('public/img/company.png') }}" class="img-circle" alt="@setting('general.company_name')">
|
||||
</div>
|
||||
<div class="pull-left info">
|
||||
<p>{{ str_limit(setting('general.company_name'), 22) }}</p>
|
||||
@permission('read-common-companies')
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="caret"></span> {{ trans('general.switch') }}</a>
|
||||
<ul class="dropdown-menu">
|
||||
@foreach($companies as $com)
|
||||
<li><a href="{{ url('common/companies/'. $com->id .'/set') }}">{{ str_limit($com->company_name, 18) }}</a></li>
|
||||
@endforeach
|
||||
@permission('update-common-companies')
|
||||
<li role="separator" class="divider"></li>
|
||||
<li><a href="{{ url('common/companies') }}">{{ trans('companies.manage') }}</a></li>
|
||||
@endpermission
|
||||
<nav class="sidenav navbar navbar-vertical fixed-left navbar-expand-xs navbar-light bg-default" id="sidenav-main">
|
||||
<div class="scrollbar-inner">
|
||||
<div class="sidenav-header d-flex align-items-center ml-4">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span class="avatar avatar-xs background-unset">
|
||||
<img class="border-radius-0 border-0 mr-3" alt="Image placeholder" src="{{ setting('company.logo') ? Storage::url(setting('company.logo')) : asset('public/img/akaunting-logo-white.png') }}">
|
||||
</span>
|
||||
<div class="media-body pl-2 d-grid nav-header-text">
|
||||
<span class="font-weight-bold o-y">{{ Str::limit(setting('company.name'), 22) }}<i class="fas fa-sort-down pl-2"></i></span>
|
||||
</div>
|
||||
</a>
|
||||
@permission('read-common-companies')
|
||||
<div class="dropdown-menu dropdown-menu-right menu-dropdown">
|
||||
@foreach($companies as $com)
|
||||
<a href="{{ route('companies.switch', $com->id) }}" class="dropdown-item">
|
||||
<i class="fas fa-building"></i>
|
||||
<span>{{ Str::limit($com->name, 18) }}</span>
|
||||
</a>
|
||||
@endforeach
|
||||
@permission('update-common-companies')
|
||||
<div class="dropdown-divider"></div>
|
||||
<a href="{{ route('companies.index') }}" class="dropdown-item">
|
||||
<i class="fas fa-cogs"></i>
|
||||
<span>{{ trans('companies.manage') }}</span>
|
||||
</a>
|
||||
@endpermission
|
||||
</div>
|
||||
@endpermission
|
||||
</li>
|
||||
</ul>
|
||||
@endpermission
|
||||
<div class="ml-auto left-menu-toggle-position">
|
||||
<div class="sidenav-toggler d-none d-xl-block left-menu-toggle" data-action="sidenav-unpin" data-target="#sidenav-main">
|
||||
<div class="sidenav-toggler-inner">
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! menu('admin') !!}
|
||||
</div>
|
||||
<!-- search form -->
|
||||
<form action="#" method="get" id="form-search" class="sidebar-form">
|
||||
<div id="live-search" class="input-group">
|
||||
<input type="text" name="live-search" value="<?php //echo $search; ?>" id="input-search" class="form-control" placeholder="{{ trans('general.search_placeholder') }}">
|
||||
<span class="input-group-btn">
|
||||
<button type="submit" name="live-search" id="search-btn" class="btn btn-flat"><i class="fa fa-search"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
<!-- /.search form -->
|
||||
<!-- sidebar menu: : style can be found in sidebar.less -->
|
||||
{!! Menu::get('AdminMenu') !!}
|
||||
</section>
|
||||
<!-- /.sidebar -->
|
||||
</aside>
|
||||
|
||||
@stack('menu_end')
|
||||
</nav>
|
||||
@stack('menu_end')
|
||||
|
||||
248
resources/views/partials/admin/navbar.blade.php
Normal file
248
resources/views/partials/admin/navbar.blade.php
Normal file
@@ -0,0 +1,248 @@
|
||||
@stack('navbar_start')
|
||||
<nav class="navbar navbar-top navbar-expand navbar-dark border-bottom">
|
||||
<div class="container-fluid">
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
@if (user()->can('read-common-search'))
|
||||
<form class="navbar-search navbar-search-light form-inline mb-0" id="navbar-search-main" autocomplete="off">
|
||||
<div id="global-search" class="form-group mb-0 mr-sm-3">
|
||||
<div class="input-group input-group-alternative input-group-merge">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text"><i class="fa fa-search"></i></span>
|
||||
</div>
|
||||
<input type="text" name="search" v-model="keyword" @input="onChange" v-click-outside="closeResult" class="form-control" autocomplete="off" placeholder="Search">
|
||||
<div class="dropdown-menu dropdown-menu-xl dropdown-menu-center" ref="menu" :class="[{show: show}]">
|
||||
<div class="list-group list-group-flush">
|
||||
<a class="list-group-item list-group-item-action" :href="item.href" v-for="(item, index) in items">
|
||||
<div class="row align-items-center">
|
||||
<div class="col ml--2">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<div class="name" v-text="item.name"></div>
|
||||
</div>
|
||||
<div class="text-muted">
|
||||
<span class="type" v-text="item.type"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="close" data-action="search-close" data-target="#navbar-search-main" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</form>
|
||||
@endif
|
||||
|
||||
<ul class="navbar-nav align-items-center ml-md-auto">
|
||||
<li class="nav-item d-xl-none">
|
||||
<div class="pr-3 sidenav-toggler sidenav-toggler-dark" data-action="sidenav-pin" data-target="#sidenav-main">
|
||||
<div class="sidenav-toggler-inner">
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="nav-item d-sm-none">
|
||||
<a class="nav-link" href="#" data-action="search-show" data-target="#navbar-search-main">
|
||||
<i class="fa fa-search"></i>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@if (user()->can(['create-incomes-invoices', 'create-incomes-revenues', 'create-incomes-customers', 'create-expenses-bills', 'create-expenses-payments', 'create-expenses-vendors']))
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-plus"></i>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-lg dropdown-menu-dark dropdown-menu-right">
|
||||
<div class="row shortcuts px-4">
|
||||
@permission('create-incomes-invoices')
|
||||
<a href="{{ route('invoices.create') }}" class="col-4 shortcut-item">
|
||||
<span class="shortcut-media avatar rounded-circle bg-gradient-info">
|
||||
<i class="fa fa-money-bill"></i>
|
||||
</span>
|
||||
<small class="text-info">{{ trans_choice('general.invoices', 1) }}</small>
|
||||
</a>
|
||||
@endpermission
|
||||
|
||||
@permission('create-incomes-revenues')
|
||||
<a href="{{ route('revenues.create') }}" class="col-4 shortcut-item">
|
||||
<span class="shortcut-media avatar rounded-circle bg-gradient-info">
|
||||
<i class="fas fa-hand-holding-usd"></i>
|
||||
</span>
|
||||
<small class="text-info">{{ trans_choice('general.revenues', 1) }}</small>
|
||||
</a>
|
||||
@endpermission
|
||||
|
||||
@permission('create-incomes-customers')
|
||||
<a href="{{ route('customers.create') }}" class="col-4 shortcut-item">
|
||||
<span class="shortcut-media avatar rounded-circle bg-gradient-info">
|
||||
<i class="fas fa-user"></i>
|
||||
</span>
|
||||
<small class="text-info">{{ trans_choice('general.customers', 1) }}</small>
|
||||
</a>
|
||||
@endpermission
|
||||
|
||||
@permission('create-expenses-bills')
|
||||
<a href="{{ route('bills.create') }}" class="col-4 shortcut-item">
|
||||
<span class="shortcut-media avatar rounded-circle bg-gradient-danger">
|
||||
<i class="fa fa-shopping-cart"></i>
|
||||
</span>
|
||||
<small class="text-danger">{{ trans_choice('general.bills', 1) }}</small>
|
||||
</a>
|
||||
@endpermission
|
||||
|
||||
@permission('create-expenses-payments')
|
||||
<a href="{{ route('payments.create') }}" class="col-4 shortcut-item">
|
||||
<span class="shortcut-media avatar rounded-circle bg-gradient-danger">
|
||||
<i class="fas fa-hand-holding-usd"></i>
|
||||
</span>
|
||||
<small class="text-danger">{{ trans_choice('general.payments', 1) }}</small>
|
||||
</a>
|
||||
@endpermission
|
||||
|
||||
@permission('create-expenses-vendors')
|
||||
<a href="{{ route('vendors.create') }}" class="col-4 shortcut-item">
|
||||
<span class="shortcut-media avatar rounded-circle bg-gradient-danger">
|
||||
<i class="fas fa-user"></i>
|
||||
</span>
|
||||
<small class="text-danger">{{ trans_choice('general.vendors', 1) }}</small>
|
||||
</a>
|
||||
@endpermission
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span>
|
||||
<i class="far fa-bell"></i>
|
||||
</span>
|
||||
@if ($notifications)
|
||||
<span class="badge badge-md badge-circle badge-floating badge-warning">{{ $notifications }}</span>
|
||||
@endif
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu dropdown-menu-lg dropdown-menu-right py-0 overflow-hidden">
|
||||
<div class="px-3 py-3">
|
||||
<a class="text-sm text-muted m-0">{{ trans_choice('header.notifications.counter', $notifications, ['count' => $notifications]) }}</a>
|
||||
</div>
|
||||
|
||||
<div class="list-group list-group-flush">
|
||||
@if (count($bills))
|
||||
<a href="{{ route('users.read.bills', $user->id) }}" class="list-group-item list-group-item-action">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-auto">
|
||||
<i class="fa fa-shopping-cart"></i>
|
||||
</div>
|
||||
<div class="col ml--2">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h4 class="mb-0 text-sm">{{ trans_choice('header.notifications.upcoming_bills', count($bills), ['count' => count($bills)]) }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
@endif
|
||||
|
||||
@if (count($invoices))
|
||||
<a href="{{ route('users.read.invoices', $user->id) }}" class="list-group-item list-group-item-action">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-auto">
|
||||
<i class="fa fa-money-bill-alt"></i>
|
||||
</div>
|
||||
<div class="col ml--2">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h4 class="mb-0 text-sm">{{ trans_choice('header.notifications.overdue_invoices', count($invoices), ['count' => count($invoices)]) }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<a href="#" class="dropdown-item text-center text-success font-weight-bold py-3">{{ trans('header.notifications.view_all') }}</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@permission('read-install-updates')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('updates.index') }}" title="{{ $updates }} Updates Available" role="button" aria-haspopup="true" aria-expanded="false">
|
||||
<span>
|
||||
<i class="fa fa-sync-alt"></i>
|
||||
</span>
|
||||
@if ($updates)
|
||||
<span class="badge badge-md badge-circle badge-floating badge-warning">{{ $updates }}</span>
|
||||
@endif
|
||||
</a>
|
||||
</li>
|
||||
@endpermission
|
||||
|
||||
<li class="nav-item hidden-md">
|
||||
<a class="nav-link" href="{{ url(trans('header.support_link')) }}" target="_blank" title="{{ trans('general.help') }}" role="button" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="far fa-life-ring"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="navbar-nav align-items-center ml-auto ml-md-0">
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link pr-0" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
|
||||
<div class="media align-items-center">
|
||||
<span class="avatar avatar-sm rounded-circle bg-default font-size-1">
|
||||
<i class="fas fa-user-alt"></i>
|
||||
</span>
|
||||
<div class="media-body ml-2 d-none d-lg-block">
|
||||
<span class="mb-0 text-sm font-weight-bold">
|
||||
@if (!empty($user->name))
|
||||
{{ $user->name }}
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<div class="dropdown-header noti-title">
|
||||
<h6 class="text-overflow m-0">{{ trans('general.welcome') }}</h6>
|
||||
</div>
|
||||
@permission('update-auth-users')
|
||||
<a href="{{ route('users.edit', $user->id) }}" class="dropdown-item">
|
||||
<i class="fas fa-user"></i>
|
||||
<span>{{ trans('auth.profile') }}</span>
|
||||
</a>
|
||||
@endpermission
|
||||
@permission('read-auth-users')
|
||||
<div class="dropdown-divider"></div>
|
||||
<a href="{{ route('users.index') }}" class="dropdown-item">
|
||||
<i class="fas fa-users"></i>
|
||||
<span>{{ trans_choice('general.users', 2) }}</span>
|
||||
</a>
|
||||
@endpermission
|
||||
@permission('read-auth-roles')
|
||||
<a href="{{ route('roles.index') }}" class="dropdown-item">
|
||||
<i class="fas fa-list"></i>
|
||||
<span>{{ trans_choice('general.roles', 2) }}</span>
|
||||
</a>
|
||||
@endpermission
|
||||
@permission('read-auth-permissions')
|
||||
<a href="{{ route('permissions.index') }}" class="dropdown-item">
|
||||
<i class="fas fa-key"></i>
|
||||
<span>{{ trans_choice('general.permissions', 2) }}</span>
|
||||
</a>
|
||||
@endpermission
|
||||
<div class="dropdown-divider"></div>
|
||||
<a href="{{ route('logout') }}" class="dropdown-item">
|
||||
<i class="fas fa-power-off"></i>
|
||||
<span>{{ trans('auth.logout') }}</span>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@stack('navbar_end')
|
||||
@@ -1,16 +1,24 @@
|
||||
@stack('pagination_start')
|
||||
@if ($items->firstItem())
|
||||
<div class="col-6">
|
||||
<span class="table-text hidden-lg">
|
||||
{{ trans('general.show') }}
|
||||
</span>
|
||||
{!! Form::select('limit', $limits, request('limit', setting('default.list_limit', '25')), ['class' => 'form-control form-control-sm table-header-search hidden-md', 'onchange' => 'this.form.submit()']) !!}
|
||||
<span class="table-text hidden-lg">
|
||||
{{ trans('pagination.page') }}
|
||||
{{ trans('pagination.showing', ['first' => $items->firstItem(), 'last' => $items->lastItem(), 'total' => $items->total(), 'type' => strtolower((isset($title)) ? $title : trans_choice('general.' . $type, 2))]) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@if ($items->firstItem())
|
||||
<div class="pull-left" style="margin-top: 7px;">
|
||||
<small>{{ trans('pagination.showing', ['first' => $items->firstItem(), 'last' => $items->lastItem(), 'total' => $items->total(), 'type' => strtolower((isset($title)) ? $title : trans_choice('general.' . $type, 2))]) }}</small>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
{!! $items->appends(request()->except('page'))->links() !!}
|
||||
</div>
|
||||
@else
|
||||
<div class="pull-left">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@stack('pagination_end')
|
||||
<div class="col-6">
|
||||
<nav class="float-right">
|
||||
{!! $items->appends(request()->except('page'))->links() !!}
|
||||
</nav>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-12" id="datatable-basic_info" role="status" aria-live="polite">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
@stack('pagination_end')
|
||||
|
||||
143
resources/views/partials/admin/scripts.blade.php
Normal file
143
resources/views/partials/admin/scripts.blade.php
Normal file
@@ -0,0 +1,143 @@
|
||||
<!-- Core -->
|
||||
<script src="{{ asset('public/vendor/jquery/dist/jquery.min.js') }}"></script>
|
||||
<script src="{{ asset('public/vendor/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
|
||||
<script src="{{ asset('public/vendor/js-cookie/js.cookie.js') }}"></script>
|
||||
|
||||
@stack('scripts_start')
|
||||
|
||||
<script src="{{ asset('public/vendor/chart.js/dist/Chart.min.js') }}"></script>
|
||||
|
||||
<script src="{{ asset('public/js/common/search.js?v=' . version('short')) }}"></script>
|
||||
|
||||
<script src="https://unpkg.com/vue"></script>
|
||||
|
||||
@stack('charts')
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/4.0.2/echarts-en.min.js" charset=utf-8></script>
|
||||
|
||||
<!-- Argon -->
|
||||
<script type="text/javascript">
|
||||
|
||||
'use strict';
|
||||
|
||||
var Layout = (function() {
|
||||
|
||||
function pinSidenav() {
|
||||
$('.sidenav-toggler').addClass('active');
|
||||
$('.sidenav-toggler').data('action', 'sidenav-unpin');
|
||||
$('body').removeClass('g-sidenav-hidden').addClass('g-sidenav-show g-sidenav-pinned');
|
||||
$('body').append('<div class="backdrop d-xl-none" data-action="sidenav-unpin" data-target='+$('#sidenav-main').data('target')+' />');
|
||||
|
||||
// Store the sidenav state in a cookie session
|
||||
Cookies.set('sidenav-state', 'pinned');
|
||||
}
|
||||
|
||||
function unpinSidenav() {
|
||||
$('.sidenav-toggler').removeClass('active');
|
||||
$('.sidenav-toggler').data('action', 'sidenav-pin');
|
||||
$('body').removeClass('g-sidenav-pinned').addClass('g-sidenav-hidden');
|
||||
$('body').find('.backdrop').remove();
|
||||
|
||||
// Store the sidenav state in a cookie session
|
||||
Cookies.set('sidenav-state', 'unpinned');
|
||||
}
|
||||
|
||||
// Set sidenav state from cookie
|
||||
|
||||
var $sidenavState = Cookies.get('sidenav-state') ? Cookies.get('sidenav-state') : 'pinned';
|
||||
|
||||
if($(window).width() > 1200) {
|
||||
if($sidenavState == 'pinned') {
|
||||
pinSidenav()
|
||||
}
|
||||
|
||||
if(Cookies.get('sidenav-state') == 'unpinned') {
|
||||
unpinSidenav()
|
||||
}
|
||||
}
|
||||
|
||||
$("body").on("click", "[data-action]", function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var $this = $(this);
|
||||
var action = $this.data('action');
|
||||
var target = $this.data('target');
|
||||
|
||||
// Manage actions
|
||||
switch (action) {
|
||||
case 'sidenav-pin':
|
||||
pinSidenav();
|
||||
break;
|
||||
|
||||
case 'sidenav-unpin':
|
||||
unpinSidenav();
|
||||
break;
|
||||
|
||||
case 'search-show':
|
||||
target = $this.data('target');
|
||||
$('body').removeClass('g-navbar-search-show').addClass('g-navbar-search-showing');
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').removeClass('g-navbar-search-showing').addClass('g-navbar-search-show');
|
||||
}, 150);
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').addClass('g-navbar-search-shown');
|
||||
}, 300)
|
||||
break;
|
||||
|
||||
case 'search-close':
|
||||
target = $this.data('target');
|
||||
$('body').removeClass('g-navbar-search-shown');
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').removeClass('g-navbar-search-show').addClass('g-navbar-search-hiding');
|
||||
}, 150);
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').removeClass('g-navbar-search-hiding').addClass('g-navbar-search-hidden');
|
||||
}, 300);
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').removeClass('g-navbar-search-hidden');
|
||||
}, 500);
|
||||
break;
|
||||
}
|
||||
})
|
||||
|
||||
// Add sidenav modifier classes on mouse events
|
||||
$('.sidenav').on('mouseenter', function() {
|
||||
if(! $('body').hasClass('g-sidenav-pinned')) {
|
||||
$('body').removeClass('g-sidenav-hide').removeClass('g-sidenav-hidden').addClass('g-sidenav-show');
|
||||
}
|
||||
})
|
||||
|
||||
$('.sidenav').on('mouseleave', function() {
|
||||
if(! $('body').hasClass('g-sidenav-pinned')) {
|
||||
$('body').removeClass('g-sidenav-show').addClass('g-sidenav-hide');
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').removeClass('g-sidenav-hide').addClass('g-sidenav-hidden');
|
||||
}, 300);
|
||||
}
|
||||
})
|
||||
|
||||
// Make the body full screen size if it has not enough content inside
|
||||
$(window).on('load resize', function() {
|
||||
if($('body').height() < 800) {
|
||||
$('body').css('min-height', '100vh');
|
||||
$('#footer-main').addClass('footer-auto-bottom')
|
||||
}
|
||||
})
|
||||
})();
|
||||
</script>
|
||||
|
||||
@stack('body_css')
|
||||
|
||||
@stack('body_stylesheet')
|
||||
|
||||
@stack('body_js')
|
||||
|
||||
@stack('body_scripts')
|
||||
|
||||
@stack('scripts_end')
|
||||
@@ -1,54 +1,51 @@
|
||||
<head>
|
||||
@stack('head_start')
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<title>@yield('title')</title>
|
||||
|
||||
<title>@yield('title')</title>
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="{{ asset('public/img/favicon.ico') }}" type="image/png">
|
||||
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/css/bootstrap.min.css') }}">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/font-awesome.min.css') }}">
|
||||
<!-- Ionicons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/ionicons.min.css') }}">
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/AdminLTE.min.css') }}">
|
||||
<!-- AdminLTE Skins -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-green-light.min.css') }}">
|
||||
<!-- App style -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/app.css?v=' . version('short')) }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-green.css?v=' . version('short')) }}">
|
||||
|
||||
<link rel="shortcut icon" href="{{ asset('public/img/favicon.ico') }}">
|
||||
<!-- Font -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
|
||||
|
||||
@stack('css')
|
||||
<!-- Icons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/nucleo/css/nucleo.css') }}" type="text/css">
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/@fortawesome/fontawesome-free/css/all.min.css') }}" type="text/css">
|
||||
|
||||
@stack('stylesheet')
|
||||
<!-- Css -->
|
||||
<!-- Argon -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/argon.css?v=1.1.0') }}" type="text/css">
|
||||
<!-- Color -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-color.css?v=' . version('short')) }}">
|
||||
<!-- Custom -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/custom.css?v=' . version('short')) }}">
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
@stack('css')
|
||||
|
||||
<!-- jQuery 2.2.3 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/jQuery/jquery-2.2.3.min.js') }}"></script>
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/js/bootstrap.min.js') }}"></script>
|
||||
<!-- SlimScroll -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/slimScroll/jquery.slimscroll.min.js') }}"></script>
|
||||
<!-- AdminLTE App -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/dist/js/app.min.js') }}"></script>
|
||||
@stack('stylesheet')
|
||||
|
||||
<script src="{{ asset('public/js/app.js?v=' . version('short')) }}"></script>
|
||||
<script type="text/javascript"><!--
|
||||
var app_url = '{{ env("APP_URL") }}';
|
||||
//--></script>
|
||||
|
||||
@stack('js')
|
||||
@stack('js')
|
||||
|
||||
@stack('scripts')
|
||||
<script type="text/javascript"><!--
|
||||
window.Laravel = <?php echo json_encode([
|
||||
'csrfToken' => csrf_token(),
|
||||
]); ?>
|
||||
|
||||
var aka_currency = 'false';
|
||||
|
||||
var flash_notification = {!! (session()->has('flash_notification')) ? json_encode(session()->get('flash_notification')) : 'false' !!};
|
||||
//--></script>
|
||||
|
||||
{{ session()->forget('flash_notification') }}
|
||||
|
||||
@stack('scripts')
|
||||
|
||||
@stack('head_end')
|
||||
</head>
|
||||
|
||||
14
resources/views/partials/auth/scripts.blade.php
Normal file
14
resources/views/partials/auth/scripts.blade.php
Normal file
@@ -0,0 +1,14 @@
|
||||
@stack('scripts_start')
|
||||
<!-- Core -->
|
||||
<script src="{{ asset('public/vendor/jquery/dist/jquery.min.js') }}"></script>
|
||||
<script src="{{ asset('public/vendor/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
|
||||
<script src="{{ asset('public/vendor/js-cookie/js.cookie.js') }}"></script>
|
||||
|
||||
@stack('body_css')
|
||||
|
||||
@stack('body_stylesheet')
|
||||
|
||||
@stack('body_js')
|
||||
|
||||
@stack('body_scripts')
|
||||
@stack('scripts_end')
|
||||
@@ -1,29 +1,27 @@
|
||||
<head>
|
||||
@stack('head_start')
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8; charset=ISO-8859-1"/>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8; charset=ISO-8859-1"/>
|
||||
<title>@yield('title') - @setting('company.name')</title>
|
||||
|
||||
<title>@yield('title') - @setting('general.company_name')</title>
|
||||
<!-- Css -->
|
||||
<!-- Argon -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/argon.css?v=1.1.0') }}" type="text/css">
|
||||
<!-- Color -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-color.css?v=' . version('short')) }}">
|
||||
<!-- Custom -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/custom.css?v=' . version('short')) }}">
|
||||
|
||||
<link rel="stylesheet" href="{{ asset('public/css/invoice.css?v=' . version('short')) }}">
|
||||
@stack('css')
|
||||
|
||||
<style type="text/css">
|
||||
* {
|
||||
font-family: DejaVu Sans;
|
||||
}
|
||||
</style>
|
||||
@stack('stylesheet')
|
||||
|
||||
@stack('css')
|
||||
|
||||
@stack('stylesheet')
|
||||
|
||||
@stack('js')
|
||||
|
||||
@stack('scripts')
|
||||
@stack('js')
|
||||
|
||||
@stack('scripts')
|
||||
@stack('head_end')
|
||||
</head>
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
@stack('content_start')
|
||||
|
||||
<!-- Content Wrapper. Contains page content -->
|
||||
<div class="content-wrapper">
|
||||
@stack('content_wrapper_start')
|
||||
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header content-center">
|
||||
@stack('content_header_start')
|
||||
|
||||
<h1>
|
||||
@yield('title')
|
||||
@yield('new_button')
|
||||
</h1>
|
||||
|
||||
@stack('content_header_end')
|
||||
</section>
|
||||
|
||||
<!-- Main content -->
|
||||
<section class="content content-center">
|
||||
@include('flash::message')
|
||||
|
||||
@stack('content_content_start')
|
||||
|
||||
@yield('content')
|
||||
|
||||
@stack('content_content_end')
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
|
||||
@stack('content_wrapper_end')
|
||||
</div>
|
||||
<!-- /.content-wrapper -->
|
||||
|
||||
<script type="text/javascript">
|
||||
$('div.alert').not('.alert-important').delay(3000).fadeOut(350);
|
||||
</script>
|
||||
|
||||
@stack('content_end')
|
||||
@@ -1,7 +0,0 @@
|
||||
@stack('footer_start')
|
||||
|
||||
<footer class="main-footer">
|
||||
<strong>{{ trans('footer.powered') }}</strong>: <a href="{{ trans('footer.link') }}">{{ trans('footer.software') }}</a>
|
||||
</footer>
|
||||
|
||||
@stack('footer_end')
|
||||
@@ -1,78 +0,0 @@
|
||||
<head>
|
||||
@stack('head_start')
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
|
||||
<title>@yield('title') - @setting('general.company_name')</title>
|
||||
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/css/bootstrap.min.css') }}">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/font-awesome.min.css') }}">
|
||||
<!-- Ionicons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/ionicons.min.css') }}">
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/AdminLTE.min.css') }}">
|
||||
<!-- AdminLTE Skins -->
|
||||
@if (setting('general.admin_theme', 'skin-green-light') == 'skin-green-light')
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-green-light.min.css') }}">
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-black.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/skin-black.css?v=' . version('short')) }}">
|
||||
@endif
|
||||
<!-- Data Tables -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/plugins/datatables/dataTables.bootstrap.css') }}">
|
||||
<!-- Select2 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/plugins/select2/select2.min.css') }}">
|
||||
<!-- App style -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/app.css?v=' . version('short')) }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-green.css?v=' . version('short')) }}">
|
||||
|
||||
<link rel="shortcut icon" href="{{ asset('public/img/favicon.ico') }}">
|
||||
|
||||
@stack('css')
|
||||
|
||||
@stack('stylesheet')
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- jQuery 2.2.3 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/jQuery/jquery-2.2.3.min.js') }}"></script>
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/js/bootstrap.min.js') }}"></script>
|
||||
<!-- SlimScroll -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/slimScroll/jquery.slimscroll.min.js') }}"></script>
|
||||
<!-- FastClick -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/fastclick/fastclick.js') }}"></script>
|
||||
<!-- Data Tables -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/datatables/dataTables.bootstrap.min.js') }}"></script>
|
||||
<!-- AdminLTE App -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/dist/js/app.min.js') }}"></script>
|
||||
|
||||
<!-- Select2 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/select2/select2.min.js') }}"></script>
|
||||
<!-- Mask Money -->
|
||||
<script src="{{ asset('public/js/jquery/jquery.maskMoney.js') }}"></script>
|
||||
|
||||
<script src="{{ asset('public/js/app.js?v=' . version('short')) }}"></script>
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
var app_url = '{{ url("/") }}';
|
||||
var url_search = '{{ url("common/search/search") }}';
|
||||
//--></script>
|
||||
|
||||
@stack('js')
|
||||
|
||||
@stack('scripts')
|
||||
|
||||
@stack('head_end')
|
||||
</head>
|
||||
@@ -1,107 +0,0 @@
|
||||
@stack('header_start')
|
||||
|
||||
<header class="main-header">
|
||||
<!-- Logo -->
|
||||
<a href="{{ url('customers') }}" class="logo">
|
||||
<!-- mini logo for sidebar mini 50x50 pixels -->
|
||||
<span class="logo-mini"><img src="{{ !empty($company->company_logo) ? Storage::url($company->company_logo) : asset('public/img/company.png') }}" class="logo-image-mini" width="25" alt="{{ $company->company_name }}"></span>
|
||||
<!-- logo for regular state and mobile devices -->
|
||||
<span class="logo-lg"><img src="{{ !empty($company->company_logo) ? Storage::url($company->company_logo) : asset('public/img/company.png') }}" width="25" alt="{{ $company->company_name }}"> <b>{{ str_limit($company->company_name, 15) }}</b></span>
|
||||
</a>
|
||||
<!-- Header Navbar: style can be found in header.less -->
|
||||
<nav class="navbar navbar-static-top">
|
||||
<!-- Sidebar toggle button-->
|
||||
<a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
</a>
|
||||
|
||||
@stack('header_navbar_left')
|
||||
|
||||
<div class="navbar-custom-menu">
|
||||
<ul class="nav navbar-nav">
|
||||
@stack('header_navbar_right')
|
||||
|
||||
<!-- Notifications: style can be found in dropdown.less -->
|
||||
<li class="dropdown notifications-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-bell-o"></i>
|
||||
@if ($notifications)
|
||||
<span class="label label-warning">{{ $notifications }}</span>
|
||||
@endif
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="header">{{ trans_choice('header.notifications.counter', $notifications, ['count' => $notifications]) }}</li>
|
||||
<li>
|
||||
<!-- inner menu: contains the actual data -->
|
||||
<ul class="menu">
|
||||
@if (count($invoices))
|
||||
<li>
|
||||
<a href="{{ url('customers/profile/read-invoices') }}">
|
||||
<i class="fa fa-money text-red"></i> {{ trans_choice('header.notifications.overdue_invoices', count($invoices), ['count' => count($invoices)]) }}
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</li>
|
||||
<li class="footer"><a href="#">{{ trans('header.notifications.view_all') }}</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<!-- Tasks: style can be found in dropdown.less -->
|
||||
<li class="dropdown tasks-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-flag-o"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="header">{{ trans('header.change_language') }}</li>
|
||||
<li>
|
||||
<!-- inner menu: contains the actual data -->
|
||||
{!! language()->flags() !!}
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<!-- User Account: style can be found in dropdown.less -->
|
||||
<li class="dropdown user user-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
@if ($user->picture)
|
||||
<img src="{{ Storage::url($user->picture->id) }}" class="user-image" alt="User Image">
|
||||
@else
|
||||
<i class="fa fa-user-o"></i>
|
||||
@endif
|
||||
@if (!empty($user->name))
|
||||
<span class="hidden-xs">{{ $user->name }}</span>
|
||||
@endif
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<!-- User image -->
|
||||
<li class="user-header">
|
||||
@if ($user->picture)
|
||||
<img src="{{ Storage::url($user->picture->id) }}" class="img-circle" alt="User Image">
|
||||
@else
|
||||
<i class="fa fa-4 fa-user-o" style="color: #fff; font-size: 7em;"></i>
|
||||
@endif
|
||||
<p>
|
||||
@if (!empty($user->name))
|
||||
{{ $user->name }}
|
||||
@endif
|
||||
<small>{{ trans('header.last_login', ['time' => $user->last_logged_in_at]) }}</small>
|
||||
</p>
|
||||
</li>
|
||||
<!-- Menu Footer-->
|
||||
<li class="user-footer">
|
||||
@permission('update-customers-profile')
|
||||
<div class="pull-left">
|
||||
<a href="{{ url('customers/profile/edit') }}" class="btn btn-default btn-flat">{{ trans('auth.profile') }}</a>
|
||||
</div>
|
||||
@endpermission
|
||||
<div class="pull-right">
|
||||
<a href="{{ url('customers/logout') }}" class="btn btn-default btn-flat">{{ trans('auth.logout') }}</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
@stack('header_end')
|
||||
@@ -1,12 +0,0 @@
|
||||
@stack('menu_start')
|
||||
|
||||
<aside class="main-sidebar">
|
||||
<!-- sidebar: style can be found in sidebar.less -->
|
||||
<section class="sidebar">
|
||||
<!-- sidebar menu: : style can be found in sidebar.less -->
|
||||
{!! Menu::get('CustomerMenu') !!}
|
||||
</section>
|
||||
<!-- /.sidebar -->
|
||||
</aside>
|
||||
|
||||
@stack('menu_end')
|
||||
@@ -1,16 +0,0 @@
|
||||
@stack('pagination_start')
|
||||
|
||||
@if ($items->firstItem())
|
||||
<div class="pull-left" style="margin-top: 7px;">
|
||||
<small>{{ trans('pagination.showing', ['first' => $items->firstItem(), 'last' => $items->lastItem(), 'total' => $items->total(), 'type' => strtolower((isset($title)) ? $title : trans_choice('general.' . $type, 2))]) }}</small>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
{!! $items->appends(request()->except('page'))->links() !!}
|
||||
</div>
|
||||
@else
|
||||
<div class="pull-left">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@stack('pagination_end')
|
||||
1
resources/views/partials/email/body.blade.php
Normal file
1
resources/views/partials/email/body.blade.php
Normal file
@@ -0,0 +1 @@
|
||||
{!! $body !!}
|
||||
30
resources/views/partials/form/alias_group.blade.php
Normal file
30
resources/views/partials/form/alias_group.blade.php
Normal file
@@ -0,0 +1,30 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<div
|
||||
class="form-group visible-field {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:class="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]">
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label'])!!}
|
||||
|
||||
<div class="input-group input-group-merge {{ $group_class }}">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
<i class="fa fa-{{ $icon }}"></i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<vue-suglify :slugify="form.{{ $original }}" :slug.sync="form.{{ $name }}" :disabled="true">
|
||||
{!! Form::text($name, $value, array_merge([
|
||||
'class' => 'form-control',
|
||||
"slot-scope" => "{inputBidding}",
|
||||
"v-bind" => "inputBidding"
|
||||
], $attributes)) !!}
|
||||
</vue-suglify>
|
||||
</div>
|
||||
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has(' . $name . ')' }}"
|
||||
v-html="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
@@ -0,0 +1,10 @@
|
||||
@stack('bulk_action_all_input_start')
|
||||
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input class="custom-control-input" id="table-check-all" type="checkbox"
|
||||
v-model="{{ !empty($attributes['v-model']) ? $attributes['v-model'] : 'bulk_action.select_all' }}"
|
||||
@click="onSelectAll">
|
||||
<label class="custom-control-label" for="table-check-all"></label>
|
||||
</div>
|
||||
|
||||
@stack('bulk_action_all_input_end')
|
||||
11
resources/views/partials/form/bulk_action_group.blade.php
Normal file
11
resources/views/partials/form/bulk_action_group.blade.php
Normal file
@@ -0,0 +1,11 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<div class="custom-control custom-checkbox">
|
||||
<input type="checkbox" class="custom-control-input" id="bulk-action-{{ $id }}" data-bulk-action="{{ $id }}"
|
||||
:value="{{ $id }}"
|
||||
v-model="{{ !empty($attributes['v-model']) ? $attributes['v-model'] : 'bulk_action.selected' }}"
|
||||
v-on:change="onSelect">
|
||||
<label class="custom-control-label" for="bulk-action-{{ $id }}"></label>
|
||||
</div>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
@@ -0,0 +1,74 @@
|
||||
@stack('bulk_action_row_input_start')
|
||||
|
||||
<div class="align-items-center d-none" v-if="bulk_action.show" v-bind:class="[bulk_action.show ? 'show' : '']">
|
||||
<div class="mr-6">
|
||||
<span class="hidden-sm text-white">
|
||||
<b v-text="bulk_action.count"></b>
|
||||
<span v-if="bulk_action.count === 1">
|
||||
{{ strtolower(trans_choice($text, 1)) }}
|
||||
</span>
|
||||
<span v-else-if="bulk_action.count > 1">
|
||||
{{ strtolower(trans_choice($text, 2)) }}
|
||||
</span>
|
||||
{{ trans('bulk_actions.selected') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="w-25 mr-4" v-if="bulk_action.count">
|
||||
<div class="form-group mb-0">
|
||||
<select class="form-control form-control-sm" v-model="{{ !empty($attributes['v-model']) ? $attributes['v-model'] : 'bulk_action.value' }}" @change="onChange">
|
||||
<option value="*">{{ trans_choice('bulk_actions.bulk_actions',2) }}</option>
|
||||
@foreach($actions as $key => $action)
|
||||
<option
|
||||
value="{{ $key }}"
|
||||
@if(isset($action['multiple']) && $action['multiple'])
|
||||
v-if="bulk_action.count <= 1"
|
||||
@endif
|
||||
@if(!empty($action['message']))
|
||||
data-message="{{ trans_choice($action['message'], 2, ['type' => $text]) }}"
|
||||
@endif
|
||||
>{{ trans($action['name']) }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
|
||||
<input type="hidden" name="bulk_action_path" value="{{ $path }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mr-4" v-if="bulk_action.count">
|
||||
<button type="button" class="btn btn-sm btn-outline-confirm" v-if="bulk_action.message.length" @click="bulk_action.modal=true">
|
||||
<span>{{ trans('general.confirm') }}</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm btn-outline-confirm " v-if="!bulk_action.message.length" @click="onAction">
|
||||
<span>{{ trans('general.confirm') }}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="mr-4" v-if="bulk_action.count">
|
||||
<button type="button" class="btn btn-outline-clear btn-sm" @click="onClear">
|
||||
<span>{{ trans('general.clear') }}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<akaunting-modal
|
||||
:show="bulk_action.modal"
|
||||
:title="'{{ trans_choice('general.items', 2) }}'"
|
||||
:message="bulk_action.message"
|
||||
@cancel="onCancel"
|
||||
v-if='bulk_action.message && bulk_action.modal'>
|
||||
<template #card-footer>
|
||||
<div class="float-right">
|
||||
<button type="button" class="btn btn-outline-secondary" @click="onCancel">
|
||||
<span>{{ trans('general.cancel') }}</span>
|
||||
</button>
|
||||
|
||||
<button :disabled="bulk_action.loading" type="button" class="btn btn-success button-submit" @click="onAction">
|
||||
<div class="aka-loader d-none"></div>
|
||||
<span>{{ trans('general.confirm') }}</span>
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
</akaunting-modal>
|
||||
|
||||
@stack('bulk_action_row_input_end')
|
||||
@@ -1,14 +1,29 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<div class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }} {{ $errors->has($name) ? 'has-error' : '' }}">
|
||||
{!! Form::label($name, $text, ['class' => 'control-label']) !!}
|
||||
<div
|
||||
class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:class="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]">
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label']) !!}
|
||||
|
||||
<br/>
|
||||
@foreach($items as $item)
|
||||
<div class="col-md-3">
|
||||
{{ Form::checkbox($name . '[]', $item->$id) }} {{ $item->$value }}
|
||||
<div class="custom-control custom-checkbox">
|
||||
{{ Form::checkbox($name, $item->$id, null, [
|
||||
'id' => 'checkbox-' . $name . '-' . $item->$id,
|
||||
'class' => 'custom-control-input',
|
||||
'v-model' => !empty($attributes['v-model']) ? $attributes['v-model'] : 'form.' . $name
|
||||
]) }}
|
||||
|
||||
<label class="custom-control-label" for="checkbox-{{ $name . '-' . $item->$id}}">
|
||||
{{ $item->$value }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
{!! $errors->first($name, '<p class="help-block">:message</p>') !!}
|
||||
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has(' . $name . ')' }}"
|
||||
v-html="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
|
||||
25
resources/views/partials/form/date_group.blade.php
Normal file
25
resources/views/partials/form/date_group.blade.php
Normal file
@@ -0,0 +1,25 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<akaunting-date
|
||||
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]"
|
||||
:title="'{{ $text }}'"
|
||||
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
|
||||
:name="'{{ $name }}'"
|
||||
:value="'{{ old($name, $value) }}'"
|
||||
:config="{
|
||||
allowInput: true,
|
||||
@if (!empty($attributes['show-date-format']))
|
||||
altInput: true,
|
||||
altFormat: '{{ $attributes['show-date-format'] }}',
|
||||
@endif
|
||||
@if (!empty($attributes['date-format']))
|
||||
dateFormat: '{{ $attributes['date-format'] }}'
|
||||
@endif
|
||||
}"
|
||||
:icon="'fa fa-{{ $icon }}'"
|
||||
@interface="{{ !empty($attributes['v-model']) ? $attributes['v-model'] . ' = $event' : 'form.' . $name . ' = $event' }}"
|
||||
:form-error="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}"
|
||||
></akaunting-date>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
@@ -1,46 +1,44 @@
|
||||
<button type="button" class="btn btn-sm btn-default btn-filter date-range-btn">
|
||||
<span>
|
||||
<i class="fa fa-{{ $icon }}"></i> {{ $text }}
|
||||
</span>
|
||||
<button type="button" class="btn btn-sm btn-secondary btn-secondary date-range-btn card-buttons filter-button">
|
||||
<span><i class="fa fa-{{ $icon }}"></i> {{ $text }}</span>
|
||||
<i class="fa fa-caret-down"></i>
|
||||
{!! Form::hidden($name, null, []) !!}
|
||||
</button>
|
||||
|
||||
@push('scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('.date-range-btn').daterangepicker(
|
||||
{
|
||||
ranges : {
|
||||
'{{ trans("general.date_range.today") }}' : [moment(), moment()],
|
||||
'{{ trans("general.date_range.yesterday") }}' : [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
|
||||
'{{ trans("general.date_range.last_days", ["day" => "7"]) }}' : [moment().subtract(6, 'days'), moment()],
|
||||
'{{ trans("general.date_range.last_days", ["day" => "30"]) }}': [moment().subtract(29, 'days'), moment()],
|
||||
'{{ trans("general.date_range.this_month") }}' : [moment().startOf('month'), moment().endOf('month')],
|
||||
'{{ trans("general.date_range.last_month") }}' : [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('.date-range-btn').daterangepicker(
|
||||
{
|
||||
ranges : {
|
||||
'{{ trans("general.date_range.today") }}' : [moment(), moment()],
|
||||
'{{ trans("general.date_range.yesterday") }}' : [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
|
||||
'{{ trans("general.date_range.last_days", ["day" => "7"]) }}' : [moment().subtract(6, 'days'), moment()],
|
||||
'{{ trans("general.date_range.last_days", ["day" => "30"]) }}': [moment().subtract(29, 'days'), moment()],
|
||||
'{{ trans("general.date_range.this_month") }}' : [moment().startOf('month'), moment().endOf('month')],
|
||||
'{{ trans("general.date_range.last_month") }}' : [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
|
||||
},
|
||||
startDate: moment().subtract(29, 'days'),
|
||||
endDate : moment()
|
||||
},
|
||||
startDate: moment().subtract(29, 'days'),
|
||||
endDate : moment()
|
||||
},
|
||||
function (start, end) {
|
||||
$('input[name={{ $name }}]').val(start.format('YYYY-MM-DD') + '_' + end.format('YYYY-MM-DD'));
|
||||
function (start, end) {
|
||||
$('input[name={{ $name }}]').val(start.format('YYYY-MM-DD') + '_' + end.format('YYYY-MM-DD'));
|
||||
|
||||
date_format = convertDateFormat('{{ setting('general.date_format') }}', ' ');
|
||||
$('.date-range-btn span').html(start.format(date_format) + ' - ' + end.format(date_format));
|
||||
}
|
||||
);
|
||||
date_format = convertDateFormat('{{ setting('localisation.date_format') }}', ' ');
|
||||
$('.date-range-btn span').html(start.format(date_format) + ' - ' + end.format(date_format));
|
||||
}
|
||||
);
|
||||
|
||||
@if(request($name))
|
||||
var setDate = '{{ request($name) }}';
|
||||
var setDates = setDate.split('_');
|
||||
@if(request($name))
|
||||
var setDate = '{{ request($name) }}';
|
||||
var setDates = setDate.split('_');
|
||||
|
||||
date_format = convertDateFormat('{{ setting('general.date_format') }}', ' ');
|
||||
date_format = convertDateFormat('{{ setting('localisation.date_format') }}', ' ');
|
||||
|
||||
start_date = moment(setDates[0], 'YYYY-MM-DD'); //new Date(setDates[0]);
|
||||
finish_date = moment(setDates[1], 'YYYY-MM-DD'); //new Date(setDates[1]);
|
||||
start_date = moment(setDates[0], 'YYYY-MM-DD'); //new Date(setDates[0]);
|
||||
finish_date = moment(setDates[1], 'YYYY-MM-DD'); //new Date(setDates[1]);
|
||||
|
||||
$('.date-range-btn span').html(start_date.format(date_format) + ' - ' + finish_date.format(date_format));
|
||||
@endif
|
||||
});
|
||||
</script>
|
||||
$('.date-range-btn span').html(start_date.format(date_format) + ' - ' + finish_date.format(date_format));
|
||||
@endif
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@@ -1,18 +1,25 @@
|
||||
@php
|
||||
$page = explode('/', $url)[1];
|
||||
$text = $text ? $text : $page;
|
||||
$page = explode('/', $url)[1];
|
||||
$text = $text ? $text : $page;
|
||||
@endphp
|
||||
|
||||
{!! Form::open([
|
||||
'id' => str_singular($page) . '-' . $item->$id,
|
||||
'method' => 'DELETE',
|
||||
'url' => [$url, $item->$id],
|
||||
'style' => 'display:inline'
|
||||
]) !!}
|
||||
{!! Form::button('<i class="fa fa-trash-o" aria-hidden="true"></i> ' . trans('general.delete'), array(
|
||||
'type' => 'button',
|
||||
'class' => 'btn btn-danger btn-xs',
|
||||
'title' => trans('general.delete'),
|
||||
'onclick' => 'confirmDelete("' . '#' . str_singular($page) . '-' . $item->$id . '", "' . trans_choice('general.' . $text, 2) . '", "' . trans('general.delete_confirm', ['name' => '<strong>' . $item->$value . '</strong>', 'type' => mb_strtolower(trans_choice('general.' . $text, 1))]) . '", "' . trans('general.cancel') . '", "' . trans('general.delete') . '")'
|
||||
'@click' => 'confirmDelete("' . url($url, $item->$id) . '", "' . trans_choice('general.' . $text, 2) . '", "' . trans('general.delete_confirm', ['name' => '<strong>' . $item->$value . '</strong>', 'type' => mb_strtolower(trans_choice('general.' . $text, 1))]) . '", "' . trans('general.cancel') . '", "' . trans('general.delete') . '")'
|
||||
)) !!}
|
||||
{!! Form::close() !!}
|
||||
|
||||
@push('content_content_end')
|
||||
<akaunting-modal
|
||||
:show="confirm.show"
|
||||
:title="confirm.title"
|
||||
:message="confirm.message"
|
||||
:button_cancel="confirm.button_cancel"
|
||||
:button_delete="confirm.button_delete"
|
||||
v-if='confirm.show'
|
||||
@confirm='onDelete'
|
||||
@cancel="cancelDelete">
|
||||
</akaunting-modal>
|
||||
@endpush
|
||||
|
||||
|
||||
@@ -1,20 +1,26 @@
|
||||
@php
|
||||
$page = explode('/', $url)[1];
|
||||
$text = $text ? $text : $page;
|
||||
$page = explode('/', $url)[1];
|
||||
$text = $text ? $text : $page;
|
||||
|
||||
$name = addslashes($item->$value);
|
||||
$name = addslashes($item->$value);
|
||||
@endphp
|
||||
|
||||
{!! Form::open([
|
||||
'id' => str_singular($page) . '-' . $item->$id,
|
||||
'method' => 'DELETE',
|
||||
'url' => [$url, $item->$id],
|
||||
'style' => 'display:inline'
|
||||
]) !!}
|
||||
{!! Form::button(trans('general.delete'), array(
|
||||
'type' => 'button',
|
||||
'class' => 'delete-link',
|
||||
'class' => 'dropdown-item action-delete',
|
||||
'title' => trans('general.delete'),
|
||||
'onclick' => 'confirmDelete("' . '#' . str_singular($page) . '-' . $item->$id . '", "' . trans_choice('general.' . $text, 2) . '", "' . trans('general.delete_confirm', ['name' => '<strong>' . $name . '</strong>', 'type' => mb_strtolower(trans_choice('general.' . $text, 1))]) . '", "' . trans('general.cancel') . '", "' . trans('general.delete') . '")'
|
||||
'@click' => 'confirmDelete("' . url($url, $item->$id) . '", "' . trans_choice('general.' . $text, 2) . '", "' . trans('general.delete_confirm', ['name' => '<strong>' . $name . '</strong>', 'type' => mb_strtolower(trans_choice('general.' . $text, 1))]) . '", "' . trans('general.cancel') . '", "' . trans('general.delete') . '")'
|
||||
)) !!}
|
||||
{!! Form::close() !!}
|
||||
|
||||
@push('content_content_end')
|
||||
<akaunting-modal
|
||||
:show="confirm.show"
|
||||
:title="confirm.title"
|
||||
:message="confirm.message"
|
||||
:button_cancel="confirm.button_cancel"
|
||||
:button_delete="confirm.button_delete"
|
||||
v-if='confirm.show'
|
||||
@confirm='onDelete'
|
||||
@cancel="cancelDelete">
|
||||
</akaunting-modal>
|
||||
@endpush
|
||||
|
||||
@@ -1,12 +1,31 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<div class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }} {{ $errors->has($name) ? 'has-error' : '' }}">
|
||||
{!! Form::label($name, $text, ['class' => 'control-label']) !!}
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon"><i class="fa fa-{{ $icon }}"></i></div>
|
||||
{!! Form::email($name, $value, array_merge(['class' => 'form-control', 'placeholder' => trans('general.form.enter', ['field' => $text])], $attributes)) !!}
|
||||
<div
|
||||
class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:class="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]">
|
||||
@if ($text)
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label'])!!}
|
||||
@endif
|
||||
|
||||
<div class="input-group input-group-merge {{ $group_class }}">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
<i class="fa fa-{{ $icon }}"></i>
|
||||
</span>
|
||||
</div>
|
||||
{!! Form::email($name, $value, array_merge([
|
||||
'class' => 'form-control',
|
||||
'data-name' => $name,
|
||||
'data-value' => $value,
|
||||
'placeholder' => trans('general.form.select.field', ['field' => $text]),
|
||||
'v-model' => !empty($attributes['v-model']) ? $attributes['v-model'] : 'form.' . $name
|
||||
], $attributes)) !!}
|
||||
</div>
|
||||
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has(' . $name . ')' }}"
|
||||
v-html="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}">
|
||||
</div>
|
||||
{!! $errors->first($name, '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
|
||||
15
resources/views/partials/form/enabled_group.blade.php
Normal file
15
resources/views/partials/form/enabled_group.blade.php
Normal file
@@ -0,0 +1,15 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<label class="custom-toggle">
|
||||
<input type="checkbox"
|
||||
name="status[{{ $id }}]"
|
||||
v-on:input="onStatus({{ $id }}, $event)"
|
||||
{{ ($value) ? 'checked' :'' }}>
|
||||
|
||||
<span class="custom-toggle-slider rounded-circle status-green"
|
||||
data-label-off="{{ trans('general.no') }}"
|
||||
data-label-on="{{ trans('general.yes') }}">
|
||||
</span>
|
||||
</label>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
@@ -1,9 +1,20 @@
|
||||
@stack($name . '_input_start')
|
||||
<div
|
||||
class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:class="[{'has-error': errors.{{ $name }}}]">
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label']) !!}
|
||||
|
||||
<div class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }} {{ $errors->has($name) ? 'has-error' : '' }}" style="min-height: 59px">
|
||||
{!! Form::label($name, $text, ['class' => 'control-label']) !!}
|
||||
{!! Form::file($name, array_merge(['class' => 'form-control'], $attributes)) !!}
|
||||
{!! $errors->first($name, '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
<div class="custom-file">
|
||||
{!! Form::file($name, array_merge([
|
||||
'class' => 'custom-file-input form-attachment cursor',
|
||||
'@input' => 'onHandleFileUpload("' . $name .'", $event)'
|
||||
], $attributes)) !!}
|
||||
{!! Form::label($name, $text, ['class' => 'custom-file-label']) !!}
|
||||
</div>
|
||||
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has("' . $name . '")' }}"
|
||||
v-html="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get("' . $name . '")' }}">
|
||||
</div>
|
||||
</div>
|
||||
@stack($name . '_input_end')
|
||||
|
||||
@@ -1,19 +1,29 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<div class="{{ $col }} input-group-invoice-text">
|
||||
<div class="form-group col-md-12 {{ isset($attributes['required']) ? 'required' : '' }} {{ $errors->has($name) ? 'has-error' : ''}}">
|
||||
{!! Form::label($name, $text, ['class' => 'control-label']) !!}
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon"><i class="fa fa-{{ $icon }}"></i></div>
|
||||
{!! Form::select($name, $values, $selected, array_merge(['class' => 'form-control', 'placeholder' => trans('general.form.select.field', ['field' => $text])], $attributes)) !!}
|
||||
<div
|
||||
class="form-group {{ $col }}{{ isset($attributes['required']) ? ' required' : '' }}"
|
||||
:class="[{'has-error': form.errors.get('{{ $name }}')}]">
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label']) !!}
|
||||
|
||||
<div class="input-group input-group-merge {{ $group_class }}">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
<i class="fa fa-{{ $icon }}"></i>
|
||||
</span>
|
||||
</div>
|
||||
{!! $errors->first($name, '<p class="help-block">:message</p>') !!}
|
||||
|
||||
{!! Form::text($input_name, $input_value, [
|
||||
'class' => 'form-control',
|
||||
'data-name' => $input_name,
|
||||
'data-value' => $input_value,
|
||||
'placeholder' => trans('general.form.select.field', ['field' => $text]),
|
||||
'v-model' => !empty($attributes['v-model']) ? $attributes['v-model'] : 'form.' . $input_name
|
||||
]) !!}
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-6 hidden {{ $errors->has('invoice_text_text') ? 'has-error' : '' }}">
|
||||
{!! Form::label($input_name, trans('settings.invoice.custom'), ['class' => 'control-label']) !!}
|
||||
{!! Form::text($input_name, $input_value, ['class' => 'form-control']) !!}
|
||||
{!! $errors->first($input_name, '<p class="help-block">:message</p>') !!}
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="form.errors.has('{{ $input_name }}')"
|
||||
v-html="form.errors.get('{{ $input_name }}')">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
36
resources/views/partials/form/money_group.blade.php
Normal file
36
resources/views/partials/form/money_group.blade.php
Normal file
@@ -0,0 +1,36 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<div
|
||||
class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:class="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]">
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label'])!!}
|
||||
|
||||
<div class="input-group input-group-merge {{ $group_class }}">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
<i class="fa fa-{{ $icon }}"></i>
|
||||
</span>
|
||||
</div>
|
||||
@php
|
||||
if ($attributes['currency']) {
|
||||
$value = number_format($value, $attributes['currency']->precision, $attributes['currency']->decimal_mark, $attributes['currency']->thousands_separator);
|
||||
} else {
|
||||
$value = number_format($value, 2);
|
||||
}
|
||||
@endphp
|
||||
{!! Form::text($name, $value, array_merge([
|
||||
'class' => 'form-control',
|
||||
'data-name' => $name,
|
||||
'data-value' => $value,
|
||||
'v-model.lazy' => !empty($attributes['v-model']) ? $attributes['v-model'] : 'form.' . $name,
|
||||
'v-money' => 'money'
|
||||
], $attributes)) !!}
|
||||
</div>
|
||||
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has(' . $name . ')' }}"
|
||||
v-html="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
@@ -0,0 +1,29 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<akaunting-select
|
||||
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get("' . $name . '")' }} }]"
|
||||
:title="'{{ $text }}'"
|
||||
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
|
||||
:name="'{{ $name }}'"
|
||||
:options="{{ json_encode($values) }}"
|
||||
:value="'{{ old($name, $selected) }}'"
|
||||
:icon="'{{ $icon }}'"
|
||||
:multiple="true"
|
||||
:add-new="true"
|
||||
:add-new-text="'{{ trans('general.form.add_new', ['field' => $text]) }}'"
|
||||
@if (!empty($attributes['path']))
|
||||
:add-new-path="'{{ $attributes['path'] }}'"
|
||||
@endif
|
||||
@interface="{{ !empty($attributes['v-model']) ? $attributes['v-model'] . ' = $event' : 'form.' . $name . ' = $event' }}"
|
||||
@if (!empty($attributes['change']))
|
||||
@change="{{ $attributes['change'] }}($event)"
|
||||
@endif
|
||||
@if(isset($attributes['v-error-message']))
|
||||
:form-error="{{ $attributes['v-error-message'] }}"
|
||||
@else
|
||||
:form-error="form.errors.get('{{ $name }}')"
|
||||
@endif
|
||||
></akaunting-select>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
24
resources/views/partials/form/multi_select_group.blade.php
Normal file
24
resources/views/partials/form/multi_select_group.blade.php
Normal file
@@ -0,0 +1,24 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<akaunting-select
|
||||
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get("' . $name . '")' }} }]"
|
||||
:title="'{{ $text }}'"
|
||||
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
|
||||
:name="'{{ $name }}'"
|
||||
:options="{{ json_encode($values) }}"
|
||||
:value="'{{ old($name, $selected) }}'"
|
||||
:icon="'{{ $icon }}'"
|
||||
:multiple="true"
|
||||
@interface="{{ !empty($attributes['v-model']) ? $attributes['v-model'] . ' = $event' : 'form.' . $name . ' = $event' }}"
|
||||
@if (!empty($attributes['change']))
|
||||
@change="{{ $attributes['change'] }}($event)"
|
||||
@endif
|
||||
@if(isset($attributes['v-error-message']))
|
||||
:form-error="{{ $attributes['v-error-message'] }}"
|
||||
@else
|
||||
:form-error="form.errors.get('{{ $name }}')"
|
||||
@endif
|
||||
></akaunting-select>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
@@ -1,12 +1,29 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<div class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }} {{ $errors->has($name) ? 'has-error' : '' }}">
|
||||
{!! Form::label($name, $text, ['class' => 'control-label']) !!}
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon"><i class="fa fa-{{ $icon }}"></i></div>
|
||||
{!! Form::number($name, $value, array_merge(['class' => 'form-control', 'placeholder' => trans('general.form.enter', ['field' => $text])], $attributes)) !!}
|
||||
<div
|
||||
class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:class="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]">
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label'])!!}
|
||||
|
||||
<div class="input-group input-group-merge {{ $group_class }}">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
<i class="fa fa-{{ $icon }}"></i>
|
||||
</span>
|
||||
</div>
|
||||
{!! Form::number($name, $value, array_merge([
|
||||
'class' => 'form-control',
|
||||
'data-name' => $name,
|
||||
'data-value' => $value,
|
||||
'placeholder' => trans('general.form.select.field', ['field' => $text]),
|
||||
'v-model' => !empty($attributes['v-model']) ? $attributes['v-model'] : 'form.' . $name
|
||||
], $attributes)) !!}
|
||||
</div>
|
||||
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has(' . $name . ')' }}"
|
||||
v-html="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}">
|
||||
</div>
|
||||
{!! $errors->first($name, '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
|
||||
@@ -1,12 +1,30 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<div class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }} {{ $errors->has($name) ? 'has-error' : '' }}">
|
||||
{!! Form::label($name, $text, ['class' => 'control-label']) !!}
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon"><i class="fa fa-{{ $icon }}"></i></div>
|
||||
{!! Form::password($name, array_merge(['class' => 'form-control', 'placeholder' => trans('general.form.enter', ['field' => $text])], $attributes)) !!}
|
||||
<div
|
||||
class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:class="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]">
|
||||
@if ($text)
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label'])!!}
|
||||
@endif
|
||||
|
||||
<div class="input-group input-group-merge {{ $group_class }}">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
<i class="fa fa-{{ $icon }}"></i>
|
||||
</span>
|
||||
</div>
|
||||
{!! Form::password($name, array_merge([
|
||||
'class' => 'form-control',
|
||||
'data-name' => $name,
|
||||
'placeholder' => trans('general.form.select.field', ['field' => $text]),
|
||||
'v-model' => !empty($attributes['v-model']) ? $attributes['v-model'] : 'form.' . $name
|
||||
], $attributes)) !!}
|
||||
</div>
|
||||
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has(' . $name . ')' }}"
|
||||
v-html="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}">
|
||||
</div>
|
||||
{!! $errors->first($name, '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
|
||||
@@ -1,20 +1,27 @@
|
||||
@stack($name . '_input_start')
|
||||
<div
|
||||
class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:class="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]">
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label']) !!}
|
||||
|
||||
<div class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }} {{ $errors->has($name) ? 'has-error' : '' }}">
|
||||
{!! Form::label($name, $text, ['class' => 'control-label']) !!}
|
||||
<div class="input-group">
|
||||
<div class="btn-group radio-inline" data-toggle="buttons">
|
||||
<label id="{{ $name }}_1" class="btn btn-default">
|
||||
{!! Form::radio($name, '1') !!}
|
||||
<span class="radiotext">{{ trans('general.yes') }}</span>
|
||||
<div class="tab-pane tab-example-result fade show active" role="tabpanel" aria-labelledby="-component-tab">
|
||||
<div class="btn-group btn-group-toggle radio-yes-no" data-toggle="buttons">
|
||||
<label class="btn btn-success" @click="form.{{ $name }}=1">
|
||||
{{ trans('general.yes') }}
|
||||
<input type="radio" name="{{ $name }}" id="{{ $name }}-1" value="1" v-model="{{ !empty($attributes['v-model']) ? $attributes['v-model'] : 'form.' . $name }}">
|
||||
</label>
|
||||
<label id="{{ $name }}_0" class="btn btn-default">
|
||||
{!! Form::radio($name, '0', true) !!}
|
||||
<span class="radiotext">{{ trans('general.no') }}</span>
|
||||
|
||||
<label class="btn btn-danger" @click="form.{{ $name }}=0">
|
||||
{{ trans('general.no') }}
|
||||
<input type="radio" name="{{ $name }}" id="{{ $name }}-0" value="0" v-model="{{ !empty($attributes['v-model']) ? $attributes['v-model'] : 'form.' . $name }}">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
{!! $errors->first($name, '<p class="help-block">:message</p>') !!}
|
||||
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has(' . $name . ')' }}"
|
||||
v-html="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
|
||||
@@ -1,43 +1,41 @@
|
||||
@php
|
||||
if (($page == 'create') || !$model->recurring()->count()) {
|
||||
$frequency = 'no';
|
||||
$interval = 1;
|
||||
$custom_frequency = 'monthly';
|
||||
$count = 0;
|
||||
$frequency = old('recurring_frequency', 'no');
|
||||
$interval = old('recurring_interval', 1);
|
||||
$custom_frequency = old('recurring_custom_frequency', 'monthly');
|
||||
$count = old('recurring_count', 0);
|
||||
} else {
|
||||
$r = $model->recurring;
|
||||
$frequency = ($r->interval != 1) ? 'custom' : $r->frequency;
|
||||
$interval = $r->interval;
|
||||
$custom_frequency = $r->frequency;
|
||||
$count = $r->count;
|
||||
|
||||
$frequency = old('recurring_frequency', ($r->interval != 1) ? 'custom' : $r->frequency);
|
||||
$interval = old('recurring_interval', $r->interval);
|
||||
$custom_frequency = old('recurring_custom_frequency', $r->frequency);
|
||||
$count = old('recurring_count', $r->count);
|
||||
}
|
||||
@endphp
|
||||
|
||||
<div class="col-md-6 input-group-recurring">
|
||||
<div class="form-group col-md-12 {{ $errors->has('recurring_frequency') ? 'has-error' : ''}}">
|
||||
{!! Form::label('recurring_frequency', trans('recurring.recurring'), ['class' => 'control-label']) !!}
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon"><i class="fa fa-refresh"></i></div>
|
||||
{!! Form::select('recurring_frequency', $recurring_frequencies, $frequency, ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
{!! $errors->first('recurring_frequency', '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
<akaunting-recurring
|
||||
:form-classes="[{'has-error': form.errors.get('recurring_frequency')}]"
|
||||
:title="'{{ trans('recurring.recurring') }}'"
|
||||
:placeholder="'{{ trans('general.form.select.field', ['field' => trans('recurring.recurring')]) }}'"
|
||||
|
||||
<div class="form-group col-md-2 hidden {{ $errors->has('recurring_interval') ? 'has-error' : '' }}">
|
||||
{!! Form::label('recurring_interval', trans('recurring.every'), ['class' => 'control-label']) !!}
|
||||
{!! Form::number('recurring_interval', $interval, ['class' => 'form-control']) !!}
|
||||
{!! $errors->first('recurring_interval', '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
:frequency-options="{{ json_encode($recurring_frequencies) }}"
|
||||
:frequency-value="'{{ $frequency }}'"
|
||||
:frequency-error="form.errors.get('recurring_frequency')"
|
||||
|
||||
<div class="form-group col-md-4 hidden {{ $errors->has('recurring_custom_frequency') ? 'has-error' : ''}}">
|
||||
{!! Form::label('recurring_custom_frequency', trans('recurring.period'), ['class' => 'control-label']) !!}
|
||||
{!! Form::select('recurring_custom_frequency', $recurring_custom_frequencies, $custom_frequency, ['class' => 'form-control']) !!}
|
||||
{!! $errors->first('recurring_custom_frequency', '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
:interval-value="'{{ $interval }}'"
|
||||
:interval-error="form.errors.get('recurring_interval')"
|
||||
|
||||
<div class="form-group col-md-2 hidden {{ $errors->has('recurring_count') ? 'has-error' : '' }}">
|
||||
{!! Form::label('recurring_count', trans('recurring.times'), ['class' => 'control-label']) !!}
|
||||
{!! Form::number('recurring_count', $count, ['class' => 'form-control']) !!}
|
||||
{!! $errors->first('recurring_count', '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
</div>
|
||||
:custom-frequency-options="{{ json_encode($recurring_custom_frequencies) }}"
|
||||
:custom-frequency-value="'{{ $custom_frequency }}'"
|
||||
:custom-frequency-error="form.errors.get('custom_frequency')"
|
||||
|
||||
:count-value="'{{ $count }}'"
|
||||
:count-error="form.errors.get('recurring_count')"
|
||||
|
||||
@recurring_frequency="form.recurring_frequency = $event"
|
||||
@recurring_interval="form.recurring_interval = $event"
|
||||
@recurring_custom_frequency="form.recurring_custom_frequency = $event"
|
||||
@recurring_count="form.recurring_count = $event"
|
||||
>
|
||||
</akaunting-recurring>
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
@stack('save_buttons_start')
|
||||
|
||||
<div class="{{ $col }}">
|
||||
<div class="form-group no-margin">
|
||||
{!! Form::button('<span class="fa fa-save"></span> ' . trans('general.save'), ['type' => 'submit', 'class' => 'btn btn-success button-submit', 'data-loading-text' => trans('general.loading')]) !!}
|
||||
<a href="{{ url($cancel) }}" class="btn btn-default"><span class="fa fa-times-circle"></span> {{ trans('general.cancel') }}</a>
|
||||
<div class="{{ $col }}">
|
||||
<a href="{{ url($cancel) }}" class="btn btn-icon btn-outline-secondary">
|
||||
<span class="btn-inner--icon"><i class="fas fa-times"></i></span>
|
||||
<span class="btn-inner--text">{{ trans('general.cancel') }}</span>
|
||||
</a>
|
||||
|
||||
{!! Form::button(
|
||||
'<div v-if="form.loading" :class="(form.loading) ? \'show \' : \'\'" class="aka-loader-frame d-none"><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', 'data-loading-text' => trans('general.loading')]) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stack('save_buttons_end')
|
||||
|
||||
23
resources/views/partials/form/select_add_new_group.blade.php
Normal file
23
resources/views/partials/form/select_add_new_group.blade.php
Normal file
@@ -0,0 +1,23 @@
|
||||
@stack($name . '_input_start')
|
||||
<akaunting-select
|
||||
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]"
|
||||
:title="'{{ $text }}'"
|
||||
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
|
||||
:name="'{{ $name }}'"
|
||||
:options="{{ json_encode($values) }}"
|
||||
:value="'{{ old($name, $selected) }}'"
|
||||
:icon="'{{ $icon }}'"
|
||||
:add-new="true"
|
||||
:add-new-text="'{{ trans('general.form.add_new', ['field' => $text]) }}'"
|
||||
@if (!empty($attributes['path']))
|
||||
:add-new-path="'{{ $attributes['path'] }}'"
|
||||
@endif
|
||||
@new_item="onNewItem($event)"
|
||||
@interface="form.{{ $name }} = $event"
|
||||
@if (!empty($attributes['change']))
|
||||
@change="{{ $attributes['change'] }}($event)"
|
||||
@endif
|
||||
:form-error="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}"
|
||||
></akaunting-select>
|
||||
@stack($name . '_input_end')
|
||||
@@ -1,12 +1,21 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<div class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }} {{ $errors->has($name) ? 'has-error' : ''}}">
|
||||
{!! Form::label($name, $text, ['class' => 'control-label']) !!}
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon"><i class="fa fa-{{ $icon }}"></i></div>
|
||||
{!! Form::select($name, $values, $selected, array_merge(['class' => 'form-control', 'placeholder' => trans('general.form.select.field', ['field' => $text])], $attributes)) !!}
|
||||
</div>
|
||||
{!! $errors->first($name, '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
|
||||
<akaunting-select
|
||||
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get("' . $name . '")' }} }]"
|
||||
:title="'{{ $text }}'"
|
||||
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
|
||||
:name="'{{ $name }}'"
|
||||
:options="{{ json_encode($values) }}"
|
||||
:value="'{{ old($name, $selected) }}'"
|
||||
:icon="'{{ $icon }}'"
|
||||
@interface="{{ !empty($attributes['v-model']) ? $attributes['v-model'] . ' = $event' : 'form.' . $name . ' = $event' }}"
|
||||
@if (!empty($attributes['change']))
|
||||
@change="{{ $attributes['change'] }}($event)"
|
||||
@endif
|
||||
@if(isset($attributes['v-error-message']))
|
||||
:form-error="{{ $attributes['v-error-message'] }}"
|
||||
@else
|
||||
:form-error="form.errors.get('{{ $name }}')"
|
||||
@endif
|
||||
></akaunting-select>
|
||||
@stack($name . '_input_end')
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
@stack($name . '_input_start')
|
||||
<akaunting-select
|
||||
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]"
|
||||
:title="'{{ $text }}'"
|
||||
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
|
||||
:name="'{{ $name }}'"
|
||||
:options="{{ json_encode($values) }}"
|
||||
:value="'{{ old($name, $selected) }}'"
|
||||
:icon="'{{ $icon }}'"
|
||||
:add-new="true"
|
||||
:add-new-text="'{{ trans('general.form.add_new', ['field' => $text]) }}'"
|
||||
:group="true"
|
||||
@interface="form.{{ $name }} = $event"
|
||||
@if (!empty($attributes['change']))
|
||||
@change="{{ $attributes['change'] }}($event)"
|
||||
@endif
|
||||
:form-error="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}"
|
||||
></akaunting-select>
|
||||
@stack($name . '_input_end')
|
||||
18
resources/views/partials/form/select_group_group.blade.php
Normal file
18
resources/views/partials/form/select_group_group.blade.php
Normal file
@@ -0,0 +1,18 @@
|
||||
@stack($name . '_input_start')
|
||||
<akaunting-select
|
||||
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]"
|
||||
:title="'{{ $text }}'"
|
||||
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
|
||||
:name="'{{ $name }}'"
|
||||
:options="{{ json_encode($values) }}"
|
||||
:value="'{{ old($name, $selected) }}'"
|
||||
:icon="'{{ $icon }}'"
|
||||
:group="true"
|
||||
@interface="{{ !empty($attributes['v-model']) ? $attributes['v-model']. ' = $event' : 'form.' . $name . ' = $event' }}"
|
||||
@if (!empty($attributes['change']))
|
||||
@change="{{ $attributes['change'] }}($event)"
|
||||
@endif
|
||||
:form-error="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}"
|
||||
></akaunting-select>
|
||||
@stack($name . '_input_end')
|
||||
@@ -1,12 +1,29 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<div class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }} {{ $errors->has($name) ? 'has-error' : '' }}">
|
||||
{!! Form::label($name, $text, ['class' => 'control-label']) !!}
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon"><i class="fa fa-{{ $icon }}"></i></div>
|
||||
{!! Form::text($name, $value, array_merge(['class' => 'form-control', 'placeholder' => trans('general.form.enter', ['field' => $text])], $attributes)) !!}
|
||||
<div
|
||||
class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:class="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get("' . $name . '")' }} }]">
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label'])!!}
|
||||
|
||||
<div class="input-group input-group-merge {{ $group_class }}">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
<i class="fa fa-{{ $icon }}"></i>
|
||||
</span>
|
||||
</div>
|
||||
{!! Form::text($name, $value, array_merge([
|
||||
'class' => 'form-control',
|
||||
'data-name' => $name,
|
||||
'data-value' => $value,
|
||||
'placeholder' => trans('general.form.enter', ['field' => $text]),
|
||||
'v-model' => !empty($attributes['v-model']) ? $attributes['v-model'] : 'form.' . $name
|
||||
], $attributes)) !!}
|
||||
</div>
|
||||
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has("' . $name . '")' }}"
|
||||
v-html="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get("' . $name . '")' }}">
|
||||
</div>
|
||||
{!! $errors->first($name, '<p class="help-block">:message</p>') !!}
|
||||
</div>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
|
||||
@@ -1,9 +1,21 @@
|
||||
@stack($name . '_input_start')
|
||||
|
||||
<div class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }} {{ $errors->has($name) ? 'has-error' : '' }}">
|
||||
{!! Form::label($name, $text, ['class' => 'control-label']) !!}
|
||||
{!! Form::textarea($name, $value, array_merge(['class' => 'form-control', 'placeholder' => trans('general.form.enter', ['field' => $text])], $attributes)) !!}
|
||||
{!! $errors->first($name, '<p class="help-block">:message</p>') !!}
|
||||
<div
|
||||
class="form-group {{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
|
||||
:class="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get(' . $name . ')' }} }]">
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label']) !!}
|
||||
|
||||
{!! Form::textarea($name, $value, array_merge([
|
||||
'class' => 'form-control',
|
||||
'data-name' => $name,
|
||||
'data-value' => $value,
|
||||
'v-model' => !empty($attributes['v-model']) ? $attributes['v-model'] : 'form.' . $name
|
||||
], $attributes)) !!}
|
||||
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has(' . $name . ')' }}"
|
||||
v-html="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get(' . $name . ')' }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stack($name . '_input_end')
|
||||
|
||||
@@ -1,54 +1,47 @@
|
||||
<head>
|
||||
@stack('head_start')
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<title>@yield('title')</title>
|
||||
|
||||
<title>Akaunting</title>
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="{{ asset('public/img/favicon.ico') }}" type="image/png">
|
||||
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/css/bootstrap.min.css') }}">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/font-awesome.min.css') }}">
|
||||
<!-- Ionicons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/ionicons.min.css') }}">
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/AdminLTE.min.css') }}">
|
||||
<!-- AdminLTE Skins -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-green-light.min.css') }}">
|
||||
<!-- App style -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/install.css?v=' . version('short')) }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-green.css?v=' . version('short')) }}">
|
||||
|
||||
<link rel="shortcut icon" href="{{ asset('public/img/favicon.ico') }}">
|
||||
<!-- Font -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
|
||||
|
||||
@stack('css')
|
||||
<!-- Icons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/nucleo/css/nucleo.css') }}" type="text/css">
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/@fortawesome/fontawesome-free/css/all.min.css') }}" type="text/css">
|
||||
|
||||
@stack('stylesheet')
|
||||
<!-- Css -->
|
||||
<!-- Argon -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/argon.css?v=1.1.0') }}" type="text/css">
|
||||
<!-- Color -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-color.css?v=' . version('short')) }}">
|
||||
<!-- Custom -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/custom.css?v=' . version('short')) }}">
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
@stack('css')
|
||||
|
||||
<!-- jQuery 2.2.3 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/jQuery/jquery-2.2.3.min.js') }}"></script>
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/js/bootstrap.min.js') }}"></script>
|
||||
<!-- SlimScroll -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/slimScroll/jquery.slimscroll.min.js') }}"></script>
|
||||
<!-- AdminLTE App -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/dist/js/app.min.js') }}"></script>
|
||||
@stack('stylesheet')
|
||||
|
||||
<script src="{{ asset('public/js/app.js?v=' . version('short')) }}"></script>
|
||||
<script type="text/javascript"><!--
|
||||
var url = '{{ url("/") }}';
|
||||
//--></script>
|
||||
|
||||
@stack('js')
|
||||
@stack('js')
|
||||
|
||||
@stack('scripts')
|
||||
<script>
|
||||
window.Laravel = <?php echo json_encode([
|
||||
'csrfToken' => csrf_token(),
|
||||
]); ?>
|
||||
|
||||
var flash_notification = {!! (session()->has('flash_notification')) ? json_encode(session()->get('flash_notification')) : 'false' !!};
|
||||
</script>
|
||||
{{ session()->forget('flash_notification') }}
|
||||
|
||||
@stack('scripts')
|
||||
@stack('head_end')
|
||||
</head>
|
||||
|
||||
17
resources/views/partials/install/scripts.blade.php
Normal file
17
resources/views/partials/install/scripts.blade.php
Normal file
@@ -0,0 +1,17 @@
|
||||
@stack('scripts_start')
|
||||
<!-- Core -->
|
||||
<script src="{{ asset('public/vendor/jquery/dist/jquery.min.js') }}"></script>
|
||||
<script src="{{ asset('public/vendor/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
|
||||
<script src="{{ asset('public/vendor/js-cookie/js.cookie.js') }}"></script>
|
||||
|
||||
<script src="{{ asset('public/js/install.js?v=' . version('short')) }}"></script>
|
||||
|
||||
@stack('body_css')
|
||||
|
||||
@stack('body_stylesheet')
|
||||
|
||||
@stack('body_js')
|
||||
|
||||
@stack('body_scripts')
|
||||
|
||||
@stack('scripts_end')
|
||||
@@ -1,29 +1,27 @@
|
||||
<head>
|
||||
@stack('head_start')
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8; charset=ISO-8859-1"/>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8; charset=ISO-8859-1"/>
|
||||
<title>@yield('title') - @setting('company.name')</title>
|
||||
|
||||
<title>@yield('title') - @setting('general.company_name')</title>
|
||||
<!-- Css -->
|
||||
<!-- Argon -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/argon.css?v=1.1.0') }}" type="text/css">
|
||||
<!-- Color -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-color.css?v=' . version('short')) }}">
|
||||
<!-- Custom -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/custom.css?v=' . version('short')) }}">
|
||||
|
||||
<link rel="stylesheet" href="{{ asset('public/css/invoice.css?v=' . version('short')) }}">
|
||||
@stack('css')
|
||||
|
||||
<style type="text/css">
|
||||
* {
|
||||
font-family: DejaVu Sans;
|
||||
}
|
||||
</style>
|
||||
@stack('stylesheet')
|
||||
|
||||
@stack('css')
|
||||
|
||||
@stack('stylesheet')
|
||||
|
||||
@stack('js')
|
||||
|
||||
@stack('scripts')
|
||||
@stack('js')
|
||||
|
||||
@stack('scripts')
|
||||
@stack('head_end')
|
||||
</head>
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
@stack('content_start')
|
||||
|
||||
<!-- Content Wrapper. Contains page content -->
|
||||
<div class="content-wrapper">
|
||||
@stack('content_wrapper_start')
|
||||
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header content-center">
|
||||
@stack('content_header_start')
|
||||
|
||||
<h1>
|
||||
@yield('title')
|
||||
@yield('new_button')
|
||||
</h1>
|
||||
|
||||
@stack('content_header_end')
|
||||
</section>
|
||||
|
||||
<!-- Main content -->
|
||||
<section class="content content-center">
|
||||
@include('flash::message')
|
||||
|
||||
@stack('content_content_start')
|
||||
|
||||
@yield('content')
|
||||
|
||||
@stack('content_content_end')
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
|
||||
@stack('content_wrapper_end')
|
||||
</div>
|
||||
<!-- /.content-wrapper -->
|
||||
|
||||
<script type="text/javascript">
|
||||
$('div.alert').not('.alert-important').delay(3000).fadeOut(350);
|
||||
</script>
|
||||
|
||||
@stack('content_end')
|
||||
@@ -1,7 +0,0 @@
|
||||
@stack('footer_start')
|
||||
|
||||
<footer class="main-footer">
|
||||
<strong>{{ trans('footer.powered') }}</strong>: <a href="{{ trans('footer.link') }}">{{ trans('footer.software') }}</a>
|
||||
</footer>
|
||||
|
||||
@stack('footer_end')
|
||||
@@ -1,78 +0,0 @@
|
||||
<head>
|
||||
@stack('head_start')
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
|
||||
<title>@yield('title') - @setting('general.company_name')</title>
|
||||
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/css/bootstrap.min.css') }}">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/font-awesome.min.css') }}">
|
||||
<!-- Ionicons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/ionicons.min.css') }}">
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/AdminLTE.min.css') }}">
|
||||
<!-- AdminLTE Skins -->
|
||||
@if (setting('general.admin_theme', 'skin-green-light') == 'skin-green-light')
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-green-light.min.css') }}">
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-black.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/skin-black.css?v=' . version('short')) }}">
|
||||
@endif
|
||||
<!-- Data Tables -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/plugins/datatables/dataTables.bootstrap.css') }}">
|
||||
<!-- Select2 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/plugins/select2/select2.min.css') }}">
|
||||
<!-- App style -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/app.css?v=' . version('short')) }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-green.css?v=' . version('short')) }}">
|
||||
|
||||
<link rel="shortcut icon" href="{{ asset('public/img/favicon.ico') }}">
|
||||
|
||||
@stack('css')
|
||||
|
||||
@stack('stylesheet')
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- jQuery 2.2.3 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/jQuery/jquery-2.2.3.min.js') }}"></script>
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/js/bootstrap.min.js') }}"></script>
|
||||
<!-- SlimScroll -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/slimScroll/jquery.slimscroll.min.js') }}"></script>
|
||||
<!-- FastClick -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/fastclick/fastclick.js') }}"></script>
|
||||
<!-- Data Tables -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/datatables/dataTables.bootstrap.min.js') }}"></script>
|
||||
<!-- AdminLTE App -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/dist/js/app.min.js') }}"></script>
|
||||
|
||||
<!-- Select2 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/select2/select2.min.js') }}"></script>
|
||||
<!-- Mask Money -->
|
||||
<script src="{{ asset('public/js/jquery/jquery.maskMoney.js') }}"></script>
|
||||
|
||||
<script src="{{ asset('public/js/app.js?v=' . version('short')) }}"></script>
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
var app_url = '{{ url("/") }}';
|
||||
var url_search = '{{ url("common/search/search") }}';
|
||||
//--></script>
|
||||
|
||||
@stack('js')
|
||||
|
||||
@stack('scripts')
|
||||
|
||||
@stack('head_end')
|
||||
</head>
|
||||
@@ -1,18 +1,18 @@
|
||||
@php
|
||||
$column_name = !empty($column_name) ? $column_name : 'attachment';
|
||||
$options = !empty($options) ? $options : false;
|
||||
$column_name = !empty($column_name) ? $column_name : 'attachment';
|
||||
$options = !empty($options) ? $options : false;
|
||||
@endphp
|
||||
|
||||
<ul class="mailbox-attachments clearfix margin-top">
|
||||
<li>
|
||||
@if ($file->aggregate_type != 'image')
|
||||
<span class="mailbox-attachment-icon">
|
||||
<i class="fa fa-file-{{ $file->aggregate_type }}-o"></i>
|
||||
</span>
|
||||
<span class="mailbox-attachment-icon">
|
||||
<i class="fa fa-file-{{ $file->aggregate_type }}-o"></i>
|
||||
</span>
|
||||
@else
|
||||
<span class="mailbox-attachment-icon has-img">
|
||||
<img src="{{ url('uploads/' . $file->id) }}" alt="{{ $file->basename }}">
|
||||
</span>
|
||||
<span class="mailbox-attachment-icon has-img">
|
||||
<img src="{{ url('uploads/' . $file->id) }}" alt="{{ $file->basename }}">
|
||||
</span>
|
||||
@endif
|
||||
|
||||
<div class="mailbox-attachment-info">
|
||||
@@ -25,24 +25,24 @@ $options = !empty($options) ? $options : false;
|
||||
<span class="mailbox-attachment-size">
|
||||
{{ $file->readableSize() }}
|
||||
|
||||
@permission('delete-common-uploads')
|
||||
{!! Form::open([
|
||||
'id' => $column_name. '-' . $file->id,
|
||||
'method' => 'DELETE',
|
||||
'url' => [url('uploads/' . $file->id)],
|
||||
'style' => 'display:inline'
|
||||
]) !!}
|
||||
<a href="javascript:void();" id="remove-{{ $column_name }}" class="btn btn-danger btn-xs pull-right mailbox-attachment-remove">
|
||||
<i class="fa fa fa-times"></i>
|
||||
</a>
|
||||
@permission('delete-common-uploads')
|
||||
{!! Form::open([
|
||||
'id' => $column_name. '-' . $file->id,
|
||||
'method' => 'DELETE',
|
||||
'url' => [url('uploads/' . $file->id)],
|
||||
'class' => 'd-inline'
|
||||
]) !!}
|
||||
<a href="javascript:void();" id="remove-{{ $column_name }}" class="btn btn-danger btn-xs pull-right mailbox-attachment-remove">
|
||||
<i class="fa fa fa-times"></i>
|
||||
</a>
|
||||
|
||||
@if ($options)
|
||||
<input type="hidden" name="page" value="{{ $options['page'] }}" />
|
||||
<input type="hidden" name="key" value="{{ $options['key'] }}" />
|
||||
<input type="hidden" name="value" value="{{ $file->id }}" />
|
||||
@endif
|
||||
{!! Form::close() !!}
|
||||
@endpermission
|
||||
@if ($options)
|
||||
<input type="hidden" name="page" value="{{ $options['page'] }}" />
|
||||
<input type="hidden" name="key" value="{{ $options['key'] }}" />
|
||||
<input type="hidden" name="value" value="{{ $file->id }}" />
|
||||
@endif
|
||||
{!! Form::close() !!}
|
||||
@endpermission
|
||||
|
||||
<a href="{{ url('uploads/' . $file->id . '/download') }}" class="btn btn-info btn-xs pull-right mailbox-attachment-download">
|
||||
<i class="fa fa-cloud-download"></i>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
@php
|
||||
$column_name = !empty($column_name) ? $column_name : 'attachment';
|
||||
$options = !empty($options) ? $options : false;
|
||||
$column_name = !empty($column_name) ? $column_name : 'attachment';
|
||||
$options = !empty($options) ? $options : false;
|
||||
@endphp
|
||||
|
||||
<ul class="mailbox-attachments clearfix margin-top">
|
||||
@foreach ($files as $file)
|
||||
<li>
|
||||
@if ($file->aggregate_type != 'image')
|
||||
<span class="mailbox-attachment-icon">
|
||||
<i class="fa fa-file-{{ $file->aggregate_type }}-o"></i>
|
||||
</span>
|
||||
<span class="mailbox-attachment-icon">
|
||||
<i class="fa fa-file-{{ $file->aggregate_type }}-o"></i>
|
||||
</span>
|
||||
@else
|
||||
<span class="mailbox-attachment-icon has-img">
|
||||
<img src="{{ url('uploads/' . $file->id) }}" alt="{{ $file->basename }}">
|
||||
</span>
|
||||
<span class="mailbox-attachment-icon has-img">
|
||||
<img src="{{ url('uploads/' . $file->id) }}" alt="{{ $file->basename }}">
|
||||
</span>
|
||||
@endif
|
||||
|
||||
<div class="mailbox-attachment-info">
|
||||
@@ -28,22 +28,21 @@ $options = !empty($options) ? $options : false;
|
||||
|
||||
@permission('delete-common-uploads')
|
||||
{!! Form::open([
|
||||
'id' => 'attachment-' . $file->id,
|
||||
'method' => 'DELETE',
|
||||
'url' => [url('uploads/' . $file->id)],
|
||||
'style' => 'display:inline'
|
||||
]) !!}
|
||||
<a href="javascript:void();" id="remove-attachment" class="btn btn-danger btn-xs pull-right mailbox-attachment-remove">
|
||||
<i class="fa fa fa-times"></i>
|
||||
</a>
|
||||
|
||||
@if ($options)
|
||||
<input type="hidden" name="page" value="{{ $options['page'] }}" />
|
||||
<input type="hidden" name="key" value="{{ $options['key'] }}" />
|
||||
<input type="hidden" name="value" value="{{ $file->id }}" />
|
||||
@endif
|
||||
'id' => 'attachment-' . $file->id,
|
||||
'method' => 'DELETE',
|
||||
'url' => [url('uploads/' . $file->id)],
|
||||
'class' => 'd-inline'
|
||||
]) !!}
|
||||
<a href="javascript:void();" id="remove-attachment" class="btn btn-danger btn-xs pull-right mailbox-attachment-remove">
|
||||
<i class="fa fa fa-times"></i>
|
||||
</a>
|
||||
@if ($options)
|
||||
<input type="hidden" name="page" value="{{ $options['page'] }}" />
|
||||
<input type="hidden" name="key" value="{{ $options['key'] }}" />
|
||||
<input type="hidden" name="value" value="{{ $file->id }}" />
|
||||
@endif
|
||||
{!! Form::close() !!}
|
||||
@endpermission
|
||||
@endpermission
|
||||
|
||||
<a href="{{ url('uploads/' . $file->id . '/download') }}" class="btn btn-info btn-xs pull-right mailbox-attachment-download">
|
||||
<i class="fa fa-cloud-download"></i>
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
<div class="col-md-12 no-padding-left">
|
||||
<div class="box box-success">
|
||||
<div class="box-header with-border">
|
||||
|
||||
<div class="pull-left">
|
||||
{!! Form::select('category', $categories, request('category'), ['class' => 'form-control input-sm', 'style' => 'display:inline;width:inherit;']) !!}
|
||||
<a href="{{ url('apps/paid') }}" class="btn btn-sm btn-default btn-flat margin" style="margin-left: 20px;">{{ trans('modules.top_paid') }}</a>
|
||||
<a href="{{ url('apps/new') }}" class="btn btn-sm btn-default btn-flat margin">{{ trans('modules.new') }}</a>
|
||||
<a href="{{ url('apps/free') }}" class="btn btn-sm btn-default btn-flat margin">{{ trans('modules.top_free') }}</a>
|
||||
</div>
|
||||
|
||||
<div class="pull-right">
|
||||
<div class="has-feedback">
|
||||
{!! Form::open(['url' => 'apps/search', 'role' => 'form', 'method' => 'GET']) !!}
|
||||
<input name="keyword" value="{{ isset($keyword) ? $keyword : '' }}" type="text" class="form-control input-sm" style="margin-top: 10px;" placeholder="Search Apps">
|
||||
<span class="glyphicon glyphicon-search form-control-feedback"></span>
|
||||
{!! Form::close() !!}
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-9">
|
||||
{!! Form::select('category', $categories, request('category'), ['class' => 'form-control form-control-sm table-header-search mt-0']) !!}
|
||||
<a href="{{ route('apps.paid') }}" class="btn btn-sm btn-white card-buttons filter-button ml-2">{{ trans('modules.top_paid') }}</a>
|
||||
<a href="{{ route('apps.new') }}" class="btn btn-sm btn-white card-buttons filter-button">{{ trans('modules.new') }}</a>
|
||||
<a href="{{ route('apps.free') }}" class="btn btn-sm btn-white card-buttons filter-button">{{ trans('modules.top_free') }}</a>
|
||||
</div>
|
||||
<div class="col-3 text-right">
|
||||
{!! Form::open(['route' => ['apps.search'], 'role' => 'form', 'method' => 'GET', 'class' => 'm-0']) !!}
|
||||
<input name="keyword" value="{{ isset($keyword) ? $keyword : '' }}" type="text" class="form-control form-control-sm table-header-search" placeholder="Search Apps">
|
||||
<span class="glyphicon glyphicon-search form-control-feedback"></span>
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,90 +1,54 @@
|
||||
<head>
|
||||
@stack('head_start')
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<title>@yield('title') - @setting('company.name')</title>
|
||||
|
||||
<title>@yield('title') - @setting('general.company_name')</title>
|
||||
@include('partials.pwa.pwa')
|
||||
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/css/bootstrap.min.css') }}">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/font-awesome.min.css') }}">
|
||||
<!-- Ionicons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/ionicons.min.css') }}">
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/AdminLTE.min.css') }}">
|
||||
<!-- AdminLTE Skins -->
|
||||
@if (setting('general.admin_theme', 'skin-green-light') == 'skin-green-light')
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-green-light.min.css') }}">
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-black.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/skin-black.css?v=' . version('short')) }}">
|
||||
@endif
|
||||
<!-- Select2 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/plugins/select2/select2.min.css') }}">
|
||||
<!-- App style -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/app.css?v=' . version('short')) }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-green.css?v=' . version('short')) }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/modules.css?v=' . version('short')) }}">
|
||||
|
||||
<link rel="shortcut icon" href="{{ asset('public/img/favicon.ico') }}">
|
||||
|
||||
@stack('css')
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="{{ asset('public/img/favicon.ico') }}" type="image/png">
|
||||
|
||||
@stack('stylesheet')
|
||||
<!-- Font -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!-- Icons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/nucleo/css/nucleo.css') }}" type="text/css">
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/@fortawesome/fontawesome-free/css/all.min.css') }}" type="text/css">
|
||||
|
||||
<!-- jQuery 2.2.3 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/jQuery/jquery-2.2.3.min.js') }}"></script>
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/js/bootstrap.min.js') }}"></script>
|
||||
<!-- SlimScroll -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/slimScroll/jquery.slimscroll.min.js') }}"></script>
|
||||
<!-- FastClick -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/fastclick/fastclick.js') }}"></script>
|
||||
<!-- AdminLTE App -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/dist/js/app.min.js') }}"></script>
|
||||
<!-- Css -->
|
||||
<!-- Argon -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/argon.css?v=1.1.0') }}" type="text/css">
|
||||
|
||||
<!-- Select2 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/select2/select2.min.js') }}"></script>
|
||||
<!-- Color -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-color.css?v=' . version('short')) }}">
|
||||
<!-- Custom -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/custom.css?v=' . version('short')) }}">
|
||||
|
||||
<script src="{{ asset('public/js/app.js?v=' . version('short')) }}"></script>
|
||||
@stack('css')
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
var app_url = '{{ url("/") }}';
|
||||
var url_search = '{{ url("common/search/search") }}';
|
||||
//--></script>
|
||||
@stack('stylesheet')
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('select[name=\'category\']').on('change', function() {
|
||||
url = '{{ url("apps/categories") }}';
|
||||
<script type="text/javascript"><!--
|
||||
var url = '{{ url("/") }}';
|
||||
var app_url = '{{ env("APP_URL") }}';
|
||||
//--></script>
|
||||
|
||||
var value = $(this).val();
|
||||
@stack('js')
|
||||
|
||||
if (value) {
|
||||
url += '/' + encodeURIComponent(value);
|
||||
} else {
|
||||
url = '{{ url("apps/home") }}';
|
||||
}
|
||||
<script type="text/javascript"><!--
|
||||
window.Laravel = <?php echo json_encode([
|
||||
'csrfToken' => csrf_token(),
|
||||
]); ?>;
|
||||
|
||||
location = url;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
var aka_currency = {!! !empty($currency) ? $currency : 'false' !!};
|
||||
|
||||
@stack('js')
|
||||
var flash_notification = {!! (session()->has('flash_notification')) ? json_encode(session()->get('flash_notification')) : 'false' !!};
|
||||
//--></script>
|
||||
|
||||
@stack('scripts')
|
||||
{{ session()->forget('flash_notification') }}
|
||||
|
||||
@stack('scripts')
|
||||
@stack('head_end')
|
||||
</head>
|
||||
|
||||
@@ -1,61 +1,61 @@
|
||||
<div class="col-md-3 no-padding-left">
|
||||
<div class="box box-success">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><a href="{{ url('apps/' . $module->slug) }}">{{ $module->name }}</a></h3>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="card">
|
||||
<div class="card-header py-2">
|
||||
<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-yellow'; @endphp
|
||||
@endif
|
||||
<span class="module-installed">
|
||||
<small class="label {{ $color }}">{{ trans('modules.badge.installed') }}</small>
|
||||
<span class="mr--3 float-right">
|
||||
<span class="badge {{ $color }} text-white">{{ trans('modules.badge.installed') }}</span>
|
||||
</span>
|
||||
@endif
|
||||
<!-- /.box-tools -->
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
|
||||
<div class="box-body text-center">
|
||||
<a href="{{ url('apps/' . $module->slug) }}">
|
||||
@foreach ($module->files as $file)
|
||||
@if (($file->media_type == 'image') && ($file->pivot->zone == 'thumbnail'))
|
||||
<img src="{{ $file->path_string }}" alt="{{ $module->name }}" class="item-image">
|
||||
@endif
|
||||
@endforeach
|
||||
</a>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
|
||||
<div class="box-footer">
|
||||
<div class="pull-left">
|
||||
@for($i = 1; $i <= $module->vote; $i++)
|
||||
<i class="fa fa-star fa-lg"></i>
|
||||
@endfor
|
||||
@for($i = $module->vote; $i < 5; $i++)
|
||||
<i class="fa fa-star-o fa-lg"></i>
|
||||
@endfor
|
||||
@if ($module->total_review)
|
||||
({{ $module->total_review }})
|
||||
@endif
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
@if ($module->price == '0.0000')
|
||||
{{ trans('modules.free') }}
|
||||
@else
|
||||
{!! $module->price_prefix !!}
|
||||
@if (isset($module->special_price))
|
||||
<del>{{ $module->price }}</del>
|
||||
{{ $module->special_price }}
|
||||
@else
|
||||
{{ $module->price }}
|
||||
@endif
|
||||
{!! $module->price_suffix !!}
|
||||
<a href="{{ route('apps.app.show', [$module->slug]) }}">
|
||||
@foreach ($module->files as $file)
|
||||
@if (($file->media_type == 'image') && ($file->pivot->zone == 'thumbnail'))
|
||||
<img src="{{ $file->path_string }}" alt="{{ $module->name }}" class="card-img-top border-radius-0">
|
||||
@endif
|
||||
@endforeach
|
||||
</a>
|
||||
|
||||
<div class="card-footer py-2">
|
||||
<div class="float-left ml--3 mt--1">
|
||||
@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 }})
|
||||
@endif
|
||||
</small>
|
||||
</div>
|
||||
<div class="float-right mr--3">
|
||||
<small>
|
||||
<strong>
|
||||
@if ($module->price == '0.0000')
|
||||
{{ trans('modules.free') }}
|
||||
@else
|
||||
{!! $module->price_prefix !!}
|
||||
@if (isset($module->special_price))
|
||||
<del>{{ $module->price }}</del>
|
||||
{{ $module->special_price }}
|
||||
@else
|
||||
{{ $module->price }}
|
||||
@endif
|
||||
{!! $module->price_suffix !!}
|
||||
@endif
|
||||
</strong>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-footer -->
|
||||
</div>
|
||||
<!-- /.box -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
<div class="box box-success">
|
||||
<div class="box-body">
|
||||
<p class="col-md-12" style="margin-top: 15px">
|
||||
{{ trans('modules.no_apps') }}
|
||||
</p>
|
||||
<p class="col-md-12" style="margin-top: 20px">
|
||||
<small>{!! trans('modules.developer') !!}</small>
|
||||
</p>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<p class="text-center">
|
||||
{{ trans('modules.no_apps') }}
|
||||
</p>
|
||||
<p class="text-center">
|
||||
<small>{!! trans('modules.developer') !!}</small>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,46 +1,45 @@
|
||||
<div class="col-md-3 no-padding-left">
|
||||
<div class="box box-success">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><a href="{{ url('apps/' . $module->slug) }}">{{ $module->name }}</a></h3>
|
||||
|
||||
<span class="module-installed">
|
||||
<small class="label bg-red">{{ trans('modules.badge.pre_sale') }}</small>
|
||||
</span>
|
||||
<!-- /.box-tools -->
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
|
||||
<div class="box-body text-center">
|
||||
<a href="{{ url('apps/' . $module->slug) }}">
|
||||
@foreach ($module->files as $file)
|
||||
@if (($file->media_type == 'image') && ($file->pivot->zone == 'thumbnail'))
|
||||
<img src="{{ $file->path_string }}" alt="{{ $module->name }}" class="item-image">
|
||||
@endif
|
||||
@endforeach
|
||||
</a>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
|
||||
<div class="box-footer">
|
||||
<div class="pull-left">
|
||||
{{ trans('modules.pre_sale') }}
|
||||
<div class="col-md-3">
|
||||
<div class="card">
|
||||
<div class="card-header py-2">
|
||||
<div class="float-left ml--3">
|
||||
<h4 class="mb-0"><a href="{{ route('apps.app.show', [$module->slug]) }}">{{ $module->name }}</a></h4>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
@if ($module->price == '0.0000')
|
||||
{{ trans('modules.free') }}
|
||||
@else
|
||||
{!! $module->price_prefix !!}
|
||||
@if (isset($module->special_price))
|
||||
<del>{{ $module->price }}</del>
|
||||
{{ $module->special_price }}
|
||||
@else
|
||||
{{ $module->price }}
|
||||
@endif
|
||||
{!! $module->price_suffix !!}
|
||||
<div class="float-right mr--3">
|
||||
<span class="badge badge-pill badge-danger">{{ trans('modules.badge.pre_sale') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="{{ route('apps.app.show', [$module->slug]) }}">
|
||||
@foreach ($module->files as $file)
|
||||
@if (($file->media_type == 'image') && ($file->pivot->zone == 'thumbnail'))
|
||||
<img src="{{ $file->path_string }}" alt="{{ $module->name }}" class="card-img-top card-border">
|
||||
@endif
|
||||
@endforeach
|
||||
</a>
|
||||
<div class="card-footer py-2">
|
||||
<div class="float-left ml--3 mt-1">
|
||||
<small class="text-sm">
|
||||
{{ trans('modules.pre_sale') }}
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<div class="float-right mr--3">
|
||||
<small>
|
||||
<strong>
|
||||
@if ($module->price == '0.0000')
|
||||
{{ trans('modules.free') }}
|
||||
@else
|
||||
{!! $module->price_prefix !!}
|
||||
@if (isset($module->special_price))
|
||||
<del>{{ $module->price }}</del>
|
||||
{{ $module->special_price }}
|
||||
@else
|
||||
{{ $module->price }}
|
||||
@endif
|
||||
{!! $module->price_suffix !!}
|
||||
@endif
|
||||
</strong>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-footer -->
|
||||
</div>
|
||||
<!-- /.box -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,70 +1,80 @@
|
||||
<div id="review-items">
|
||||
@foreach($reviews->data as $review)
|
||||
<div class="post">
|
||||
<div class="user-block">
|
||||
<img class="img-circle img-bordered-sm" src="{{ $review->thumb }}" alt="{{ $review->author }}">
|
||||
<span class="username">
|
||||
{{ $review->author }}
|
||||
<span class="pull-right">
|
||||
@for($i = 1; $i <= $review->rating; $i++)
|
||||
<i class="fa fa-star"></i>
|
||||
@endfor
|
||||
@for($i = $review->rating; $i < 5; $i++)
|
||||
<i class="fa fa-star-o"></i>
|
||||
@endfor
|
||||
</span>
|
||||
</span>
|
||||
<span class="description">{{ Date::parse($review->created_at)->format($date_format) }}</span>
|
||||
<div class="media media-comment">
|
||||
<img alt="Image placeholder" class="avatar avatar-lg media-comment-avatar rounded-circle" src="{{ $review->thumb }}" alt="{{ $review->author }}">
|
||||
<div class="media-body">
|
||||
<div class="media-comment-text">
|
||||
<div class="d-flex">
|
||||
<h5 class="mt-0">{{ $review->author }}</h5>
|
||||
<h5 class="text-right ml-auto">@date($review->created_at)</h5>
|
||||
</div>
|
||||
<p class="text-sm lh-160">{!! nl2br($review->text) !!}</p>
|
||||
<div class="icon-actions">
|
||||
<a href="#" class="like active">
|
||||
<span class="text-yellow">
|
||||
@for($i = 1; $i <= $review->rating; $i++)
|
||||
<i class="fa fa-star"></i>
|
||||
@endfor
|
||||
@for($i = $review->rating; $i < 5; $i++)
|
||||
<i class="fa fa-star-o"></i>
|
||||
@endfor
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
{!! nl2br($review->text) !!}
|
||||
</p>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
@stack('pagination_start')
|
||||
|
||||
@php
|
||||
$review_first_item = count($reviews->data) > 0 ? ($reviews->current_page - 1) * $reviews->per_page + 1 : null;
|
||||
$review_last_item = count($reviews->data) > 0 ? $review_first_item + count($reviews->data) - 1 : null;
|
||||
@endphp
|
||||
|
||||
@if ($review_first_item)
|
||||
<div class="pull-left" style="margin-top: 7px;">
|
||||
<small>{{ trans('pagination.showing', ['first' => $review_first_item, 'last' => $review_last_item, 'total' => $reviews->total, 'type' => strtolower(trans('modules.tab.reviews'))]) }}</small>
|
||||
</div>
|
||||
@stack('pagination_start')
|
||||
@php
|
||||
$review_first_item = count($reviews->data) > 0 ? ($reviews->current_page - 1) * $reviews->per_page + 1 : null;
|
||||
$review_last_item = count($reviews->data) > 0 ? $review_first_item + count($reviews->data) - 1 : null;
|
||||
@endphp
|
||||
|
||||
<div class="pull-right">
|
||||
<ul class="pagination pagination-sm no-margin">
|
||||
{{-- Previous Page Link --}}
|
||||
@if ($reviews->current_page <= 1)
|
||||
<li class="disabled"><span>«</span></li>
|
||||
@else
|
||||
<li><a href="{{ url(request()->path()) }}?page={{ $reviews->current_page - 1 }}" rel="prev">«</a></li>
|
||||
@endif
|
||||
@if ($review_first_item)
|
||||
<div class="row d-none">
|
||||
<div class="col-md-6">
|
||||
<span class="table-text hidden-lg">
|
||||
{{ trans('pagination.showing', ['first' => $review_first_item, 'last' => $review_last_item, 'total' => $reviews->total, 'type' => strtolower(trans('modules.tab.reviews'))]) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{{-- Pagination Elements --}}
|
||||
@for ($page = 1; $page <= $reviews->last_page; $page++)
|
||||
@if ($page == $reviews->current_page)
|
||||
<li class="active"><span>{{ $page }}</span></li>
|
||||
@else
|
||||
<li><a href="{{ url(request()->path()) }}?page={{ $page }}" data-page="{{ $page }}">{{ $page }}</a></li>
|
||||
@endif
|
||||
@endfor
|
||||
<div class="col-md-6">
|
||||
<ul class="pagination float-right">
|
||||
{{-- Previous Page Link --}}
|
||||
@if ($reviews->current_page <= 1)
|
||||
<li class="page-item disabled"><span class="page-link">«</span></li>
|
||||
@else
|
||||
<li><a class="page-link" href="{{ url(request()->path()) }}?page={{ $reviews->current_page - 1 }}" rel="prev">«</a></li>
|
||||
@endif
|
||||
|
||||
{{-- Next Page Link --}}
|
||||
@if ($reviews->current_page != 1)
|
||||
<li><a href="{{ url(request()->path()) }}?page={{ $reviews->current_page + 1 }}" rel="next">»</a></li>
|
||||
@else
|
||||
<li class="disabled"><span>»</span></li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
@else
|
||||
<div class="pull-left">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
{{-- Pagination Elements --}}
|
||||
@for ($page = 1; $page <= $reviews->last_page; $page++)
|
||||
@if ($page == $reviews->current_page)
|
||||
<li class="page-item active"><span class="page-link">{{ $page }}</span></li>
|
||||
@else
|
||||
<li class="page-item"><a class="page-link" href="{{ url(request()->path()) }}?page={{ $page }}" data-page="{{ $page }}">{{ $page }}</a></li>
|
||||
@endif
|
||||
@endfor
|
||||
|
||||
{{-- Next Page Link --}}
|
||||
@if ($reviews->current_page != 1)
|
||||
<li class="page-item"><a class="page-link" href="{{ url(request()->path()) }}?page={{ $reviews->current_page + 1 }}" rel="next">»</a></li>
|
||||
@else
|
||||
<li class="page-item disabled"><span class="page-link">»</span></li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@stack('pagination_end')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
17
resources/views/partials/portal/content.blade.php
Normal file
17
resources/views/partials/portal/content.blade.php
Normal file
@@ -0,0 +1,17 @@
|
||||
@stack('content_start')
|
||||
<div id="app">
|
||||
@stack('content_content_start')
|
||||
|
||||
@yield('content')
|
||||
|
||||
@stack('content_content_end')
|
||||
<notifications></notifications>
|
||||
|
||||
<akaunting-modal
|
||||
v-if="addNew.modal"
|
||||
:show="addNew.modal"
|
||||
:title="addNew.title"
|
||||
:message="addNew.html">
|
||||
</akaunting-modal>
|
||||
</div>
|
||||
@stack('content_end')
|
||||
7
resources/views/partials/portal/footer.blade.php
Normal file
7
resources/views/partials/portal/footer.blade.php
Normal file
@@ -0,0 +1,7 @@
|
||||
@stack('footer_start')
|
||||
<footer class="footer pt-0">
|
||||
<div class="text-sm float-left text-muted footer-texts">
|
||||
{{ trans('footer.powered') }}: <a class="text-success" href="{{ trans('footer.link') }}" target="_blank">{{ trans('footer.software') }}</a>
|
||||
</div>
|
||||
</footer>
|
||||
@stack('footer_end')
|
||||
54
resources/views/partials/portal/head.blade.php
Normal file
54
resources/views/partials/portal/head.blade.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<head>
|
||||
@stack('head_start')
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<title>@yield('title') - @setting('company.name')</title>
|
||||
|
||||
@include('partials.pwa.pwa')
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="{{ asset('public/img/favicon.ico') }}" type="image/png">
|
||||
|
||||
<!-- Font -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
|
||||
|
||||
<!-- Icons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/nucleo/css/nucleo.css') }}" type="text/css">
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/@fortawesome/fontawesome-free/css/all.min.css') }}" type="text/css">
|
||||
|
||||
<!-- Css -->
|
||||
<!-- Argon -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/argon.css?v=1.1.0') }}" type="text/css">
|
||||
|
||||
<!-- Color -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-color.css?v=' . version('short')) }}">
|
||||
<!-- Custom -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/custom.css?v=' . version('short')) }}">
|
||||
|
||||
@stack('css')
|
||||
|
||||
@stack('stylesheet')
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
var url = '{{ url("/") }}';
|
||||
var app_url = '{{ env("APP_URL") }}';
|
||||
//--></script>
|
||||
|
||||
@stack('js')
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
window.Laravel = <?php echo json_encode([
|
||||
'csrfToken' => csrf_token(),
|
||||
]); ?>;
|
||||
|
||||
var aka_currency = {!! !empty($currency) ? $currency : 'false' !!};
|
||||
|
||||
var flash_notification = {!! (session()->has('flash_notification')) ? json_encode(session()->get('flash_notification')) : 'false' !!};
|
||||
//--></script>
|
||||
|
||||
{{ session()->forget('flash_notification') }}
|
||||
|
||||
@stack('scripts')
|
||||
@stack('head_end')
|
||||
</head>
|
||||
21
resources/views/partials/portal/header.blade.php
Normal file
21
resources/views/partials/portal/header.blade.php
Normal file
@@ -0,0 +1,21 @@
|
||||
@stack('header_start')
|
||||
<div id="header" class="header pb-6">
|
||||
<div class="container-fluid content-layout">
|
||||
<div class="header-body">
|
||||
<div class="row py-4 align-items-center">
|
||||
<div class="col-sm-4 col-md-5 align-items-center">
|
||||
<h2 class="d-inline-block mb-0">@yield('title')</h2>
|
||||
@yield('dashboard_action')
|
||||
</div>
|
||||
<div class="col-sm-8 col-md-7">
|
||||
<div class="text-right">
|
||||
@yield('new_button')
|
||||
|
||||
@stack('header_button')
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stack('header_end')
|
||||
30
resources/views/partials/portal/menu.blade.php
Normal file
30
resources/views/partials/portal/menu.blade.php
Normal file
@@ -0,0 +1,30 @@
|
||||
@stack('menu_start')
|
||||
<nav class="sidenav navbar navbar-vertical fixed-left navbar-expand-xs navbar-light bg-default" id="sidenav-main">
|
||||
<div class="scrollbar-inner">
|
||||
<div class="sidenav-header d-flex align-items-center ml-4">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span class="avatar avatar-xs background-unset">
|
||||
<img class="border-radius-0 border-0 mr-3" alt="Image placeholder" src="{{ setting('company.logo') ? Storage::url(setting('company.logo')) : asset('public/img/akaunting-logo-white.png') }}">
|
||||
</span>
|
||||
<div class="media-body pl-2 d-grid nav-header-text">
|
||||
<span class="font-weight-bold o-y">{{ Str::limit(setting('company.name'), 22) }}<i class="fas fa-sort-down pl-2"></i></span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="ml-auto left-menu-toggle-position">
|
||||
<div class="sidenav-toggler d-none d-xl-block left-menu-toggle" data-action="sidenav-unpin" data-target="#sidenav-main">
|
||||
<div class="sidenav-toggler-inner">
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! menu('portal') !!}
|
||||
</div>
|
||||
</nav>
|
||||
@stack('menu_end')
|
||||
115
resources/views/partials/portal/navbar.blade.php
Normal file
115
resources/views/partials/portal/navbar.blade.php
Normal file
@@ -0,0 +1,115 @@
|
||||
<nav class="navbar navbar-top navbar-expand navbar-dark border-bottom">
|
||||
<div class="container-fluid">
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav align-items-center ml-md-auto">
|
||||
<li class="nav-item d-xl-none">
|
||||
<div class="pr-3 sidenav-toggler sidenav-toggler-dark" data-action="sidenav-pin" data-target="#sidenav-main">
|
||||
<div class="sidenav-toggler-inner">
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
<i class="sidenav-toggler-line"></i>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="far fa-bell"></i>
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu dropdown-menu-xl dropdown-menu-right py-0 overflow-hidden">
|
||||
<div class="px-3 py-3">
|
||||
<a class="text-sm text-muted m-0">{{ trans_choice('header.notifications.counter', $notifications, ['count' => $notifications]) }}</a>
|
||||
</div>
|
||||
|
||||
<div class="list-group list-group-flush">
|
||||
@if (count($bills))
|
||||
<a href="{{ url('auth/users/' . $user->id . '/read-bills') }}" class="list-group-item list-group-item-action">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-auto">
|
||||
<i class="fa fa-shopping-cart"></i>
|
||||
</div>
|
||||
<div class="col ml--2">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h4 class="mb-0 text-sm">{{ trans_choice('header.notifications.upcoming_bills', count($bills), ['count' => count($bills)]) }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
@endif
|
||||
|
||||
@if (count($invoices))
|
||||
<a href="{{ url('auth/users/' . $user->id . '/read-invoices') }}" class="list-group-item list-group-item-action">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-auto">
|
||||
<i class="fa fa-money-bill-alt"></i>
|
||||
</div>
|
||||
<div class="col ml--2">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h4 class="mb-0 text-sm">{{ trans_choice('header.notifications.overdue_invoices', count($invoices), ['count' => count($invoices)]) }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<a href="#!" class="dropdown-item text-center text-success font-weight-bold py-3">{{ trans('header.notifications.view_all') }}</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@permission('read-install-updates')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('updates.index') }}" title="{{ $updates }} Updates Available" role="button" aria-haspopup="true" aria-expanded="false">
|
||||
<span>
|
||||
<i class="fa fa-sync-alt"></i>
|
||||
</span>
|
||||
@if ($updates)
|
||||
<span class="badge badge-md badge-circle badge-floating badge-warning">{{ $updates }}</span>
|
||||
@endif
|
||||
</a>
|
||||
</li>
|
||||
@endpermission
|
||||
|
||||
<li class="nav-item hidden-md">
|
||||
<a class="nav-link" href="{{ url(trans('header.support_link')) }}" target="_blank" title="{{ trans('general.help') }}" role="button" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="far fa-life-ring"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="navbar-nav align-items-center ml-auto ml-md-0">
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link pr-0" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<div class="media align-items-center">
|
||||
<span class="avatar avatar-sm rounded-circle bg-default font-size-1">
|
||||
<i class="fas fa-user-alt"></i>
|
||||
</span>
|
||||
<div class="media-body ml-2 d-none d-lg-block">
|
||||
<span class="mb-0 text-sm font-weight-bold">
|
||||
@if (!empty($user->name))
|
||||
{{ $user->name }}
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<div class="dropdown-header noti-title">
|
||||
<h6 class="text-overflow m-0">{{ trans('general.welcome') }}</h6>
|
||||
</div>
|
||||
<a href="{{ url('portal/profile/edit') }}" class="dropdown-item">
|
||||
<i class="fas fa-user"></i>
|
||||
<span>{{ trans('auth.profile') }}</span>
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a href="{{ route('portal.logout') }}" class="dropdown-item">
|
||||
<i class="fas fa-power-off"></i>
|
||||
<span>{{ trans('auth.logout') }}</span>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
24
resources/views/partials/portal/pagination.blade.php
Normal file
24
resources/views/partials/portal/pagination.blade.php
Normal file
@@ -0,0 +1,24 @@
|
||||
@stack('pagination_start')
|
||||
@if ($items->firstItem())
|
||||
<div class="col-6">
|
||||
<span class="table-text hidden-lg">
|
||||
{{ trans('general.show') }}
|
||||
</span>
|
||||
{!! Form::select('limit', $limits, request('limit', setting('default.list_limit', '25')), ['class' => 'form-control form-control-sm table-header-search hidden-md', 'onchange' => 'this.form.submit()']) !!}
|
||||
<span class="table-text hidden-lg">
|
||||
{{ trans('pagination.page') }}
|
||||
{{ trans('pagination.showing', ['first' => $items->firstItem(), 'last' => $items->lastItem(), 'total' => $items->total(), 'type' => strtolower((isset($title)) ? $title : trans_choice('general.' . $type, 2))]) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<nav class="float-right">
|
||||
{!! $items->appends(request()->except('page'))->links() !!}
|
||||
</nav>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-12" id="datatable-basic_info" role="status" aria-live="polite">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
@stack('pagination_end')
|
||||
@@ -0,0 +1,28 @@
|
||||
<div>
|
||||
<div class="hidden">
|
||||
@if (!empty($setting['name']))
|
||||
<h2>{{ $setting['name'] }}</h2>
|
||||
@endif
|
||||
|
||||
@if (!empty($setting['description']))
|
||||
<div class="well well-sm">{{ $setting['description'] }}</div>
|
||||
@endif
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="buttons">
|
||||
<div class="pull-right">
|
||||
{!! Form::open([
|
||||
'url' => $confirm_url,
|
||||
'id' => 'redirect-form',
|
||||
'role' => 'form',
|
||||
'autocomplete' => "off",
|
||||
'novalidate' => 'true'
|
||||
]) !!}
|
||||
<button @click="onRedirectConfirm" type="button" id="button-confirm" class="btn btn-success">
|
||||
{{ trans('general.confirm') }}
|
||||
</button>
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,28 @@
|
||||
<div>
|
||||
<div class="hidden">
|
||||
@if (!empty($setting['name']))
|
||||
<h2>{{ $setting['name'] }}</h2>
|
||||
@endif
|
||||
|
||||
@if (!empty($setting['description']))
|
||||
<div class="well well-sm">{{ $setting['description'] }}</div>
|
||||
@endif
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="buttons">
|
||||
<div class="pull-right">
|
||||
{!! Form::open([
|
||||
'url' => $confirm_url,
|
||||
'id' => 'redirect-form',
|
||||
'role' => 'form',
|
||||
'autocomplete' => "off",
|
||||
'novalidate' => 'true'
|
||||
]) !!}
|
||||
<button @click="onRedirectConfirm" type="button" id="button-confirm" class="btn btn-success">
|
||||
{{ trans('general.confirm') }}
|
||||
</button>
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
142
resources/views/partials/portal/scripts.blade.php
Normal file
142
resources/views/partials/portal/scripts.blade.php
Normal file
@@ -0,0 +1,142 @@
|
||||
<!-- Core -->
|
||||
<script src="{{ asset('public/vendor/jquery/dist/jquery.min.js') }}"></script>
|
||||
<script src="{{ asset('public/vendor/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
|
||||
<script src="{{ asset('public/vendor/js-cookie/js.cookie.js') }}"></script>
|
||||
|
||||
@stack('scripts_start')
|
||||
|
||||
<script src="{{ asset('public/vendor/chart.js/dist/Chart.min.js') }}"></script>
|
||||
|
||||
<script src="https://unpkg.com/vue"></script>
|
||||
|
||||
@stack('charts')
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/4.0.2/echarts-en.min.js" charset=utf-8></script>
|
||||
|
||||
<!-- Argon -->
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
'use strict';
|
||||
|
||||
var Layout = (function() {
|
||||
|
||||
function pinSidenav() {
|
||||
$('.sidenav-toggler').addClass('active');
|
||||
$('.sidenav-toggler').data('action', 'sidenav-unpin');
|
||||
$('body').removeClass('g-sidenav-hidden').addClass('g-sidenav-show g-sidenav-pinned');
|
||||
$('body').append('<div class="backdrop d-xl-none" data-action="sidenav-unpin" data-target='+$('#sidenav-main').data('target')+' />');
|
||||
|
||||
// Store the sidenav state in a cookie session
|
||||
Cookies.set('sidenav-state', 'pinned');
|
||||
}
|
||||
|
||||
function unpinSidenav() {
|
||||
$('.sidenav-toggler').removeClass('active');
|
||||
$('.sidenav-toggler').data('action', 'sidenav-pin');
|
||||
$('body').removeClass('g-sidenav-pinned').addClass('g-sidenav-hidden');
|
||||
$('body').find('.backdrop').remove();
|
||||
|
||||
// Store the sidenav state in a cookie session
|
||||
Cookies.set('sidenav-state', 'unpinned');
|
||||
}
|
||||
|
||||
// Set sidenav state from cookie
|
||||
|
||||
var $sidenavState = Cookies.get('sidenav-state') ? Cookies.get('sidenav-state') : 'pinned';
|
||||
|
||||
if($(window).width() > 1200) {
|
||||
if($sidenavState == 'pinned') {
|
||||
pinSidenav()
|
||||
}
|
||||
|
||||
if(Cookies.get('sidenav-state') == 'unpinned') {
|
||||
unpinSidenav()
|
||||
}
|
||||
}
|
||||
|
||||
$("body").on("click", "[data-action]", function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var $this = $(this);
|
||||
var action = $this.data('action');
|
||||
var target = $this.data('target');
|
||||
|
||||
// Manage actions
|
||||
switch (action) {
|
||||
case 'sidenav-pin':
|
||||
pinSidenav();
|
||||
break;
|
||||
|
||||
case 'sidenav-unpin':
|
||||
unpinSidenav();
|
||||
break;
|
||||
|
||||
case 'search-show':
|
||||
target = $this.data('target');
|
||||
$('body').removeClass('g-navbar-search-show').addClass('g-navbar-search-showing');
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').removeClass('g-navbar-search-showing').addClass('g-navbar-search-show');
|
||||
}, 150);
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').addClass('g-navbar-search-shown');
|
||||
}, 300)
|
||||
break;
|
||||
|
||||
case 'search-close':
|
||||
target = $this.data('target');
|
||||
$('body').removeClass('g-navbar-search-shown');
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').removeClass('g-navbar-search-show').addClass('g-navbar-search-hiding');
|
||||
}, 150);
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').removeClass('g-navbar-search-hiding').addClass('g-navbar-search-hidden');
|
||||
}, 300);
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').removeClass('g-navbar-search-hidden');
|
||||
}, 500);
|
||||
break;
|
||||
}
|
||||
})
|
||||
|
||||
// Add sidenav modifier classes on mouse events
|
||||
$('.sidenav').on('mouseenter', function() {
|
||||
if(! $('body').hasClass('g-sidenav-pinned')) {
|
||||
$('body').removeClass('g-sidenav-hide').removeClass('g-sidenav-hidden').addClass('g-sidenav-show');
|
||||
}
|
||||
})
|
||||
|
||||
$('.sidenav').on('mouseleave', function() {
|
||||
if(! $('body').hasClass('g-sidenav-pinned')) {
|
||||
$('body').removeClass('g-sidenav-show').addClass('g-sidenav-hide');
|
||||
|
||||
setTimeout(function() {
|
||||
$('body').removeClass('g-sidenav-hide').addClass('g-sidenav-hidden');
|
||||
}, 300);
|
||||
}
|
||||
})
|
||||
|
||||
// Make the body full screen size if it has not enough content inside
|
||||
$(window).on('load resize', function() {
|
||||
if($('body').height() < 800) {
|
||||
$('body').css('min-height', '100vh');
|
||||
$('#footer-main').addClass('footer-auto-bottom')
|
||||
}
|
||||
})
|
||||
})();
|
||||
</script>
|
||||
|
||||
@stack('body_css')
|
||||
|
||||
@stack('body_stylesheet')
|
||||
|
||||
@stack('body_js')
|
||||
|
||||
@stack('body_scripts')
|
||||
|
||||
@stack('scripts_end')
|
||||
39
resources/views/partials/pwa/pwa.blade.php
Normal file
39
resources/views/partials/pwa/pwa.blade.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<!-- Web Application Manifest -->
|
||||
<link rel="manifest" href="{{asset('manifest.json')}}">
|
||||
|
||||
<!-- Chrome for Android theme color -->
|
||||
<meta name="theme-color" content="#6da252">
|
||||
|
||||
<!-- Add to homescreen for Chrome on Android -->
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="application-name" content="Akaunting">
|
||||
<link rel="icon" sizes="512x512" href="{{asset('public/img/icons/icon-512x512.png')}}">
|
||||
|
||||
<!-- Add to homescreen for Safari on iOS -->
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="#6da252">
|
||||
<meta name="apple-mobile-web-app-title" content="Akaunting">
|
||||
<link rel="apple-touch-icon" href="{{asset('public/img/icons/icon-512x512.png')}}">
|
||||
|
||||
<link href="{{asset('public/img/icons/splash-640x1136.png')}}" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{asset('public/img/icons/splash-750x1334.png')}}" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{asset('public/img/icons/splash-1242x2208.png')}}" media="(device-width: 621px) and (device-height: 1104px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
|
||||
<link href="{{asset('public/img/icons/splash-1125x2436.png')}}" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
|
||||
<link href="{{asset('public/img/icons/splash-828x1792.png')}}" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{asset('public/img/icons/splash-1242x2688.png')}}" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
|
||||
<link href="{{asset('public/img/icons/splash-1536x2048.png')}}" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{asset('public/img/icons/splash-1668x2224.png')}}" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{asset('public/img/icons/splash-1668x2388.png')}}" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{asset('public/img/icons/splash-2048x2732.png')}}" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
|
||||
<!-- Tile for Win8 -->
|
||||
<meta name="msapplication-TileColor" content="#6da252">
|
||||
<meta name="msapplication-TileImage" content="{{asset('public/img/icons/icon-512x512.png')}}">
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker.register("{{asset('serviceworker.js')}}");
|
||||
}
|
||||
|
||||
</script>
|
||||
17
resources/views/partials/reports/chart.blade.php
Normal file
17
resources/views/partials/reports/chart.blade.php
Normal file
@@ -0,0 +1,17 @@
|
||||
@php $chart = $class->getChart(); @endphp
|
||||
|
||||
<div class="card-body" id="report-chart">
|
||||
{!! $chart->container() !!}
|
||||
</div>
|
||||
|
||||
@push('charts')
|
||||
<script>
|
||||
var cash_flow = new Vue({
|
||||
el: '#report-chart',
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
@push('body_scripts')
|
||||
{!! $chart->script() !!}
|
||||
@endpush
|
||||
7
resources/views/partials/reports/content.blade.php
Normal file
7
resources/views/partials/reports/content.blade.php
Normal file
@@ -0,0 +1,7 @@
|
||||
@include($class->views['content.header'])
|
||||
|
||||
@foreach($class->tables as $table)
|
||||
@include($class->views['table'])
|
||||
@endforeach
|
||||
|
||||
@include($class->views['content.footer'])
|
||||
19
resources/views/partials/reports/filter.blade.php
Normal file
19
resources/views/partials/reports/filter.blade.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<div class="card-header">
|
||||
{!! Form::open([
|
||||
'url' => 'common/reports/' . $class->report->id . '/display',
|
||||
'role' => 'form',
|
||||
'method' => 'GET',
|
||||
'class' => 'mb-0',
|
||||
]) !!}
|
||||
|
||||
<div id="items" class="float-left box-filter">
|
||||
{!! Form::select('year', $class->filters['years'], request('year', $class->year), ['class' => 'form-control form-control-sm table-header-search ml--2']) !!}
|
||||
@php unset($class->filters['years']) @endphp
|
||||
@foreach($class->filters as $name => $values)
|
||||
{!! Form::select($name . '[]', $values, request($name), ['id' => 'filter-' . $name, 'class' => 'form-control form-control-sm table-header-search']) !!}
|
||||
@endforeach
|
||||
{!! Form::button('<span class="fa fa-filter"></span> ' . trans('general.filter'), ['type' => 'submit', 'class' => 'btn btn-secondary btn-sm card-buttons ml-1']) !!}
|
||||
</div>
|
||||
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
10
resources/views/partials/reports/header.blade.php
Normal file
10
resources/views/partials/reports/header.blade.php
Normal file
@@ -0,0 +1,10 @@
|
||||
@section('title', $class->report->name)
|
||||
|
||||
@section('new_button')
|
||||
<span class="new-button">
|
||||
<a href="{{ url($class->getUrl('print')) }}" target="_blank" class="btn btn-white btn-sm"><span class="fa fa-print"></span> {{ trans('general.print') }}</a>
|
||||
</span>
|
||||
<span>
|
||||
<a href="{{ url($class->getUrl('export')) }}" class="btn btn-white btn-sm"><span class="fa fa-upload"></span> {{ trans('general.export') }}</a>
|
||||
</span>
|
||||
@endsection
|
||||
11
resources/views/partials/reports/print.blade.php
Normal file
11
resources/views/partials/reports/print.blade.php
Normal file
@@ -0,0 +1,11 @@
|
||||
@extends('layouts.print')
|
||||
|
||||
@section('title', $class->report->name)
|
||||
|
||||
@section('content')
|
||||
@if($class->report->chart)
|
||||
@include($class->views['chart'])
|
||||
@endif
|
||||
|
||||
@include($class->views['content'])
|
||||
@endsection
|
||||
15
resources/views/partials/reports/show.blade.php
Normal file
15
resources/views/partials/reports/show.blade.php
Normal file
@@ -0,0 +1,15 @@
|
||||
@extends('layouts.admin')
|
||||
|
||||
@include($class->views['header'])
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
@include($class->views['filter'])
|
||||
|
||||
@if($class->report->chart)
|
||||
@include($class->views['chart'])
|
||||
@endif
|
||||
|
||||
@include($class->views['content'])
|
||||
</div>
|
||||
@endsection
|
||||
19
resources/views/partials/reports/table.blade.php
Normal file
19
resources/views/partials/reports/table.blade.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<div class="table-responsive mt-4 overflow-auto">
|
||||
<table class="table align-items-center table-hover" id="tbl-report">
|
||||
@include($class->views['table.header'])
|
||||
<tbody>
|
||||
@if (!empty($class->rows[$table]))
|
||||
@foreach($class->rows[$table] as $id => $items)
|
||||
@include($class->views['table.rows'])
|
||||
@endforeach
|
||||
@else
|
||||
<tr>
|
||||
<td colspan="{{ count($class->dates) + 2 }}">
|
||||
<h5 class="text-center pl-0">{{ trans('general.no_records') }}</h5>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</tbody>
|
||||
@include($class->views['table.footer'])
|
||||
</table>
|
||||
</div>
|
||||
11
resources/views/partials/reports/table/footer.blade.php
Normal file
11
resources/views/partials/reports/table/footer.blade.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>{{ trans_choice('general.totals', 1) }}</th>
|
||||
@php $total_total = 0; @endphp
|
||||
@foreach($class->totals[$table] as $total)
|
||||
@php $total_total += $total; @endphp
|
||||
<th class="text-right pl-0">@money($total, setting('default.currency'), true)</th>
|
||||
@endforeach
|
||||
<th class="text-right pl-0">@money($total_total, setting('default.currency'), true)</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
13
resources/views/partials/reports/table/header.blade.php
Normal file
13
resources/views/partials/reports/table/header.blade.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
@if ($table == 'default')
|
||||
<th>{{ $class->groups[$class->report->group] }}</th>
|
||||
@else
|
||||
<th class="text-right pl-0">{{ $table }}</th>
|
||||
@endif
|
||||
@foreach($class->dates as $date)
|
||||
<th class="text-right pl-0">{{ $date }}</th>
|
||||
@endforeach
|
||||
<th class="text-right pl-0">{{ trans_choice('general.totals', 1) }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
9
resources/views/partials/reports/table/rows.blade.php
Normal file
9
resources/views/partials/reports/table/rows.blade.php
Normal file
@@ -0,0 +1,9 @@
|
||||
@php $row_total = 0; @endphp
|
||||
<tr>
|
||||
<td>{{ $class->getTableRowList()[$id] }}</td>
|
||||
@foreach($items as $item)
|
||||
@php $row_total += $item; @endphp
|
||||
<td class="text-right pl-0">@money($item, setting('default.currency'), true)</td>
|
||||
@endforeach
|
||||
<th class="text-right pl-0">@money($row_total, setting('default.currency'), true)</th>
|
||||
</tr>
|
||||
30
resources/views/partials/signed/content.blade.php
Normal file
30
resources/views/partials/signed/content.blade.php
Normal file
@@ -0,0 +1,30 @@
|
||||
@stack('content_start')
|
||||
<div id="app">
|
||||
@stack('content_header_start')
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h1>
|
||||
@yield('title')
|
||||
</h1>
|
||||
</div>
|
||||
<div class="col-md-6 text-right">
|
||||
@yield('new_button')
|
||||
</div>
|
||||
</div>
|
||||
@stack('content_header_end')
|
||||
|
||||
@stack('content_content_start')
|
||||
|
||||
@yield('content')
|
||||
|
||||
@stack('content_content_end')
|
||||
<notifications></notifications>
|
||||
|
||||
<akaunting-modal
|
||||
v-if="addNew.modal"
|
||||
:show="addNew.modal"
|
||||
:title="addNew.title"
|
||||
:message="addNew.html">
|
||||
</akaunting-modal>
|
||||
</div>
|
||||
@stack('content_end')
|
||||
7
resources/views/partials/signed/footer.blade.php
Normal file
7
resources/views/partials/signed/footer.blade.php
Normal file
@@ -0,0 +1,7 @@
|
||||
@stack('footer_start')
|
||||
<footer class="footer pt-0">
|
||||
<div class="copyright text-left text-lg-left text-muted">
|
||||
<strong>{{ trans('footer.powered') }}</strong>: <a class="text-success" href="{{ trans('footer.link') }}" target="_blank">{{ trans('footer.software') }}</a>
|
||||
</div>
|
||||
</footer>
|
||||
@stack('footer_end')
|
||||
57
resources/views/partials/signed/head.blade.php
Normal file
57
resources/views/partials/signed/head.blade.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<head>
|
||||
@stack('head_start')
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<title>@yield('title') - @setting('company.name')</title>
|
||||
|
||||
@include('partials.pwa.pwa')
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="{{ asset('public/img/favicon.ico') }}" type="image/png">
|
||||
|
||||
<!-- Font -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
|
||||
|
||||
<!-- Icons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/nucleo/css/nucleo.css') }}" type="text/css">
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/@fortawesome/fontawesome-free/css/all.min.css') }}" type="text/css">
|
||||
|
||||
<!-- Css -->
|
||||
<!-- Argon -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/argon.css?v=1.1.0') }}" type="text/css">
|
||||
|
||||
<!-- Color -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-color.css?v=' . version('short')) }}">
|
||||
<!-- Custom -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/custom.css?v=' . version('short')) }}">
|
||||
|
||||
<!-- import CSS -->
|
||||
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
||||
|
||||
@stack('css')
|
||||
|
||||
@stack('stylesheet')
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
var url = '{{ url("/") }}';
|
||||
var app_url = '{{ env("APP_URL") }}';
|
||||
//--></script>
|
||||
|
||||
@stack('js')
|
||||
|
||||
<script type="text/javascript"><!--
|
||||
window.Laravel = <?php echo json_encode([
|
||||
'csrfToken' => csrf_token(),
|
||||
]); ?>;
|
||||
|
||||
var aka_currency = {!! !empty($currency) ? $currency : 'false' !!};
|
||||
|
||||
var flash_notification = {!! (session()->has('flash_notification')) ? json_encode(session()->get('flash_notification')) : 'false' !!};
|
||||
//--></script>
|
||||
|
||||
{{ session()->forget('flash_notification') }}
|
||||
|
||||
@stack('scripts')
|
||||
@stack('head_end')
|
||||
</head>
|
||||
3
resources/views/partials/widget/content.blade.php
Normal file
3
resources/views/partials/widget/content.blade.php
Normal file
@@ -0,0 +1,3 @@
|
||||
@stack('content_start')
|
||||
@yield('widget-content')
|
||||
@stack('content_end')
|
||||
41
resources/views/partials/widget/head.blade.php
Normal file
41
resources/views/partials/widget/head.blade.php
Normal file
@@ -0,0 +1,41 @@
|
||||
@if (trim($__env->yieldContent('widget-title')))
|
||||
<div class="card-header">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-4 text-nowrap">
|
||||
<h4 class="mb-0">@yield('widget-title')</h4>
|
||||
</div>
|
||||
|
||||
<div class="col-8 text-right hidden-sm">
|
||||
@yield('button')
|
||||
|
||||
<span>
|
||||
<div class="dropdown">
|
||||
<a class="btn btn-sm items-align-center py-2 mr-0" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fa fa-ellipsis-v text-muted"></i>
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow">
|
||||
<a class="dropdown-item" href="#" @click.prevent="onAction('edit')">{{ trans('general.edit') }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
{!! Form::deleteLink($config->widget, 'common/widgets') !!}
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<span>
|
||||
<div class="dropdown card-action-button">
|
||||
<a class="btn btn-sm items-align-center py-2 mr-0" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fa fa-ellipsis-v text-white"></i>
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow">
|
||||
<a class="dropdown-item" href="#" @click.prevent="onAction('edit')">{{ trans('general.edit') }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
{!! Form::deleteLink($config->widget, 'common/widgets') !!}
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
@endif
|
||||
@@ -1,39 +1,25 @@
|
||||
@stack('content_start')
|
||||
@stack('content_header_start')
|
||||
|
||||
<!-- Content Wrapper. Contains page content -->
|
||||
<div class="content-wrapper no-margin">
|
||||
@stack('content_wrapper_start')
|
||||
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header content-center">
|
||||
@stack('content_header_start')
|
||||
|
||||
<h1>
|
||||
<h1 class="text-white">
|
||||
@yield('title')
|
||||
@yield('new_button')
|
||||
</h1>
|
||||
|
||||
@stack('content_header_end')
|
||||
</section>
|
||||
@stack('content_header_end')
|
||||
|
||||
<!-- Main content -->
|
||||
<section class="content content-center">
|
||||
@include('flash::message')
|
||||
|
||||
@stack('content_content_start')
|
||||
@stack('content_content_start')
|
||||
|
||||
@yield('content')
|
||||
|
||||
@stack('content_content_end')
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
@stack('content_content_end')
|
||||
|
||||
@stack('content_wrapper_end')
|
||||
</div>
|
||||
<!-- /.content-wrapper -->
|
||||
<notifications></notifications>
|
||||
|
||||
<script type="text/javascript">
|
||||
$('div.alert').not('.alert-important').delay(3000).fadeOut(350);
|
||||
</script>
|
||||
|
||||
@stack('content_end')
|
||||
<akaunting-modal
|
||||
v-if="addNew.modal"
|
||||
:show="addNew.modal"
|
||||
:title="addNew.title"
|
||||
:message="addNew.html">
|
||||
</akaunting-modal>
|
||||
@stack('content_end')
|
||||
|
||||
@@ -1,101 +1,53 @@
|
||||
<head>
|
||||
@stack('head_start')
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!-- Tell the browser to be responsive to screen width -->
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||
<title>@yield('title') - @setting('company.name')</title>
|
||||
|
||||
<title>@yield('title') - @setting('general.company_name')</title>
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="{{ asset('public/img/favicon.ico') }}" type="image/png">
|
||||
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/css/bootstrap.min.css') }}">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/font-awesome.min.css') }}">
|
||||
<!-- Ionicons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/ionicons.min.css') }}">
|
||||
<!-- Theme style -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/AdminLTE.min.css') }}">
|
||||
<!-- AdminLTE Skins -->
|
||||
@if (setting('general.admin_theme', 'skin-green-light') == 'skin-green-light')
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-green-light.min.css') }}">
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/dist/css/skins/skin-black.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/skin-black.css?v=' . version('short')) }}">
|
||||
@endif
|
||||
<!-- Select2 -->
|
||||
<link rel="stylesheet" href="{{ asset('vendor/almasaeed2010/adminlte/plugins/select2/select2.min.css') }}">
|
||||
<!-- App style -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/app.css?v=' . version('short')) }}">
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-green.css?v=' . version('short')) }}">
|
||||
|
||||
<link rel="shortcut icon" href="{{ asset('public/img/favicon.ico') }}">
|
||||
|
||||
@stack('css')
|
||||
<!-- Font -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
|
||||
|
||||
@stack('stylesheet')
|
||||
<style type="text/css">
|
||||
.wizard-loading-bar {
|
||||
font-size: 35px;
|
||||
position: absolute;
|
||||
z-index: 999999;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgb(136, 136, 136);
|
||||
opacity: 0.2;
|
||||
-moz-border-radius-bottomleft: 1px;
|
||||
-moz-border-radius-bottomright: 1px;
|
||||
border-bottom-left-radius: 1px;
|
||||
border-bottom-right-radius: 1px;font-size: 35px;
|
||||
position: absolute;
|
||||
z-index: 999999;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgb(136, 136, 136);
|
||||
opacity: 0.2;
|
||||
-moz-border-radius-bottomleft: 1px;
|
||||
-moz-border-radius-bottomright: 1px;
|
||||
border-bottom-left-radius: 1px;
|
||||
border-bottom-right-radius: 1px;
|
||||
}
|
||||
<!-- Icons -->
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/nucleo/css/nucleo.css') }}" type="text/css">
|
||||
<link rel="stylesheet" href="{{ asset('public/vendor/@fortawesome/fontawesome-free/css/all.min.css') }}" type="text/css">
|
||||
|
||||
.wizard-loading-spin {
|
||||
font-size: 100px;
|
||||
position: absolute;
|
||||
margin: auto;
|
||||
color: #fff;
|
||||
padding: 8% 40%;
|
||||
z-index: 9999;
|
||||
}
|
||||
</style>
|
||||
<!-- Css -->
|
||||
<!-- Argon -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/argon.css?v=1.1.0') }}" type="text/css">
|
||||
<!-- Color -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/akaunting-color.css?v=' . version('short')) }}">
|
||||
<!-- Custom -->
|
||||
<link rel="stylesheet" href="{{ asset('public/css/custom.css?v=' . version('short')) }}">
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
@stack('css')
|
||||
|
||||
<!-- jQuery 2.2.3 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/jQuery/jquery-2.2.3.min.js') }}"></script>
|
||||
<!-- Bootstrap 3.3.6 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/bootstrap/js/bootstrap.min.js') }}"></script>
|
||||
<!-- SlimScroll -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/slimScroll/jquery.slimscroll.min.js') }}"></script>
|
||||
<!-- FastClick -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/fastclick/fastclick.js') }}"></script>
|
||||
<!-- AdminLTE App -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/dist/js/app.min.js') }}"></script>
|
||||
<!-- Select2 -->
|
||||
<script src="{{ asset('vendor/almasaeed2010/adminlte/plugins/select2/select2.min.js') }}"></script>
|
||||
<!-- Mask Money -->
|
||||
<script src="{{ asset('public/js/jquery/jquery.maskMoney.js') }}"></script>
|
||||
@stack('stylesheet')
|
||||
|
||||
<script src="{{ asset('public/js/app.js?v=' . version('short')) }}"></script>
|
||||
<script type="text/javascript"><!--
|
||||
var url = '{{ url("/") }}';
|
||||
var app_url = '{{ env("APP_URL") }}';
|
||||
//--></script>
|
||||
|
||||
@stack('js')
|
||||
@stack('js')
|
||||
|
||||
@stack('scripts')
|
||||
<script type="text/javascript"><!--
|
||||
window.Laravel = <?php echo json_encode([
|
||||
'csrfToken' => csrf_token(),
|
||||
]); ?>;
|
||||
|
||||
var aka_currency = {!! !empty($currency) ? $currency : 'false' !!};
|
||||
|
||||
var flash_notification = {!! (session()->has('flash_notification')) ? json_encode(session()->get('flash_notification')) : 'false' !!};
|
||||
//--></script>
|
||||
|
||||
{{ session()->forget('flash_notification') }}
|
||||
|
||||
@stack('scripts')
|
||||
@stack('head_end')
|
||||
</head>
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
@stack('pagination_start')
|
||||
|
||||
@if ($items->firstItem())
|
||||
<div class="pull-left" style="margin-top: 7px;">
|
||||
<small>{{ trans('pagination.showing', ['first' => $items->firstItem(), 'last' => $items->lastItem(), 'total' => $items->total(), 'type' => strtolower(trans_choice('general.' . $type, 2))]) }}</small>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
{!! $items->appends(request()->except('page'))->links() !!}
|
||||
</div>
|
||||
@else
|
||||
<div class="pull-left">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@stack('pagination_end')
|
||||
@if ($items->firstItem())
|
||||
<div class="pull-left">
|
||||
<small>{{ trans('pagination.showing', ['first' => $items->firstItem(), 'last' => $items->lastItem(), 'total' => $items->total(), 'type' => strtolower(trans_choice('general.' . $type, 2))]) }}</small>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
{!! $items->appends(request()->except('page'))->links() !!}
|
||||
</div>
|
||||
@else
|
||||
<div class="pull-left">
|
||||
<small>{{ trans('general.no_records') }}</small>
|
||||
</div>
|
||||
@endif
|
||||
@stack('pagination_end')
|
||||
|
||||
14
resources/views/partials/wizard/scripts.blade.php
Normal file
14
resources/views/partials/wizard/scripts.blade.php
Normal file
@@ -0,0 +1,14 @@
|
||||
@stack('scripts_start')
|
||||
<!-- Core -->
|
||||
<script src="{{ asset('public/vendor/jquery/dist/jquery.min.js') }}"></script>
|
||||
<script src="{{ asset('public/vendor/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
|
||||
<script src="{{ asset('public/vendor/js-cookie/js.cookie.js') }}"></script>
|
||||
|
||||
@stack('body_css')
|
||||
|
||||
@stack('body_stylesheet')
|
||||
|
||||
@stack('body_js')
|
||||
|
||||
@stack('body_scripts')
|
||||
@stack('scripts_end')
|
||||
Reference in New Issue
Block a user