Subversion Repositories SmartDukaan

Rev

Rev 16840 | Rev 16907 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
13532 anikendra 1
<?php
2
App::uses('AppController', 'Controller');
3
/**
4
 * Orders Controller
5
 *
6
 * @property Order $Order
7
 * @property PaginatorComponent $Paginator
8
 */
9
class OrdersController extends AppController {
10
 
11
/**
12
 * Components
13
 *
14
 * @var array
15
 */
16
	public $components = array('Paginator');
17
 
13672 anikendra 18
	public function beforeFilter() {		
13591 anikendra 19
		parent::beforeFilter();
15093 anikendra 20
		$this->Auth->allow('add','mine','pendingcashbacks','all');
13672 anikendra 21
		$this->apihost = Configure::read('pythonapihost');
13591 anikendra 22
	}
23
 
13816 anikendra 24
	public function mine() {
15824 anikendra 25
		$type = $this->request->query('type');
13816 anikendra 26
		$page = $this->request->query('page');
27
		$page = isset($page)?$page:1;
13682 anikendra 28
		$userId = $this->request->query('user_id');
29
		if(isset($userId) && !empty($userId)){
30
			$this->loadModel('User');
31
			$dbuser = $this->User->findById($userId);
32
			$this->Auth->login($dbuser['User']);	
33
		}
13672 anikendra 34
		$this->layout = "innerpages";
13815 anikendra 35
		$url = $this->apihost."storeorder/user/".$this->Auth->User('id')."?page=$page&window=10";
15824 anikendra 36
		if(isset($type) && !empty($type)) {
37
			$url .= '&type='.$type;
38
		}
13672 anikendra 39
		$response = $this->make_request($url,null);
13815 anikendra 40
		$totalPages = $response['totalPages'];
13672 anikendra 41
		if(!empty($response['data'])){
42
			$this->set('orders',$response['data']);
43
		}
13752 anikendra 44
		$ignoredFields = array('imgUrl','status','productTitle','estimatedDeliveryDate','productCode','merchantSubOrderId','productUrl','closed','tracingkUrl','detailedStatus');
13944 anikendra 45
		$storemapping = Configure::read('storemapping');
46
		$activestores = Configure::read('activestores');
14224 anikendra 47
		$amazonorderurl = Configure::read('amazonorderurl');
48
		$this->set(compact('ignoredFields','page','totalPages','userId','activestores','storemapping','amazonorderurl'));
13672 anikendra 49
	}
50
 
15217 anikendra 51
	public function by($userId) {
52
		$page = $this->request->query('page');
53
		$page = isset($page)?$page:1;		
54
		$this->layout = "innerpages";
55
		$url = $this->apihost."storeorder/user/".$userId."?page=$page&window=10";
56
		$response = $this->make_request($url,null);
57
		$totalPages = $response['totalPages'];
58
		if(!empty($response['data'])){
59
			$this->set('orders',$response['data']);
60
		}
61
		$ignoredFields = array('imgUrl','status','productTitle','estimatedDeliveryDate','productCode','merchantSubOrderId','productUrl','closed','tracingkUrl','detailedStatus');
62
		$storemapping = Configure::read('storemapping');
63
		$activestores = Configure::read('activestores');
64
		$amazonorderurl = Configure::read('amazonorderurl');
65
		$this->set(compact('ignoredFields','page','totalPages','userId','activestores','storemapping','amazonorderurl'));
66
	}
67
 
13762 anikendra 68
	public function pendingcashbacks() {
69
		$userId = $this->request->query('user_id');
70
		if(isset($userId) && !empty($userId)){
71
			$this->loadModel('User');
72
			$dbuser = $this->User->findById($userId);
73
			$this->Auth->login($dbuser['User']);	
74
		}
75
		$this->layout = "innerpages";
13993 anikendra 76
		$url = $this->apihost."storeorder/user/".$this->Auth->User('id')."?page=1&window=50";
13762 anikendra 77
		$response = $this->make_request($url,null);
13993 anikendra 78
		// debug($response);
79
		$creditedOrders = $pendingOrders = $approvedOrders = array();
80
		$creditedAmount = $pendingAmount = $approvedAmount = 0;
13762 anikendra 81
		if(!empty($response['data'])){
13993 anikendra 82
			foreach ($response['data'] as $key => $order) {
14111 anikendra 83
				if(!empty($order['subOrders'])){
84
					foreach ($order['subOrders'] as $key => $suborder) {
85
						$suborder['storeId'] = $order['storeId'];
15035 amit.gupta 86
						if($order['storeId']!=4){
15036 amit.gupta 87
							$suborder['merchantOrderId'] = $order['merchantOrderId'];
88
						} else {
15035 amit.gupta 89
							$suborder['merchantOrderId'] = $suborder['merchantSubOrderId'];
90
						}
14700 anikendra 91
						if(!empty($order['orderTrackingUrl'])){
92
							$suborder['orderSuccessUrl'] = $order['orderTrackingUrl'];
93
						}
14111 anikendra 94
						switch($suborder['cashBackStatus']){
95
							// case 'Credited to wallet'://Credited
96
							// $creditedOrders[] = $suborder;
97
							// break;
98
							case 'Approved':
99
							$approvedOrders[] = $suborder;
100
							$approvedAmount += $suborder['cashBackAmount'];
101
							break;
102
							case 'Pending':
103
							$pendingOrders[] = $suborder;
14673 anikendra 104
							// $pendingAmount += $suborder['cashBackAmount'];
14111 anikendra 105
						}
13993 anikendra 106
					}
107
				}
108
			}
13762 anikendra 109
		}
14673 anikendra 110
		$url = $this->apihost.'pending-cashbacks/user/'.$userId;
111
		$result = $this->make_request($url,null);
112
		$pendingAmount = $result['amount'];
13993 anikendra 113
		//Get pending cashbacks
114
		$url = $this->apihost.'pending-refunds/user/'.$userId;
115
		$pendingCashbacks = $this->make_request($url,null);
116
		//Get credited cashbacks
117
		$url = $this->apihost.'refund/user/'.$userId;
14068 anikendra 118
		$creditedCashbacks = $this->make_request($url,null);
119
 
16893 naman 120
		$creditKeyArray = array();
121
		$creditValueArray = array();
122
 
14026 anikendra 123
		if(!empty($creditedCashbacks)){
13993 anikendra 124
			foreach ($creditedCashbacks['data'] as $key => $value) {
14068 anikendra 125
				$creditedAmount += $value['userAmount'];				
126
				$data = array('subOrders.batchId'=>$value['batch']);
127
				$jsonVar = json_encode($data);
128
				$url = $this->apihost."storeorder/user/".$this->Auth->User('id')."?page=1&window=50&searchMap=$jsonVar";
129
				$creditedOrders[$value['batch']] = $this->make_request($url,null);
16893 naman 130
 
131
				$creditValueArray['amount'] = $value['userAmount'];
132
				$creditValueArray['type'] = 'Order';
133
				$creditValueArray['fortbatchid'] = $value['batch'];
134
				$creditKeyArray[date('Y-m-d',strtotime($value['timestamp']))] = $creditValueArray;
14068 anikendra 135
				// debug($creditedOrders);
13993 anikendra 136
			}
137
		}
14026 anikendra 138
		$storemapping = Configure::read('storemapping');
139
		$activestores = Configure::read('activestores');
16628 anikendra 140
		//App related cashbacks
141
		$this->loadModel('UserAppCashback');
142
		$this->loadModel('UserAppInstall');
143
		//Compute last two fortnight ids
144
		$fortnightIds = array();
145
		if(date('d',time())<=15){
16784 anikendra 146
			$fortnightIds[] = 2*(date('m',time())-1)-1;
16629 anikendra 147
			$fortnightIds[] = 2*(date('m',time())-1);
16628 anikendra 148
		}else{
16784 anikendra 149
			$fortnightIds[] = 2*(date('m',time())-1);
16628 anikendra 150
			$fortnightIds[] = 2*(date('m',time())-1)+1;
151
		}
152
		$cashBacks = array();
16893 naman 153
 
154
		// Approved Start
155
 
16840 naman 156
		$url = $this->apihost.'appUserCashBack/'.$userId.'/Approved';
157
		$getapproved = $this->make_request($url,null);
158
		// debug($getapproved);
159
		$fortnight = array();
160
		$fortnight_amount = array();
161
		$counter = 0;
162
		$total_approved_amount = 0;
163
		$current_date =  date("Y");
164
		foreach ($getapproved["UserAppCashBack"] as $key => $value) {
165
			 $fortnight[$counter] = $value["fortnightOfYear"];
166
			 $fortnight_amount[$counter] = $value["amount"];
167
			 $total_approved_amount += $value["amount"];
168
			 $counter++;
169
		}
170
		$approvedFortnight = array();
171
		for($i=0; $i<count($fortnight); $i++){
172
			$url = $this->apihost.'appUserBatchDrillDown/'.$userId.'/'.$fortnight[$i].'/'.$current_date;
173
			$approvedFortnight[] = $this->make_request($url,null);
174
		// $url = $this->apihost.'appUserBatchDrillDown/1/16/2015';
175
		// $approvedFortnight[] = $this->make_request($url,null);
176
		}
177
 
178
		$this->set(compact('fortnight','total_approved_amount','fortnight_amount','approvedFortnight'));		
16893 naman 179
	// Approved End	
16840 naman 180
 
16893 naman 181
	// App Credit Start
182
		$creditedFortnight = array();
183
		$url = $this->apihost.'appUserCashBack/'.$userId.'/Credited';
184
		$getcredited = $this->make_request($url,null);
185
		foreach ($getcredited['UserAppCashBack'] as $key => $value) {
16840 naman 186
 
16893 naman 187
			$url = $this->apihost.'appUserBatchDrillDown/'.$userId.'/'.$value['fortnightOfYear'].'/'.$value['yearVal'];
188
			$creditedFortnight[$value['fortnightOfYear']] = $this->make_request($url,null);
189
 
190
			$creditValueArray['amount'] = $value['amount'];
191
			$creditValueArray['type'] = 'App';
192
			$creditValueArray['fortbatchid'] = $value['fortnightOfYear'];
193
			$creditKeyArray[$value['creditedDate']] = $creditValueArray;
194
			// echo $url;
195
		}
196
 
197
		// debug($creditedFortnight);
198
 
199
 
200
		ksort($creditKeyArray);
201
		// debug($creditKeyArray);
202
		$this->set(compact('getcredited','creditedFortnight','creditKeyArray'));
203
		// debug($creditedFortnight);
204
	// App Credit End
205
 
206
 
16628 anikendra 207
		foreach ($fortnightIds AS $fortnightId){
16712 naman 208
			$appInstalls = array();
16628 anikendra 209
			$options = array('conditions'=>array('fortnightOfYear'=>$fortnightId,'user_id'=>$this->Auth->User('id')),'fields'=>array('status','amount'));
210
			$temp = $this->UserAppCashback->find('first',$options);
16681 anikendra 211
			if(isset($temp) && !empty($temp)){
212
				$cashBacks[$temp['UserAppCashback']['status']]['amount'] = $temp['UserAppCashback']['amount'];
16712 naman 213
				$cashBacks[$temp['UserAppCashback']['status']]['fortnightOfYear'] = $fortnightId;
214
				// debug($fortnightId);
16681 anikendra 215
				$options = array('conditions'=>array('fortnightOfYear'=>$fortnightId,'user_id'=>$this->Auth->User('id')),'fields'=>array('sum(payoutAmount) AS amount','sum(installCount) AS installs','transaction_date'),'group'=>'transaction_date');
216
				$installs = $this->UserAppInstall->find('all',$options);			
217
				if(!empty($installs)){
218
					foreach ($installs as $key => $value) {
219
						$appInstalls[$value['UserAppInstall']['transaction_date']] = $value[0];					
220
					}
221
					$cashBacks[$temp['UserAppCashback']['status']]['installs'] = $appInstalls;
16628 anikendra 222
				}
223
			}
224
		}
13993 anikendra 225
		if(!empty($response['data'])){
16628 anikendra 226
			$this->set(compact('storemapping','activestores','pendingOrders','approvedOrders','creditedOrders','pendingCashbacks','creditedCashbacks','pendingAmount','approvedAmount','creditedAmount','cashBacks'));
13993 anikendra 227
		}
13762 anikendra 228
	}
229
 
16840 naman 230
	public function getAppByDate($date) {
231
		$url = $this->apihost.'appUserBatchDateDrillDown/1/'.$date;
232
		$getApp = $this->make_request($url,null);
233
		echo $getApp;
234
	}
235
 
15217 anikendra 236
	public function usercashbacks($userId) {		
237
		$this->layout = "innerpages";
238
		$url = $this->apihost."storeorder/user/".$userId."?page=1&window=50";
239
		$response = $this->make_request($url,null);
240
		// debug($response);
241
		$creditedOrders = $pendingOrders = $approvedOrders = array();
242
		$creditedAmount = $pendingAmount = $approvedAmount = 0;
243
		if(!empty($response['data'])){
244
			foreach ($response['data'] as $key => $order) {
245
				if(!empty($order['subOrders'])){
246
					foreach ($order['subOrders'] as $key => $suborder) {
247
						$suborder['storeId'] = $order['storeId'];
248
						if($order['storeId']!=4){
249
							$suborder['merchantOrderId'] = $order['merchantOrderId'];
250
						} else {
251
							$suborder['merchantOrderId'] = $suborder['merchantSubOrderId'];
252
						}
253
						if(!empty($order['orderTrackingUrl'])){
254
							$suborder['orderSuccessUrl'] = $order['orderTrackingUrl'];
255
						}
256
						switch($suborder['cashBackStatus']){
257
							// case 'Credited to wallet'://Credited
258
							// $creditedOrders[] = $suborder;
259
							// break;
260
							case 'Approved':
261
							$approvedOrders[] = $suborder;
262
							$approvedAmount += $suborder['cashBackAmount'];
263
							break;
264
							case 'Pending':
265
							$pendingOrders[] = $suborder;
266
							// $pendingAmount += $suborder['cashBackAmount'];
267
						}
268
					}
269
				}
270
			}
271
		}
272
		$url = $this->apihost.'pending-cashbacks/user/'.$userId;
273
		$result = $this->make_request($url,null);
274
		$pendingAmount = $result['amount'];
275
		//Get pending cashbacks
276
		$url = $this->apihost.'pending-refunds/user/'.$userId;
277
		$pendingCashbacks = $this->make_request($url,null);
278
		//Get credited cashbacks
279
		$url = $this->apihost.'refund/user/'.$userId;
280
		$creditedCashbacks = $this->make_request($url,null);
281
 
282
		if(!empty($creditedCashbacks)){
283
			foreach ($creditedCashbacks['data'] as $key => $value) {
284
				$creditedAmount += $value['userAmount'];				
285
				$data = array('subOrders.batchId'=>$value['batch']);
286
				$jsonVar = json_encode($data);
287
				$url = $this->apihost."storeorder/user/".$userId."?page=1&window=50&searchMap=$jsonVar";
288
				$creditedOrders[$value['batch']] = $this->make_request($url,null);
289
				// debug($creditedOrders);
290
			}
291
		}
292
		$storemapping = Configure::read('storemapping');
293
		$activestores = Configure::read('activestores');
294
		if(!empty($response['data'])){
295
			$this->set(compact('storemapping','activestores','pendingOrders','approvedOrders','creditedOrders','pendingCashbacks','creditedCashbacks','pendingAmount','approvedAmount','creditedAmount'));
296
		}
297
	}
298
 
15227 anikendra 299
/*
13532 anikendra 300
	public function index() {
13591 anikendra 301
		throw new NotFoundException(__('Access Denied'));
13532 anikendra 302
		$this->Order->recursive = 0;
303
		$this->set('orders', $this->Paginator->paginate());
304
	}
305
 
15227 anikendra 306
 
13532 anikendra 307
	public function view($id = null) {
13591 anikendra 308
		throw new NotFoundException(__('Access Denied'));
13532 anikendra 309
		if (!$this->Order->exists($id)) {
310
			throw new NotFoundException(__('Invalid order'));
311
		}
312
		$options = array('conditions' => array('Order.' . $this->Order->primaryKey => $id));
313
		$this->set('order', $this->Order->find('first', $options));
314
	}
15227 anikendra 315
*/
316
 
13532 anikendra 317
/**
318
 * add method
319
 *
320
 * @return void
321
 */
13814 anikendra 322
 
323
	public function postOrders($order=null) {
13994 anikendra 324
		// Configure::load('live');
13814 anikendra 325
		$apihost = Configure::read('pythonapihost');
326
		$url = $apihost."storeorder";
327
		if(!empty($order)) {
328
			$params = array('sourceId'=>$order['Order']['store_id'],'orderId'=>$order['Order']['id'],'subTagId'=>$order['Order']['sub_tag'],'userId'=>$order['Order']['user_id'],'rawHtml'=>$order['Order']['rawhtml'],'orderSuccessUrl'=>$order['Order']['order_url']);
329
			$jsonVar = json_encode($params);
330
			return $this->make_request($url,$jsonVar);
331
		}else{
332
			$result = array('success'=>false,'message'=>'Empty order array');
333
			return $result;
334
		}
335
	}
336
 
13532 anikendra 337
	public function add() {
14933 amit.gupta 338
		$this->log(print_r($this->request->data,1),'orders');
13532 anikendra 339
		if ($this->request->is('post')) {
14886 amit.gupta 340
			if($this->request->data['zip']){
14933 amit.gupta 341
				$this->request->data['rawhtml'] = gzuncompress(base64_decode($this->request->data['rawhtml'])); 
14886 amit.gupta 342
			}
343
			$this->log(print_r($this->request->data,1),'orders');
14315 anikendra 344
			if(empty($this->request->data['id'])) {
345
				$this->Order->create();
13633 anikendra 346
			}
15093 anikendra 347
			$this->request->data['ip'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
13532 anikendra 348
			if ($this->Order->save($this->request->data)) {
14315 anikendra 349
				//$this->loadModel('PythonApi');	
350
				if(empty($this->request->data['id'])) {
351
					$id = $this->Order->getLastInsertID();
352
				}else{
353
					$id = $this->request->data['id'];
354
				}
355
				$order = $this->Order->find('first',array('conditions'=>array('id'=>$id),'recursive'=>-1));
13814 anikendra 356
				$response = $this->postOrders($order);
357
				$this->log(print_r($response,1),'orders');
358
				if(!empty($response) && $response['result']) {
14315 anikendra 359
					//if($response['result'] == 'HTML_REQUIRED' || $response['result'] == 'requireHtml') {
360
					if($response['htmlRequired'] == 1) {
13814 anikendra 361
						$this->loadModel('Rawhtml');
362
						$data = array('order_id' => $order['Order']['id'],'url' => $response['url'], 'status' => 'new');
363
						$this->Rawhtml->create();
364
						$this->Rawhtml->save($data); 
14315 anikendra 365
						//$result =array('success'=>true,'message'=>__('requireHtml'),'url' => $response['url'],'orderId' => $response['orderId']);
366
						$result =  $response;
367
						$sql = "UPDATE orders SET status = '".$response['result']."' WHERE id = ".$order['Order']['id'];
368
					}/* elseif($response['result'] == 'IGNORED') {
13814 anikendra 369
						$result =array('success'=>true,'message'=>__('IGNORED'));
370
						$sql = "UPDATE orders SET status = 'deleted' WHERE id = ".$order['Order']['id'];
371
					} elseif($response['result'] == 'PARSE_ERROR') {
372
						$result =array('success'=>true,'message'=>__('PARSE_ERROR'));
373
						$sql = "UPDATE orders SET status = 'deleted' WHERE id = ".$order['Order']['id'];
14315 anikendra 374
					} */
375
					else {
376
						$result =array('success'=>true,'message'=> $response['result']);
377
						$sql = "UPDATE orders SET status = '".$response['result']."' WHERE id = ".$order['Order']['id'];
13814 anikendra 378
					}
379
					$this->Order->query($sql);
380
				}
381
				//$result = array('success'=>true,'message'=>__('HTML_REQUIRED'),'url'=>'https://www.amazon.in/gp/css/summary/edit.html?orderID=404-7369214-6566739');
13633 anikendra 382
/*
383
				$options = array('conditions'=>array('status'=>'mapped'),'recursive'=>-1);
384
				$order = $this->Order->find('first',$options);
385
				if(!empty($orders)) {
386
					foreach($orders AS $order) {
387
						$response = $this->PythonApi->postOrders($order);
388
						if(!empty($response) && $response['result']) {
389
							$sql = "UPDATE orders SET status = 'processed' WHERE id = ".$order['Order']['id'];
390
							$this->Order->query($sql);
391
						}
392
					}
393
				}
394
*/
13532 anikendra 395
			} else {
14315 anikendra 396
				$this->log(print_r($this->Order->validationErrors,1),'orders');
13591 anikendra 397
				$result = array('success'=>false,'message'=>__('The order could not be saved. Please, try again.'));
13532 anikendra 398
			}
13591 anikendra 399
			$this->response->type('json');
400
			$this->layout = 'ajax';
401
			$this->set(array(
14315 anikendra 402
			    'result' => $response,
13591 anikendra 403
			    // 'callback' => $callback,
404
			    '_serialize' => array('result')
405
			));
406
			$this->render('/Elements/json');		
407
		}			
13532 anikendra 408
	}
409
 
15227 anikendra 410
/*
411
 
13532 anikendra 412
	public function edit($id = null) {
13591 anikendra 413
		throw new NotFoundException(__('Access Denied'));
13532 anikendra 414
		if (!$this->Order->exists($id)) {
415
			throw new NotFoundException(__('Invalid order'));
416
		}
417
		if ($this->request->is(array('post', 'put'))) {
418
			if ($this->Order->save($this->request->data)) {
419
				$this->Session->setFlash(__('The order has been saved.'));
420
				return $this->redirect(array('action' => 'index'));
421
			} else {
422
				$this->Session->setFlash(__('The order could not be saved. Please, try again.'));
423
			}
424
		} else {
425
			$options = array('conditions' => array('Order.' . $this->Order->primaryKey => $id));
426
			$this->request->data = $this->Order->find('first', $options);
427
		}
428
		$users = $this->Order->User->find('list');
429
		$stores = $this->Order->Store->find('list');
430
		$storeOrders = $this->Order->StoreOrder->find('list');
431
		$this->set(compact('users', 'stores', 'storeOrders'));
432
	}
433
 
15227 anikendra 434
 
13532 anikendra 435
	public function delete($id = null) {
13591 anikendra 436
		throw new NotFoundException(__('Access Denied'));
13532 anikendra 437
		$this->Order->id = $id;
438
		if (!$this->Order->exists()) {
439
			throw new NotFoundException(__('Invalid order'));
440
		}
441
		$this->request->onlyAllow('post', 'delete');
442
		if ($this->Order->delete()) {
443
			$this->Session->setFlash(__('The order has been deleted.'));
444
		} else {
445
			$this->Session->setFlash(__('The order could not be deleted. Please, try again.'));
446
		}
447
		return $this->redirect(array('action' => 'index'));
448
	}
15227 anikendra 449
*/
13532 anikendra 450
 
451
/**
452
 * admin_index method
453
 *
454
 * @return void
455
 */
456
	public function admin_index() {
15227 anikendra 457
		$this->checkAcl();
13532 anikendra 458
		$this->Order->recursive = 0;
459
		$this->set('orders', $this->Paginator->paginate());
460
	}
461
 
462
/**
463
 * admin_view method
464
 *
465
 * @throws NotFoundException
466
 * @param string $id
467
 * @return void
468
 */
469
	public function admin_view($id = null) {
15227 anikendra 470
		$this->checkAcl();
13532 anikendra 471
		if (!$this->Order->exists($id)) {
472
			throw new NotFoundException(__('Invalid order'));
473
		}
474
		$options = array('conditions' => array('Order.' . $this->Order->primaryKey => $id));
475
		$this->set('order', $this->Order->find('first', $options));
476
	}
477
 
478
/**
479
 * admin_add method
480
 *
481
 * @return void
482
 */
483
	public function admin_add() {
15227 anikendra 484
		$this->checkAcl();
13532 anikendra 485
		if ($this->request->is('post')) {
486
			$this->Order->create();
487
			if ($this->Order->save($this->request->data)) {
488
				$this->Session->setFlash(__('The order has been saved.'));
489
				return $this->redirect(array('action' => 'index'));
490
			} else {
491
				$this->Session->setFlash(__('The order could not be saved. Please, try again.'));
492
			}
493
		}
494
		$users = $this->Order->User->find('list');
495
		$stores = $this->Order->Store->find('list');
496
		$storeOrders = $this->Order->StoreOrder->find('list');
497
		$this->set(compact('users', 'stores', 'storeOrders'));
498
	}
499
 
500
/**
501
 * admin_edit method
502
 *
503
 * @throws NotFoundException
504
 * @param string $id
505
 * @return void
506
 */
507
	public function admin_edit($id = null) {
15227 anikendra 508
		$this->checkAcl();
13532 anikendra 509
		if (!$this->Order->exists($id)) {
510
			throw new NotFoundException(__('Invalid order'));
511
		}
512
		if ($this->request->is(array('post', 'put'))) {
513
			if ($this->Order->save($this->request->data)) {
514
				$this->Session->setFlash(__('The order has been saved.'));
515
				return $this->redirect(array('action' => 'index'));
516
			} else {
517
				$this->Session->setFlash(__('The order could not be saved. Please, try again.'));
518
			}
519
		} else {
520
			$options = array('conditions' => array('Order.' . $this->Order->primaryKey => $id));
521
			$this->request->data = $this->Order->find('first', $options);
522
		}
523
		$users = $this->Order->User->find('list');
524
		$stores = $this->Order->Store->find('list');
525
		$storeOrders = $this->Order->StoreOrder->find('list');
526
		$this->set(compact('users', 'stores', 'storeOrders'));
527
	}
528
 
529
/**
530
 * admin_delete method
531
 *
532
 * @throws NotFoundException
533
 * @param string $id
534
 * @return void
535
 */
536
	public function admin_delete($id = null) {
15227 anikendra 537
		$this->checkAcl();
13532 anikendra 538
		$this->Order->id = $id;
539
		if (!$this->Order->exists()) {
540
			throw new NotFoundException(__('Invalid order'));
541
		}
542
		$this->request->onlyAllow('post', 'delete');
543
		if ($this->Order->delete()) {
544
			$this->Session->setFlash(__('The order has been deleted.'));
545
		} else {
546
			$this->Session->setFlash(__('The order could not be deleted. Please, try again.'));
547
		}
548
		return $this->redirect(array('action' => 'index'));
14354 anikendra 549
	}
550
 
551
	public function all() {
552
		$page = $this->request->query('page');
553
		$page = isset($page)?$page:1;
14509 anikendra 554
		// $userId = $this->request->query('user_id');
555
		// if(isset($userId) && !empty($userId)){
556
		// 	$this->loadModel('User');
557
		// 	$dbuser = $this->User->findById($userId);
558
		// 	$this->Auth->login($dbuser['User']);	
559
		// }
14354 anikendra 560
		$this->layout = "innerpages";
561
		$url = $this->apihost."orders/?page=$page&window=10";
562
		$response = $this->make_request($url,null);
14509 anikendra 563
		$totalPages = $response['totalPages'];		
14354 anikendra 564
		if(!empty($response['data'])){
565
			$this->set('orders',$response['data']);
566
		}
567
		$ignoredFields = array('imgUrl','status','productTitle','estimatedDeliveryDate','productCode','merchantSubOrderId','productUrl','closed','tracingkUrl','detailedStatus');
568
		$storemapping = Configure::read('storemapping');
569
		$activestores = Configure::read('activestores');
570
		$amazonorderurl = Configure::read('amazonorderurl');
571
		$allusers = $this->Order->User->find('all',array('fields'=>array('first_name','id'),'recursive'=>-1));
572
		foreach($allusers AS $user){
573
			$users[$user['User']['id']] = $user['User']['first_name'];
574
		}
15188 anikendra 575
		$this->layout = 'admin';
14354 anikendra 576
		$this->set(compact('ignoredFields','page','totalPages','userId','activestores','storemapping','amazonorderurl','users'));
577
	}
578
}