Index page path changes..

This commit is contained in:
Cüneyt Şentürk 2020-02-02 21:08:00 +03:00
parent 455e9efcdd
commit 7b3863b1d5
23 changed files with 368 additions and 300 deletions

View File

@ -1,22 +1,43 @@
<template> <template>
<base-input :label="title" <el-select
:name="name" :class="'pl-20 mr-40'"
:class="formClasses" v-model="real_model"
:error="formError"> @input="change"
filterable
remote
reserve-keyword
:placeholder="placeholder"
:remote-method="remoteMethod"
:loading="loading">
<div v-if="loading" class="el-select-dropdown__wrap" slot="empty">
<p class="el-select-dropdown__empty loading">
{{ loadingText }}
</p>
</div>
<el-select @input="change" filterable :placeholder="placeholder"> <div v-else-if="options.length != 0" class="el-select-dropdown__wrap" slot="empty">
<p class="el-select-dropdown__empty">
{{ noMatchingDataText }}
</p>
</div>
<template slot="prefix"> <div v-else-if="options.length == 0" slot="empty">
<p class="el-select-dropdown__empty">
{{ noDataText }}
</p>
</div>
<template v-if="icon" slot="prefix">
<span class="el-input__suffix-inner el-select-icon"> <span class="el-input__suffix-inner el-select-icon">
<i :class="'select-icon-position el-input__icon fa fa-' + icon"></i> <i :class="'select-icon-position el-input__icon fa fa-' + icon"></i>
</span> </span>
</template> </template>
<el-option v-if="!group" v-for="(label, value) in selectOptions" <el-option v-if="!group" v-for="option in selectOptions"
:key="value" :key="option.id"
:label="label" :label="option.name"
:value="value"> :value="option.id">
</el-option> </el-option>
<el-option-group <el-option-group
@ -31,17 +52,22 @@
:value="value"> :value="value">
</el-option> </el-option>
</el-option-group> </el-option-group>
</el-select> </el-select>
</base-input>
</template> </template>
<style>
.el-select {
display: inline;
}
</style>
<script> <script>
import { Select, Option, OptionGroup } from 'element-ui'; import { Select, Option, OptionGroup } from 'element-ui';
export default { export default {
name: 'akaunting-select',
components: { components: {
[Select.name]: Select, [Select.name]: Select,
[Option.name]: Option, [Option.name]: Option,
@ -49,83 +75,101 @@ export default {
}, },
props: { props: {
title: { name: {
type: String, type: String,
default: '', default: null,
description: "Modal header title" description: "Selectbox attribute name"
}, },
placeholder: { placeholder: {
type: String, type: String,
default: '', default: '',
description: "Modal header title" description: "Selectbox input placeholder text"
}, },
formClasses: null,
formError: null,
name: null,
value: null,
options: null, options: null,
model: null, value: {
type: String,
default: null,
description: "Selectbox selected value"
},
icon: { icon: {
type: String, type: String,
description: "Prepend icon (left)" description: "Prepend icon (left)"
}, },
group: false, group: {
multiple:false, type: Boolean,
disabled:false, default: false,
collapse: false description: "Selectbox option group status"
},
loadingText: {
type: String,
default: 'Loading...',
description: "Selectbox loading message"
},
noDataText: {
type: String,
default: 'No Data',
description: "Selectbox empty options message"
},
noMatchingDataText: {
type: String,
default: 'No Matchign Data',
description: "Selectbox search option not found item message"
},
remoteAction: {
type: String,
default: null,
description: "Selectbox remote action path"
},
remoteType: {
type: String,
default: 'invoice',
description: "Ger remote item type."
},
}, },
data() { data() {
return { return {
isOpen: false, list: [],
selectOptions: this.options, selectOptions: this.options,
real_model: this.model, real_model: this.model,
loading: false,
} }
}, },
mounted() {
this.real_model = this.value;
this.$emit('interface', this.real_model);
},
methods: { methods: {
toggleDropDown() { change() {
this.isOpen = !this.isOpen; this.$emit('change', this.real_model);
this.$emit("change", this.isOpen); this.$emit('interface', this.real_model);
},
closeDropDown() { this.selectOptions.forEach(item => {
this.isOpen = false; if (item.id == this.real_model) {
this.$emit("change", this.isOpen); this.$emit('label', item.name);
this.$emit('option', item);
return;
} }
});
},
remoteMethod() {
},
}, },
directives: { watch: {
'click-outside': { options: function (options) {
bind: function(el, binding, vNode) { // update options
// Provided expression must evaluate to a function. //this.selectOptions = options;
if (typeof binding.value !== 'function') {
const compName = vNode.context.name
let warn = `[Vue-click-outside:] provided expression '${binding.expression}' is not a function, but has to be`
if (compName) { warn += `Found in component '${compName}'` }
console.warn(warn)
} }
// Define Handler and cache it on the element
const bubble = binding.modifiers.bubble
const handler = (e) => {
if (bubble || (!el.contains(e.target) && el !== e.target)) {
binding.value(e)
}
}
el.__vueClickOutside__ = handler
// add Event Listeners
document.addEventListener('click', handler)
}, },
unbind: function(el, binding) {
// Remove Event Listeners
document.removeEventListener('click', el.__vueClickOutside__)
el.__vueClickOutside__ = null
}
}
}
} }
</script> </script>

View File

@ -74,7 +74,7 @@ export default class BulkAction {
this.loading = true; this.loading = true;
if (this.value != 'export') { if (this.value != 'export') {
axios.post(url +'/common/bulk-actions/' + path, { axios.post(path, {
'handle': this.value, 'handle': this.value,
'selected': this.selected 'selected': this.selected
}) })
@ -97,7 +97,7 @@ export default class BulkAction {
}); });
} else { } else {
axios({ axios({
url: url +'/common/bulk-actions/' + path, url: path,
method: 'POST', method: 'POST',
data:{ data:{
'handle': this.value, 'handle': this.value,

View File

@ -10,21 +10,21 @@
@section('content') @section('content')
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'auth/permissions',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'permissions.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.permissions', $bulk_actions, 'auth/permissions') }} {{ Form::bulkActionRowGroup('general.permissions', $bulk_actions, ['group' => 'auth', 'type' => 'permissions']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -56,7 +56,7 @@
<a class="dropdown-item" href="{{ route('permissions.edit', $item->id) }}">{{ trans('general.edit') }}</a> <a class="dropdown-item" href="{{ route('permissions.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@permission('delete-auth-permissions') @permission('delete-auth-permissions')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'auth/permissions') !!} {!! Form::deleteLink($item, 'permissions.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -10,21 +10,21 @@
@section('content') @section('content')
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'auth/roles',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'roles.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.roles', $bulk_actions, 'auth/roles') }} {{ Form::bulkActionRowGroup('general.roles', $bulk_actions, ['group' => 'auth', 'type' => 'roles']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -56,7 +56,7 @@
<a class="dropdown-item" href="{{ route('roles.edit', $item->id) }}">{{ trans('general.edit') }}</a> <a class="dropdown-item" href="{{ route('roles.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@permission('delete-auth-roles') @permission('delete-auth-roles')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'auth/roles') !!} {!! Form::deleteLink($item, 'roles.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -10,21 +10,21 @@
@section('content') @section('content')
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'auth/users',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'users.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.users', $bulk_actions, 'auth/users') }} {{ Form::bulkActionRowGroup('general.users', $bulk_actions, ['group' => 'auth', 'type' => 'users']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -83,7 +83,7 @@
<a class="dropdown-item" href="{{ route('users.edit', $item->id) }}">{{ trans('general.edit') }}</a> <a class="dropdown-item" href="{{ route('users.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@permission('delete-auth-users') @permission('delete-auth-users')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'auth/users') !!} {!! Form::deleteLink($item, 'users.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -10,21 +10,21 @@
@section('content') @section('content')
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'method' => 'GET',
'route' => 'accounts.index', 'route' => 'accounts.index',
'role' => 'form', 'role' => 'form',
'method' => 'GET',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.accounts', $bulk_actions, 'banking/accounts') }} {{ Form::bulkActionRowGroup('general.accounts', $bulk_actions, ['group' => 'banking', 'type' => 'accounts']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -70,7 +70,7 @@
<a class="dropdown-item" href="{{ route('accounts.edit', $item->id) }}">{{ trans('general.edit') }}</a> <a class="dropdown-item" href="{{ route('accounts.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@permission('delete-banking-accounts') @permission('delete-banking-accounts')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'banking/accounts') !!} {!! Form::deleteLink($item, 'accounts.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -10,21 +10,21 @@
@section('content') @section('content')
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'method' => 'GET',
'route' => 'reconciliations.index', 'route' => 'reconciliations.index',
'role' => 'form', 'role' => 'form',
'method' => 'GET',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.reconciliations', $bulk_actions, 'banking/reconciliations') }} {{ Form::bulkActionRowGroup('general.reconciliations', $bulk_actions, ['group' => 'banking', 'type' => 'reconciliations']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -66,7 +66,7 @@
<a class="dropdown-item" href="{{ route('reconciliations.edit', $item->id) }}">{{ trans('general.edit') }}</a> <a class="dropdown-item" href="{{ route('reconciliations.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@permission('delete-banking-reconciliations') @permission('delete-banking-reconciliations')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'banking/reconciliations') !!} {!! Form::deleteLink($item, 'reconciliations.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -10,21 +10,21 @@
@section('content') @section('content')
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'method' => 'GET',
'route' => 'transfers.index', 'route' => 'transfers.index',
'role' => 'form', 'role' => 'form',
'method' => 'GET',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.transfers', $bulk_actions, 'banking/transfers') }} {{ Form::bulkActionRowGroup('general.transfers', $bulk_actions, ['group' => 'banking', 'type' => 'transfers']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -58,7 +58,7 @@
<a class="dropdown-item" href="{{ route('transfers.edit', $item->id) }}">{{ trans('general.edit') }}</a> <a class="dropdown-item" href="{{ route('transfers.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@permission('delete-banking-transfers') @permission('delete-banking-transfers')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'banking/transfers') !!} {!! Form::deleteLink($item, 'transfers.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -10,21 +10,21 @@
@section('content') @section('content')
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'method' => 'GET',
'route' => 'companies.index', 'route' => 'companies.index',
'role' => 'form', 'role' => 'form',
'method' => 'GET',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.companies', $bulk_actions, 'common/companies') }} {{ Form::bulkActionRowGroup('general.companies', $bulk_actions, ['group' => 'common', 'type' => 'companies']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -74,7 +74,7 @@
<a class="dropdown-item" href="{{ route('companies.edit', $item->id) }}">{{ trans('general.edit') }}</a> <a class="dropdown-item" href="{{ route('companies.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@permission('delete-common-companies') @permission('delete-common-companies')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'common/companies') !!} {!! Form::deleteLink($item, 'companies.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -10,21 +10,21 @@
@section('content') @section('content')
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'method' => 'GET',
'route' => 'dashboards.index', 'route' => 'dashboards.index',
'role' => 'form', 'role' => 'form',
'method' => 'GET',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.dashboards', $bulk_actions, 'common/dashboards') }} {{ Form::bulkActionRowGroup('general.dashboards', $bulk_actions, ['group' => 'common', 'type' => 'dashboards']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -68,7 +68,7 @@
<a class="dropdown-item" href="{{ route('dashboards.edit', $item->id) }}">{{ trans('general.edit') }}</a> <a class="dropdown-item" href="{{ route('dashboards.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@permission('delete-common-dashboards') @permission('delete-common-dashboards')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'common/dashboards') !!} {!! Form::deleteLink($item, 'dashboards.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -13,21 +13,21 @@
@section('content') @section('content')
@if ($items->count()) @if ($items->count())
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'method' => 'GET',
'route' => 'items.index', 'route' => 'items.index',
'role' => 'form', 'role' => 'form',
'method' => 'GET',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.items', $bulk_actions, 'common/items') }} {{ Form::bulkActionRowGroup('general.items', $bulk_actions, ['group' => 'common', 'type' => 'items']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -88,7 +88,7 @@
@endpermission @endpermission
@permission('delete-common-items') @permission('delete-common-items')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'common/items') !!} {!! Form::deleteLink($item, 'items.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -1,6 +1,15 @@
@stack('bulk_action_row_input_start') @stack('bulk_action_row_input_start')
@php
if (is_array($path)) {
$path = route('bulk-actions.action', $path);
} else {
$path = url('common/bulk-actions/' . $path);
}
@endphp
<div class="align-items-center d-none" v-if="bulk_action.show" v-bind:class="[bulk_action.show ? 'show' : '']"> <div class="align-items-center d-none"
v-if="bulk_action.show"
:class="[{'show': bulk_action.show}]">
<div class="mr-6"> <div class="mr-6">
<span class="text-white d-none d-sm-block"> <span class="text-white d-none d-sm-block">
<b v-text="bulk_action.count"></b> <b v-text="bulk_action.count"></b>
@ -16,7 +25,10 @@
<div class="w-25 mr-4" v-if="bulk_action.count"> <div class="w-25 mr-4" v-if="bulk_action.count">
<div class="form-group mb-0"> <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"> <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> <option value="*">{{ trans_choice('bulk_actions.bulk_actions', 2) }}</option>
@foreach($actions as $key => $action) @foreach($actions as $key => $action)
<option <option
@ -33,16 +45,21 @@
</div> </div>
<div class="mr-4" v-if="bulk_action.count"> <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"> <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> <span>{{ trans('general.confirm') }}</span>
</button> </button>
<button type="button" class="btn btn-sm btn-outline-confirm " v-if="!bulk_action.message.length" @click="onAction"> <button type="button" class="btn btn-sm btn-outline-confirm"
v-if="!bulk_action.message.length"
@click="onAction">
<span>{{ trans('general.confirm') }}</span> <span>{{ trans('general.confirm') }}</span>
</button> </button>
</div> </div>
<div class="mr-4" v-if="bulk_action.count"> <div class="mr-4" v-if="bulk_action.count">
<button type="button" class="btn btn-outline-clear btn-sm" @click="onClear"> <button type="button" class="btn btn-outline-clear btn-sm"
@click="onClear">
<span>{{ trans('general.clear') }}</span> <span>{{ trans('general.clear') }}</span>
</button> </button>
</div> </div>

View File

@ -1,5 +1,12 @@
@php @php
if (\Str::contains($url, ['.'])) {
$url = route($url, $item->$id);
$page = explode('.', $url)[0];
} else {
$url = url($url, $item->$id);
$page = explode('/', $url)[1]; $page = explode('/', $url)[1];
}
$text = $text ? $text : $page; $text = $text ? $text : $page;
$name = addslashes($item->$value); $name = addslashes($item->$value);
@ -9,7 +16,7 @@
'type' => 'button', 'type' => 'button',
'class' => 'dropdown-item action-delete', 'class' => 'dropdown-item action-delete',
'title' => trans('general.delete'), 'title' => 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') . '")' '@click' => 'confirmDelete("' . $url . '", "' . 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') . '")'
)) !!} )) !!}
@push('content_content_end') @push('content_content_end')

View File

@ -13,21 +13,21 @@
@section('content') @section('content')
@if ($bills->count()) @if ($bills->count())
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'purchases/bills',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'bills.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.bills', $bulk_actions, 'purchases/bills') }} {{ Form::bulkActionRowGroup('general.bills', $bulk_actions, ['group' => 'purchases', 'type' => 'bills']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -76,7 +76,7 @@
@permission('delete-purchases-bills') @permission('delete-purchases-bills')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
@if (!$item->reconciled) @if (!$item->reconciled)
{!! Form::deleteLink($item, 'purchases/bills') !!} {!! Form::deleteLink($item, 'bills.destroy') !!}
@endif @endif
@endpermission @endpermission
</div> </div>

View File

@ -13,21 +13,21 @@
@section('content') @section('content')
@if ($payments->count()) @if ($payments->count())
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'purchases/payments',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'payments.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.payments', $bulk_actions, 'purchases/payments') }} {{ Form::bulkActionRowGroup('general.payments', $bulk_actions, ['group' => 'purchases', 'type' => 'payments']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -74,7 +74,7 @@
@permission('delete-purchases-payments') @permission('delete-purchases-payments')
@if (!$item->reconciled) @if (!$item->reconciled)
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'purchases/payments') !!} {!! Form::deleteLink($item, 'payments.destroy') !!}
@endif @endif
@endpermission @endpermission
</div> </div>

View File

@ -13,21 +13,21 @@
@section('content') @section('content')
@if ($vendors->count()) @if ($vendors->count())
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'purchases/vendors',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'vendors.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.vendors', $bulk_actions, 'purchases/vendors') }} {{ Form::bulkActionRowGroup('general.vendors', $bulk_actions, ['group' => 'purchases', 'type' => 'vendors']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -88,7 +88,7 @@
@endpermission @endpermission
@permission('delete-purchases-vendors') @permission('delete-purchases-vendors')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'purchases/vendors') !!} {!! Form::deleteLink($item, 'vendors.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -13,21 +13,21 @@
@section('content') @section('content')
@if ($customers->count()) @if ($customers->count())
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'sales/customers',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'customers.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.customers', $bulk_actions, 'sales/customers') }} {{ Form::bulkActionRowGroup('general.customers', $bulk_actions, ['group' => 'sales', 'type' => 'customers']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -90,7 +90,7 @@
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
@endpermission @endpermission
@permission('delete-sales-customers') @permission('delete-sales-customers')
{!! Form::deleteLink($item, 'sales/customers') !!} {!! Form::deleteLink($item, 'customers.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -13,21 +13,21 @@
@section('content') @section('content')
@if ($invoices->count()) @if ($invoices->count())
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'sales/invoices',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'invoices.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.invoices', $bulk_actions, 'sales/invoices') }} {{ Form::bulkActionRowGroup('general.invoices', $bulk_actions, ['group' => 'sales', 'type' => 'invoices']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -78,7 +78,7 @@
@permission('delete-sales-invoices') @permission('delete-sales-invoices')
@if (!$item->reconciled) @if (!$item->reconciled)
{!! Form::deleteLink($item, 'sales/invoices') !!} {!! Form::deleteLink($item, 'invoices.destroy') !!}
@endif @endif
@endpermission @endpermission
</div> </div>

View File

@ -13,21 +13,21 @@
@section('content') @section('content')
@if ($revenues->count()) @if ($revenues->count())
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'sales/revenues',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'revenues.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.revenues', $bulk_actions, 'sales/revenues') }} {{ Form::bulkActionRowGroup('general.revenues', $bulk_actions, ['group' => 'sales', 'type' => 'revenues']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -75,7 +75,7 @@
@permission('delete-sales-revenues') @permission('delete-sales-revenues')
@if (!$item->reconciled) @if (!$item->reconciled)
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'sales/revenues') !!} {!! Form::deleteLink($item, 'revenues.destroy') !!}
@endif @endif
@endpermission @endpermission
</div> </div>

View File

@ -10,21 +10,21 @@
@section('content') @section('content')
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'settings/categories',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'categories.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.categories', $bulk_actions, 'settings/categories') }} {{ Form::bulkActionRowGroup('general.categories', $bulk_actions, ['group' => 'settings', 'type' => 'categories']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -69,7 +69,7 @@
@if ($item->id != $transfer_id) @if ($item->id != $transfer_id)
@permission('delete-settings-categories') @permission('delete-settings-categories')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'settings/categories') !!} {!! Form::deleteLink($item, 'categories.destroy') !!}
@endpermission @endpermission
@endif @endif
</div> </div>

View File

@ -10,21 +10,21 @@
@section('content') @section('content')
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'settings/currencies',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'currencies.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.currencies', $bulk_actions, 'settings/currencies') }} {{ Form::bulkActionRowGroup('general.currencies', $bulk_actions, ['group' => 'settings', 'type' => 'currencies']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -68,7 +68,7 @@
<a class="dropdown-item" href="{{ route('currencies.edit', $item->id) }}">{{ trans('general.edit') }}</a> <a class="dropdown-item" href="{{ route('currencies.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@permission('delete-settings-currencies') @permission('delete-settings-currencies')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'settings/currencies') !!} {!! Form::deleteLink($item, 'currencies.destroy') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -10,21 +10,21 @@
@section('content') @section('content')
<div class="card"> <div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']"> <div class="card-header border-bottom-0" :class="[{'bg-gradient-primary': bulk_action.show}]">
{!! Form::open([ {!! Form::open([
'url' => 'settings/taxes',
'role' => 'form',
'method' => 'GET', 'method' => 'GET',
'route' => 'taxes.index',
'role' => 'form',
'class' => 'mb-0' 'class' => 'mb-0'
]) !!} ]) !!}
<div class="row" v-if="!bulk_action.show"> <div class="align-items-center" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center"> <akaunting-search
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span> :placeholder="'{{ trans('general.search_placeholder') }}'"
<akaunting-search></akaunting-search> :options="{{ json_encode([]) }}"
</div> ></akaunting-search>
</div> </div>
{{ Form::bulkActionRowGroup('general.taxes', $bulk_actions, 'settings/taxes') }} {{ Form::bulkActionRowGroup('general.taxes', $bulk_actions, ['group' => 'settings', 'type' => 'taxes']) }}
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
@ -68,7 +68,7 @@
<a class="dropdown-item" href="{{ route('taxes.edit', $item->id) }}">{{ trans('general.edit') }}</a> <a class="dropdown-item" href="{{ route('taxes.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@permission('delete-settings-taxes') @permission('delete-settings-taxes')
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'settings/taxes', 'tax_rates') !!} {!! Form::deleteLink($item, 'taxes.destroy', 'tax_rates') !!}
@endpermission @endpermission
</div> </div>
</div> </div>

View File

@ -40,7 +40,7 @@ Route::group(['prefix' => 'common'], function () {
Route::post('notifications/disable', 'Common\Notifications@disable')->name('notifications.disable'); Route::post('notifications/disable', 'Common\Notifications@disable')->name('notifications.disable');
Route::post('bulk-actions/{group}/{type}', 'Common\BulkActions@action'); Route::post('bulk-actions/{group}/{type}', 'Common\BulkActions@action')->name('bulk-actions.action');
Route::get('reports/{report}/print', 'Common\Reports@print')->name('reports.print'); Route::get('reports/{report}/print', 'Common\Reports@print')->name('reports.print');
Route::get('reports/{report}/export', 'Common\Reports@export')->name('reports.export'); Route::get('reports/{report}/export', 'Common\Reports@export')->name('reports.export');