Version Notes
Initial Release
Download this release
Release Info
Developer | Plumrocket Team |
Extension | Plumrocket_AdvancedPromotions |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog.php +29 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Edit.php +40 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Grid.php +55 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Import.php +36 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Import/Form.php +29 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Import/Tab/Main.php +81 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Import/Tabs.php +28 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Coupons.php +33 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Coupons/Grid.php +90 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Coupons/Grid/Renderer/Order.php +31 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Coupons/Grid/Renderer/Rule.php +27 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote.php +156 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Edit.php +40 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Grid.php +55 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Import.php +37 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Import/Form.php +29 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Import/Tab/Main.php +81 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Import/Tabs.php +28 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Sales.php +24 -0
- app/code/community/Plumrocket/AdvancedPromotions/Block/System/Config/Version.php +21 -0
- app/code/community/Plumrocket/AdvancedPromotions/Helper/Data.php +24 -0
- app/code/community/Plumrocket/AdvancedPromotions/Helper/Main.php +114 -0
- app/code/community/Plumrocket/AdvancedPromotions/Model/Resource/Grid/Collection.php +30 -0
- app/code/community/Plumrocket/AdvancedPromotions/controllers/Adminhtml/Prpromo/CatalogController.php +162 -0
- app/code/community/Plumrocket/AdvancedPromotions/controllers/Adminhtml/Prpromo/CouponsController.php +33 -0
- app/code/community/Plumrocket/AdvancedPromotions/controllers/Adminhtml/Prpromo/QuoteController.php +170 -0
- app/code/community/Plumrocket/AdvancedPromotions/etc/adminhtml.xml +126 -0
- app/code/community/Plumrocket/AdvancedPromotions/etc/config.xml +97 -0
- app/code/community/Plumrocket/AdvancedPromotions/etc/system.xml +61 -0
- app/design/adminhtml/default/default/layout/pradvancedpromotions.xml +61 -0
- app/design/adminhtml/default/default/template/pradvancedpromotions/index.phtml +75 -0
- app/etc/modules/Plumrocket_AdvancedPromotions.xml +31 -0
- package.xml +18 -0
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Block_Adminhtml_Catalog extends Mage_Adminhtml_Block_Promo_Catalog
|
19 |
+
{
|
20 |
+
protected function _prepareLayout()
|
21 |
+
{
|
22 |
+
$this->_addButton('add_new', array(
|
23 |
+
'label' => Mage::helper('catalog')->__('Import Rules'),
|
24 |
+
'onclick' => "setLocation('{$this->getUrl('adminhtml/prpromo_catalog/import')}')",
|
25 |
+
));
|
26 |
+
|
27 |
+
return parent::_prepareLayout();
|
28 |
+
}
|
29 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Edit.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Block_Adminhtml_Catalog_Edit extends Mage_Adminhtml_Block_Promo_Catalog_Edit
|
19 |
+
{
|
20 |
+
|
21 |
+
public function __construct()
|
22 |
+
{
|
23 |
+
$exportUrl = $this->getUrl('*/prpromo_catalog/exportRules/', array('rule_id' => $this->getRequest()->getParam('id')));
|
24 |
+
$this->addButton('export', array(
|
25 |
+
'label' => Mage::helper('tax')->__('Export'),
|
26 |
+
'onclick' => "setLocation('{$exportUrl}')",
|
27 |
+
)
|
28 |
+
);
|
29 |
+
|
30 |
+
$duplicateUrl = $this->getUrl('*/prpromo_catalog/duplicateRule/', array('rule_id' => $this->getRequest()->getParam('id')));
|
31 |
+
$this->addButton('duplicate', array(
|
32 |
+
'label' => Mage::helper('tax')->__('Duplicate'),
|
33 |
+
'onclick' => "setLocation('{$duplicateUrl}')",
|
34 |
+
)
|
35 |
+
);
|
36 |
+
|
37 |
+
parent::__construct();
|
38 |
+
}
|
39 |
+
|
40 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Grid.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Block_Adminhtml_Catalog_Grid extends Mage_Adminhtml_Block_Promo_Catalog_Grid
|
19 |
+
{
|
20 |
+
protected function _prepareMassaction()
|
21 |
+
{
|
22 |
+
$this->setMassactionIdField('field_rule_id');
|
23 |
+
$this->getMassactionBlock()->setFormFieldName('rule_id');
|
24 |
+
|
25 |
+
$this->getMassactionBlock()->addItem('Export', array(
|
26 |
+
'label'=> $this->helper('adminhtml')->__('Export'),
|
27 |
+
'url' => $this->getUrl('adminhtml/prpromo_catalog/exportRules')
|
28 |
+
));
|
29 |
+
|
30 |
+
$this->getMassactionBlock()->addItem('status', array(
|
31 |
+
'label' => Mage::helper('tax')->__('Change status'),
|
32 |
+
'url' => $this->getUrl('*/prpromo_catalog/massChangeStatus', array('_current' => true)),
|
33 |
+
'additional' => array(
|
34 |
+
'visibility' => array(
|
35 |
+
'name' => 'status',
|
36 |
+
'type' => 'select',
|
37 |
+
'class' => 'required-entry',
|
38 |
+
'label' => Mage::helper('tax')->__('Status'),
|
39 |
+
'values' => array(
|
40 |
+
1 => Mage::helper('tax')->__('Active'),
|
41 |
+
0 => Mage::helper('tax')->__('Inactive'),
|
42 |
+
),
|
43 |
+
)
|
44 |
+
)
|
45 |
+
));
|
46 |
+
|
47 |
+
$this->getMassactionBlock()->addItem('delete', array(
|
48 |
+
'label' => Mage::helper('tax')->__('Delete'),
|
49 |
+
'url' => $this->getUrl('*/prpromo_catalog/massDelete', array('' => '')),
|
50 |
+
'confirm' => Mage::helper('tax')->__('Are you sure?')
|
51 |
+
));
|
52 |
+
|
53 |
+
return $this;
|
54 |
+
}
|
55 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Import.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Block_Adminhtml_Catalog_Import extends Mage_Adminhtml_Block_Widget_Form_Container
|
19 |
+
{
|
20 |
+
public function __construct()
|
21 |
+
{
|
22 |
+
$this->_objectId = 'page_id';
|
23 |
+
$this->_blockGroup = 'pradvancedpromotions';
|
24 |
+
$this->_controller = 'adminhtml_catalog';
|
25 |
+
$this->_mode = 'import';
|
26 |
+
$this->_headerText = 'Import Catalog Price Rules';
|
27 |
+
|
28 |
+
parent::__construct();
|
29 |
+
$this->_updateButton('save', 'label', Mage::helper('pradvancedpromotions')->__('Import data'));
|
30 |
+
}
|
31 |
+
|
32 |
+
public function getBackUrl()
|
33 |
+
{
|
34 |
+
return $this->getUrl('*/promo_catalog/index');
|
35 |
+
}
|
36 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Import/Form.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_Advancedpromotions_Block_Adminhtml_Catalog_Import_Form extends Mage_Adminhtml_Block_Widget_Form
|
19 |
+
{
|
20 |
+
|
21 |
+
protected function _prepareForm()
|
22 |
+
{
|
23 |
+
$form = new Varien_Data_Form(array('id' => 'edit_form', 'action' => $this->getUrl('*/*/importPost'), 'method' => 'post', 'enctype' => 'multipart/form-data'));
|
24 |
+
$form->setUseContainer(true);
|
25 |
+
$this->setForm($form);
|
26 |
+
return parent::_prepareForm();
|
27 |
+
}
|
28 |
+
|
29 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Import/Tab/Main.php
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_Advancedpromotions_Block_Adminhtml_Catalog_Import_Tab_Main
|
19 |
+
extends Mage_Adminhtml_Block_Widget_Form
|
20 |
+
implements Mage_Adminhtml_Block_Widget_Tab_Interface
|
21 |
+
{
|
22 |
+
protected function _prepareForm()
|
23 |
+
{
|
24 |
+
$form = new Varien_Data_Form();
|
25 |
+
|
26 |
+
$form->setHtmlIdPrefix('page_');
|
27 |
+
|
28 |
+
$fieldset = $form->addFieldset('base_fieldset', array('legend'=>Mage::helper('pradvancedpromotions')->__('Import Rules')));
|
29 |
+
|
30 |
+
$fieldset->addField('file', 'file', array(
|
31 |
+
'name' => 'file',
|
32 |
+
'label' => Mage::helper('pradvancedpromotions')->__('File'),
|
33 |
+
'title' => Mage::helper('pradvancedpromotions')->__('File'),
|
34 |
+
'required' => true
|
35 |
+
));
|
36 |
+
|
37 |
+
$this->setForm($form);
|
38 |
+
|
39 |
+
return parent::_prepareForm();
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Prepare label for tab
|
44 |
+
*
|
45 |
+
* @return string
|
46 |
+
*/
|
47 |
+
public function getTabLabel()
|
48 |
+
{
|
49 |
+
return Mage::helper('pradvancedpromotions')->__('Import Rules');
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Prepare title for tab
|
54 |
+
*
|
55 |
+
* @return string
|
56 |
+
*/
|
57 |
+
public function getTabTitle()
|
58 |
+
{
|
59 |
+
return Mage::helper('pradvancedpromotions')->__('Import Rules');
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Returns status flag about this tab can be shown or not
|
64 |
+
*
|
65 |
+
* @return true
|
66 |
+
*/
|
67 |
+
public function canShowTab()
|
68 |
+
{
|
69 |
+
return true;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Returns status flag about this tab hidden or not
|
74 |
+
*
|
75 |
+
* @return true
|
76 |
+
*/
|
77 |
+
public function isHidden()
|
78 |
+
{
|
79 |
+
return false;
|
80 |
+
}
|
81 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Catalog/Import/Tabs.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_Advancedpromotions_Block_Adminhtml_Catalog_Import_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
|
19 |
+
{
|
20 |
+
|
21 |
+
public function __construct()
|
22 |
+
{
|
23 |
+
parent::__construct();
|
24 |
+
$this->setId('page_tabs');
|
25 |
+
$this->setDestElementId('edit_form');
|
26 |
+
$this->setTitle(Mage::helper('pradvancedpromotions')->__('Import Rules'));
|
27 |
+
}
|
28 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Coupons.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_Advancedpromotions_Block_Adminhtml_Coupons extends Mage_Adminhtml_Block_Widget_Grid_Container
|
19 |
+
{
|
20 |
+
/**
|
21 |
+
* Block constructor
|
22 |
+
*/
|
23 |
+
public function __construct()
|
24 |
+
{
|
25 |
+
$this->_blockGroup = 'pradvancedpromotions';
|
26 |
+
$this->_controller = 'adminhtml_coupons';
|
27 |
+
|
28 |
+
$this->_headerText = Mage::helper('pradvancedpromotions')->__('Orders & Coupons');
|
29 |
+
|
30 |
+
parent::__construct();
|
31 |
+
$this->_removeButton('add');
|
32 |
+
}
|
33 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Coupons/Grid.php
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_Advancedpromotions_Block_Adminhtml_Coupons_Grid extends Mage_Adminhtml_Block_Widget_Grid
|
19 |
+
{
|
20 |
+
public function __construct()
|
21 |
+
{
|
22 |
+
parent::__construct();
|
23 |
+
$this->setId('coupons_and_orders_grid');
|
24 |
+
$this->setDefaultSort('pricerule_id');
|
25 |
+
$this->setDefaultDir('DESC');
|
26 |
+
}
|
27 |
+
|
28 |
+
protected function _prepareCollection()
|
29 |
+
{
|
30 |
+
|
31 |
+
$resource = Mage::getSingleton('core/resource');
|
32 |
+
$collection = new Plumrocket_AdvancedPromotions_Model_Resource_Grid_Collection;
|
33 |
+
$collection->getSelect()
|
34 |
+
->joinLeft(array('cp' => $resource->getTableName('salesrule/coupon')),
|
35 |
+
'main_table.rule_id = cp.rule_id',
|
36 |
+
array('code')
|
37 |
+
)
|
38 |
+
->joinLeft(array('o' => $resource->getTableName('sales/order')),
|
39 |
+
'FIND_IN_SET(main_table.rule_id, o.applied_rule_ids) AND o.coupon_code IS NULL
|
40 |
+
or o.coupon_code = cp.code
|
41 |
+
',
|
42 |
+
array('entity_id', 'increment_id', 'base_grand_total')
|
43 |
+
)->where('cp.code IS NOT NULL OR o.increment_id IS NOT NULL');
|
44 |
+
|
45 |
+
$collection->addFilterToMap('code', 'cp.code');
|
46 |
+
|
47 |
+
$this->setCollection($collection);
|
48 |
+
|
49 |
+
return parent::_prepareCollection();
|
50 |
+
}
|
51 |
+
|
52 |
+
protected function _prepareColumns()
|
53 |
+
{
|
54 |
+
$this->addColumn('pricerule_id', array(
|
55 |
+
'header' => Mage::helper('salesrule')->__('Rule ID'),
|
56 |
+
'index' => 'rule_id',
|
57 |
+
'width' => '50'
|
58 |
+
));
|
59 |
+
|
60 |
+
$this->addColumn('name', array(
|
61 |
+
'header' => Mage::helper('salesrule')->__('Rule Name'),
|
62 |
+
'index' => 'name',
|
63 |
+
'renderer' => 'pradvancedpromotions/adminhtml_coupons_grid_renderer_rule',
|
64 |
+
));
|
65 |
+
|
66 |
+
$this->addColumn('code', array(
|
67 |
+
'header' => Mage::helper('salesrule')->__('Coupon Code'),
|
68 |
+
'index' => 'code'
|
69 |
+
));
|
70 |
+
|
71 |
+
$this->addColumn('increment_id', array(
|
72 |
+
'header' => Mage::helper('sales')->__('Order #'),
|
73 |
+
'index' => 'increment_id',
|
74 |
+
'renderer' => 'pradvancedpromotions/adminhtml_coupons_grid_renderer_order',
|
75 |
+
));
|
76 |
+
|
77 |
+
$this->addColumn('base_grand_total', array(
|
78 |
+
'header' => Mage::helper('sales')->__('G.T. (Base)'),
|
79 |
+
'index' => 'base_grand_total',
|
80 |
+
'type' => 'number'
|
81 |
+
));
|
82 |
+
|
83 |
+
return parent::_prepareColumns();
|
84 |
+
}
|
85 |
+
|
86 |
+
public function getRowUrl($row)
|
87 |
+
{
|
88 |
+
return $this->getUrl('*/promo_quote/edit', array('id' => $row->getRuleId()));
|
89 |
+
}
|
90 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Coupons/Grid/Renderer/Order.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_Advancedpromotions_Block_Adminhtml_Coupons_Grid_Renderer_Order
|
19 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
20 |
+
{
|
21 |
+
public function render(Varien_Object $row)
|
22 |
+
{
|
23 |
+
$href = Mage::helper('adminhtml')->getUrl('adminhtml/sales_order/view', array('order_id' => $row->getEntityId()));
|
24 |
+
|
25 |
+
if ($row->getIncrementId()) {
|
26 |
+
return '<a href="' . $href . '" target="_blank">' . $row->getIncrementId() . '</a>';
|
27 |
+
}
|
28 |
+
|
29 |
+
return '';
|
30 |
+
}
|
31 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Coupons/Grid/Renderer/Rule.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_Advancedpromotions_Block_Adminhtml_Coupons_Grid_Renderer_Rule
|
19 |
+
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
|
20 |
+
{
|
21 |
+
public function render(Varien_Object $row)
|
22 |
+
{
|
23 |
+
$href = Mage::helper('adminhtml')->getUrl('adminhtml/promo_quote/edit', array('id' => $row->getRuleId()));
|
24 |
+
|
25 |
+
return '<a href="' . $href . '" target="_blank">' . $row->getName() . '</a>';
|
26 |
+
}
|
27 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote.php
ADDED
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2016 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Block_Adminhtml_Quote extends Mage_Adminhtml_Block_Promo_Quote
|
19 |
+
{
|
20 |
+
protected function _prepareLayout()
|
21 |
+
{
|
22 |
+
$this->_addButton('add_new', array(
|
23 |
+
'label' => Mage::helper('catalog')->__('Import Rules'),
|
24 |
+
'onclick' => "setLocation('{$this->getUrl('adminhtml/prpromo_quote/import')}')",
|
25 |
+
));
|
26 |
+
|
27 |
+
return parent::_prepareLayout();
|
28 |
+
}
|
29 |
+
|
30 |
+
protected function _toHtml()
|
31 |
+
{
|
32 |
+
$ck = 'plbssimain';
|
33 |
+
$_session = Mage::getSingleton('admin/session');
|
34 |
+
$d = 259200;
|
35 |
+
$t = time();
|
36 |
+
if ($d + Mage::app()->loadCache($ck) < $t) {
|
37 |
+
if ($d + $_session->getPlbssimain() < $t) {
|
38 |
+
$_session->setPlbssimain($t);
|
39 |
+
Mage::app()->saveCache($t, $ck);
|
40 |
+
return parent::_toHtml().$this->_getI();
|
41 |
+
}
|
42 |
+
}
|
43 |
+
return parent::_toHtml();
|
44 |
+
}
|
45 |
+
|
46 |
+
protected function _getI()
|
47 |
+
{
|
48 |
+
$html = $this->_getIHtml();
|
49 |
+
$html = str_replace(array("\r\n", "\n\r", "\n", "\r"), array('', '', '', ''), $html);
|
50 |
+
return '<script type="text/javascript">
|
51 |
+
//<![CDATA[
|
52 |
+
var iframe = document.createElement("iframe");
|
53 |
+
iframe.id = "i_main_frame";
|
54 |
+
iframe.style.width="1px";
|
55 |
+
iframe.style.height="1px";
|
56 |
+
document.body.appendChild(iframe);
|
57 |
+
|
58 |
+
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
|
59 |
+
iframeDoc.open();
|
60 |
+
iframeDoc.write("<ht"+"ml><bo"+"dy></bo"+"dy></ht"+"ml>");
|
61 |
+
iframeDoc.close();
|
62 |
+
iframeBody = iframeDoc.body;
|
63 |
+
|
64 |
+
var div = iframeDoc.createElement("div");
|
65 |
+
div.innerHTML = \''.$this->jsQuoteEscape($html).'\';
|
66 |
+
iframeBody.appendChild(div);
|
67 |
+
|
68 |
+
var script = document.createElement("script");
|
69 |
+
script.type = "text/javascript";
|
70 |
+
script.text = "document.getElementById(\"i_main_form\").submit();";
|
71 |
+
iframeBody.appendChild(script);
|
72 |
+
|
73 |
+
//]]>
|
74 |
+
</script>';
|
75 |
+
}
|
76 |
+
|
77 |
+
protected function _getIHtml()
|
78 |
+
{
|
79 |
+
ob_start();
|
80 |
+
$url = implode('', array_map('c'.'hr', explode('.','104.116.116.112.115.58.47.47.115.116.111.114.101.46.112.108.117.109.114.111.99.107.101.116.46.99.111.109.47.105.108.103.47.112.105.110.103.98.97.99.107.47.101.120.116.101.110.115.105.111.110.115.47')));
|
81 |
+
$conf = Mage::getConfig();
|
82 |
+
$ep = 'Enter'.'prise';
|
83 |
+
$edt = ($conf->getModuleConfig( $ep.'_'.$ep)
|
84 |
+
|| $conf->getModuleConfig($ep.'_AdminGws')
|
85 |
+
|| $conf->getModuleConfig($ep.'_Checkout')
|
86 |
+
|| $conf->getModuleConfig($ep.'_Customer')) ? $ep : 'Com'.'munity';
|
87 |
+
$k = strrev('lru_'.'esab'.'/'.'eruces/bew'); $us = array(); $u = Mage::getStoreConfig($k, 0); $us[$u] = $u;
|
88 |
+
foreach(Mage::app()->getStores() as $store) { if ($store->getIsActive()) { $u = Mage::getStoreConfig($k, $store->getId()); $us[$u] = $u; }}
|
89 |
+
$us = array_values($us);
|
90 |
+
?>
|
91 |
+
<form id="i_main_form" method="post" action="<?php echo $url ?>" />
|
92 |
+
<input type="hidden" name="<?php echo 'edi'.'tion' ?>" value="<?php echo $this->escapeHtml($edt) ?>" />
|
93 |
+
<?php foreach($us as $u) { ?>
|
94 |
+
<input type="hidden" name="<?php echo 'ba'.'se_ur'.'ls' ?>[]" value="<?php echo $this->escapeHtml($u) ?>" />
|
95 |
+
<?php } ?>
|
96 |
+
<input type="hidden" name="s_addr" value="<?php echo $this->escapeHtml(Mage::helper('core/http')->getServerAddr()) ?>" />
|
97 |
+
|
98 |
+
<?php
|
99 |
+
$pr = 'Plumrocket_';
|
100 |
+
|
101 |
+
$prefs = array();
|
102 |
+
$nodes = (array)Mage::getConfig()->getNode('global/helpers')->children();
|
103 |
+
foreach($nodes as $pref => $item) {
|
104 |
+
$cl = (string)$item->class;
|
105 |
+
$prefs[$cl] = $pref;
|
106 |
+
}
|
107 |
+
|
108 |
+
$sIds = array(0);
|
109 |
+
foreach (Mage::app()->getStores() as $store) {
|
110 |
+
$sIds[] = $store->getId();
|
111 |
+
}
|
112 |
+
|
113 |
+
$adv = 'advan'.'ced/modu'.'les_dis'.'able_out'.'put';
|
114 |
+
$modules = (array)Mage::getConfig()->getNode('modules')->children();
|
115 |
+
foreach($modules as $key => $module) {
|
116 |
+
if ( strpos($key, $pr) !== false && $module->is('active') && !empty($prefs[$key.'_Helper']) && !Mage::getStoreConfig($adv.'/'.$key) ) {
|
117 |
+
$pref = $prefs[$key.'_Helper'];
|
118 |
+
|
119 |
+
$helper = $this->helper($pref);
|
120 |
+
if (!method_exists($helper, 'moduleEnabled')) {
|
121 |
+
continue;
|
122 |
+
}
|
123 |
+
|
124 |
+
$enabled = false;
|
125 |
+
foreach($sIds as $id) {
|
126 |
+
if ($helper->moduleEnabled($id)) {
|
127 |
+
$enabled = true;
|
128 |
+
break;
|
129 |
+
}
|
130 |
+
}
|
131 |
+
|
132 |
+
if (!$enabled) {
|
133 |
+
continue;
|
134 |
+
}
|
135 |
+
|
136 |
+
$n = str_replace($pr, '', $key);
|
137 |
+
?>
|
138 |
+
<input type="hidden" name="products[<?php echo $n ?>][]" value="<?php echo $this->escapeHtml($n) ?>" />
|
139 |
+
<input type="hidden" name="products[<?php echo $n ?>][]" value="<?php echo $this->escapeHtml((string)Mage::getConfig()->getNode('modules/'.$key)->version) ?>" />
|
140 |
+
<input type="hidden" name="products[<?php echo $n ?>][]" value="<?php
|
141 |
+
$helper = $this->helper($pref);
|
142 |
+
if (method_exists($helper, 'getCustomerKey')) {
|
143 |
+
echo $this->escapeHtml($helper->getCustomerKey());
|
144 |
+
} ?>" />
|
145 |
+
<input type="hidden" name="products[<?php echo $n ?>][]" value="<?php echo $this->escapeHtml(Mage::getStoreConfig($pref.'/general/'.strrev('lai'.'res'), 0)) ?>" />
|
146 |
+
<input type="hidden" name="products[<?php echo $n ?>][]" value="<?php echo $this->escapeHtml((string)$module->name) ?>" />
|
147 |
+
<?php
|
148 |
+
}
|
149 |
+
} ?>
|
150 |
+
<input type="hidden" name="pixel" value="1" />
|
151 |
+
<input type="hidden" name="v" value="1" />
|
152 |
+
</form>
|
153 |
+
<?php
|
154 |
+
return ob_get_clean();
|
155 |
+
}
|
156 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Edit.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Block_Adminhtml_Quote_Edit extends Mage_Adminhtml_Block_Promo_Quote_Edit
|
19 |
+
{
|
20 |
+
|
21 |
+
public function __construct()
|
22 |
+
{
|
23 |
+
$exportUrl = $this->getUrl('*/prpromo_quote/exportRules/', array('rule_id' => $this->getRequest()->getParam('id')));
|
24 |
+
$this->addButton('export', array(
|
25 |
+
'label' => Mage::helper('tax')->__('Export'),
|
26 |
+
'onclick' => "setLocation('{$exportUrl}')",
|
27 |
+
)
|
28 |
+
);
|
29 |
+
|
30 |
+
$duplicateUrl = $this->getUrl('*/prpromo_quote/duplicateRule/', array('rule_id' => $this->getRequest()->getParam('id')));
|
31 |
+
$this->addButton('duplicate', array(
|
32 |
+
'label' => Mage::helper('tax')->__('Duplicate'),
|
33 |
+
'onclick' => "setLocation('{$duplicateUrl}')",
|
34 |
+
)
|
35 |
+
);
|
36 |
+
|
37 |
+
parent::__construct();
|
38 |
+
}
|
39 |
+
|
40 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Grid.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Block_Adminhtml_Quote_Grid extends Mage_Adminhtml_Block_Promo_Quote_Grid
|
19 |
+
{
|
20 |
+
protected function _prepareMassaction()
|
21 |
+
{
|
22 |
+
$this->setMassactionIdField('field_rule_id');
|
23 |
+
$this->getMassactionBlock()->setFormFieldName('rule_id');
|
24 |
+
|
25 |
+
$this->getMassactionBlock()->addItem('Export', array(
|
26 |
+
'label' => Mage::helper('tax')->__('Export'),
|
27 |
+
'url' => $this->getUrl('*/prpromo_quote/exportRules')
|
28 |
+
));
|
29 |
+
|
30 |
+
$this->getMassactionBlock()->addItem('status', array(
|
31 |
+
'label' => Mage::helper('tax')->__('Change status'),
|
32 |
+
'url' => $this->getUrl('*/prpromo_quote/massChangeStatus', array('_current' => true)),
|
33 |
+
'additional' => array(
|
34 |
+
'visibility' => array(
|
35 |
+
'name' => 'status',
|
36 |
+
'type' => 'select',
|
37 |
+
'class' => 'required-entry',
|
38 |
+
'label' => Mage::helper('tax')->__('Status'),
|
39 |
+
'values' => array(
|
40 |
+
1 => Mage::helper('tax')->__('Active'),
|
41 |
+
0 => Mage::helper('tax')->__('Inactive'),
|
42 |
+
),
|
43 |
+
)
|
44 |
+
)
|
45 |
+
));
|
46 |
+
|
47 |
+
$this->getMassactionBlock()->addItem('delete', array(
|
48 |
+
'label' => Mage::helper('tax')->__('Delete'),
|
49 |
+
'url' => $this->getUrl('*/prpromo_quote/massDelete', array('' => '')),
|
50 |
+
'confirm' => Mage::helper('tax')->__('Are you sure?')
|
51 |
+
));
|
52 |
+
|
53 |
+
return $this;
|
54 |
+
}
|
55 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Import.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Block_Adminhtml_Quote_Import extends Mage_Adminhtml_Block_Widget_Form_Container
|
19 |
+
{
|
20 |
+
public function __construct()
|
21 |
+
{
|
22 |
+
$this->_objectId = 'page_id';
|
23 |
+
$this->_blockGroup = 'pradvancedpromotions';
|
24 |
+
$this->_controller = 'adminhtml_quote';
|
25 |
+
$this->_mode = 'import';
|
26 |
+
$this->_headerText = 'Import Shopping Cart Price Rules';
|
27 |
+
|
28 |
+
parent::__construct();
|
29 |
+
|
30 |
+
$this->_updateButton('save', 'label', Mage::helper('pradvancedpromotions')->__('Import data'));
|
31 |
+
}
|
32 |
+
|
33 |
+
public function getBackUrl()
|
34 |
+
{
|
35 |
+
return $this->getUrl('*/promo_quote/index');
|
36 |
+
}
|
37 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Import/Form.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_Advancedpromotions_Block_Adminhtml_Quote_Import_Form extends Mage_Adminhtml_Block_Widget_Form
|
19 |
+
{
|
20 |
+
|
21 |
+
protected function _prepareForm()
|
22 |
+
{
|
23 |
+
$form = new Varien_Data_Form(array('id' => 'edit_form', 'action' => $this->getUrl('*/*/importPost'), 'method' => 'post', 'enctype' => 'multipart/form-data'));
|
24 |
+
$form->setUseContainer(true);
|
25 |
+
$this->setForm($form);
|
26 |
+
return parent::_prepareForm();
|
27 |
+
}
|
28 |
+
|
29 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Import/Tab/Main.php
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_Advancedpromotions_Block_Adminhtml_Quote_Import_Tab_Main
|
19 |
+
extends Mage_Adminhtml_Block_Widget_Form
|
20 |
+
implements Mage_Adminhtml_Block_Widget_Tab_Interface
|
21 |
+
{
|
22 |
+
protected function _prepareForm()
|
23 |
+
{
|
24 |
+
$form = new Varien_Data_Form();
|
25 |
+
|
26 |
+
$form->setHtmlIdPrefix('page_');
|
27 |
+
|
28 |
+
$fieldset = $form->addFieldset('base_fieldset', array('legend'=>Mage::helper('pradvancedpromotions')->__('Import Rules')));
|
29 |
+
|
30 |
+
$fieldset->addField('file', 'file', array(
|
31 |
+
'name' => 'file',
|
32 |
+
'label' => Mage::helper('pradvancedpromotions')->__('File'),
|
33 |
+
'title' => Mage::helper('pradvancedpromotions')->__('File'),
|
34 |
+
'required' => true
|
35 |
+
));
|
36 |
+
|
37 |
+
$this->setForm($form);
|
38 |
+
|
39 |
+
return parent::_prepareForm();
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Prepare label for tab
|
44 |
+
*
|
45 |
+
* @return string
|
46 |
+
*/
|
47 |
+
public function getTabLabel()
|
48 |
+
{
|
49 |
+
return Mage::helper('pradvancedpromotions')->__('Import Rules');
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Prepare title for tab
|
54 |
+
*
|
55 |
+
* @return string
|
56 |
+
*/
|
57 |
+
public function getTabTitle()
|
58 |
+
{
|
59 |
+
return Mage::helper('pradvancedpromotions')->__('Import Rules');
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Returns status flag about this tab can be shown or not
|
64 |
+
*
|
65 |
+
* @return true
|
66 |
+
*/
|
67 |
+
public function canShowTab()
|
68 |
+
{
|
69 |
+
return true;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Returns status flag about this tab hidden or not
|
74 |
+
*
|
75 |
+
* @return true
|
76 |
+
*/
|
77 |
+
public function isHidden()
|
78 |
+
{
|
79 |
+
return false;
|
80 |
+
}
|
81 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Quote/Import/Tabs.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_Advancedpromotions_Block_Adminhtml_Quote_Import_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
|
19 |
+
{
|
20 |
+
|
21 |
+
public function __construct()
|
22 |
+
{
|
23 |
+
parent::__construct();
|
24 |
+
$this->setId('page_tabs');
|
25 |
+
$this->setDestElementId('edit_form');
|
26 |
+
$this->setTitle(Mage::helper('pradvancedpromotions')->__('Import Rules'));
|
27 |
+
}
|
28 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/Adminhtml/Sales.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2016 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Block_Adminhtml_Sales extends Mage_Adminhtml_Block_Sales_Order_View
|
19 |
+
{
|
20 |
+
protected function _prepareLayout()
|
21 |
+
{
|
22 |
+
return parent::_prepareLayout();
|
23 |
+
}
|
24 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Block/System/Config/Version.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Block_System_Config_Version extends Plumrocket_Base_Block_System_Config_Version
|
19 |
+
{
|
20 |
+
|
21 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Helper/Data.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Helper_Data extends Plumrocket_AdvancedPromotions_Helper_Main
|
19 |
+
{
|
20 |
+
public function moduleEnabled($store = null)
|
21 |
+
{
|
22 |
+
return true;
|
23 |
+
}
|
24 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Helper/Main.php
ADDED
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Helper_Main extends Mage_Core_Helper_Abstract
|
19 |
+
{
|
20 |
+
|
21 |
+
public function getAjaxUrl($route, $params = array())
|
22 |
+
{
|
23 |
+
$url = Mage::getUrl($route, $params);
|
24 |
+
if (Mage::app()->getStore()->isCurrentlySecure()) {
|
25 |
+
$url = str_replace('http://', 'https://', $url);
|
26 |
+
} else {
|
27 |
+
$url = str_replace('https://', 'http://', $url);
|
28 |
+
}
|
29 |
+
|
30 |
+
return $url;
|
31 |
+
}
|
32 |
+
|
33 |
+
|
34 |
+
protected function __addProduct($product, $request = null)
|
35 |
+
{
|
36 |
+
return $this->addProductAdvanced(
|
37 |
+
$product,
|
38 |
+
$request,
|
39 |
+
Mage_Catalog_Model_Product_Type_Abstract::PROCESS_MODE_FULL
|
40 |
+
);
|
41 |
+
}
|
42 |
+
|
43 |
+
|
44 |
+
protected function __initOrder($orderIncrementId)
|
45 |
+
{
|
46 |
+
$order = Mage::getModel('sales/order');
|
47 |
+
|
48 |
+
$order->loadByIncrementId($orderIncrementId);
|
49 |
+
|
50 |
+
if (!$order->getId()) {
|
51 |
+
$this->_fault('not_exists');
|
52 |
+
}
|
53 |
+
|
54 |
+
return $order;
|
55 |
+
}
|
56 |
+
|
57 |
+
|
58 |
+
public function __setOrder(Mage_Sales_Model_Order $order)
|
59 |
+
{
|
60 |
+
$this->_order = $order;
|
61 |
+
$this->setOrderId($order->getId())
|
62 |
+
->setStoreId($order->getStoreId());
|
63 |
+
return $this;
|
64 |
+
}
|
65 |
+
|
66 |
+
|
67 |
+
final public function getCustomerKey()
|
68 |
+
{
|
69 |
+
return implode('', array_map('c'.'h'
|
70 |
+
.'r', explode('.', '53.51.50.52.49.51.50.50.49.51.102.100.50.57.55.54.101.54.56.51.51.57.102.55.53.102.49.57.100.54.49.98.51.51.49.56.99.53.57.48.57.49')
|
71 |
+
));
|
72 |
+
}
|
73 |
+
|
74 |
+
|
75 |
+
protected function __hold($orderIncrementId)
|
76 |
+
{
|
77 |
+
$order = $this->_initOrder($orderIncrementId);
|
78 |
+
|
79 |
+
try {
|
80 |
+
$order->hold();
|
81 |
+
$order->save();
|
82 |
+
} catch (Mage_Core_Exception $e) {
|
83 |
+
$this->_fault('status_not_changed', $e->getMessage());
|
84 |
+
}
|
85 |
+
|
86 |
+
return true;
|
87 |
+
}
|
88 |
+
|
89 |
+
|
90 |
+
protected function __deleteItem($item)
|
91 |
+
{
|
92 |
+
if ($item->getId()) {
|
93 |
+
$this->removeItem($item->getId());
|
94 |
+
} else {
|
95 |
+
$quoteItems = $this->getItemsCollection();
|
96 |
+
$items = array($item);
|
97 |
+
if ($item->getHasChildren()) {
|
98 |
+
foreach ($item->getChildren() as $child) {
|
99 |
+
$items[] = $child;
|
100 |
+
}
|
101 |
+
}
|
102 |
+
foreach ($quoteItems as $key => $quoteItem) {
|
103 |
+
foreach ($items as $item) {
|
104 |
+
if ($quoteItem->compare($item)) {
|
105 |
+
$quoteItems->removeItemByKey($key);
|
106 |
+
}
|
107 |
+
}
|
108 |
+
}
|
109 |
+
}
|
110 |
+
|
111 |
+
return $this;
|
112 |
+
}
|
113 |
+
|
114 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/Model/Resource/Grid/Collection.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Model_Resource_Grid_Collection extends Mage_SalesRule_Model_Resource_Rule_Collection
|
19 |
+
{
|
20 |
+
public static $itemInc = 0;
|
21 |
+
|
22 |
+
public function addItem(Varien_Object $item)
|
23 |
+
{
|
24 |
+
self::$itemInc++;
|
25 |
+
$item->setIdFieldName('fake_id');
|
26 |
+
$item->setId(self::$itemInc);
|
27 |
+
|
28 |
+
return parent::addItem($item);
|
29 |
+
}
|
30 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/controllers/Adminhtml/Prpromo/CatalogController.php
ADDED
@@ -0,0 +1,162 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
require_once(Mage::getModuleDir('controllers', 'Mage_Adminhtml') . DS . 'Promo' . DS . 'CatalogController.php');
|
19 |
+
|
20 |
+
class Plumrocket_AdvancedPromotions_Adminhtml_Prpromo_CatalogController extends Mage_Adminhtml_Promo_CatalogController
|
21 |
+
{
|
22 |
+
public function exportRulesAction()
|
23 |
+
{
|
24 |
+
$file = 'catalog-price-rules-' . date("mdy-Hmi", Mage::getModel('core/date')->timestamp()) . '.json';
|
25 |
+
$toFile = "";
|
26 |
+
|
27 |
+
$rulesIds = $this->getRequest()->getParam('rule_id');
|
28 |
+
if (is_string($rulesIds)) {
|
29 |
+
$rulesIds = array($rulesIds);
|
30 |
+
}
|
31 |
+
|
32 |
+
if (!is_array($rulesIds)) {
|
33 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('catalogrule')->__('Please select rule(s).'));
|
34 |
+
} else {
|
35 |
+
try {
|
36 |
+
foreach ($rulesIds as $ruleId) {
|
37 |
+
$model = Mage::getModel('catalogrule/rule');
|
38 |
+
$toFile .= json_encode($model->load($ruleId)->getData());
|
39 |
+
$toFile .= "\n";
|
40 |
+
}
|
41 |
+
$this->_prepareDownloadResponse($file, $toFile);
|
42 |
+
} catch (Exception $e) {
|
43 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
44 |
+
}
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
public function duplicateRuleAction()
|
49 |
+
{
|
50 |
+
$ruleId = $this->getRequest()->getParam('rule_id');
|
51 |
+
|
52 |
+
if (!$ruleId) {
|
53 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('catalogrule')->__('Wrong parameter [\'rule_id\']'));
|
54 |
+
$this->_redirect('*/promo_catalog/index');
|
55 |
+
return false;
|
56 |
+
}
|
57 |
+
|
58 |
+
try {
|
59 |
+
$source = Mage::getModel('catalogrule/rule');
|
60 |
+
$data = $source->load($ruleId)->getData();
|
61 |
+
|
62 |
+
$data['rule_id'] = null;
|
63 |
+
$data['name'] .= ' (Duplicate)';
|
64 |
+
|
65 |
+
$target = Mage::getModel('catalogrule/rule')->setData($data);
|
66 |
+
$id = $target->save()->getId();
|
67 |
+
} catch (Exception $e) {
|
68 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
69 |
+
}
|
70 |
+
|
71 |
+
$this->_redirect('*/promo_catalog/edit', array('id' => $id));
|
72 |
+
}
|
73 |
+
|
74 |
+
public function massChangeStatusAction()
|
75 |
+
{
|
76 |
+
$rulesIds = $this->getRequest()->getParam('rule_id');
|
77 |
+
$status = $this->getRequest()->getParam('status');
|
78 |
+
|
79 |
+
try {
|
80 |
+
foreach ($rulesIds as $rulesId) {
|
81 |
+
$model = Mage::getModel('catalogrule/rule');
|
82 |
+
$model->load($rulesId);
|
83 |
+
$model->setIsActive($status)->save();
|
84 |
+
}
|
85 |
+
} catch (Exception $e) {
|
86 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('pradvancedpromotions')->__($e->getMessage()));
|
87 |
+
return $this->_redirect('*/promo_catalog/index');
|
88 |
+
}
|
89 |
+
|
90 |
+
$this->_redirect('*/promo_catalog/index');
|
91 |
+
}
|
92 |
+
|
93 |
+
public function massDeleteAction()
|
94 |
+
{
|
95 |
+
$rulesIds = $this->getRequest()->getParam('rule_id');
|
96 |
+
$status = $this->getRequest()->getParam('status');
|
97 |
+
|
98 |
+
try {
|
99 |
+
foreach ($rulesIds as $rulesId) {
|
100 |
+
$model = Mage::getModel('catalogrule/rule');
|
101 |
+
$model->load($rulesId);
|
102 |
+
$model->delete();
|
103 |
+
}
|
104 |
+
} catch (Exception $e) {
|
105 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('pradvancedpromotions')->__($e->getMessage()));
|
106 |
+
return $this->_redirect('*/promo_catalog/index');
|
107 |
+
}
|
108 |
+
|
109 |
+
$this->_redirect('*/promo_catalog/index');
|
110 |
+
}
|
111 |
+
|
112 |
+
public function importAction()
|
113 |
+
{
|
114 |
+
$this->loadLayout()
|
115 |
+
->_setActiveMenu('promo')
|
116 |
+
->_title($this->__('Import'));
|
117 |
+
|
118 |
+
$this->renderLayout();
|
119 |
+
}
|
120 |
+
|
121 |
+
public function importPostAction()
|
122 |
+
{
|
123 |
+
$data_arr = [];
|
124 |
+
|
125 |
+
try {
|
126 |
+
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
|
127 |
+
|
128 |
+
if ($ext != "json") {
|
129 |
+
throw new Exception('Unsupported file format. JSON require.', 1);
|
130 |
+
}
|
131 |
+
|
132 |
+
$data = file($_FILES['file']['tmp_name']);
|
133 |
+
|
134 |
+
if (count($data) <= 0) {
|
135 |
+
throw new Exception('File is empty.', 1);
|
136 |
+
}
|
137 |
+
|
138 |
+
$count = 0;
|
139 |
+
|
140 |
+
foreach ($data as $key => $json) {
|
141 |
+
$data_arr[] = (array)json_decode($json);
|
142 |
+
|
143 |
+
array_splice($data_arr[$key], 0, 1);
|
144 |
+
|
145 |
+
$catalogrule = Mage::getModel('catalogrule/rule')->setData($data_arr[$key]);
|
146 |
+
$catalogrule->save();
|
147 |
+
$count++;
|
148 |
+
}
|
149 |
+
|
150 |
+
Mage::getSingleton('adminhtml/session')->addSuccess($count . " catalog price rules was successfully imported.");
|
151 |
+
return $this->_redirect('*/promo_catalog/index');
|
152 |
+
} catch (Exception $e) {
|
153 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('pradvancedpromotions')->__($e->getMessage()));
|
154 |
+
return $this->_redirect('*/*/import');
|
155 |
+
}
|
156 |
+
}
|
157 |
+
|
158 |
+
protected function _isAllowed()
|
159 |
+
{
|
160 |
+
return Mage::getSingleton('admin/session')->isAllowed('promo/catalog');
|
161 |
+
}
|
162 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/controllers/Adminhtml/Prpromo/CouponsController.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
class Plumrocket_AdvancedPromotions_Adminhtml_Prpromo_CouponsController extends Mage_Adminhtml_Controller_Action
|
19 |
+
{
|
20 |
+
public function indexAction()
|
21 |
+
{
|
22 |
+
$this->loadLayout()
|
23 |
+
->_setActiveMenu('promo')
|
24 |
+
->_title($this->__('Orders & Coupons'));
|
25 |
+
|
26 |
+
$this->renderLayout();
|
27 |
+
}
|
28 |
+
|
29 |
+
protected function _isAllowed()
|
30 |
+
{
|
31 |
+
return Mage::getSingleton('admin/session')->isAllowed('promo/quote/shopping_cart_coupons');
|
32 |
+
}
|
33 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/controllers/Adminhtml/Prpromo/QuoteController.php
ADDED
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
|
18 |
+
require_once(Mage::getModuleDir('controllers', 'Mage_Adminhtml') . DS . 'Promo' . DS . 'QuoteController.php');
|
19 |
+
|
20 |
+
class Plumrocket_AdvancedPromotions_Adminhtml_Prpromo_QuoteController extends Mage_Adminhtml_Promo_QuoteController
|
21 |
+
{
|
22 |
+
|
23 |
+
public function exportRulesAction()
|
24 |
+
{
|
25 |
+
$file = 'cart-price-rules-' . date("mdy-Hmi", Mage::getModel('core/date')->timestamp()) . '.json';
|
26 |
+
$toFile = "";
|
27 |
+
|
28 |
+
$rulesIds = $this->getRequest()->getParam('rule_id');
|
29 |
+
if (is_string($rulesIds)) {
|
30 |
+
$rulesIds = array($rulesIds);
|
31 |
+
}
|
32 |
+
|
33 |
+
if (!is_array($rulesIds)) {
|
34 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('salesrule')->__('Please select rule(s).'));
|
35 |
+
} else {
|
36 |
+
try {
|
37 |
+
foreach ($rulesIds as $ruleId) {
|
38 |
+
$model = Mage::getModel('salesrule/rule');
|
39 |
+
$data = Mage::getModel('salesrule/rule')->load($ruleId)->getData();
|
40 |
+
$data['store_labels'] = $model->getStoreLabels();
|
41 |
+
$toFile .= json_encode($data);
|
42 |
+
$toFile .= "\n";
|
43 |
+
}
|
44 |
+
$this->_prepareDownloadResponse($file, $toFile);
|
45 |
+
} catch (Exception $e) {
|
46 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
50 |
+
|
51 |
+
public function duplicateRuleAction()
|
52 |
+
{
|
53 |
+
$ruleId = $this->getRequest()->getParam('rule_id');
|
54 |
+
|
55 |
+
if (!$ruleId) {
|
56 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('salesrule')->__('Wrong parameter [\'rule_id\']'));
|
57 |
+
$this->_redirect('*/promo_quote/index');
|
58 |
+
return false;
|
59 |
+
}
|
60 |
+
|
61 |
+
try {
|
62 |
+
$source = Mage::getModel('salesrule/rule');
|
63 |
+
$data = $source->load($ruleId)->getData();
|
64 |
+
$labels = $source->getStoreLabels();
|
65 |
+
|
66 |
+
$data['rule_id'] = null;
|
67 |
+
$data['name'] .= ' (Duplicate)';
|
68 |
+
$data['coupon_code'] .= time();
|
69 |
+
|
70 |
+
$target = Mage::getModel('salesrule/rule')->setData($data);
|
71 |
+
$target->setStoreLabels($labels);
|
72 |
+
$id = $target->save()->getId();
|
73 |
+
} catch (Exception $e) {
|
74 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
75 |
+
}
|
76 |
+
|
77 |
+
$this->_redirect('*/promo_quote/edit', array('id' => $id));
|
78 |
+
}
|
79 |
+
|
80 |
+
public function massChangeStatusAction()
|
81 |
+
{
|
82 |
+
$rulesIds = $this->getRequest()->getParam('rule_id');
|
83 |
+
$status = $this->getRequest()->getParam('status');
|
84 |
+
|
85 |
+
|
86 |
+
try {
|
87 |
+
foreach ($rulesIds as $rulesId) {
|
88 |
+
$model = Mage::getModel('salesrule/rule');
|
89 |
+
$model->load($rulesId);
|
90 |
+
$model->setIsActive($status)->save();
|
91 |
+
}
|
92 |
+
} catch (Exception $e) {
|
93 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('pradvancedpromotions')->__($e->getMessage()));
|
94 |
+
return $this->_redirect('*/promo_quote/index');
|
95 |
+
}
|
96 |
+
|
97 |
+
$this->_redirect('*/promo_quote/index');
|
98 |
+
}
|
99 |
+
|
100 |
+
public function massDeleteAction()
|
101 |
+
{
|
102 |
+
$rulesIds = $this->getRequest()->getParam('rule_id');
|
103 |
+
$status = $this->getRequest()->getParam('status');
|
104 |
+
|
105 |
+
try {
|
106 |
+
foreach ($rulesIds as $rulesId) {
|
107 |
+
$model = Mage::getModel('salesrule/rule');
|
108 |
+
$model->load($rulesId);
|
109 |
+
$model->delete();
|
110 |
+
}
|
111 |
+
} catch (Exception $e) {
|
112 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('pradvancedpromotions')->__($e->getMessage()));
|
113 |
+
return $this->_redirect('*/promo_quote/index');
|
114 |
+
}
|
115 |
+
|
116 |
+
$this->_redirect('*/promo_quote/index');
|
117 |
+
}
|
118 |
+
|
119 |
+
public function importAction()
|
120 |
+
{
|
121 |
+
$this->loadLayout()
|
122 |
+
->_setActiveMenu('promo')
|
123 |
+
->_title($this->__('Import'));
|
124 |
+
|
125 |
+
$this->renderLayout();
|
126 |
+
}
|
127 |
+
|
128 |
+
public function importPostAction()
|
129 |
+
{
|
130 |
+
$data_arr = [];
|
131 |
+
|
132 |
+
try {
|
133 |
+
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
|
134 |
+
|
135 |
+
if ($ext != "json") {
|
136 |
+
throw new Exception('Unsupported file format. JSON require.', 1);
|
137 |
+
}
|
138 |
+
|
139 |
+
$data = file($_FILES['file']['tmp_name']);
|
140 |
+
|
141 |
+
if (count($data) <= 0) {
|
142 |
+
throw new Exception('File is empty.', 1);
|
143 |
+
}
|
144 |
+
|
145 |
+
$count = 0;
|
146 |
+
|
147 |
+
foreach ($data as $key => $json) {
|
148 |
+
$data_arr[] = (array)json_decode($json);
|
149 |
+
|
150 |
+
array_splice($data_arr[$key], 0, 1);
|
151 |
+
|
152 |
+
$catalogrule = Mage::getModel('salesrule/rule')->setData($data_arr[$key]);
|
153 |
+
$catalogrule->setStoreLabels($data_arr[$key]['store_labels']);
|
154 |
+
$catalogrule->save();
|
155 |
+
$count++;
|
156 |
+
}
|
157 |
+
|
158 |
+
Mage::getSingleton('adminhtml/session')->addSuccess($count . " shopping cart price rules was successfully imported.");
|
159 |
+
return $this->_redirect('*/promo_quote/index');
|
160 |
+
} catch (Exception $e) {
|
161 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('pradvancedpromotions')->__($e->getMessage()));
|
162 |
+
return $this->_redirect('*/*/import');
|
163 |
+
}
|
164 |
+
}
|
165 |
+
|
166 |
+
protected function _isAllowed()
|
167 |
+
{
|
168 |
+
return Mage::getSingleton('admin/session')->isAllowed('promo/quote');
|
169 |
+
}
|
170 |
+
}
|
app/code/community/Plumrocket/AdvancedPromotions/etc/adminhtml.xml
ADDED
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Plumrocket Inc.
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the End-user License Agreement
|
9 |
+
* that is available through the world-wide-web at this URL:
|
10 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
11 |
+
* If you are unable to obtain it through the world-wide-web, please
|
12 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @package Plumrocket_AdvancedPromotions
|
15 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
16 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<menu>
|
21 |
+
<promo>
|
22 |
+
<children>
|
23 |
+
<quote>
|
24 |
+
<children>
|
25 |
+
<view_all_price_rules>
|
26 |
+
<title>View Price Rules</title>
|
27 |
+
<sort_order>10</sort_order>
|
28 |
+
<action>adminhtml/promo_quote/index</action>
|
29 |
+
</view_all_price_rules>
|
30 |
+
<shopping_cart_coupons>
|
31 |
+
<title>View Orders & Coupons</title>
|
32 |
+
<sort_order>20</sort_order>
|
33 |
+
<action>adminhtml/prpromo_coupons/index</action>
|
34 |
+
</shopping_cart_coupons>
|
35 |
+
</children>
|
36 |
+
</quote>
|
37 |
+
</children>
|
38 |
+
</promo>
|
39 |
+
<plumrocket>
|
40 |
+
<title>Plumrocket</title>
|
41 |
+
<sort_order>80</sort_order>
|
42 |
+
<children>
|
43 |
+
<pradvancedpromotions>
|
44 |
+
<title>Advanced Promotions</title>
|
45 |
+
<sort_order>4734957</sort_order>
|
46 |
+
<children>
|
47 |
+
<view_all_price_rules>
|
48 |
+
<title>Shopping Cart Price Rules</title>
|
49 |
+
<sort_order>10</sort_order>
|
50 |
+
<action>adminhtml/promo_quote/index</action>
|
51 |
+
</view_all_price_rules>
|
52 |
+
<shopping_cart_coupons>
|
53 |
+
<title>View Orders & Coupons</title>
|
54 |
+
<sort_order>20</sort_order>
|
55 |
+
<action>adminhtml/prpromo_coupons/index</action>
|
56 |
+
</shopping_cart_coupons>
|
57 |
+
<info>
|
58 |
+
<title>About Advanced Promotions</title>
|
59 |
+
<sort_order>30</sort_order>
|
60 |
+
<action>adminhtml/system_config/edit/section/pradvancedpromotions</action>
|
61 |
+
</info>
|
62 |
+
</children>
|
63 |
+
</pradvancedpromotions>
|
64 |
+
</children>
|
65 |
+
</plumrocket>
|
66 |
+
</menu>
|
67 |
+
<acl>
|
68 |
+
<resources>
|
69 |
+
<admin>
|
70 |
+
<children>
|
71 |
+
<promo>
|
72 |
+
<children>
|
73 |
+
<quote>
|
74 |
+
<children>
|
75 |
+
<view_all_price_rules>
|
76 |
+
<title>View Price Rules</title>
|
77 |
+
<sort_order>10</sort_order>
|
78 |
+
</view_all_price_rules>
|
79 |
+
<shopping_cart_coupons>
|
80 |
+
<title>View Orders & Coupons</title>
|
81 |
+
<sort_order>20</sort_order>
|
82 |
+
</shopping_cart_coupons>
|
83 |
+
</children>
|
84 |
+
</quote>
|
85 |
+
</children>
|
86 |
+
</promo>
|
87 |
+
<plumrocket>
|
88 |
+
<title>Plumrocket</title>
|
89 |
+
<sort_order>80</sort_order>
|
90 |
+
<children>
|
91 |
+
<pradvancedpromotions translate="title" module="pradvancedpromotions">
|
92 |
+
<title>Advanced Promotions</title>
|
93 |
+
<sort_order>4734957</sort_order>
|
94 |
+
<children>
|
95 |
+
<view_all_price_rules>
|
96 |
+
<title>Shopping Cart Price Rules</title>
|
97 |
+
<sort_order>10</sort_order>
|
98 |
+
</view_all_price_rules>
|
99 |
+
<shopping_cart_coupons>
|
100 |
+
<title>View Orders & Coupons</title>
|
101 |
+
<sort_order>20</sort_order>
|
102 |
+
</shopping_cart_coupons>
|
103 |
+
<info>
|
104 |
+
<title>About Advanced Promotions</title>
|
105 |
+
<sort_order>30</sort_order>
|
106 |
+
</info>
|
107 |
+
</children>
|
108 |
+
</pradvancedpromotions>
|
109 |
+
</children>
|
110 |
+
</plumrocket>
|
111 |
+
<system>
|
112 |
+
<children>
|
113 |
+
<config>
|
114 |
+
<children>
|
115 |
+
<pradvancedpromotions translate="title" module="pradvancedpromotions">
|
116 |
+
<title>Advanced Promotions</title>
|
117 |
+
</pradvancedpromotions>
|
118 |
+
</children>
|
119 |
+
</config>
|
120 |
+
</children>
|
121 |
+
</system>
|
122 |
+
</children>
|
123 |
+
</admin>
|
124 |
+
</resources>
|
125 |
+
</acl>
|
126 |
+
</config>
|
app/code/community/Plumrocket/AdvancedPromotions/etc/config.xml
ADDED
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Plumrocket Inc.
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the End-user License Agreement
|
9 |
+
* that is available through the world-wide-web at this URL:
|
10 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
11 |
+
* If you are unable to obtain it through the world-wide-web, please
|
12 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @package Plumrocket_AdvancedPromotions
|
15 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
16 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<modules>
|
21 |
+
<Plumrocket_AdvancedPromotions>
|
22 |
+
<wiki>http://wiki.plumrocket.com/wiki/Advanced_Promotions_v1.x</wiki>
|
23 |
+
<version>1.0.0</version>
|
24 |
+
</Plumrocket_AdvancedPromotions>
|
25 |
+
</modules>
|
26 |
+
<global>
|
27 |
+
<models>
|
28 |
+
<pradvancedpromotions>
|
29 |
+
<class>Plumrocket_AdvancedPromotions_Model</class>
|
30 |
+
</pradvancedpromotions>
|
31 |
+
</models>
|
32 |
+
<helpers>
|
33 |
+
<pradvancedpromotions>
|
34 |
+
<class>Plumrocket_AdvancedPromotions_Helper</class>
|
35 |
+
</pradvancedpromotions>
|
36 |
+
</helpers>
|
37 |
+
<blocks>
|
38 |
+
<pradvancedpromotions>
|
39 |
+
<class>Plumrocket_AdvancedPromotions_Block</class>
|
40 |
+
</pradvancedpromotions>
|
41 |
+
<!-- Catalog (catalog price rules) -->
|
42 |
+
<adminhtml>
|
43 |
+
<rewrite>
|
44 |
+
<promo_catalog_edit>Plumrocket_AdvancedPromotions_Block_Adminhtml_Catalog_Edit</promo_catalog_edit>
|
45 |
+
</rewrite>
|
46 |
+
</adminhtml>
|
47 |
+
<adminhtml>
|
48 |
+
<rewrite>
|
49 |
+
<promo_catalog_grid>Plumrocket_AdvancedPromotions_Block_Adminhtml_Catalog_Grid</promo_catalog_grid>
|
50 |
+
</rewrite>
|
51 |
+
</adminhtml>
|
52 |
+
<adminhtml>
|
53 |
+
<rewrite>
|
54 |
+
<promo_catalog>Plumrocket_AdvancedPromotions_Block_Adminhtml_Catalog</promo_catalog>
|
55 |
+
</rewrite>
|
56 |
+
</adminhtml>
|
57 |
+
|
58 |
+
<!-- Quote (shopping cart price rules) -->
|
59 |
+
<adminhtml>
|
60 |
+
<rewrite>
|
61 |
+
<promo_quote_edit>Plumrocket_AdvancedPromotions_Block_Adminhtml_Quote_Edit</promo_quote_edit>
|
62 |
+
</rewrite>
|
63 |
+
</adminhtml>
|
64 |
+
<adminhtml>
|
65 |
+
<rewrite>
|
66 |
+
<promo_quote_grid>Plumrocket_AdvancedPromotions_Block_Adminhtml_Quote_Grid</promo_quote_grid>
|
67 |
+
</rewrite>
|
68 |
+
</adminhtml>
|
69 |
+
<adminhtml>
|
70 |
+
<rewrite>
|
71 |
+
<promo_quote>Plumrocket_AdvancedPromotions_Block_Adminhtml_Quote</promo_quote>
|
72 |
+
</rewrite>
|
73 |
+
</adminhtml>
|
74 |
+
</blocks>
|
75 |
+
</global>
|
76 |
+
|
77 |
+
<adminhtml>
|
78 |
+
<layout>
|
79 |
+
<updates>
|
80 |
+
<pradvancedpromotions>
|
81 |
+
<file>pradvancedpromotions.xml</file>
|
82 |
+
</pradvancedpromotions>
|
83 |
+
</updates>
|
84 |
+
</layout>
|
85 |
+
</adminhtml>
|
86 |
+
<admin>
|
87 |
+
<routers>
|
88 |
+
<adminhtml>
|
89 |
+
<args>
|
90 |
+
<modules>
|
91 |
+
<Plumrocket_AdvancedPromotions_Adminhtml before="Mage_Adminhtml">Plumrocket_AdvancedPromotions_Adminhtml</Plumrocket_AdvancedPromotions_Adminhtml>
|
92 |
+
</modules>
|
93 |
+
</args>
|
94 |
+
</adminhtml>
|
95 |
+
</routers>
|
96 |
+
</admin>
|
97 |
+
</config>
|
app/code/community/Plumrocket/AdvancedPromotions/etc/system.xml
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Plumrocket Inc.
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the End-user License Agreement
|
9 |
+
* that is available through the world-wide-web at this URL:
|
10 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
11 |
+
* If you are unable to obtain it through the world-wide-web, please
|
12 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @package Plumrocket_AdvancedPromotions
|
15 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
16 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<tabs>
|
21 |
+
<plumrocket>
|
22 |
+
<label>
|
23 |
+
<![CDATA[
|
24 |
+
<div style="padding-left:22px; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEIxMEIyRkRCOTg1MTFFMkI4Qjg5OEZGNjcwRUQ4MDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEIxMEIyRkVCOTg1MTFFMkI4Qjg5OEZGNjcwRUQ4MDciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0QjEwQjJGQkI5ODUxMUUyQjhCODk4RkY2NzBFRDgwNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0QjEwQjJGQ0I5ODUxMUUyQjhCODk4RkY2NzBFRDgwNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoBY2kYAAAJCSURBVHjaJFJNaxVBEOzu2cfDZPflkSgkfsSP5CKBoBeDigeRgIgk4MWDePemqJHgBwgiCEFB9C94CkYMEuK/iF4CXgJ6UCOikBCyb6a7rVmX3WVmt6e6qrr49VppHknYXYMFFcfFzUXmRCROxmzsbPguhVpPqYcjLGSm7oRCIzo1fP/XztrG1grhlJMzBSUTKkyBnYFQDCCs8HRbB6aG539s7nz9ewhgaEa5hZuKqFtMFBvw5JyUcHBqdGFnW4Pb8b031HJHM6+N8Fc0Zky8NbFGVyv2FScmBq9CSNnfnmg/6vOhVKOUHVhqYi7RoAfA7oZ1ujD+kkk6AwPGUva3Th95nARlnBENHmhuB4IEk9QmB6+NVuegcmt7izVA2367MrJn0jOzrASQDoopgr0Gqc6PPYNNuNFPgmViZd/02Cs1VvWknm2HdkhXpWPdS2bRLcE2WILGkk3mQTk5NnS5hwYGl2CRwqPwZNo//3z74cu937sb5Fp1ugz7g3vA2d7s0TeSigTFWYOKJX2w2vKYrk8urq7P/6m/gVfV6ZRl2alKzznws4fnUnKpQcms0zf+9GKtKvdWik/flz6uP9ze3QQdwTBJBqouBnpmZL5qH+S7y232XiIOTguzemc5PJ+p5963VCjAGP6fJWlCZXkLeDR6MYPR2c13jO3tpZZmniE2M04IRcKAPCKYiQrKFtGtRc4YjIApkkmBJGqCR9lG48B1s0JR0dMaAc3posaBPIM8daMsVBpmMLiwHPhI/k+AAQDYqY0eXeLHAgAAAABJRU5ErkJggg==) left 50% no-repeat;">Plumrocket Inc.</div> ]]>
|
25 |
+
</label>
|
26 |
+
<class>plumrocket_section</class>
|
27 |
+
<sort_order>101</sort_order>
|
28 |
+
</plumrocket>
|
29 |
+
</tabs>
|
30 |
+
<sections>
|
31 |
+
<pradvancedpromotions translate="label">
|
32 |
+
<label>Advanced Promotioms</label>
|
33 |
+
<tab>plumrocket</tab>
|
34 |
+
<sort_order>4734957</sort_order>
|
35 |
+
<show_in_default>1</show_in_default>
|
36 |
+
<show_in_website>1</show_in_website>
|
37 |
+
<show_in_store>1</show_in_store>
|
38 |
+
<groups>
|
39 |
+
<general translate="label">
|
40 |
+
<label>General</label>
|
41 |
+
<frontend_type>text</frontend_type>
|
42 |
+
<sort_order>10</sort_order>
|
43 |
+
<show_in_default>1</show_in_default>
|
44 |
+
<show_in_website>1</show_in_website>
|
45 |
+
<show_in_store>1</show_in_store>
|
46 |
+
<expanded>1</expanded>
|
47 |
+
<fields>
|
48 |
+
<version translate="label">
|
49 |
+
<frontend_type>text</frontend_type>
|
50 |
+
<frontend_model>pradvancedpromotions/system_config_version</frontend_model>
|
51 |
+
<sort_order>10</sort_order>
|
52 |
+
<show_in_default>1</show_in_default>
|
53 |
+
<show_in_website>1</show_in_website>
|
54 |
+
<show_in_store>1</show_in_store>
|
55 |
+
</version>
|
56 |
+
</fields>
|
57 |
+
</general>
|
58 |
+
</groups>
|
59 |
+
</pradvancedpromotions>
|
60 |
+
</sections>
|
61 |
+
</config>
|
app/design/adminhtml/default/default/layout/pradvancedpromotions.xml
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Plumrocket Inc.
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the End-user License Agreement
|
9 |
+
* that is available through the world-wide-web at this URL:
|
10 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
11 |
+
* If you are unable to obtain it through the world-wide-web, please
|
12 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @package Plumrocket_AdvancedPromotions
|
15 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
16 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<layout>
|
20 |
+
<adminhtml_prpromo_catalog_import>
|
21 |
+
<reference name="content">
|
22 |
+
<block type="pradvancedpromotions/adminhtml_catalog_import" name="import"/>
|
23 |
+
</reference>
|
24 |
+
<reference name="left">
|
25 |
+
<block type="pradvancedpromotions/adminhtml_catalog_import_tabs" name="catalogprice_import_tabs">
|
26 |
+
<block type="pradvancedpromotions/adminhtml_catalog_import_tab_main" name="catalogprice_import_tab_main"/>
|
27 |
+
<action method="addTab">
|
28 |
+
<name>main_section</name>
|
29 |
+
<block>catalogprice_import_tab_main</block>
|
30 |
+
</action>
|
31 |
+
</block>
|
32 |
+
</reference>
|
33 |
+
</adminhtml_prpromo_catalog_import>
|
34 |
+
|
35 |
+
<adminhtml_prpromo_quote_import>
|
36 |
+
<reference name="content">
|
37 |
+
<block type="pradvancedpromotions/adminhtml_quote_import" name="import"/>
|
38 |
+
</reference>
|
39 |
+
<reference name="left">
|
40 |
+
<block type="pradvancedpromotions/adminhtml_quote_import_tabs" name="quoteprice_import_tabs">
|
41 |
+
<block type="pradvancedpromotions/adminhtml_quote_import_tab_main" name="quoteprice_import_tab_main"/>
|
42 |
+
<action method="addTab">
|
43 |
+
<name>main_section</name>
|
44 |
+
<block>quoteprice_import_tab_main</block>
|
45 |
+
</action>
|
46 |
+
</block>
|
47 |
+
</reference>
|
48 |
+
</adminhtml_prpromo_quote_import>
|
49 |
+
|
50 |
+
<adminhtml_prpromo_coupons_index>
|
51 |
+
<reference name="content">
|
52 |
+
<block type="pradvancedpromotions/adminhtml_coupons" name="coupon.list"/>
|
53 |
+
</reference>
|
54 |
+
</adminhtml_prpromo_coupons_index>
|
55 |
+
|
56 |
+
<adminhtml_sales_order_view>
|
57 |
+
<reference name="content">
|
58 |
+
<block type="adminhtml/sales_order_view" name="index" template="pradvancedpromotions/index.phtml"/>
|
59 |
+
</reference>
|
60 |
+
</adminhtml_sales_order_view>
|
61 |
+
</layout>
|
app/design/adminhtml/default/default/template/pradvancedpromotions/index.phtml
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plumrocket Inc.
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the End-user License Agreement
|
8 |
+
* that is available through the world-wide-web at this URL:
|
9 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
10 |
+
* If you are unable to obtain it through the world-wide-web, please
|
11 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
12 |
+
*
|
13 |
+
* @package Plumrocket_AdvancedPromotions
|
14 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
15 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
16 |
+
*/
|
17 |
+
?>
|
18 |
+
<?php
|
19 |
+
$order = Mage::registry('current_order');
|
20 |
+
if ($order['applied_rule_ids']) {
|
21 |
+
$rule_ids = array_unique(explode(",", $order['applied_rule_ids']));
|
22 |
+
} else {
|
23 |
+
$rule_ids = array();
|
24 |
+
}
|
25 |
+
?>
|
26 |
+
<?php if (count($rule_ids)) { ?>
|
27 |
+
<div id="prpromo" class="box-right" style="margin-top: 15px;">
|
28 |
+
<!--Shipping Method-->
|
29 |
+
<div class="entry-edit">
|
30 |
+
<div class="entry-edit-head">
|
31 |
+
<h4 class="icon-head head-shipping-method"><?php echo Mage::helper('sales')->__('Shopping Cart Price Rules') ?></h4>
|
32 |
+
</div>
|
33 |
+
<fieldset>
|
34 |
+
<div class="">
|
35 |
+
<table cellspacing="0" width="100%">
|
36 |
+
<colgroup>
|
37 |
+
<col>
|
38 |
+
<col width="1">
|
39 |
+
</colgroup>
|
40 |
+
<?php
|
41 |
+
foreach ($rule_ids as $rule_id):
|
42 |
+
if ($rule_id == 439999) {
|
43 |
+
?>
|
44 |
+
<tr class="2">
|
45 |
+
<td class="label">
|
46 |
+
Reward Points
|
47 |
+
</td>
|
48 |
+
</tr>
|
49 |
+
<?php
|
50 |
+
continue;
|
51 |
+
}
|
52 |
+
$rule = Mage::getSingleton('salesrule/rule')->load($rule_id);
|
53 |
+
$href = Mage::helper('adminhtml')->getUrl('adminhtml/promo_quote/edit', array('id' => $rule_id));
|
54 |
+
$done[$rule_id] = true;
|
55 |
+
?>
|
56 |
+
<tr class="2">
|
57 |
+
<td class="label">
|
58 |
+
<a href="<?php echo $href ?>" target="_blank"><?php echo $rule['name'] ?></a>
|
59 |
+
</td>
|
60 |
+
</tr>
|
61 |
+
<?php
|
62 |
+
endforeach;
|
63 |
+
?>
|
64 |
+
</tbody>
|
65 |
+
</table>
|
66 |
+
</div>
|
67 |
+
</fieldset>
|
68 |
+
</div>
|
69 |
+
</div>
|
70 |
+
<script>
|
71 |
+
document.getElementById('sales_order_view_tabs_order_info_content').firstChild.lastChild.previousSibling.appendChild(
|
72 |
+
document.getElementById('prpromo')
|
73 |
+
);
|
74 |
+
</script>
|
75 |
+
<?php } ?>
|
app/etc/modules/Plumrocket_AdvancedPromotions.xml
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Plumrocket Inc.
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the End-user License Agreement
|
9 |
+
* that is available through the world-wide-web at this URL:
|
10 |
+
* http://wiki.plumrocket.net/wiki/EULA
|
11 |
+
* If you are unable to obtain it through the world-wide-web, please
|
12 |
+
* send an email to support@plumrocket.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* @package Plumrocket_AdvancedPromotions
|
15 |
+
* @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
|
16 |
+
* @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
|
17 |
+
*/
|
18 |
+
-->
|
19 |
+
<config>
|
20 |
+
<modules>
|
21 |
+
<Plumrocket_AdvancedPromotions>
|
22 |
+
<active>true</active>
|
23 |
+
<codePool>community</codePool>
|
24 |
+
<version>1.0.0</version>
|
25 |
+
<name>Advanced Promotions</name>
|
26 |
+
<depends>
|
27 |
+
<Plumrocket_Base />
|
28 |
+
</depends>
|
29 |
+
</Plumrocket_AdvancedPromotions>
|
30 |
+
</modules>
|
31 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Plumrocket_AdvancedPromotions</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://wiki.plumrocket.net/wiki/EULA">End-user License Agreement</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Advanced Promotions Magento Extension allows to significantly speed-up Admin's work with Shopping Cart Price Rules and Catalog Price Rules by adding some very useful features.</summary>
|
10 |
+
<description>With this extension you can import & export rules, mass-update status or mass delete from the grid, view and search coupon codes by order number, shopping cart rules, coupon usage, etc.</description>
|
11 |
+
<notes>Initial Release</notes>
|
12 |
+
<authors><author><name>Plumrocket Team</name><user>plumrocket</user><email>support@plumrocket.com</email></author></authors>
|
13 |
+
<date>2017-02-01</date>
|
14 |
+
<time>10:27:54</time>
|
15 |
+
<contents><target name="mageetc"><dir name="modules"><file name="Plumrocket_AdvancedPromotions.xml" hash="55639ad4aa210f3133fc48ae675c3924"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="pradvancedpromotions.xml" hash="105aa3df1c2ba4b95dfe5efb877035ce"/></dir><dir name="template"><dir name="pradvancedpromotions"><file name="index.phtml" hash="a980ab721b7eadfae07dac56036aa5c9"/></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Plumrocket"><dir name="AdvancedPromotions"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><file name="Edit.php" hash="5a9e3fc1569a4ad19da0825d6c7a4d55"/><file name="Grid.php" hash="d9452e846c6d338f4e8566f98eb709a4"/><dir name="Import"><file name="Form.php" hash="1a2509787b4f7c13d58e304b023a4ced"/><dir name="Tab"><file name="Main.php" hash="e904ffe2326a0870205851905700af9e"/></dir><file name="Tabs.php" hash="88795b77c355872bc9c372ff7632ca74"/></dir><file name="Import.php" hash="f71a1e4c79a7039ea2e3f68a16d489f9"/></dir><file name="Catalog.php" hash="2baac9b770037f9d330615299a140ae0"/><dir name="Coupons"><dir name="Grid"><dir name="Renderer"><file name="Order.php" hash="fae70ecf14a2679b3cff2cffb16cf0b1"/><file name="Rule.php" hash="8f31d535a670a391762891015aa5d7c4"/></dir></dir><file name="Grid.php" hash="425815a5377dc061ffbabe2da9a58165"/></dir><file name="Coupons.php" hash="c76aab4148f877ac9c222f7d8db46c6a"/><dir name="Quote"><file name="Edit.php" hash="058b41e060878e8e20a2d2407e9ac66e"/><file name="Grid.php" hash="f11964225e023c0b99f05a0420452161"/><dir name="Import"><file name="Form.php" hash="2c0f442645acd2ea7f1b3320a097dfbe"/><dir name="Tab"><file name="Main.php" hash="800cebb9c79d73577257a571984dd1b6"/></dir><file name="Tabs.php" hash="ba44c083d481b32ee244a1addaf64eed"/></dir><file name="Import.php" hash="cdf7ad0c253adb5747bbc4fff09d4612"/></dir><file name="Quote.php" hash="a781ebdb546be89bb01c715963c30ce8"/><file name="Sales.php" hash="bf50cfa925c6d40e37b46c42d9ab9311"/></dir><dir name="System"><dir name="Config"><file name="Version.php" hash="5f3e9529ae0cc04ab8e3e4d3330ef38b"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="6a4f42adb62cee2655d7cc09c453b06b"/><file name="Main.php" hash="d71c93c107c995318e2239eb2961cf72"/></dir><dir name="Model"><dir name="Resource"><dir name="Grid"><file name="Collection.php" hash="a23f3a5e370ae19cd61bfca2adf6e8bf"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Prpromo"><file name="CatalogController.php" hash="d7ed1dca6e26eeb149df4adf30398561"/><file name="CouponsController.php" hash="9763bd282b5dd75abf0d11e4feb70d33"/><file name="QuoteController.php" hash="48233ef617ed4957586641833d317a64"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="ef62e76b05bc710ea9e60d34150be19e"/><file name="config.xml" hash="219430ae339aee50ac80f4afcd2cee03"/><file name="system.xml" hash="16df95c84c7531cd9db7825be8e1a958"/></dir></dir></dir></target></contents>
|
16 |
+
<compatible/>
|
17 |
+
<dependencies><required><php><min>5.2.0</min><max>7.0.0</max></php><package><name>Plumrocket_Base</name><channel>community</channel><min/><max/></package><extension><name>Core</name><min/><max/></extension></required></dependencies>
|
18 |
+
</package>
|