From 9767e479f2fb321f4e7a769c1ac417e6dc0989a1 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Mon, 19 Aug 2019 23:36:52 +0530 Subject: [PATCH] Webfont added --- .../CustomerDocument/src/Config/menu.php | 2 +- .../src/Resources/lang/en/app.php | 1 + .../views/admin/customers/upload.blade.php | 1 + .../views/admin/documents/create.blade.php | 1 + .../views/admin/documents/edit.blade.php | 1 + .../views/shop/products/add-buttons.blade.php | 2 +- .../shop/products/view/product-add.blade.php | 2 +- ..._19_222319_alter_customer_groups_table.php | 35 +++++ .../src/Http/Controllers/PurgeController.php | 1 + .../src/Listeners/CompanyRegistered.php | 4 + .../SAASCustomizer/src/Models/SuperAdmin.php | 1 - .../Notifications/NewCompanyNotification.php | 50 +++++++ .../Observers/Attribute/AttributeObserver.php | 8 ++ .../Resources/views/emails/new-company.php | 1 + packages/Webkul/Webfont/composer.json | 26 ++++ packages/Webkul/Webfont/readme.md | 54 ++++++++ packages/Webkul/Webfont/src/Config/menu.php | 11 ++ packages/Webkul/Webfont/src/Config/system.php | 65 ++++++++++ .../Webkul/Webfont/src/Contracts/Webfont.php | 7 + .../Webfont/src/DataGrids/WebfontDataGrid.php | 81 ++++++++++++ ...3_141430_create_google_web_fonts_table.php | 35 +++++ .../src/Http/Controllers/Controller.php | 13 ++ .../Http/Controllers/WebfontController.php | 122 ++++++++++++++++++ packages/Webkul/Webfont/src/Http/routes.php | 13 ++ .../Webkul/Webfont/src/Listeners/Webfont.php | 9 ++ .../Webkul/Webfont/src/Models/Webfont.php | 13 ++ .../Webfont/src/Models/WebfontProxy.php | 10 ++ .../Webfont/src/Observers/WebfontObserver.php | 17 +++ .../src/Providers/EventServiceProvider.php | 30 +++++ .../src/Providers/ModuleServiceProvider.php | 12 ++ .../src/Providers/WebfontServiceProvider.php | 53 ++++++++ .../src/Repositories/WebfontRepository.php | 26 ++++ .../Webfont/src/Resources/lang/en/app.php | 27 ++++ .../src/Resources/views/add-font.blade.php | 104 +++++++++++++++ .../src/Resources/views/admin-index.blade.php | 27 ++++ .../src/Resources/views/webfont.blade.php | 51 ++++++++ .../vendor/admin/sales/orders/index.blade.php | 2 +- .../vendor/admin/sales/orders/view.blade.php | 2 +- .../shop/products/add-buttons.blade.php | 4 +- .../shop/products/view/product-add.blade.php | 4 +- 40 files changed, 917 insertions(+), 11 deletions(-) create mode 100644 packages/Webkul/SAASCustomizer/src/Database/Migrations/2019_08_19_222319_alter_customer_groups_table.php create mode 100644 packages/Webkul/SAASCustomizer/src/Notifications/NewCompanyNotification.php create mode 100644 packages/Webkul/SAASCustomizer/src/Resources/views/emails/new-company.php create mode 100644 packages/Webkul/Webfont/composer.json create mode 100644 packages/Webkul/Webfont/readme.md create mode 100644 packages/Webkul/Webfont/src/Config/menu.php create mode 100644 packages/Webkul/Webfont/src/Config/system.php create mode 100644 packages/Webkul/Webfont/src/Contracts/Webfont.php create mode 100644 packages/Webkul/Webfont/src/DataGrids/WebfontDataGrid.php create mode 100644 packages/Webkul/Webfont/src/Database/Migrations/2019_08_13_141430_create_google_web_fonts_table.php create mode 100644 packages/Webkul/Webfont/src/Http/Controllers/Controller.php create mode 100644 packages/Webkul/Webfont/src/Http/Controllers/WebfontController.php create mode 100644 packages/Webkul/Webfont/src/Http/routes.php create mode 100644 packages/Webkul/Webfont/src/Listeners/Webfont.php create mode 100644 packages/Webkul/Webfont/src/Models/Webfont.php create mode 100644 packages/Webkul/Webfont/src/Models/WebfontProxy.php create mode 100644 packages/Webkul/Webfont/src/Observers/WebfontObserver.php create mode 100644 packages/Webkul/Webfont/src/Providers/EventServiceProvider.php create mode 100644 packages/Webkul/Webfont/src/Providers/ModuleServiceProvider.php create mode 100644 packages/Webkul/Webfont/src/Providers/WebfontServiceProvider.php create mode 100644 packages/Webkul/Webfont/src/Repositories/WebfontRepository.php create mode 100644 packages/Webkul/Webfont/src/Resources/lang/en/app.php create mode 100644 packages/Webkul/Webfont/src/Resources/views/add-font.blade.php create mode 100644 packages/Webkul/Webfont/src/Resources/views/admin-index.blade.php create mode 100644 packages/Webkul/Webfont/src/Resources/views/webfont.blade.php diff --git a/packages/Webkul/CustomerDocument/src/Config/menu.php b/packages/Webkul/CustomerDocument/src/Config/menu.php index 9a6965f95..9eacd453a 100644 --- a/packages/Webkul/CustomerDocument/src/Config/menu.php +++ b/packages/Webkul/CustomerDocument/src/Config/menu.php @@ -6,7 +6,7 @@ return [ 'name' => 'customerdocument::app.admin.customers.documents', 'route' => 'admin.documents.index', 'sort' => 6, - 'icon-class' => 'sales-icon', + 'icon-class' => 'document-icon', ], [ 'key' => 'documents.files', 'name' => 'customerdocument::app.admin.documents.b2b-files', diff --git a/packages/Webkul/CustomerDocument/src/Resources/lang/en/app.php b/packages/Webkul/CustomerDocument/src/Resources/lang/en/app.php index d51a82581..8f54af8fc 100644 --- a/packages/Webkul/CustomerDocument/src/Resources/lang/en/app.php +++ b/packages/Webkul/CustomerDocument/src/Resources/lang/en/app.php @@ -33,6 +33,7 @@ return [ 'in-active' => 'Inactive', 'product' => 'Product', 'marketing' => 'Marketing', + 'other' => 'Other', 'add-document' => 'Add Document', 'edit-document' => 'Edit Document' ], diff --git a/packages/Webkul/CustomerDocument/src/Resources/views/admin/customers/upload.blade.php b/packages/Webkul/CustomerDocument/src/Resources/views/admin/customers/upload.blade.php index d05efefa6..7c4914412 100644 --- a/packages/Webkul/CustomerDocument/src/Resources/views/admin/customers/upload.blade.php +++ b/packages/Webkul/CustomerDocument/src/Resources/views/admin/customers/upload.blade.php @@ -80,6 +80,7 @@ $documents = $customerDocumentRepository->findWhere(['customer_id' => $customer- @{{ errors.first('type') }} diff --git a/packages/Webkul/CustomerDocument/src/Resources/views/admin/documents/create.blade.php b/packages/Webkul/CustomerDocument/src/Resources/views/admin/documents/create.blade.php index 9303f0b27..f6506cefd 100644 --- a/packages/Webkul/CustomerDocument/src/Resources/views/admin/documents/create.blade.php +++ b/packages/Webkul/CustomerDocument/src/Resources/views/admin/documents/create.blade.php @@ -40,6 +40,7 @@ @{{ errors.first('type') }} diff --git a/packages/Webkul/CustomerDocument/src/Resources/views/admin/documents/edit.blade.php b/packages/Webkul/CustomerDocument/src/Resources/views/admin/documents/edit.blade.php index 4932623bb..601523c92 100644 --- a/packages/Webkul/CustomerDocument/src/Resources/views/admin/documents/edit.blade.php +++ b/packages/Webkul/CustomerDocument/src/Resources/views/admin/documents/edit.blade.php @@ -42,6 +42,7 @@ @{{ errors.first('type') }} diff --git a/packages/Webkul/PreOrder/src/Resources/views/shop/products/add-buttons.blade.php b/packages/Webkul/PreOrder/src/Resources/views/shop/products/add-buttons.blade.php index 6637312a7..af665b735 100644 --- a/packages/Webkul/PreOrder/src/Resources/views/shop/products/add-buttons.blade.php +++ b/packages/Webkul/PreOrder/src/Resources/views/shop/products/add-buttons.blade.php @@ -22,7 +22,7 @@ - @if ($product->totalQuantity() < 1 && $product->allow_preorder) + @if ($product->totalQuantity() < 1 && $product->product->allow_preorder) @else diff --git a/packages/Webkul/PreOrder/src/Resources/views/shop/products/view/product-add.blade.php b/packages/Webkul/PreOrder/src/Resources/views/shop/products/view/product-add.blade.php index 1903ae6ba..584d15fa1 100644 --- a/packages/Webkul/PreOrder/src/Resources/views/shop/products/view/product-add.blade.php +++ b/packages/Webkul/PreOrder/src/Resources/views/shop/products/view/product-add.blade.php @@ -2,7 +2,7 @@
@if ($product->type != 'configurable') - @if ($product->totalQuantity() < 1 && $product->allow_preorder) + @if ($product->totalQuantity() < 1 && $product->product->allow_preorder) diff --git a/packages/Webkul/SAASCustomizer/src/Database/Migrations/2019_08_19_222319_alter_customer_groups_table.php b/packages/Webkul/SAASCustomizer/src/Database/Migrations/2019_08_19_222319_alter_customer_groups_table.php new file mode 100644 index 000000000..7c9675d62 --- /dev/null +++ b/packages/Webkul/SAASCustomizer/src/Database/Migrations/2019_08_19_222319_alter_customer_groups_table.php @@ -0,0 +1,35 @@ +dropUnique('customer_groups_code_unique'); + $table->unique(['code', 'company_id']); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('customer_groups', function (Blueprint $table) { + $table->dropUnique('customer_groups_code_company_id_unique'); + $table->unique('code'); + }); + + } +} diff --git a/packages/Webkul/SAASCustomizer/src/Http/Controllers/PurgeController.php b/packages/Webkul/SAASCustomizer/src/Http/Controllers/PurgeController.php index 1fc016953..b5d37fe77 100644 --- a/packages/Webkul/SAASCustomizer/src/Http/Controllers/PurgeController.php +++ b/packages/Webkul/SAASCustomizer/src/Http/Controllers/PurgeController.php @@ -43,6 +43,7 @@ class PurgeController extends Controller Event::fire('new.company.registered'); $this->dataSeed->setInstallationCompleteParam(); + session()->flash('success', trans('saas::app.status.store-created')); return redirect()->route('shop.home.index'); diff --git a/packages/Webkul/SAASCustomizer/src/Listeners/CompanyRegistered.php b/packages/Webkul/SAASCustomizer/src/Listeners/CompanyRegistered.php index 7dc5d9bb8..a821b908a 100644 --- a/packages/Webkul/SAASCustomizer/src/Listeners/CompanyRegistered.php +++ b/packages/Webkul/SAASCustomizer/src/Listeners/CompanyRegistered.php @@ -3,6 +3,8 @@ namespace Webkul\SAASCustomizer\Listeners; use Company; +use Illuminate\Support\Facades\Mail; +use Webkul\SAASCustomizer\Mail\NewCompanyNotification; /** * New company registered events handler @@ -21,5 +23,7 @@ class CompanyRegistered $poolInstance->createPreOrderData($company->id); } + + Mail::queue(new NewCompanyNotification($company)); } } \ No newline at end of file diff --git a/packages/Webkul/SAASCustomizer/src/Models/SuperAdmin.php b/packages/Webkul/SAASCustomizer/src/Models/SuperAdmin.php index 7f18d8046..ccbe0b506 100644 --- a/packages/Webkul/SAASCustomizer/src/Models/SuperAdmin.php +++ b/packages/Webkul/SAASCustomizer/src/Models/SuperAdmin.php @@ -3,7 +3,6 @@ namespace Webkul\SAASCustomizer\Models; use Illuminate\Notifications\Notifiable; -use Illuminate\Database\Eloquent\Model; use Illuminate\Foundation\Auth\User as Authenticatable; class SuperAdmin extends Authenticatable diff --git a/packages/Webkul/SAASCustomizer/src/Notifications/NewCompanyNotification.php b/packages/Webkul/SAASCustomizer/src/Notifications/NewCompanyNotification.php new file mode 100644 index 000000000..b0b888526 --- /dev/null +++ b/packages/Webkul/SAASCustomizer/src/Notifications/NewCompanyNotification.php @@ -0,0 +1,50 @@ + @prashant-webkul + * @copyright 2019 Webkul Software Pvt Ltd (http://www.webkul.com) + */ +class NewCompanyNotification extends Mailable +{ + use Queueable, SerializesModels; + + /** + * @var Company + */ + public $company; + + /** + * Create a new message instance. + * + * @return void + */ + public function __construct($company) + { + $this->company = $company; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + $superAdmin = new SuperAdmin; + $superAdmin = $superAdmin->all()->first(); + + return $this->to($superAdmin->email) + ->subject('New Company Registered') + ->view('saas::emails.new-company')->with('company', $this->company); + } +} \ No newline at end of file diff --git a/packages/Webkul/SAASCustomizer/src/Observers/Attribute/AttributeObserver.php b/packages/Webkul/SAASCustomizer/src/Observers/Attribute/AttributeObserver.php index 373166f17..18cfecc3d 100644 --- a/packages/Webkul/SAASCustomizer/src/Observers/Attribute/AttributeObserver.php +++ b/packages/Webkul/SAASCustomizer/src/Observers/Attribute/AttributeObserver.php @@ -11,7 +11,15 @@ class AttributeObserver public function creating(Attribute $model) { if (! auth()->guard('super-admin')->check()) { + $model->use_in_flat = 0; $model->company_id = Company::getCurrent()->id; } } + + public function updating(Attribute $model) + { + if (! auth()->guard('super-admin')->check()) { + $model->use_in_flat = 0; + } + } } \ No newline at end of file diff --git a/packages/Webkul/SAASCustomizer/src/Resources/views/emails/new-company.php b/packages/Webkul/SAASCustomizer/src/Resources/views/emails/new-company.php new file mode 100644 index 000000000..9784a7830 --- /dev/null +++ b/packages/Webkul/SAASCustomizer/src/Resources/views/emails/new-company.php @@ -0,0 +1 @@ +New company is registered. \ No newline at end of file diff --git a/packages/Webkul/Webfont/composer.json b/packages/Webkul/Webfont/composer.json new file mode 100644 index 000000000..94a724827 --- /dev/null +++ b/packages/Webkul/Webfont/composer.json @@ -0,0 +1,26 @@ +{ + "name": "bagisto/laravel-webfont", + "license": "MIT", + "authors": [ + { + "name": "Prashant Singh", + "email": "prashant.singh852@webkul.com" + } + ], + "require": {}, + "autoload": { + "psr-4": { + "Webkul\\Webfont\\": "src/" + } + }, + "extra": { + "laravel": { + "providers": [ + "Webkul\\User\\Providers\\WebfontServiceProvider" + ], + "aliases": { + } + } + }, + "minimum-stability": "dev" +} \ No newline at end of file diff --git a/packages/Webkul/Webfont/readme.md b/packages/Webkul/Webfont/readme.md new file mode 100644 index 000000000..6dc12b4c2 --- /dev/null +++ b/packages/Webkul/Webfont/readme.md @@ -0,0 +1,54 @@ +# Laravel Webfont v0.1 + +# Introduction: +Bagisto webfont is dynamic implementation of google web fonts. It allows you to choose fonts from google fonts directly from your own Bagisto instance. Choose as many google fonts at once and customize your font for storefront or backend or both within few steps. + +# Feature of Bagisto webfont module + +* Allows you to activate and deactivate module. +* Allow a default font in case you have chosen none. +* Separate control for using font in admin panel or storefront. + +# Requirements +* Bagisto v0.1.7 or higher. + +# Note: +Before proceeding you need google fonts API key. You can get your own key by following instructions after opening the link below: + +> https://developers.google.com/fonts/docs/developer_api + +# Installation +* Extract contents of the zip file in the root of your Bagisto instance. +* Do entry in composer.json in psr-4 object: + +``` +"Webkul\\Webfont\\": "packages/Webkul/Webfont/src" +``` + +* Do entry in config/app.php, inside providers array preferably at the end of it: + +``` +Webkul\Webfont\Providers\WebfontServiceProvider::class +``` + +* Do entry in config\concord.php file: + +``` +\Webkul\Webfont\Providers\ModuleServiceProvider::class +``` + +* Run command below: +1. composer dump-autoload +> Proceed if there are no errors encountered + +2. php artisan migrate + +3. php artisan route:cache + +* You can now find the module configuration in admin panel under Configuration > General > Design. + +* In the configuration page, there is a field for API key which will require to enter your own Google Fonts Developer API key. + +* Find the module under CMS > Webfont. + +> Congrats, you are all set to use Google fonts from your Bagisto instance. diff --git a/packages/Webkul/Webfont/src/Config/menu.php b/packages/Webkul/Webfont/src/Config/menu.php new file mode 100644 index 000000000..46d9b717a --- /dev/null +++ b/packages/Webkul/Webfont/src/Config/menu.php @@ -0,0 +1,11 @@ + 'cms.webfont', + 'name' => 'webfont::app.webfont', + 'route' => 'admin.cms.webfont', + 'sort' => 2, + 'icon-class' => '', + ] +]; \ No newline at end of file diff --git a/packages/Webkul/Webfont/src/Config/system.php b/packages/Webkul/Webfont/src/Config/system.php new file mode 100644 index 000000000..cc4355cc8 --- /dev/null +++ b/packages/Webkul/Webfont/src/Config/system.php @@ -0,0 +1,65 @@ + 'general.design.webfont', + 'name' => 'webfont::app.webfont', + 'sort' => 1, + 'fields' => [ + [ + 'name' => 'status', + 'title' => 'webfont::app.webfont-status', + 'type' => 'select', + 'options' => [ + [ + 'title' => 'Active', + 'value' => true + ], [ + 'title' => 'Inactive', + 'value' => false + ] + ], + + 'channel_based' => false, + 'locale_based' => false + ], [ + 'name' => 'webfont', + 'title' => 'webfont::app.webfont-api', + 'type' => 'text', + 'validation' => 'required', + 'channel_based' => false, + 'locale_based' => false + ], [ + 'name' => 'enable_backend', + 'title' => 'webfont::app.webfont-backend', + 'type' => 'select', + 'channel_based' => false, + 'locale_based' => false, + 'options' => [ + [ + 'title' => 'Active', + 'value' => true + ], [ + 'title' => 'Inactive', + 'value' => false + ] + ] + ], [ + 'name' => 'enable_frontend', + 'title' => 'webfont::app.webfont-frontend', + 'type' => 'select', + 'channel_based' => false, + 'locale_based' => false, + 'options' => [ + [ + 'title' => 'Active', + 'value' => true + ], [ + 'title' => 'Inactive', + 'value' => false + ] + ] + ] + ] + ] +]; \ No newline at end of file diff --git a/packages/Webkul/Webfont/src/Contracts/Webfont.php b/packages/Webkul/Webfont/src/Contracts/Webfont.php new file mode 100644 index 000000000..0d7038033 --- /dev/null +++ b/packages/Webkul/Webfont/src/Contracts/Webfont.php @@ -0,0 +1,7 @@ + @prashant-webkul + * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) + */ +class WebfontDataGrid extends DataGrid +{ + protected $index = 'id'; //the column that needs to be treated as index column + + protected $sortOrder = 'desc'; //asc or desc + + public function prepareQueryBuilder() + { + $queryBuilder = DB::table('google_web_fonts') + ->select('id', 'font', 'activated'); + + $this->setQueryBuilder($queryBuilder); + } + + public function addColumns() + { + $this->addColumn([ + 'index' => 'id', + 'label' => trans('webfont::app.id'), + 'type' => 'number', + 'searchable' => false, + 'sortable' => true, + 'filterable' => true + ]); + + $this->addColumn([ + 'index' => 'font', + 'label' => trans('webfont::app.font'), + 'type' => 'string', + 'searchable' => true, + 'sortable' => true, + 'filterable' => true + ]); + + $this->addColumn([ + 'index' => 'activated', + 'label' => trans('webfont::app.activated'), + 'type' => 'boolean', + 'searchable' => true, + 'sortable' => true, + 'filterable' => true, + 'wrapper' => function($row) { + if ($row->activated) { + return trans('webfont::app.activated'); + } else { + return trans('webfont::app.de-activated'); + } + } + ]); + } + + public function prepareActions() + { + $this->addAction([ + 'type' => 'Edit', + 'method' => 'GET', //use post only for redirects only + 'route' => 'admin.cms.webfont.activate', + 'icon' => 'icon pencil-lg-icon' + ]); + + $this->addAction([ + 'type' => 'Delete', + 'method' => 'POST', //use post only for requests other than redirects + 'route' => 'admin.cms.webfont.remove', + 'icon' => 'icon trash-icon' + ]); + } +} \ No newline at end of file diff --git a/packages/Webkul/Webfont/src/Database/Migrations/2019_08_13_141430_create_google_web_fonts_table.php b/packages/Webkul/Webfont/src/Database/Migrations/2019_08_13_141430_create_google_web_fonts_table.php new file mode 100644 index 000000000..9752dff61 --- /dev/null +++ b/packages/Webkul/Webfont/src/Database/Migrations/2019_08_13_141430_create_google_web_fonts_table.php @@ -0,0 +1,35 @@ +increments('id'); + $table->text('font'); + $table->boolean('activated')->default(0); + $table->integer('company_id')->unsigned(); + $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('google_web_fonts'); + } +} diff --git a/packages/Webkul/Webfont/src/Http/Controllers/Controller.php b/packages/Webkul/Webfont/src/Http/Controllers/Controller.php new file mode 100644 index 000000000..89433c3d4 --- /dev/null +++ b/packages/Webkul/Webfont/src/Http/Controllers/Controller.php @@ -0,0 +1,13 @@ + @prashant-webkul + * @copyright 2019 Webkul Software Pvt Ltd (http://www.webkul.com) + */ +class WebfontController extends Controller +{ + /** + * Hold webfont repository instance + */ + protected $webfont; + + public function __construct(Webfont $webfont) + { + $this->middleware('auth:admin'); + + $this->webfont = $webfont; + } + + public function index() + { + return view('webfont::admin-index'); + } + + public function add() + { + $client = new GuzzleHttp\Client(); + + if (core()->getConfigData('general.design.webfont.webfont')) { + $res = $client->request('GET', 'https://www.googleapis.com/webfonts/v1/webfonts?key='.core()->getConfigData('general.design.webfont.webfont')); + + if ($res->getStatusCode() == 200) { + $result = (string) $res->getBody()->getContents(); + + return view('webfont::add-font')->with('fonts', json_decode($result)->items); + } else { + session()->flash('error', trans('webfont::app.cannot-fetch')); + + return redirect()->route('admin.cms.webfont'); + } + } else { + session()->flash('error', trans('webfont::app.set-api-key')); + + return redirect()->route('admin.cms.webfont'); + } + } + + public function store() + { + $fonts = request()->input('fonts'); + + $fonts = json_decode($fonts); + + foreach($fonts as $font) { + $this->webfont->create(['font' => $font]); + } + + session()->flash('success', trans('webfont::app.create-success')); + + return redirect()->route('admin.cms.webfont'); + } + + public function activate($id) + { + $font = $this->webfont->findWhere([ + 'activated' => 1 + ]); + + if (count($font)) { + $font = $font->first(); + + $font->update([ + 'activated' => 0 + ]); + + $font = $this->webfont->findOrFail($id); + + $font->update([ + 'activated' => 1 + ]); + } else { + $font = $this->webfont->findOrFail($id); + + $font->update([ + 'activated' => 1 + ]); + } + + session()->flash('success', trans('webfont::app.active-success')); + + return redirect()->route('admin.cms.webfont'); + } + + public function remove($id) + { + $font = $this->webfont->findOrFail($id); + + if($font->delete()) { + session()->flash('success', trans('webfont::app.delete-success')); + + return response()->json(['message' => true], 200); + } else { + session()->flash('error', trans('webfont::app.delete-fail')); + } + } + + public function fetchAndSync() + { + $client = new GuzzleHttp\Client(); + + return view('webfont::add-font'); + } +} \ No newline at end of file diff --git a/packages/Webkul/Webfont/src/Http/routes.php b/packages/Webkul/Webfont/src/Http/routes.php new file mode 100644 index 000000000..4e7f7261d --- /dev/null +++ b/packages/Webkul/Webfont/src/Http/routes.php @@ -0,0 +1,13 @@ + ['admin']], function () { + Route::get('admin/webfont', 'Webkul\Webfont\Http\Controllers\WebfontController@index')->name('admin.cms.webfont'); + + Route::get('admin/webfont/add', 'Webkul\Webfont\Http\Controllers\WebfontController@add')->name('admin.cms.webfont.add'); + + Route::post('admin/webfont/add', 'Webkul\Webfont\Http\Controllers\WebfontController@store')->name('admin.cms.webfont.store'); + + Route::get('admin/webfont/activate/{id}', 'Webkul\Webfont\Http\Controllers\WebfontController@activate')->name('admin.cms.webfont.activate'); + + Route::post('admin/webfont/remove/{id}', 'Webkul\Webfont\Http\Controllers\WebfontController@remove')->name('admin.cms.webfont.remove'); +}); diff --git a/packages/Webkul/Webfont/src/Listeners/Webfont.php b/packages/Webkul/Webfont/src/Listeners/Webfont.php new file mode 100644 index 000000000..c6368868e --- /dev/null +++ b/packages/Webkul/Webfont/src/Listeners/Webfont.php @@ -0,0 +1,9 @@ +guard('super-admin')->check()) { + $model->company_id = Company::getCurrent()->id; + } + } +} \ No newline at end of file diff --git a/packages/Webkul/Webfont/src/Providers/EventServiceProvider.php b/packages/Webkul/Webfont/src/Providers/EventServiceProvider.php new file mode 100644 index 000000000..ddafa5456 --- /dev/null +++ b/packages/Webkul/Webfont/src/Providers/EventServiceProvider.php @@ -0,0 +1,30 @@ +getConfigData('general.design.webfont.status') && core()->getConfigData('general.design.webfont.enable_backend')) { + Event::listen('bagisto.admin.layout.head', function($viewRenderEventManager) { + $viewRenderEventManager->addTemplate('webfont::webfont'); + }); + } + + if (core()->getConfigData('general.design.webfont.status') && core()->getConfigData('general.design.webfont.enable_frontend')) { + Event::listen('bagisto.shop.layout.head', function($viewRenderEventManager) { + $viewRenderEventManager->addTemplate('webfont::webfont'); + }); + } + } +} \ No newline at end of file diff --git a/packages/Webkul/Webfont/src/Providers/ModuleServiceProvider.php b/packages/Webkul/Webfont/src/Providers/ModuleServiceProvider.php new file mode 100644 index 000000000..17aaffd42 --- /dev/null +++ b/packages/Webkul/Webfont/src/Providers/ModuleServiceProvider.php @@ -0,0 +1,12 @@ +loadViewsFrom(__DIR__ . '/../Resources/views', 'webfont'); + + $this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations'); + + $this->loadTranslationsFrom(__DIR__ . '/../Resources/lang', 'webfont'); + + $this->loadRoutesFrom(__DIR__ . '/../Http/routes.php'); + + $this->app->concord->registerModel(\Webkul\Webfont\Contracts\Webfont::class, \Webkul\Webfont\Models\Webfont::class); + + $this->app->register(EventServiceProvider::class); + } + + /** + * Register services. + * + * @return void + */ + public function register() + { + $this->registerConfig(); + } + + /** + * Registers config + */ + protected function registerConfig() + { + $this->mergeConfigFrom( + dirname(__DIR__) . '/Config/system.php', 'core' + ); + + $this->mergeConfigFrom( + dirname(__DIR__) . '/Config/menu.php', 'menu.admin' + ); + } +} diff --git a/packages/Webkul/Webfont/src/Repositories/WebfontRepository.php b/packages/Webkul/Webfont/src/Repositories/WebfontRepository.php new file mode 100644 index 000000000..cfaf3eb1b --- /dev/null +++ b/packages/Webkul/Webfont/src/Repositories/WebfontRepository.php @@ -0,0 +1,26 @@ + @prashant-webkul + * @copyright 2019 Webkul Software Pvt Ltd (http://www.webkul.com) + */ + +class WebfontRepository extends Repository +{ + /** + * Specify Model class name + * + * @return mixed + */ + + function model() + { + return 'Webkul\Webfont\Contracts\Webfont'; + } +} \ No newline at end of file diff --git a/packages/Webkul/Webfont/src/Resources/lang/en/app.php b/packages/Webkul/Webfont/src/Resources/lang/en/app.php new file mode 100644 index 000000000..5dd44195d --- /dev/null +++ b/packages/Webkul/Webfont/src/Resources/lang/en/app.php @@ -0,0 +1,27 @@ + 'ID', + 'font' => 'Font', + 'title' => 'Webfonts', + 'save-btn-title' => 'Save Web Font', + 'cannot-fetch' => 'Cannot fetch the list of fonts, make sure that you are connected to internet', + 'set-api-key' => 'Set API key first', + 'select-fonts' => 'Select Fonts', + 'select-font-label' => 'Multiple selection and search are possible', + 'select-values' => 'Please select values', + 'create-success' => 'Fonts added to storage successfully', + 'activated' => 'Activated', + 'de-activated' => 'Deactived', + 'active-success' => 'Font activated successfully', + 'delete-success' => 'Font deleted successfully', + 'delete-fail' => 'Cannot delete font', + 'add' => 'Add Web Font', + 'remove' => 'Remove', + 'webfont' => 'Webfont', + 'webfont-api' => 'API Key', + 'webfont-default' => 'Default Font', + 'webfont-status' => 'Status', + 'webfont-frontend' => 'Enable for storefront', + 'webfont-backend' => 'Enable for backend' +]; \ No newline at end of file diff --git a/packages/Webkul/Webfont/src/Resources/views/add-font.blade.php b/packages/Webkul/Webfont/src/Resources/views/add-font.blade.php new file mode 100644 index 000000000..33ceaf693 --- /dev/null +++ b/packages/Webkul/Webfont/src/Resources/views/add-font.blade.php @@ -0,0 +1,104 @@ +@extends('admin::layouts.content') + +@section('page_title') + {{ __('webfont::app.title') }} +@stop + +@section('content') +
+ +
+@stop + +@push('scripts') + + + +@endpush \ No newline at end of file diff --git a/packages/Webkul/Webfont/src/Resources/views/admin-index.blade.php b/packages/Webkul/Webfont/src/Resources/views/admin-index.blade.php new file mode 100644 index 000000000..20cd142d7 --- /dev/null +++ b/packages/Webkul/Webfont/src/Resources/views/admin-index.blade.php @@ -0,0 +1,27 @@ +@extends('admin::layouts.content') + +@section('page_title') + {{ __('webfont::app.title') }} +@stop + +@section('content') + +
+ + +
+ @inject('webfontGrid', 'Webkul\Webfont\DataGrids\WebfontDataGrid') + + {!! $webfontGrid->render() !!} +
+
+@stop \ No newline at end of file diff --git a/packages/Webkul/Webfont/src/Resources/views/webfont.blade.php b/packages/Webkul/Webfont/src/Resources/views/webfont.blade.php new file mode 100644 index 000000000..0c8c61830 --- /dev/null +++ b/packages/Webkul/Webfont/src/Resources/views/webfont.blade.php @@ -0,0 +1,51 @@ + + +@php + $activatedFont = app('Webkul\Webfont\Repositories\WebfontRepository'); + + $font = $activatedFont->findOneWhere([ + 'activated' => 1 + ]); + + if (isset($font)) { + $activeFont = $font->font; + + $font = explode(',', $activeFont)[0]; + + $family = explode(',', $activeFont)[1]; + } else { + $font = 'Montserrat'; + + $family = 'sans-serif'; + } +@endphp + + + + \ No newline at end of file diff --git a/resources/views/vendor/admin/sales/orders/index.blade.php b/resources/views/vendor/admin/sales/orders/index.blade.php index 2ac4c157e..fde3254d3 100644 --- a/resources/views/vendor/admin/sales/orders/index.blade.php +++ b/resources/views/vendor/admin/sales/orders/index.blade.php @@ -23,7 +23,7 @@
@inject('orderGrid', 'Webkul\PreOrder\DataGrids\Admin\Order') - + {!! $orderGrid->render() !!}
diff --git a/resources/views/vendor/admin/sales/orders/view.blade.php b/resources/views/vendor/admin/sales/orders/view.blade.php index 5eb706877..065ec8bd8 100644 --- a/resources/views/vendor/admin/sales/orders/view.blade.php +++ b/resources/views/vendor/admin/sales/orders/view.blade.php @@ -31,7 +31,7 @@ @endif - @if ($order->canShip() && ! app('Webkul\PreOrder\Repositories\PreOrderItemRepository')->isPreOrderPaymentOrder($order->id)) + @if ($order->canShip() && ! app('Webkul\PreOrder\Repositories\PreOrderItemRepository')->resetScope()->isPreOrderPaymentOrder($order->id)) {{ __('admin::app.sales.orders.shipment-btn-title') }} diff --git a/resources/views/vendor/shop/products/add-buttons.blade.php b/resources/views/vendor/shop/products/add-buttons.blade.php index 76d0a7409..af665b735 100644 --- a/resources/views/vendor/shop/products/add-buttons.blade.php +++ b/resources/views/vendor/shop/products/add-buttons.blade.php @@ -3,8 +3,6 @@ @if (core()->getConfigData('preorder.settings.general.preorder_type') == 'partial')

{{ __('preorder::app.shop.products.percent-to-pay', ['percent' => core()->getConfigData('preorder.settings.general.percent')]) }}

@endif - @else -

{{ __('preorder::app.shop.products.nothing-to-pay') }}

@endif @endif @@ -24,7 +22,7 @@ - @if ($product->totalQuantity() < 1 && $product->allow_preorder) + @if ($product->totalQuantity() < 1 && $product->product->allow_preorder) @else diff --git a/resources/views/vendor/shop/products/view/product-add.blade.php b/resources/views/vendor/shop/products/view/product-add.blade.php index 1e7a00908..584d15fa1 100644 --- a/resources/views/vendor/shop/products/view/product-add.blade.php +++ b/resources/views/vendor/shop/products/view/product-add.blade.php @@ -2,7 +2,7 @@
@if ($product->type != 'configurable') - @if ($product->totalQuantity() < 1 && $product->allow_preorder) + @if ($product->totalQuantity() < 1 && $product->product->allow_preorder) @@ -16,7 +16,7 @@ @include ('shop::products.buy-now') - @endif