v2 first commit

This commit is contained in:
denisdulici
2019-11-16 10:21:14 +03:00
parent 5b23e9c2c4
commit 6d50fa8442
3075 changed files with 3451681 additions and 65594 deletions

View File

@@ -0,0 +1,83 @@
/**
* First we will load all of this project's JavaScript dependencies which
* includes Vue and other libraries. It is a great starting point when
* building robust, powerful web applications using Vue and Laravel.
*/
require('./../../../../../resources/assets/js/bootstrap');
import Vue from 'vue';
import Global from './../../../../../resources/assets/js/mixins/global';
import Form from './../../../../../resources/assets/js/plugins/form';
const app = new Vue({
el: '#app',
mixins: [
Global
],
data() {
return {
form: new Form('offline-payments')
}
},
methods:{
onEdit(event) {
var code = event.target.dataset.code;
this.form.loading = true;
axios.post('offline-payments/get', {
code: code
})
.then(response => {
this.form.name = response.data.data.name;
this.form.code = response.data.data.code;
this.form.customer = response.data.data.customer;
this.form.order = response.data.data.order;
this.form.description = response.data.data.description;
this.form.update = response.data.data.update;
this.form.loading = false;
})
.catch(error => {
this.form.loading = false;
});
},
onDelete() {
axios({
method: 'DELETE',
url: 'offline-payments/delete',
data: {
code: this.confirm.code
}
})
.then(response => {
if (response.data.success) {
var type = (response.data.success) ? 'success' : 'warning';
this.$notify({
message: response.data.message,
timeout: 5000,
icon: 'fas fa-bell',
type
});
document.getElementById('method-' + this.confirm.code).remove();
this.confirm.code = '';
this.confirm.title = '';
this.confirm.message = '';
this.confirm.show = false;
}
})
.catch(error => {
this.success = false;
});
}
}
});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,21 @@
<?php
return [
'name' => 'Offline Payments',
'description' => 'Create unlimited payment options for admin usage',
'add_new' => 'Add New',
'edit' => 'Edit: :method',
'form' => [
'code' => 'Code',
'customer' => 'Show to Customer',
'order' => 'Order'
],
'methods' => 'Method|Methods',
'payment_gateways' => 'Offline Payment Methods',
];

View File

@@ -0,0 +1,7 @@
<h2>{{ $setting['name'] }}</h2>
@if ($setting['description'])
<div class="well well-sm">
{{ $setting['description'] }}
</div>
@endif

View File

@@ -0,0 +1,124 @@
@extends('layouts.admin')
@section('title', trans('offline-payments::general.name'))
@section('content')
<div class="row">
<div class="col-md-4">
<div class="card">
<div class="card-header">
<h3 class="mb-0">{{ trans('offline-payments::general.add_new') }}</h3>
</div>
{!! Form::open([
'id' => 'offline-payments',
'route' => 'offline-payments.update',
'@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'), 'money-check', ['required' => 'required'], null, 'col-md-12') }}
{{ Form::textGroup('code', trans('offline-payments::general.form.code'), 'code', ['required' => 'required'], null, 'col-md-12') }}
{{ Form::radioGroup('customer', trans('offline-payments::general.form.customer'), 0, trans('general.yes'), trans('general.no'), ['required' => 'required'], 'col-md-12') }}
{{ Form::textGroup('order', trans('offline-payments::general.form.order'), 'sort', [], null, 'col-md-12') }}
{{ Form::textareaGroup('description', trans('general.description')) }}
{!! Form::hidden('update', null) !!}
</div>
</div>
<div class="card-footer">
<div class="row float-right">
{{ Form::saveButtons('apps/offline-payments/settings') }}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
<div class="col-md-8">
<div class="card">
<div class="card-header border-bottom-0">
<h3 class="mb-0">{{ trans('offline-payments::general.payment_gateways') }}</h3>
</div>
<div id="delete-loading"></div>
<div class="table-responsive">
<table class="table table-flush table-hover" id="tbl-items">
<thead class="thead-light">
<tr class="row table-head-line">
<th class="col-xs-6 col-sm-4 col-md-4 col-lg-3">{{ trans('general.name') }}</th>
<th class="col-sm-4 col-md-4 col-lg-4 hidden-sm">{{ trans('offline-payments::general.form.code') }}</th>
<th class="col-lg-2 hidden-lg">{{ trans('offline-payments::general.form.order') }}</th>
<th class="col-xs-6 col-sm-4 col-md-4 col-lg-3 text-center">{{ trans('general.actions') }}</th>
</tr>
</thead>
<tbody>
@if($items)
@foreach($items as $item)
<tr class="row align-items-center border-top-1" id="method-{{ $item->code }}">
<td class="col-xs-6 col-sm-4 col-md-4 col-lg-3">{{ $item->name }}</td>
<td class="col-sm-4 col-md-4 col-lg-4 hidden-sm">{{ $item->code }}</td>
<td class="col-lg-2 hidden-lg">{{ $item->order }}</td>
<td class="col-xs-6 col-sm-4 col-md-4 col-lg-3 text-center">
<div class="dropdown">
<a class="btn btn-neutral btn-sm text-light items-align-center p-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">
{!! Form::button(trans('general.edit'), array(
'type' => 'button',
'class' => 'dropdown-item method-edit',
'title' => trans('general.edit'),
'data-code' => $item->code,
'id' => 'edit-' . $item->code,
'@click' => 'onEdit'
)) !!}
<div class="dropdown-divider"></div>
{!! Form::button(trans('general.delete'), array(
'type' => 'button',
'class' => 'dropdown-item method-delete',
'title' => trans('general.delete'),
'data-code' => $item->code,
'id' => 'delete-' . $item->code,
'@click' => 'confirmDelete("' . $item->code . '", "' . trans('general.delete') . ' ' . trans_choice('offline-payments::general.methods', 1) . '", "' . trans('general.delete_confirm', ['name' => '<strong>' . $item->name . '</strong>', 'type' => mb_strtolower(trans('offline-payments::general.title'))]) . '", "' . trans('general.cancel') . '", "' . trans('general.delete') . '")'
)) !!}
</div>
</div>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
</div>
</div>
</div>
<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>
@endsection
@push('scripts_start')
<script src="{{ asset('modules/OfflinePayments/Resources/js/offline-payments.min.js?v=' . version('short')) }}"></script>
@endpush

View File

@@ -0,0 +1,40 @@
<h2>{{ $setting['name'] }}</h2>
@if ($setting['description'])
<div class="well well-sm">
{{ $setting['description'] }}
</div>
@endif
<div class="buttons">
<div class="float-right">
<input type="button" value="{{ trans('offline-payments::general.confirm') }}" id="button-confirm" class="btn btn-success" data-loading-text="{{ trans('offline-payments::general.loading') }}" />
</div>
</div>
<script type="text/javascript"><!--
$('#button-confirm').on('click', function() {
$.ajax({
url: '{{ route("portal.invoices.offline-payments.confirm", $invoice->id) }}',
type: 'POST',
dataType: 'JSON',
data: {payment_method: '{{ $setting['code'] }}'},
cache: false,
headers: { 'X-CSRF-TOKEN': '{{ csrf_token() }}' },
beforeSend: function() {
$('#button-confirm').button('loading');
},
complete: function() {
$('#button-confirm').button('reset');
},
success: function(data) {
if (data['error']) {
alert(data['error']);
}
if (data['success']) {
location.reload();
}
}
});
});
//--></script>

View File

@@ -0,0 +1,40 @@
<h2>{{ $setting['name'] }}</h2>
@if ($setting['description'])
<div class="well well-sm">
{{ $setting['description'] }}
</div>
@endif
<div class="buttons">
<div class="float-right">
<input type="button" value="{{ trans('offline-payments::general.confirm') }}" id="button-confirm" class="btn btn-success" data-loading-text="{{ trans('offline-payments::general.loading') }}" />
</div>
</div>
<script type="text/javascript"><!--
$('#button-confirm').on('click', function() {
$.ajax({
url: '{!! urldecode($confirm_url) !!}',
type: 'POST',
dataType: 'JSON',
data: {payment_method: '{{ $setting['code'] }}'},
cache: false,
headers: { 'X-CSRF-TOKEN': '{{ csrf_token() }}' },
beforeSend: function() {
$('#button-confirm').button('loading');
},
complete: function() {
$('#button-confirm').button('reset');
},
success: function(data) {
if (data['error']) {
alert(data['error']);
}
if (data['success']) {
location.reload();
}
}
});
});
//--></script>