Skip to content

Commit 0627917

Browse files
Merge pull request #1 from appinlet/release/1.0.0
2021-07-30: v1.0.0
2 parents 1758289 + a13927c commit 0627917

File tree

12 files changed

+1156
-0
lines changed

12 files changed

+1156
-0
lines changed

changelog.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
=====================================
2+
Date : Version: Description
3+
=====================================
4+
2021-07-30: v1.0.0 : Initial release.
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
<?php
2+
/*
3+
* Copyright (c) 2021 DPO Group
4+
*
5+
* Author: App Inlet (Pty) Ltd
6+
*
7+
* Released under the GNU General Public License
8+
*/
9+
10+
class ControllerExtensionPaymentDpo extends Controller
11+
{
12+
13+
const PAYMENT_METHOD = 'extension/payment/dpo';
14+
const USER_TOKEN_TEXT = 'user_token=';
15+
const TYPE_PAYMENT = '&type=payment';
16+
const MARKETPALCE_EXTENSION = 'marketplace/extension';
17+
private $error = array();
18+
19+
public function index()
20+
{
21+
$this->load->language(self::PAYMENT_METHOD);
22+
$this->document->setTitle($this->language->get('heading_title'));
23+
$this->load->model('setting/setting');
24+
25+
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
26+
$this->model_setting_setting->editSetting('payment_dpo', $this->request->post);
27+
$this->session->data['success'] = $this->language->get('text_success');
28+
$this->response->redirect(
29+
$this->url->link(
30+
self::MARKETPALCE_EXTENSION,
31+
self::USER_TOKEN_TEXT . $this->session->data['user_token'] . self::TYPE_PAYMENT,
32+
true
33+
)
34+
);
35+
}
36+
37+
$data['heading_title'] = $this->language->get('heading_title');
38+
39+
$data['text_edit'] = $this->language->get('text_edit');
40+
$data['text_enabled'] = $this->language->get('text_enabled');
41+
$data['text_disabled'] = $this->language->get('text_disabled');
42+
$data['text_all_zones'] = $this->language->get('text_all_zones');
43+
44+
$data['entry_order_status'] = $this->language->get('entry_order_status');
45+
$data['entry_success_status'] = $this->language->get('entry_success_status');
46+
$data['entry_failed_status'] = $this->language->get('entry_failed_status');
47+
$data['entry_cancelled_status'] = $this->language->get('entry_cancelled_status');
48+
$data['entry_total'] = $this->language->get('entry_total');
49+
$data['entry_geo_zone'] = $this->language->get('entry_geo_zone');
50+
$data['entry_status'] = $this->language->get('entry_status');
51+
$data['entry_sort_order'] = $this->language->get('entry_sort_order');
52+
53+
$data['tab_general'] = $this->language->get('tab_general');
54+
$data['tab_order_status'] = $this->language->get('tab_order_status');
55+
56+
$data['entry_merchant_token'] = $this->language->get('entry_merchant_token');
57+
$data['entry_service_type'] = $this->language->get('entry_service_type');
58+
59+
$data['help_total'] = $this->language->get('help_total');
60+
61+
$data['button_save'] = $this->language->get('button_save');
62+
$data['button_cancel'] = $this->language->get('button_cancel');
63+
64+
if (isset($this->error['warning'])) {
65+
$data['error_warning'] = $this->error['warning'];
66+
} else {
67+
$data['error_warning'] = '';
68+
}
69+
70+
$data['breadcrumbs'] = array();
71+
72+
$data['breadcrumbs'][] = array(
73+
'text' => $this->language->get('text_home'),
74+
'href' => $this->url->link(
75+
'common/dashboard',
76+
self::USER_TOKEN_TEXT . $this->session->data['user_token'],
77+
true
78+
),
79+
);
80+
81+
$data['breadcrumbs'][] = array(
82+
'text' => $this->language->get('text_extension'),
83+
'href' => $this->url->link(
84+
self::MARKETPALCE_EXTENSION,
85+
self::USER_TOKEN_TEXT . $this->session->data['user_token'] . self::TYPE_PAYMENT,
86+
true
87+
),
88+
);
89+
90+
$data['breadcrumbs'][] = array(
91+
'text' => $this->language->get('heading_title'),
92+
'href' => $this->url->link(
93+
self::PAYMENT_METHOD,
94+
self::USER_TOKEN_TEXT . $this->session->data['user_token'],
95+
true
96+
),
97+
);
98+
99+
$data['action'] = $this->url->link(
100+
self::PAYMENT_METHOD,
101+
self::USER_TOKEN_TEXT . $this->session->data['user_token'],
102+
true
103+
);
104+
$data['cancel'] = $this->url->link(
105+
self::MARKETPALCE_EXTENSION,
106+
self::USER_TOKEN_TEXT . $this->session->data['user_token'] . self::TYPE_PAYMENT,
107+
true
108+
);
109+
110+
if (isset($this->request->post['payment_dpo_total'])) {
111+
$data['payment_dpo_total'] = $this->request->post['payment_dpo_total'];
112+
} else {
113+
$data['payment_dpo_total'] = $this->config->get('payment_dpo_total');
114+
}
115+
116+
if (isset($this->request->post['payment_dpo_order_status_id'])) {
117+
$data['payment_dpo_order_status_id'] = $this->request->post['payment_dpo_order_status_id'];
118+
} else {
119+
$data['payment_dpo_order_status_id'] = $this->config->get('payment_dpo_order_status_id');
120+
}
121+
122+
if (isset($this->request->post['payment_dpo_success_order_status_id'])) {
123+
$data['payment_dpo_success_order_status_id'] = $this->request->post['payment_dpo_success_order_status_id'];
124+
} else {
125+
$data['payment_dpo_success_order_status_id'] = $this->config->get('payment_dpo_success_order_status_id');
126+
}
127+
128+
if (isset($this->request->post['payment_dpo_failed_order_status_id'])) {
129+
$data['payment_dpo_failed_order_status_id'] = $this->request->post['payment_dpo_failed_order_status_id'];
130+
} else {
131+
$data['payment_dpo_failed_order_status_id'] = $this->config->get('payment_dpo_failed_order_status_id');
132+
}
133+
134+
if (isset($this->request->post['payment_dpo_cancelled_order_status_id'])) {
135+
$data['payment_dpo_cancelled_order_status_id'] = $this->request->post['payment_dpo_cancelled_order_status_id'];
136+
} else {
137+
$data['payment_dpo_cancelled_order_status_id'] = $this->config->get(
138+
'payment_dpo_cancelled_order_status_id'
139+
);
140+
}
141+
142+
$this->load->model('localisation/order_status');
143+
144+
$data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
145+
146+
if (isset($this->request->post['payment_dpo_geo_zone_id'])) {
147+
$data['payment_dpo_geo_zone_id'] = $this->request->post['payment_dpo_geo_zone_id'];
148+
} else {
149+
$data['payment_dpo_geo_zone_id'] = $this->config->get('payment_dpo_geo_zone_id');
150+
}
151+
152+
$this->load->model('localisation/geo_zone');
153+
154+
$data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();
155+
156+
if (isset($this->request->post['payment_dpo_status'])) {
157+
$data['payment_dpo_status'] = $this->request->post['payment_dpo_status'];
158+
} else {
159+
$data['payment_dpo_status'] = $this->config->get('payment_dpo_status');
160+
}
161+
162+
if (isset($this->request->post['payment_dpo_sort_order'])) {
163+
$data['payment_dpo_sort_order'] = $this->request->post['payment_dpo_sort_order'];
164+
} else {
165+
$data['payment_dpo_sort_order'] = $this->config->get('payment_dpo_sort_order');
166+
}
167+
168+
if (isset($this->request->post['payment_dpo_merchant_token'])) {
169+
$data['payment_dpo_merchant_token'] = $this->request->post['payment_dpo_merchant_token'];
170+
} else {
171+
$data['payment_dpo_merchant_token'] = $this->config->get('payment_dpo_merchant_token');
172+
}
173+
174+
if (isset($this->request->post['payment_dpo_service_type'])) {
175+
$data['payment_dpo_service_type'] = $this->request->post['payment_dpo_service_type'];
176+
} else {
177+
$data['payment_dpo_service_type'] = $this->config->get('payment_dpo_service_type');
178+
}
179+
180+
if (isset($this->request->post['payment_dpo_testmode'])) {
181+
$data['payment_dpo_testmode'] = $this->request->post['payment_dpo_testmode'];
182+
} else {
183+
$data['payment_dpo_testmode'] = $this->config->get('payment_dpo_testmode');
184+
}
185+
186+
$data['header'] = $this->load->controller('common/header');
187+
$data['column_left'] = $this->load->controller('common/column_left');
188+
$data['footer'] = $this->load->controller('common/footer');
189+
190+
$this->response->setOutput($this->load->view(self::PAYMENT_METHOD, $data));
191+
}
192+
193+
protected function validate()
194+
{
195+
if ( ! $this->user->hasPermission('modify', self::PAYMENT_METHOD)) {
196+
$this->error['warning'] = $this->language->get('error_permission');
197+
}
198+
199+
return ! $this->error;
200+
}
201+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
/*
3+
* Copyright (c) 2021 DPO Group
4+
*
5+
* Author: App Inlet (Pty) Ltd
6+
*
7+
* Released under the GNU General Public License
8+
*/
9+
10+
// Heading
11+
$_['heading_title'] = 'DPO Group';
12+
13+
// Text
14+
$_['text_payment'] = 'Payment';
15+
$_['text_success'] = 'You have successfully configured the DPO Group payment module.';
16+
$_['text_edit'] = 'Edit DPO Group';
17+
$_['text_extension'] = 'Extensions';
18+
19+
// Entry
20+
$_['entry_total'] = 'Total';
21+
$_['entry_order_status'] = 'Initial Order Status:';
22+
$_['entry_geo_zone'] = 'Geo Zone:';
23+
$_['entry_status'] = 'Status:';
24+
$_['entry_sort_order'] = 'Sort Order:';
25+
$_['text_dpo'] = '<a onclick="window.open(\'https://www.dpogroup.com/\');"><img src="view/image/payment/dpo.png" alt="DPO Group" title="DPO Group" style="border: 1px solid #EEEEEE;" /></a>';
26+
$_['entry_merchant_token'] = 'Merchant Token:';
27+
$_['entry_service_type'] = 'Service Type:';
28+
$_['entry_testmode'] = 'Test Mode:';
29+
$_['entry_success_status'] = 'Successful Order status:';
30+
$_['entry_failed_status'] = 'Failed Order Status:';
31+
$_['entry_cancelled_status'] = 'Cancelled Order Status:';
32+
33+
// Tab
34+
$_['tab_general'] = 'General';
35+
$_['tab_order_status'] = 'Order status';
36+
37+
// Help
38+
$_['help_total'] = 'The checkout total the order must reach before this payment method becomes active.';
39+
40+
// Error
41+
$_['error_permission'] = 'Warning: You do not have permission to modify the DPO Group payment method!';
2 KB
Loading

0 commit comments

Comments
 (0)