-
Notifications
You must be signed in to change notification settings - Fork 1
/
Plugin.php
65 lines (56 loc) · 1.72 KB
/
Plugin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php namespace Bedard\USPS;
use Bedard\Shop\Controllers\Products;
use Bedard\Shop\Models\Product;
use Bedard\USPS\Models\Packaging;
use Event;
use System\Classes\PluginBase;
/**
* USPS Plugin Information File
*/
class Plugin extends PluginBase
{
/**
* @var array Plugin dependencies
*/
public $require = ['Bedard.Shop'];
/**
* Returns information about this plugin.
*
* @return array
*/
public function pluginDetails()
{
return [
'name' => 'USPS Shipping',
'description' => 'Enables shipping calculations through the U.S. Postal Service.',
'author' => 'Scott Bedard',
'icon' => 'icon-truck'
];
}
/**
* Extend the product model with a packaging field
* @return [type] [description]
*/
public function boot()
{
Product::extend(function($model)
{
$model->belongsTo['packaging'] = ['Bedard\USPS\Models\Packaging'];
});
Event::listen('backend.form.extendFields', function($widget)
{
if (!$widget->getController() instanceof Products) return;
if (!$widget->model instanceof Product) return;
$widget->addSecondaryTabFields([
'packaging_id' => [
'tab' => 'bedard.shop::lang.products.details_tab',
'label' => 'Packaging',
'comment' => 'Select the smallest packaging this product can be mailed in.',
'type' => 'dropdown',
'options' => Packaging::all()->lists('name', 'id'),
'span' => 'right',
],
]);
});
}
}