v2 first commit
This commit is contained in:
83
modules/OfflinePayments/Resources/assets/js/offline-payments.js
vendored
Normal file
83
modules/OfflinePayments/Resources/assets/js/offline-payments.js
vendored
Normal 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;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
148309
modules/OfflinePayments/Resources/assets/js/offline-payments.min.js
vendored
Normal file
148309
modules/OfflinePayments/Resources/assets/js/offline-payments.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
21
modules/OfflinePayments/Resources/lang/en-GB/general.php
Normal file
21
modules/OfflinePayments/Resources/lang/en-GB/general.php
Normal 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',
|
||||
|
||||
];
|
||||
@@ -0,0 +1,7 @@
|
||||
<h2>{{ $setting['name'] }}</h2>
|
||||
|
||||
@if ($setting['description'])
|
||||
<div class="well well-sm">
|
||||
{{ $setting['description'] }}
|
||||
</div>
|
||||
@endif
|
||||
124
modules/OfflinePayments/Resources/views/edit.blade.php
Normal file
124
modules/OfflinePayments/Resources/views/edit.blade.php
Normal 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
|
||||
40
modules/OfflinePayments/Resources/views/show.blade.php
Normal file
40
modules/OfflinePayments/Resources/views/show.blade.php
Normal 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>
|
||||
40
modules/OfflinePayments/Resources/views/signed.blade.php
Normal file
40
modules/OfflinePayments/Resources/views/signed.blade.php
Normal 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>
|
||||
Reference in New Issue
Block a user