shared dashboards

This commit is contained in:
denisdulici
2020-01-07 17:15:00 +03:00
parent dcab115207
commit 2436898f04
33 changed files with 806 additions and 457 deletions

View File

@@ -0,0 +1,41 @@
@extends('layouts.admin')
@section('title', trans('general.title.new', ['type' => trans_choice('general.dashboards', 1)]))
@section('content')
<div class="card">
{!! Form::open([
'id' => 'dashboard',
'route' => 'dashboards.store',
'@submit.prevent' => 'onSubmit',
'@keydown' => 'form.errors.clear($event.target.name)',
'files' => true,
'role' => 'form',
'class' => 'form-loading-button',
'novalidate' => true,
]) !!}
<div class="card-body">
<div class="row">
{{ Form::textGroup('name', trans('general.name'), 'font') }}
@permission('read-auth-users')
{{ Form::checkboxGroup('users', trans_choice('general.users', 2), $users, 'name') }}
@endpermission
{{ Form::radioGroup('enabled', trans('general.enabled'), true) }}
</div>
</div>
<div class="card-footer">
<div class="row float-right">
{{ Form::saveButtons('common/dashboards') }}
</div>
</div>
{!! Form::close() !!}
</div>
@endsection
@push('scripts_start')
<script src="{{ asset('public/js/common/dashboards.js?v=' . version('short')) }}"></script>
@endpush

View File

@@ -0,0 +1,44 @@
@extends('layouts.admin')
@section('title', trans('general.title.edit', ['type' => trans_choice('general.dashboards', 1)]))
@section('content')
<div class="card">
{!! Form::model($dashboard, [
'id' => 'dashboard',
'method' => 'PATCH',
'route' => ['dashboards.update', $dashboard->id],
'@submit.prevent' => 'onSubmit',
'@keydown' => 'form.errors.clear($event.target.name)',
'files' => true,
'role' => 'form',
'class' => 'form-loading-button',
'novalidate' => true,
]) !!}
<div class="card-body">
<div class="row">
{{ Form::textGroup('name', trans('general.name'), 'font') }}
@permission('read-auth-users')
{{ Form::checkboxGroup('users', trans_choice('general.users', 2), $users, 'name') }}
@endpermission
{{ Form::radioGroup('enabled', trans('general.enabled'), $dashboard->enabled) }}
</div>
</div>
@permission('update-common-dashboards')
<div class="card-footer">
<div class="row float-right">
{{ Form::saveButtons('common/dashboards') }}
</div>
</div>
@endpermission
{!! Form::close() !!}
</div>
@endsection
@push('scripts_start')
<script src="{{ asset('public/js/common/dashboards.js?v=' . version('short')) }}"></script>
@endpush

View File

@@ -0,0 +1,92 @@
@extends('layouts.admin')
@section('title', trans_choice('general.dashboards', 2))
@permission('create-common-dashboards')
@section('new_button')
<span><a href="{{ route('dashboards.create') }}" class="btn btn-success btn-sm btn-alone"><span class="fa fa-plus"></span> &nbsp;{{ trans('general.add_new') }}</a></span>
@endsection
@endpermission
@section('content')
<div class="card">
<div class="card-header border-bottom-0" v-bind:class="[bulk_action.show ? 'bg-gradient-primary' : '']">
{!! Form::open([
'route' => 'dashboards.index',
'role' => 'form',
'method' => 'GET',
'class' => 'mb-0'
]) !!}
<div class="row" v-if="!bulk_action.show">
<div class="col-12 d-flex align-items-center">
<span class="font-weight-400 d-none d-lg-block mr-2">{{ trans('general.search') }}:</span>
<akaunting-search></akaunting-search>
</div>
</div>
{{ Form::bulkActionRowGroup('general.dashboards', $bulk_actions, 'common/dashboards') }}
{!! Form::close() !!}
</div>
<div class="table-responsive">
<table class="table table-flush table-hover">
<thead class="thead-light">
<tr class="row table-head-line">
<th class="col-sm-2 col-md-2 col-lg-1 col-xl-1 d-none d-sm-block">{{ Form::bulkActionAllGroup() }}</th>
<th class="col-xs-4 col-sm-3 col-md-6 col-lg-7 col-xl-7 long-texts">@sortablelink('name', trans('general.name'))</th>
<th class="col-xs-4 col-sm-3 col-md-2 col-lg-2 col-xl-2">@sortablelink('enabled', trans('general.enabled'))</th>
<th class="col-xs-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 text-center">{{ trans('general.actions') }}</th>
</tr>
</thead>
<tbody>
@foreach($dashboards as $item)
<tr class="row align-items-center border-top-1">
<td class="col-sm-2 col-md-2 col-lg-1 col-xl-1 d-none d-sm-block">{{ Form::bulkActionGroup($item->id, $item->name) }}</td>
<td class="col-xs-4 col-sm-3 col-md-6 col-lg-7 col-xl-7 long-texts"><a class="text-success" href="{{ route('dashboards.edit', $item->id) }}">{{ $item->name }}</a></td>
<td class="col-xs-4 col-sm-3 col-md-2 col-lg-2 col-xl-2">
@if (user()->can('update-common-dashboards'))
{{ Form::enabledGroup($item->id, $item->name, $item->enabled) }}
@else
@if ($item->enabled)
<badge rounded type="success">{{ trans('general.enabled') }}</badge>
@else
<badge rounded type="danger">{{ trans('general.disabled') }}</badge>
@endif
@endif
</td>
<td class="col-xs-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 text-center">
<div class="dropdown">
<a class="btn btn-neutral btn-sm text-light items-align-center py-2" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-ellipsis-h text-muted"></i>
</a>
<div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow">
@if ($item->enabled)
<a class="dropdown-item" href="{{ route('dashboards.switch', $item->id) }}">{{ trans('general.switch') }}</a>
<div class="dropdown-divider"></div>
@endif
<a class="dropdown-item" href="{{ route('dashboards.edit', $item->id) }}">{{ trans('general.edit') }}</a>
@permission('delete-common-dashboards')
<div class="dropdown-divider"></div>
{!! Form::deleteLink($item, 'common/dashboards') !!}
@endpermission
</div>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="card-footer table-action">
<div class="row">
@include('partials.admin.pagination', ['items' => $dashboards])
</div>
</div>
</div>
@endsection
@push('scripts_start')
<script src="{{ asset('public/js/common/dashboards.js?v=' . version('short')) }}"></script>
@endpush

View File

@@ -3,6 +3,7 @@
@section('title', $dashboard->name)
@section('dashboard_action')
@permission(['create-common-widgets', 'read-common-dashboards'])
<span class="dashboard-action">
<div class="dropdown">
<a class="btn btn-sm items-align-center py-2 mt--1" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
@@ -10,41 +11,32 @@
</a>
<div class="dropdown-menu dropdown-menu-left dropdown-menu-arrow">
{!! Form::button(trans('general.title.add', ['type' => trans_choice('general.widgets', 1)]), array(
@permission('create-common-widgets')
{!! Form::button(trans('general.title.add', ['type' => trans_choice('general.widgets', 1)]), [
'type' => 'button',
'class' => 'dropdown-item',
'title' => trans('general.title.add', ['type' => trans_choice('general.widgets', 1)]),
'@click' => 'onCreateWidget()'
)) !!}
{!! Form::button(trans('general.title.edit', ['type' => trans_choice('general.dashboard', 1)]), array(
'type' => 'button',
'class' => 'dropdown-item',
'title' => trans('general.title.edit', ['type' => trans_choice('general.dashboard', 1)]),
'@click' => 'onEditDashboard(' . $dashboard->id . ')'
)) !!}
@if ($dashboards->count() > 1)
{!! Form::deleteLink($dashboard, 'common/dashboards') !!}
@endif
'@click' => 'onCreateWidget()',
]) !!}
@endpermission
@permission('read-common-dashboards')
<div class="dropdown-divider"></div>
{!! Form::button(trans('general.title.add', ['type' => trans_choice('general.dashboard', 1)]), array(
'type' => 'button',
'class' => 'dropdown-item',
'title' => trans('general.title.add', ['type' => trans_choice('general.dashboard', 1)]),
'@click' => 'onCreateDashboard()'
)) !!}
@permission('create-common-dashboards')
<a class="dropdown-item" href="{{ route('dashboards.create') }}">{{ trans('general.title.create', ['type' => trans_choice('general.dashboards', 1)]) }}</a>
@endpermission
<a class="dropdown-item" href="{{ route('dashboards.index') }}">{{ trans('general.title.manage', ['type' => trans_choice('general.dashboards', 2)]) }}</a>
@endpermission
</div>
</div>
</span>
@endpermission
@php
$text = json_encode([
'name' => trans('general.name'),
'type' => 'Type',
'width' => 'Width',
'sort' => 'Sort',
'type' => trans_choice('general.types', 1),
'width' => trans('general.width'),
'sort' => trans('general.sort'),
'enabled' => trans('general.enabled'),
'yes' => trans('general.yes'),
'no' => trans('general.no'),
@@ -54,24 +46,12 @@
$placeholder = json_encode([
'name' => trans('general.form.enter', ['field' => trans('general.name')]),
'type' => trans('general.form.enter', ['field' => 'Type']),
'width' => trans('general.form.enter', ['field' => 'Width']),
'sort' => trans('general.form.enter', ['field' => 'Sort'])
'type' => trans('general.form.enter', ['field' => trans_choice('general.types', 1)]),
'width' => trans('general.form.enter', ['field' => trans('general.width')]),
'sort' => trans('general.form.enter', ['field' => trans('general.sprt')])
]);
@endphp
<akaunting-dashboard
v-if="dashboard_modal"
:title="'{{ trans('general.dashboard') }}'"
:show="dashboard_modal"
:name="dashboard.name"
:enabled="dashboard.enabled"
:type="dashboard.type"
:dashboard_id="dashboard.dashboard_id"
:text="{{ $text }}"
@cancel="onCancel">
</akaunting-dashboard>
<akaunting-widget
v-if="widget_modal"
:title="'{{ trans_choice('general.widgets', 1) }}'"
@@ -181,5 +161,5 @@
@endsection
@push('scripts_start')
<script src="{{ asset('public/js/common/dashboard.js?v=' . version('short')) }}"></script>
<script src="{{ asset('public/js/common/dashboards.js?v=' . version('short')) }}"></script>
@endpush