Merge pull request #6 from cuneytsenturk/master
replace offline to offlinepayment payment gateways
This commit is contained in:
		@@ -48,7 +48,7 @@ class Settings extends Seeder
 | 
			
		||||
            'general.session_lifetime'          => '30',
 | 
			
		||||
            'general.file_size'                 => '2',
 | 
			
		||||
            'general.file_types'                => 'pdf,jpeg,jpg,png',
 | 
			
		||||
            'offline.payment.methods'           => '[{"code":"offline.cash.1","name":"Cash","order":"1","description":null},{"code":"offline.bank_transfer.2","name":"Bank Transfer","order":"2","description":null}]',
 | 
			
		||||
            'offlinepayment.methods'           => '[{"code":"offlinepayment.cash.1","name":"Cash","order":"1","description":null},{"code":"offlinepayment.bank_transfer.2","name":"Bank Transfer","order":"2","description":null}]',
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +0,0 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'name' => 'Offline',
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
@@ -1,115 +0,0 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Modules\Offline\Http\Controllers;
 | 
			
		||||
 | 
			
		||||
use Artisan;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Http\Response;
 | 
			
		||||
use Illuminate\Routing\Controller;
 | 
			
		||||
 | 
			
		||||
use Modules\Offline\Http\Requests\Setting as Request;
 | 
			
		||||
use Modules\Offline\Http\Requests\SettingGet as GRequest;
 | 
			
		||||
use Modules\Offline\Http\Requests\SettingDelete as DRequest;
 | 
			
		||||
 | 
			
		||||
class Settings extends Controller
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Show the form for editing the specified resource.
 | 
			
		||||
     * @return Response
 | 
			
		||||
     */
 | 
			
		||||
    public function edit()
 | 
			
		||||
    {
 | 
			
		||||
        $items = json_decode(setting('offline.payment.methods'));
 | 
			
		||||
 | 
			
		||||
        return view('offline::edit', compact('items'));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Update the specified resource in storage.
 | 
			
		||||
     * @param  Request $request
 | 
			
		||||
     * @return Response
 | 
			
		||||
     */
 | 
			
		||||
    public function update(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $offline = json_decode(setting('offline.payment.methods'), true);
 | 
			
		||||
 | 
			
		||||
        if (isset($request['method'])) {
 | 
			
		||||
            foreach ($offline as $key => $method) {
 | 
			
		||||
                if ($method['code'] == $request['method']) {
 | 
			
		||||
                    $offline[$key]['code'] = 'offline.' . $request['code'] . '.' . (count($offline) + 1);
 | 
			
		||||
                    $offline[$key]['name'] = $request['name'];
 | 
			
		||||
                    $offline[$key]['order'] = $request['order'];
 | 
			
		||||
                    $offline[$key]['description'] = $request['description'];
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            $offline[] = array(
 | 
			
		||||
                'code' => 'offline.' . $request['code'] . '.' . (count($offline) + 1),
 | 
			
		||||
                'name' => $request['name'],
 | 
			
		||||
                'order' => $request['order'],
 | 
			
		||||
                'description' => $request['description']
 | 
			
		||||
            );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Set Api Token
 | 
			
		||||
        setting()->set('offline.payment.methods', json_encode($offline));
 | 
			
		||||
 | 
			
		||||
        setting()->save();
 | 
			
		||||
 | 
			
		||||
        Artisan::call('cache:clear');
 | 
			
		||||
 | 
			
		||||
        return redirect('modules/offline/settings');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Remove the specified resource from storage.
 | 
			
		||||
     * @return Response
 | 
			
		||||
     */
 | 
			
		||||
    public function get(GRequest $request)
 | 
			
		||||
    {
 | 
			
		||||
        $code = $request['code'];
 | 
			
		||||
 | 
			
		||||
        $offline = json_decode(setting('offline.payment.methods'), true);
 | 
			
		||||
 | 
			
		||||
        foreach ($offline as $key => $method) {
 | 
			
		||||
            if ($method['code'] == $code) {
 | 
			
		||||
                $data = $method;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'errors' => false,
 | 
			
		||||
            'success' => true,
 | 
			
		||||
            'data'    => $data
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Remove the specified resource from storage.
 | 
			
		||||
     * @return Response
 | 
			
		||||
     */
 | 
			
		||||
    public function delete(DRequest $request)
 | 
			
		||||
    {
 | 
			
		||||
        $code = $request['code'];
 | 
			
		||||
 | 
			
		||||
        $offline = json_decode(setting('offline.payment.methods'), true);
 | 
			
		||||
 | 
			
		||||
        foreach ($offline as $key => $method) {
 | 
			
		||||
            if ($method['code'] == $code) {
 | 
			
		||||
                unset($offline[$key]);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Set Api Token
 | 
			
		||||
        setting()->set('offline.payment.methods', json_encode($offline));
 | 
			
		||||
 | 
			
		||||
        setting()->save();
 | 
			
		||||
 | 
			
		||||
        Artisan::call('cache:clear');
 | 
			
		||||
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'errors' => false,
 | 
			
		||||
            'success' => true,
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										7
									
								
								modules/OfflinePayment/Config/config.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								modules/OfflinePayment/Config/config.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'name' => 'OfflinePayment',
 | 
			
		||||
 | 
			
		||||
];
 | 
			
		||||
@@ -1,12 +1,12 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Modules\Offline\Database\Seeders;
 | 
			
		||||
namespace Modules\OfflinePayment\Database\Seeders;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Database\Seeder;
 | 
			
		||||
use Illuminate\Database\Eloquent\Model;
 | 
			
		||||
use Setting;
 | 
			
		||||
 | 
			
		||||
class OfflineDatabaseSeeder extends Seeder
 | 
			
		||||
class OfflinePaymentDatabaseSeeder extends Seeder
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Run the database seeds.
 | 
			
		||||
@@ -27,19 +27,19 @@ class OfflineDatabaseSeeder extends Seeder
 | 
			
		||||
        $methods = array();
 | 
			
		||||
 | 
			
		||||
        $methods[] = array(
 | 
			
		||||
            'code' => 'offline.cash.1',
 | 
			
		||||
            'code' => 'offlinepayment.cash.1',
 | 
			
		||||
            'name' => 'Cash',
 | 
			
		||||
            'order' => '1',
 | 
			
		||||
            'description' => null,
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        $methods[] = array(
 | 
			
		||||
            'code' => 'offline.bank_transfer.2',
 | 
			
		||||
            'code' => 'offlinepayment.bank_transfer.2',
 | 
			
		||||
            'name' => 'Bank Transfer',
 | 
			
		||||
            'order' => '2',
 | 
			
		||||
            'description' => null,
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        Setting::set('offline.payment.methods', json_encode($methods));
 | 
			
		||||
        Setting::set('offlinepayment.methods', json_encode($methods));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Modules\Offline\Events\Handlers;
 | 
			
		||||
namespace Modules\OfflinePayment\Events\Handlers;
 | 
			
		||||
 | 
			
		||||
use App\Events\AdminMenuCreated;
 | 
			
		||||
 | 
			
		||||
class OfflineAdminMenu
 | 
			
		||||
class OfflinePaymentAdminMenu
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Handle the event.
 | 
			
		||||
@@ -16,6 +16,7 @@ class OfflineAdminMenu
 | 
			
		||||
    {
 | 
			
		||||
        // Add child to existing item
 | 
			
		||||
        $item = $event->menu->whereTitle(trans_choice('general.settings', 2));
 | 
			
		||||
        $item->url('modules/offline/settings', trans('offline::offline.offline'), 4, ['icon' => 'fa fa-angle-double-right']);
 | 
			
		||||
 | 
			
		||||
        $item->url('modules/offlinepayment/settings', trans('offlinepayment::offlinepayment.offlinepayment'), 4, ['icon' => 'fa fa-angle-double-right']);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Modules\Offline\Events\Handlers;
 | 
			
		||||
namespace Modules\OfflinePayment\Events\Handlers;
 | 
			
		||||
 | 
			
		||||
use App\Events\PaymentGatewayListing;
 | 
			
		||||
 | 
			
		||||
@@ -14,6 +14,6 @@ class OfflinePaymentGateway
 | 
			
		||||
     */
 | 
			
		||||
    public function handle(PaymentGatewayListing $event)
 | 
			
		||||
    {
 | 
			
		||||
        return json_decode(setting('offline.payment.methods'), true);
 | 
			
		||||
        return json_decode(setting('offlinepayment.methods'), true);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										121
									
								
								modules/OfflinePayment/Http/Controllers/Settings.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								modules/OfflinePayment/Http/Controllers/Settings.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,121 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Modules\OfflinePayment\Http\Controllers;
 | 
			
		||||
 | 
			
		||||
use Artisan;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Http\Response;
 | 
			
		||||
use Illuminate\Routing\Controller;
 | 
			
		||||
 | 
			
		||||
use Modules\OfflinePayment\Http\Requests\Setting as Request;
 | 
			
		||||
use Modules\OfflinePayment\Http\Requests\SettingGet as GRequest;
 | 
			
		||||
use Modules\OfflinePayment\Http\Requests\SettingDelete as DRequest;
 | 
			
		||||
 | 
			
		||||
class Settings extends Controller
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Show the form for editing the specified resource.
 | 
			
		||||
     * @return Response
 | 
			
		||||
     */
 | 
			
		||||
    public function edit()
 | 
			
		||||
    {
 | 
			
		||||
        $items = json_decode(setting('offlinepayment.methods'));
 | 
			
		||||
 | 
			
		||||
        return view('offlinepayment::edit', compact('items'));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Update the specified resource in storage.
 | 
			
		||||
     * @param  Request $request
 | 
			
		||||
     * @return Response
 | 
			
		||||
     */
 | 
			
		||||
    public function update(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $offlinepayment = json_decode(setting('offlinepayment.methods'), true);
 | 
			
		||||
 | 
			
		||||
        if (isset($request['method'])) {
 | 
			
		||||
            foreach ($offlinepayment as $key => $method) {
 | 
			
		||||
                if ($method['code'] == $request['method']) {
 | 
			
		||||
                    $offlinepayment[$key]['code'] = 'offlinepayment.' . $request['code'] . '.' . (count($offlinepayment) + 1);
 | 
			
		||||
                    $offlinepayment[$key]['name'] = $request['name'];
 | 
			
		||||
                    $offlinepayment[$key]['order'] = $request['order'];
 | 
			
		||||
                    $offlinepayment[$key]['description'] = $request['description'];
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            $offlinepayment[] = array(
 | 
			
		||||
                'code' => 'offlinepayment.' . $request['code'] . '.' . (count($offlinepayment) + 1),
 | 
			
		||||
                'name' => $request['name'],
 | 
			
		||||
                'order' => $request['order'],
 | 
			
		||||
                'description' => $request['description']
 | 
			
		||||
            );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Set Api Token
 | 
			
		||||
        setting()->set('offlinepayment.methods', json_encode($offlinepayment));
 | 
			
		||||
 | 
			
		||||
        setting()->save();
 | 
			
		||||
 | 
			
		||||
        Artisan::call('cache:clear');
 | 
			
		||||
 | 
			
		||||
        return redirect('modules/offlinepayment/settings');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Remove the specified resource from storage.
 | 
			
		||||
     * @return Response
 | 
			
		||||
     */
 | 
			
		||||
    public function get(GRequest $request)
 | 
			
		||||
    {
 | 
			
		||||
        $code = $request['code'];
 | 
			
		||||
 | 
			
		||||
        $offlinepayment = json_decode(setting('offlinepayment.methods'), true);
 | 
			
		||||
 | 
			
		||||
        foreach ($offlinepayment as $key => $method) {
 | 
			
		||||
            if ($method['code'] == $code) {
 | 
			
		||||
                $method['title'] = trans('offlinepayment::offlinepayment.edit', ['method' => $method['name']]);
 | 
			
		||||
 | 
			
		||||
                $code = explode('.', $method['code']);
 | 
			
		||||
 | 
			
		||||
                $method['code'] = $code[1];
 | 
			
		||||
 | 
			
		||||
                $data = $method;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'errors' => false,
 | 
			
		||||
            'success' => true,
 | 
			
		||||
            'data'    => $data
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Remove the specified resource from storage.
 | 
			
		||||
     * @return Response
 | 
			
		||||
     */
 | 
			
		||||
    public function delete(DRequest $request)
 | 
			
		||||
    {
 | 
			
		||||
        $code = $request['code'];
 | 
			
		||||
 | 
			
		||||
        $offlinepayment = json_decode(setting('offlinepayment.methods'), true);
 | 
			
		||||
 | 
			
		||||
        foreach ($offlinepayment as $key => $method) {
 | 
			
		||||
            if ($method['code'] == $code) {
 | 
			
		||||
                unset($offlinepayment[$key]);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Set Api Token
 | 
			
		||||
        setting()->set('offlinepayment.methods', json_encode($offlinepayment));
 | 
			
		||||
 | 
			
		||||
        setting()->save();
 | 
			
		||||
 | 
			
		||||
        Artisan::call('cache:clear');
 | 
			
		||||
 | 
			
		||||
        return response()->json([
 | 
			
		||||
            'errors' => false,
 | 
			
		||||
            'success' => true,
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Modules\Offline\Http\Requests;
 | 
			
		||||
namespace Modules\OfflinePayment\Http\Requests;
 | 
			
		||||
 | 
			
		||||
use App\Http\Requests\Request;
 | 
			
		||||
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Modules\Offline\Http\Requests;
 | 
			
		||||
namespace Modules\OfflinePayment\Http\Requests;
 | 
			
		||||
 | 
			
		||||
use App\Http\Requests\Request;
 | 
			
		||||
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Modules\Offline\Http\Requests;
 | 
			
		||||
namespace Modules\OfflinePayment\Http\Requests;
 | 
			
		||||
 | 
			
		||||
use App\Http\Requests\Request;
 | 
			
		||||
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
Route::group(['middleware' => ['web', 'auth', 'language', 'adminmenu', 'permission:read-admin-panel'], 'prefix' => 'modules/offline', 'namespace' => 'Modules\Offline\Http\Controllers'], function () {
 | 
			
		||||
Route::group(['middleware' => ['web', 'auth', 'language', 'adminmenu', 'permission:read-admin-panel'], 'prefix' => 'modules/offlinepayment', 'namespace' => 'Modules\OfflinePayment\Http\Controllers'], function () {
 | 
			
		||||
    Route::get('settings', 'settings@edit');
 | 
			
		||||
    Route::post('settings', 'settings@update');
 | 
			
		||||
    Route::post('settings/get', 'settings@get');
 | 
			
		||||
@@ -1,17 +1,17 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Modules\Offline\Providers;
 | 
			
		||||
namespace Modules\OfflinePayment\Providers;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Support\ServiceProvider;
 | 
			
		||||
use Illuminate\Database\Eloquent\Factory;
 | 
			
		||||
 | 
			
		||||
use App\Events\AdminMenuCreated;
 | 
			
		||||
use Modules\Offline\Events\Handlers\OfflineAdminMenu;
 | 
			
		||||
use Modules\OfflinePayment\Events\Handlers\OfflinePaymentAdminMenu;
 | 
			
		||||
 | 
			
		||||
use App\Events\PaymentGatewayListing;
 | 
			
		||||
use Modules\Offline\Events\Handlers\OfflinePaymentGateway;
 | 
			
		||||
use Modules\OfflinePayment\Events\Handlers\OfflinePaymentGateway;
 | 
			
		||||
 | 
			
		||||
class OfflineServiceProvider extends ServiceProvider
 | 
			
		||||
class OfflinePaymentServiceProvider extends ServiceProvider
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Indicates if loading of the provider is deferred.
 | 
			
		||||
@@ -32,7 +32,7 @@ class OfflineServiceProvider extends ServiceProvider
 | 
			
		||||
        $this->registerViews();
 | 
			
		||||
        $this->registerFactories();
 | 
			
		||||
 | 
			
		||||
        $this->app['events']->listen(AdminMenuCreated::class, OfflineAdminMenu::class);
 | 
			
		||||
        $this->app['events']->listen(AdminMenuCreated::class, OfflinePaymentAdminMenu::class);
 | 
			
		||||
        $this->app['events']->listen(PaymentGatewayListing::class, OfflinePaymentGateway::class);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -54,10 +54,10 @@ class OfflineServiceProvider extends ServiceProvider
 | 
			
		||||
    protected function registerConfig()
 | 
			
		||||
    {
 | 
			
		||||
        $this->publishes([
 | 
			
		||||
            __DIR__.'/../Config/config.php' => config_path('offline.php'),
 | 
			
		||||
            __DIR__.'/../Config/config.php' => config_path('offlinepayment.php'),
 | 
			
		||||
        ], 'config');
 | 
			
		||||
        $this->mergeConfigFrom(
 | 
			
		||||
            __DIR__.'/../Config/config.php', 'offline'
 | 
			
		||||
            __DIR__.'/../Config/config.php', 'offlinepayment'
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -68,7 +68,7 @@ class OfflineServiceProvider extends ServiceProvider
 | 
			
		||||
     */
 | 
			
		||||
    public function registerViews()
 | 
			
		||||
    {
 | 
			
		||||
        $viewPath = resource_path('views/modules/offline');
 | 
			
		||||
        $viewPath = resource_path('views/modules/offlinepayment');
 | 
			
		||||
 | 
			
		||||
        $sourcePath = __DIR__.'/../Resources/views';
 | 
			
		||||
 | 
			
		||||
@@ -77,8 +77,8 @@ class OfflineServiceProvider extends ServiceProvider
 | 
			
		||||
        ]);
 | 
			
		||||
 | 
			
		||||
        $this->loadViewsFrom(array_merge(array_map(function ($path) {
 | 
			
		||||
            return $path . '/modules/offline';
 | 
			
		||||
        }, \Config::get('view.paths')), [$sourcePath]), 'offline');
 | 
			
		||||
            return $path . '/modules/offlinepayment';
 | 
			
		||||
        }, \Config::get('view.paths')), [$sourcePath]), 'offlinepayment');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@@ -88,12 +88,12 @@ class OfflineServiceProvider extends ServiceProvider
 | 
			
		||||
     */
 | 
			
		||||
    public function registerTranslations()
 | 
			
		||||
    {
 | 
			
		||||
        $langPath = resource_path('lang/modules/offline');
 | 
			
		||||
        $langPath = resource_path('lang/modules/offlinepayment');
 | 
			
		||||
 | 
			
		||||
        if (is_dir($langPath)) {
 | 
			
		||||
            $this->loadTranslationsFrom($langPath, 'offline');
 | 
			
		||||
            $this->loadTranslationsFrom($langPath, 'offlinepayment');
 | 
			
		||||
        } else {
 | 
			
		||||
            $this->loadTranslationsFrom(__DIR__ .'/../Resources/lang', 'offline');
 | 
			
		||||
            $this->loadTranslationsFrom(__DIR__ .'/../Resources/lang', 'offlinepayment');
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										59
									
								
								modules/OfflinePayment/Providers/OfflineServiceProvider.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								modules/OfflinePayment/Providers/OfflineServiceProvider.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace Modules\OfflinePayment\Providers;
 | 
			
		||||
 | 
			
		||||
use Artisan;
 | 
			
		||||
use Module;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Support\ServiceProvider;
 | 
			
		||||
 | 
			
		||||
class OfflineServiceProvider extends ServiceProvider
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Indicates if loading of the provider is deferred.
 | 
			
		||||
     *
 | 
			
		||||
     * @var bool
 | 
			
		||||
     */
 | 
			
		||||
    protected $defer = false;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Boot the application events.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function boot()
 | 
			
		||||
    {
 | 
			
		||||
        $module = Module::get('OfflinePayment');
 | 
			
		||||
 | 
			
		||||
        if (!empty($module) && version_compare($module->get('version'), '1.0.0') == 0) {
 | 
			
		||||
            $offline_payments = json_decode(setting('offline.payment.methods'), true);
 | 
			
		||||
 | 
			
		||||
            if (!empty($offline_payments)) {
 | 
			
		||||
                $offlinepayment = array();
 | 
			
		||||
 | 
			
		||||
                foreach ($offline_payments as $offline_payment) {
 | 
			
		||||
                    $code = explode('.', $offline_payment['code']);
 | 
			
		||||
 | 
			
		||||
                    $offline_payment['code'] = $code[1];
 | 
			
		||||
 | 
			
		||||
                    $offlinepayment[] = array(
 | 
			
		||||
                        'code' => 'offlinepayment.' . $code[1] . '.' . $code[2],
 | 
			
		||||
                        'name' => $offline_payment['name'],
 | 
			
		||||
                        'order' => $offline_payment['order'],
 | 
			
		||||
                        'description' => $offline_payment['description']
 | 
			
		||||
                    );
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                setting()->set('offlinepayment.methods', json_encode($offlinepayment));
 | 
			
		||||
 | 
			
		||||
                setting()->forget('offline.payment.methods');
 | 
			
		||||
 | 
			
		||||
                setting()->save();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            $module->delete();
 | 
			
		||||
 | 
			
		||||
            Artisan::call('cache:clear');
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -2,8 +2,9 @@
 | 
			
		||||
 | 
			
		||||
return [
 | 
			
		||||
 | 
			
		||||
    'offline'          => 'Offline Payments',
 | 
			
		||||
    'offlinepayment'   => 'Offline Payments',
 | 
			
		||||
    'add_new'          => 'Add New',
 | 
			
		||||
    'edit'             => 'Edit: :method',
 | 
			
		||||
    'code'             => 'Code',
 | 
			
		||||
    'order'            => 'Order',
 | 
			
		||||
    'payment_gateways' => 'Offline Payment Methods',
 | 
			
		||||
@@ -1,31 +1,33 @@
 | 
			
		||||
@extends('layouts.admin')
 | 
			
		||||
 | 
			
		||||
@section('title', trans('offline::offline.offline'))
 | 
			
		||||
@section('title', trans('offlinepayment::offlinepayment.offlinepayment'))
 | 
			
		||||
 | 
			
		||||
@section('content')
 | 
			
		||||
    <div class="col-md-4 no-padding-left">
 | 
			
		||||
        <div class="box box-success">
 | 
			
		||||
            <div class="box-header with-border">
 | 
			
		||||
                <h3 class="box-title">{{ trans('offline::offline.add_new') }}</h3>
 | 
			
		||||
                <h3 class="box-title">{{ trans('offlinepayment::offlinepayment.add_new') }}</h3>
 | 
			
		||||
                <!-- /.box-tools -->
 | 
			
		||||
            </div>
 | 
			
		||||
            <!-- /.box-header -->
 | 
			
		||||
 | 
			
		||||
            {!! Form::open(['url' => 'modules/offline/settings', 'files' => true, 'role' => 'form']) !!}
 | 
			
		||||
            {!! Form::open(['url' => 'modules/offlinepayment/settings', 'files' => true, 'role' => 'form']) !!}
 | 
			
		||||
 | 
			
		||||
            <div class="box-body">
 | 
			
		||||
                <div id="install-loading"></div>
 | 
			
		||||
 | 
			
		||||
                {{ Form::textGroup('name', trans('general.name'), 'id-card-o', ['required' => 'required'], null, 'col-md-12') }}
 | 
			
		||||
 | 
			
		||||
                {{ Form::textGroup('code', trans('offline::offline.code'), 'key', ['required' => 'required'], null, 'col-md-12') }}
 | 
			
		||||
                {{ Form::textGroup('code', trans('offlinepayment::offlinepayment.code'), 'key', ['required' => 'required'], null, 'col-md-12') }}
 | 
			
		||||
 | 
			
		||||
                {{ Form::textGroup('order', trans('offline::offline.order'), 'sort', [], 0, 'col-md-12') }}
 | 
			
		||||
                {{ Form::textGroup('order', trans('offlinepayment::offlinepayment.order'), 'sort', [], 0, 'col-md-12') }}
 | 
			
		||||
 | 
			
		||||
                {{ Form::textareaGroup('description', trans('general.description')) }}
 | 
			
		||||
            </div>
 | 
			
		||||
            <!-- /.box-body -->
 | 
			
		||||
 | 
			
		||||
            <div class="box-footer">
 | 
			
		||||
                {{ Form::saveButtons('modules/offline/settings') }}
 | 
			
		||||
                {{ Form::saveButtons('modules/offlinepayment/settings') }}
 | 
			
		||||
            </div>
 | 
			
		||||
            <!-- /.box-footer -->
 | 
			
		||||
 | 
			
		||||
@@ -37,7 +39,7 @@
 | 
			
		||||
        <!-- Default box -->
 | 
			
		||||
        <div class="box box-success">
 | 
			
		||||
            <div class="box-header with-border">
 | 
			
		||||
                <h3 class="box-title">{{ trans('offline::offline.payment_gateways') }}</h3>
 | 
			
		||||
                <h3 class="box-title">{{ trans('offlinepayment::offlinepayment.payment_gateways') }}</h3>
 | 
			
		||||
                <!-- /.box-tools -->
 | 
			
		||||
            </div>
 | 
			
		||||
            <!-- /.box-header -->
 | 
			
		||||
@@ -47,8 +49,8 @@
 | 
			
		||||
                        <thead>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <th class="col-md-3">{{ trans('general.name') }}</th>
 | 
			
		||||
                            <th class="col-md-3">{{ trans('offline::offline.code') }}</th>
 | 
			
		||||
                            <th class="col-md-3">{{ trans('offline::offline.order') }}</th>
 | 
			
		||||
                            <th class="col-md-3">{{ trans('offlinepayment::offlinepayment.code') }}</th>
 | 
			
		||||
                            <th class="col-md-3">{{ trans('offlinepayment::offlinepayment.order') }}</th>
 | 
			
		||||
                            <th class="col-md-3">{{ trans('general.actions') }}</th>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        </thead>
 | 
			
		||||
@@ -78,6 +80,33 @@
 | 
			
		||||
    </div>
 | 
			
		||||
@endsection
 | 
			
		||||
 | 
			
		||||
@section('stylesheet')
 | 
			
		||||
    <style type="text/css">
 | 
			
		||||
        .install-loading-bar {
 | 
			
		||||
            font-size: 35px;
 | 
			
		||||
            position: absolute;
 | 
			
		||||
            z-index: 500;
 | 
			
		||||
            top: 0px;
 | 
			
		||||
            left: 0px;
 | 
			
		||||
            width: 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;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .install-loading-spin {
 | 
			
		||||
            font-size: 100px;
 | 
			
		||||
            position: absolute;
 | 
			
		||||
            margin: auto;
 | 
			
		||||
            color: #fff;
 | 
			
		||||
            padding: 28% 40%;
 | 
			
		||||
        }
 | 
			
		||||
    </style>
 | 
			
		||||
@endsection
 | 
			
		||||
 | 
			
		||||
@section('scripts')
 | 
			
		||||
    <script type="text/javascript">
 | 
			
		||||
        $(document).ready(function() {
 | 
			
		||||
@@ -85,16 +114,24 @@
 | 
			
		||||
                var code = $(this).attr('id').replace('edit-', '');
 | 
			
		||||
 | 
			
		||||
                $.ajax({
 | 
			
		||||
                    url: '{{ url("modules/offline/settings/get") }}',
 | 
			
		||||
                    url: '{{ url("modules/offlinepayment/settings/get") }}',
 | 
			
		||||
                    type: 'post',
 | 
			
		||||
                    dataType: 'json',
 | 
			
		||||
                    data: {code: code},
 | 
			
		||||
                    headers: { 'X-CSRF-TOKEN': '{{ csrf_token() }}' },
 | 
			
		||||
                    beforeSend: function() {
 | 
			
		||||
                        $('#install-loading').html('<span class="install-loading-bar"><span class="install-loading-spin"><i class="fa fa-spinner fa-spin"></i></span></span>');
 | 
			
		||||
                        $('.install-loading-bar').css({"height": $('.col-md-4.no-padding-left').height() - 23});
 | 
			
		||||
                    },
 | 
			
		||||
                    complete: function() {
 | 
			
		||||
                       $('#install-loading .install-loading-bar').remove();
 | 
			
		||||
                    },
 | 
			
		||||
                    success: function(json) {
 | 
			
		||||
                        if (json['error']) {
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        if (json['success']) {
 | 
			
		||||
                            $('.col-md-4.no-padding-left .box-header.with-border .box-title').html(json['data']['title']);
 | 
			
		||||
                            $('input[name="name"]').val(json['data']['name']);
 | 
			
		||||
                            $('input[name="code"]').val(json['data']['code']);
 | 
			
		||||
                            $('input[name="sort"]').val(json['data']['sort']);
 | 
			
		||||
@@ -112,7 +149,7 @@
 | 
			
		||||
                var code = $(this).attr('id').replace('delete-', '');
 | 
			
		||||
 | 
			
		||||
                $.ajax({
 | 
			
		||||
                    url: '{{ url("modules/offline/settings/delete") }}',
 | 
			
		||||
                    url: '{{ url("modules/offlinepayment/settings/delete") }}',
 | 
			
		||||
                    type: 'post',
 | 
			
		||||
                    dataType: 'json',
 | 
			
		||||
                    data: {code: code},
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "akaunting/offline",
 | 
			
		||||
    "name": "akaunting/offlinepayment",
 | 
			
		||||
    "description": "",
 | 
			
		||||
    "authors": [
 | 
			
		||||
        {
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
    ],
 | 
			
		||||
    "autoload": {
 | 
			
		||||
        "psr-4": {
 | 
			
		||||
            "Modules\\Offline\\": ""
 | 
			
		||||
            "Modules\\OfflinePayment\\": ""
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Offline",
 | 
			
		||||
    "alias": "offline",
 | 
			
		||||
    "name": "OfflinePayment",
 | 
			
		||||
    "alias": "offlinepayment",
 | 
			
		||||
    "description": "",
 | 
			
		||||
    "version": "1.0.0",
 | 
			
		||||
    "category": "payment-gateways",
 | 
			
		||||
@@ -8,7 +8,8 @@
 | 
			
		||||
    "active": 1,
 | 
			
		||||
    "order": 0,
 | 
			
		||||
    "providers": [
 | 
			
		||||
        "Modules\\Offline\\Providers\\OfflineServiceProvider"
 | 
			
		||||
        "Modules\\OfflinePayment\\Providers\\OfflineServiceProvider",
 | 
			
		||||
        "Modules\\OfflinePayment\\Providers\\OfflinePaymentServiceProvider"
 | 
			
		||||
    ],
 | 
			
		||||
    "aliases": {},
 | 
			
		||||
    "files": [
 | 
			
		||||
		Reference in New Issue
	
	Block a user