Subversion Repositories SmartDukaan

Rev

Rev 17110 | Rev 17287 | 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();
16907 naman 122
		$total_credited_amount = 0;
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);
16907 naman 130
				$total_credited_amount =$total_credited_amount + $value['userAmount'];
17109 naman 131
				if($value['type']== 'Order')
132
				{
133
					$creditValueArray['amount'] = $value['userAmount'];
134
					$creditValueArray['type'] = $value['type'];
135
					$creditValueArray['fortbatchid'] = $value['batch'];
136
					$creditValueArray['creditedDate'] = date('Y-m-d',strtotime($value['timestamp']));
137
					// $creditKeyArray[date('Y-m-d',strtotime($value['timestamp']))] = $creditValueArray;
138
					$creditKeyArray[date('Y-m-d',strtotime($value['timestamp'])).$value['type']] = $creditValueArray;
139
				}
140
 
13993 anikendra 141
			}
142
		}
14026 anikendra 143
		$storemapping = Configure::read('storemapping');
144
		$activestores = Configure::read('activestores');
16628 anikendra 145
		//App related cashbacks
146
		$this->loadModel('UserAppCashback');
147
		$this->loadModel('UserAppInstall');
148
		//Compute last two fortnight ids
149
		$fortnightIds = array();
150
		if(date('d',time())<=15){
16784 anikendra 151
			$fortnightIds[] = 2*(date('m',time())-1)-1;
16629 anikendra 152
			$fortnightIds[] = 2*(date('m',time())-1);
16628 anikendra 153
		}else{
16784 anikendra 154
			$fortnightIds[] = 2*(date('m',time())-1);
16628 anikendra 155
			$fortnightIds[] = 2*(date('m',time())-1)+1;
156
		}
157
		$cashBacks = array();
16893 naman 158
 
159
		// Approved Start
160
 
16840 naman 161
		$url = $this->apihost.'appUserCashBack/'.$userId.'/Approved';
162
		$getapproved = $this->make_request($url,null);
163
		$fortnight = array();
164
		$fortnight_amount = array();
165
		$counter = 0;
166
		$total_approved_amount = 0;
167
		$current_date =  date("Y");
168
		foreach ($getapproved["UserAppCashBack"] as $key => $value) {
169
			 $fortnight[$counter] = $value["fortnightOfYear"];
170
			 $fortnight_amount[$counter] = $value["amount"];
171
			 $total_approved_amount += $value["amount"];
172
			 $counter++;
173
		}
174
		$approvedFortnight = array();
175
		for($i=0; $i<count($fortnight); $i++){
176
			$url = $this->apihost.'appUserBatchDrillDown/'.$userId.'/'.$fortnight[$i].'/'.$current_date;
16983 naman 177
			$approvedFortnight[$i] = $this->make_request($url,null);
16840 naman 178
		// $url = $this->apihost.'appUserBatchDrillDown/1/16/2015';
179
		// $approvedFortnight[] = $this->make_request($url,null);
180
		}
16983 naman 181
		// debug($approvedFortnight);
16840 naman 182
		$this->set(compact('fortnight','total_approved_amount','fortnight_amount','approvedFortnight'));		
16893 naman 183
	// Approved End	
16840 naman 184
 
16893 naman 185
	// App Credit Start
186
		$creditedFortnight = array();
187
		$url = $this->apihost.'appUserCashBack/'.$userId.'/Credited';
188
		$getcredited = $this->make_request($url,null);
17110 naman 189
		// debug($getcredited);
16893 naman 190
		foreach ($getcredited['UserAppCashBack'] as $key => $value) {
16840 naman 191
 
17109 naman 192
 
193
 
16893 naman 194
			$url = $this->apihost.'appUserBatchDrillDown/'.$userId.'/'.$value['fortnightOfYear'].'/'.$value['yearVal'];
195
			$creditedFortnight[$value['fortnightOfYear']] = $this->make_request($url,null);
196
 
197
			$creditValueArray['amount'] = $value['amount'];
17104 anikendra 198
			// $total_credited_amount = $total_credited_amount + $value['amount'];
16893 naman 199
			$creditValueArray['type'] = 'App';
200
			$creditValueArray['fortbatchid'] = $value['fortnightOfYear'];
17109 naman 201
			$creditValueArray['creditedDate'] = $value['creditedDate'];
202
			$creditKeyArray[$value['creditedDate'].'App'] = $creditValueArray;
203
			// echo "total credit",$total_credited_amount;
16893 naman 204
			// echo $url;
205
		}
206
 
207
		ksort($creditKeyArray);
16907 naman 208
		$this->set(compact('getcredited','creditedFortnight','creditKeyArray','total_credited_amount'));
16893 naman 209
		// debug($creditedFortnight);
210
	// App Credit End
211
 
212
 
16628 anikendra 213
		foreach ($fortnightIds AS $fortnightId){
16712 naman 214
			$appInstalls = array();
16628 anikendra 215
			$options = array('conditions'=>array('fortnightOfYear'=>$fortnightId,'user_id'=>$this->Auth->User('id')),'fields'=>array('status','amount'));
216
			$temp = $this->UserAppCashback->find('first',$options);
16681 anikendra 217
			if(isset($temp) && !empty($temp)){
218
				$cashBacks[$temp['UserAppCashback']['status']]['amount'] = $temp['UserAppCashback']['amount'];
16712 naman 219
				$cashBacks[$temp['UserAppCashback']['status']]['fortnightOfYear'] = $fortnightId;
220
				// debug($fortnightId);
16681 anikendra 221
				$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');
222
				$installs = $this->UserAppInstall->find('all',$options);			
223
				if(!empty($installs)){
224
					foreach ($installs as $key => $value) {
225
						$appInstalls[$value['UserAppInstall']['transaction_date']] = $value[0];					
226
					}
227
					$cashBacks[$temp['UserAppCashback']['status']]['installs'] = $appInstalls;
16628 anikendra 228
				}
229
			}
230
		}
13993 anikendra 231
		if(!empty($response['data'])){
16628 anikendra 232
			$this->set(compact('storemapping','activestores','pendingOrders','approvedOrders','creditedOrders','pendingCashbacks','creditedCashbacks','pendingAmount','approvedAmount','creditedAmount','cashBacks'));
13993 anikendra 233
		}
13762 anikendra 234
	}
235
 
16840 naman 236
	public function getAppByDate($date) {
237
		$url = $this->apihost.'appUserBatchDateDrillDown/1/'.$date;
238
		$getApp = $this->make_request($url,null);
239
		echo $getApp;
240
	}
241
 
15217 anikendra 242
	public function usercashbacks($userId) {		
243
		$this->layout = "innerpages";
244
		$url = $this->apihost."storeorder/user/".$userId."?page=1&window=50";
245
		$response = $this->make_request($url,null);
246
		// debug($response);
247
		$creditedOrders = $pendingOrders = $approvedOrders = array();
248
		$creditedAmount = $pendingAmount = $approvedAmount = 0;
249
		if(!empty($response['data'])){
250
			foreach ($response['data'] as $key => $order) {
251
				if(!empty($order['subOrders'])){
252
					foreach ($order['subOrders'] as $key => $suborder) {
253
						$suborder['storeId'] = $order['storeId'];
254
						if($order['storeId']!=4){
255
							$suborder['merchantOrderId'] = $order['merchantOrderId'];
256
						} else {
257
							$suborder['merchantOrderId'] = $suborder['merchantSubOrderId'];
258
						}
259
						if(!empty($order['orderTrackingUrl'])){
260
							$suborder['orderSuccessUrl'] = $order['orderTrackingUrl'];
261
						}
262
						switch($suborder['cashBackStatus']){
263
							// case 'Credited to wallet'://Credited
264
							// $creditedOrders[] = $suborder;
265
							// break;
266
							case 'Approved':
267
							$approvedOrders[] = $suborder;
268
							$approvedAmount += $suborder['cashBackAmount'];
269
							break;
270
							case 'Pending':
271
							$pendingOrders[] = $suborder;
272
							// $pendingAmount += $suborder['cashBackAmount'];
273
						}
274
					}
275
				}
276
			}
277
		}
278
		$url = $this->apihost.'pending-cashbacks/user/'.$userId;
279
		$result = $this->make_request($url,null);
280
		$pendingAmount = $result['amount'];
281
		//Get pending cashbacks
282
		$url = $this->apihost.'pending-refunds/user/'.$userId;
283
		$pendingCashbacks = $this->make_request($url,null);
284
		//Get credited cashbacks
285
		$url = $this->apihost.'refund/user/'.$userId;
286
		$creditedCashbacks = $this->make_request($url,null);
287
 
17201 naman 288
		// if(!empty($creditedCashbacks)){
289
		// 	foreach ($creditedCashbacks['data'] as $key => $value) {
290
		// 		$creditedAmount += $value['userAmount'];				
291
		// 		$data = array('subOrders.batchId'=>$value['batch']);
292
		// 		$jsonVar = json_encode($data);
293
		// 		$url = $this->apihost."storeorder/user/".$userId."?page=1&window=50&searchMap=$jsonVar";
294
		// 		$creditedOrders[$value['batch']] = $this->make_request($url,null);
295
		// 		// debug($creditedOrders);
296
		// 	}
297
		// }
298
 
299
		$creditKeyArray = array();
300
		$creditValueArray = array();
301
		$total_credited_amount = 0;
15217 anikendra 302
		if(!empty($creditedCashbacks)){
303
			foreach ($creditedCashbacks['data'] as $key => $value) {
304
				$creditedAmount += $value['userAmount'];				
305
				$data = array('subOrders.batchId'=>$value['batch']);
306
				$jsonVar = json_encode($data);
17201 naman 307
				$url = $this->apihost."storeorder/user/".$this->Auth->User('id')."?page=1&window=50&searchMap=$jsonVar";
15217 anikendra 308
				$creditedOrders[$value['batch']] = $this->make_request($url,null);
17201 naman 309
				$total_credited_amount =$total_credited_amount + $value['userAmount'];
310
				if($value['type']== 'Order')
311
				{
312
					$creditValueArray['amount'] = $value['userAmount'];
313
					$creditValueArray['type'] = $value['type'];
314
					$creditValueArray['fortbatchid'] = $value['batch'];
315
					$creditValueArray['creditedDate'] = date('Y-m-d',strtotime($value['timestamp']));
316
					// $creditKeyArray[date('Y-m-d',strtotime($value['timestamp']))] = $creditValueArray;
317
					$creditKeyArray[date('Y-m-d',strtotime($value['timestamp'])).$value['type']] = $creditValueArray;
318
				}
319
 
15217 anikendra 320
			}
321
		}
17201 naman 322
 
15217 anikendra 323
		$storemapping = Configure::read('storemapping');
324
		$activestores = Configure::read('activestores');
17201 naman 325
 
326
	// App Credit Start
327
		$creditedFortnight = array();
328
		$url = $this->apihost.'appUserCashBack/'.$userId.'/Credited';
329
		$getcredited = $this->make_request($url,null);
330
		// debug($getcredited);
331
		foreach ($getcredited['UserAppCashBack'] as $key => $value) {
332
 
333
 
334
 
335
			$url = $this->apihost.'appUserBatchDrillDown/'.$userId.'/'.$value['fortnightOfYear'].'/'.$value['yearVal'];
336
			$creditedFortnight[$value['fortnightOfYear']] = $this->make_request($url,null);
337
 
338
			$creditValueArray['amount'] = $value['amount'];
339
			// $total_credited_amount = $total_credited_amount + $value['amount'];
340
			$creditValueArray['type'] = 'App';
341
			$creditValueArray['fortbatchid'] = $value['fortnightOfYear'];
342
			$creditValueArray['creditedDate'] = $value['creditedDate'];
343
			$creditKeyArray[$value['creditedDate'].'App'] = $creditValueArray;
344
			// echo "total credit",$total_credited_amount;
345
			// echo $url;
346
		}
347
 
348
		ksort($creditKeyArray);
349
		// debug($creditKeyArray);
350
		$this->set(compact('getcredited','creditedFortnight','creditKeyArray','total_credited_amount'));
351
		// debug($creditedFortnight);
352
	// App Credit End
15217 anikendra 353
		if(!empty($response['data'])){
354
			$this->set(compact('storemapping','activestores','pendingOrders','approvedOrders','creditedOrders','pendingCashbacks','creditedCashbacks','pendingAmount','approvedAmount','creditedAmount'));
355
		}
356
	}
357
 
15227 anikendra 358
/*
13532 anikendra 359
	public function index() {
13591 anikendra 360
		throw new NotFoundException(__('Access Denied'));
13532 anikendra 361
		$this->Order->recursive = 0;
362
		$this->set('orders', $this->Paginator->paginate());
363
	}
364
 
15227 anikendra 365
 
13532 anikendra 366
	public function view($id = null) {
13591 anikendra 367
		throw new NotFoundException(__('Access Denied'));
13532 anikendra 368
		if (!$this->Order->exists($id)) {
369
			throw new NotFoundException(__('Invalid order'));
370
		}
371
		$options = array('conditions' => array('Order.' . $this->Order->primaryKey => $id));
372
		$this->set('order', $this->Order->find('first', $options));
373
	}
15227 anikendra 374
*/
375
 
13532 anikendra 376
/**
377
 * add method
378
 *
379
 * @return void
380
 */
13814 anikendra 381
 
382
	public function postOrders($order=null) {
13994 anikendra 383
		// Configure::load('live');
13814 anikendra 384
		$apihost = Configure::read('pythonapihost');
385
		$url = $apihost."storeorder";
386
		if(!empty($order)) {
387
			$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']);
388
			$jsonVar = json_encode($params);
389
			return $this->make_request($url,$jsonVar);
390
		}else{
391
			$result = array('success'=>false,'message'=>'Empty order array');
392
			return $result;
393
		}
394
	}
395
 
13532 anikendra 396
	public function add() {
14933 amit.gupta 397
		$this->log(print_r($this->request->data,1),'orders');
13532 anikendra 398
		if ($this->request->is('post')) {
14886 amit.gupta 399
			if($this->request->data['zip']){
14933 amit.gupta 400
				$this->request->data['rawhtml'] = gzuncompress(base64_decode($this->request->data['rawhtml'])); 
14886 amit.gupta 401
			}
402
			$this->log(print_r($this->request->data,1),'orders');
14315 anikendra 403
			if(empty($this->request->data['id'])) {
404
				$this->Order->create();
13633 anikendra 405
			}
15093 anikendra 406
			$this->request->data['ip'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
13532 anikendra 407
			if ($this->Order->save($this->request->data)) {
14315 anikendra 408
				//$this->loadModel('PythonApi');	
409
				if(empty($this->request->data['id'])) {
410
					$id = $this->Order->getLastInsertID();
411
				}else{
412
					$id = $this->request->data['id'];
413
				}
414
				$order = $this->Order->find('first',array('conditions'=>array('id'=>$id),'recursive'=>-1));
13814 anikendra 415
				$response = $this->postOrders($order);
416
				$this->log(print_r($response,1),'orders');
417
				if(!empty($response) && $response['result']) {
14315 anikendra 418
					//if($response['result'] == 'HTML_REQUIRED' || $response['result'] == 'requireHtml') {
419
					if($response['htmlRequired'] == 1) {
13814 anikendra 420
						$this->loadModel('Rawhtml');
421
						$data = array('order_id' => $order['Order']['id'],'url' => $response['url'], 'status' => 'new');
422
						$this->Rawhtml->create();
423
						$this->Rawhtml->save($data); 
14315 anikendra 424
						//$result =array('success'=>true,'message'=>__('requireHtml'),'url' => $response['url'],'orderId' => $response['orderId']);
425
						$result =  $response;
426
						$sql = "UPDATE orders SET status = '".$response['result']."' WHERE id = ".$order['Order']['id'];
427
					}/* elseif($response['result'] == 'IGNORED') {
13814 anikendra 428
						$result =array('success'=>true,'message'=>__('IGNORED'));
429
						$sql = "UPDATE orders SET status = 'deleted' WHERE id = ".$order['Order']['id'];
430
					} elseif($response['result'] == 'PARSE_ERROR') {
431
						$result =array('success'=>true,'message'=>__('PARSE_ERROR'));
432
						$sql = "UPDATE orders SET status = 'deleted' WHERE id = ".$order['Order']['id'];
14315 anikendra 433
					} */
434
					else {
435
						$result =array('success'=>true,'message'=> $response['result']);
436
						$sql = "UPDATE orders SET status = '".$response['result']."' WHERE id = ".$order['Order']['id'];
13814 anikendra 437
					}
438
					$this->Order->query($sql);
439
				}
440
				//$result = array('success'=>true,'message'=>__('HTML_REQUIRED'),'url'=>'https://www.amazon.in/gp/css/summary/edit.html?orderID=404-7369214-6566739');
13633 anikendra 441
/*
442
				$options = array('conditions'=>array('status'=>'mapped'),'recursive'=>-1);
443
				$order = $this->Order->find('first',$options);
444
				if(!empty($orders)) {
445
					foreach($orders AS $order) {
446
						$response = $this->PythonApi->postOrders($order);
447
						if(!empty($response) && $response['result']) {
448
							$sql = "UPDATE orders SET status = 'processed' WHERE id = ".$order['Order']['id'];
449
							$this->Order->query($sql);
450
						}
451
					}
452
				}
453
*/
13532 anikendra 454
			} else {
14315 anikendra 455
				$this->log(print_r($this->Order->validationErrors,1),'orders');
13591 anikendra 456
				$result = array('success'=>false,'message'=>__('The order could not be saved. Please, try again.'));
13532 anikendra 457
			}
13591 anikendra 458
			$this->response->type('json');
459
			$this->layout = 'ajax';
460
			$this->set(array(
14315 anikendra 461
			    'result' => $response,
13591 anikendra 462
			    // 'callback' => $callback,
463
			    '_serialize' => array('result')
464
			));
465
			$this->render('/Elements/json');		
466
		}			
13532 anikendra 467
	}
468
 
15227 anikendra 469
/*
470
 
13532 anikendra 471
	public function edit($id = null) {
13591 anikendra 472
		throw new NotFoundException(__('Access Denied'));
13532 anikendra 473
		if (!$this->Order->exists($id)) {
474
			throw new NotFoundException(__('Invalid order'));
475
		}
476
		if ($this->request->is(array('post', 'put'))) {
477
			if ($this->Order->save($this->request->data)) {
478
				$this->Session->setFlash(__('The order has been saved.'));
479
				return $this->redirect(array('action' => 'index'));
480
			} else {
481
				$this->Session->setFlash(__('The order could not be saved. Please, try again.'));
482
			}
483
		} else {
484
			$options = array('conditions' => array('Order.' . $this->Order->primaryKey => $id));
485
			$this->request->data = $this->Order->find('first', $options);
486
		}
487
		$users = $this->Order->User->find('list');
488
		$stores = $this->Order->Store->find('list');
489
		$storeOrders = $this->Order->StoreOrder->find('list');
490
		$this->set(compact('users', 'stores', 'storeOrders'));
491
	}
492
 
15227 anikendra 493
 
13532 anikendra 494
	public function delete($id = null) {
13591 anikendra 495
		throw new NotFoundException(__('Access Denied'));
13532 anikendra 496
		$this->Order->id = $id;
497
		if (!$this->Order->exists()) {
498
			throw new NotFoundException(__('Invalid order'));
499
		}
500
		$this->request->onlyAllow('post', 'delete');
501
		if ($this->Order->delete()) {
502
			$this->Session->setFlash(__('The order has been deleted.'));
503
		} else {
504
			$this->Session->setFlash(__('The order could not be deleted. Please, try again.'));
505
		}
506
		return $this->redirect(array('action' => 'index'));
507
	}
15227 anikendra 508
*/
13532 anikendra 509
 
510
/**
511
 * admin_index method
512
 *
513
 * @return void
514
 */
515
	public function admin_index() {
15227 anikendra 516
		$this->checkAcl();
13532 anikendra 517
		$this->Order->recursive = 0;
518
		$this->set('orders', $this->Paginator->paginate());
519
	}
520
 
521
/**
522
 * admin_view method
523
 *
524
 * @throws NotFoundException
525
 * @param string $id
526
 * @return void
527
 */
528
	public function admin_view($id = null) {
15227 anikendra 529
		$this->checkAcl();
13532 anikendra 530
		if (!$this->Order->exists($id)) {
531
			throw new NotFoundException(__('Invalid order'));
532
		}
533
		$options = array('conditions' => array('Order.' . $this->Order->primaryKey => $id));
534
		$this->set('order', $this->Order->find('first', $options));
535
	}
536
 
537
/**
538
 * admin_add method
539
 *
540
 * @return void
541
 */
542
	public function admin_add() {
15227 anikendra 543
		$this->checkAcl();
13532 anikendra 544
		if ($this->request->is('post')) {
545
			$this->Order->create();
546
			if ($this->Order->save($this->request->data)) {
547
				$this->Session->setFlash(__('The order has been saved.'));
548
				return $this->redirect(array('action' => 'index'));
549
			} else {
550
				$this->Session->setFlash(__('The order could not be saved. Please, try again.'));
551
			}
552
		}
553
		$users = $this->Order->User->find('list');
554
		$stores = $this->Order->Store->find('list');
555
		$storeOrders = $this->Order->StoreOrder->find('list');
556
		$this->set(compact('users', 'stores', 'storeOrders'));
557
	}
558
 
559
/**
560
 * admin_edit method
561
 *
562
 * @throws NotFoundException
563
 * @param string $id
564
 * @return void
565
 */
566
	public function admin_edit($id = null) {
15227 anikendra 567
		$this->checkAcl();
13532 anikendra 568
		if (!$this->Order->exists($id)) {
569
			throw new NotFoundException(__('Invalid order'));
570
		}
571
		if ($this->request->is(array('post', 'put'))) {
572
			if ($this->Order->save($this->request->data)) {
573
				$this->Session->setFlash(__('The order has been saved.'));
574
				return $this->redirect(array('action' => 'index'));
575
			} else {
576
				$this->Session->setFlash(__('The order could not be saved. Please, try again.'));
577
			}
578
		} else {
579
			$options = array('conditions' => array('Order.' . $this->Order->primaryKey => $id));
580
			$this->request->data = $this->Order->find('first', $options);
581
		}
582
		$users = $this->Order->User->find('list');
583
		$stores = $this->Order->Store->find('list');
584
		$storeOrders = $this->Order->StoreOrder->find('list');
585
		$this->set(compact('users', 'stores', 'storeOrders'));
586
	}
587
 
588
/**
589
 * admin_delete method
590
 *
591
 * @throws NotFoundException
592
 * @param string $id
593
 * @return void
594
 */
595
	public function admin_delete($id = null) {
15227 anikendra 596
		$this->checkAcl();
13532 anikendra 597
		$this->Order->id = $id;
598
		if (!$this->Order->exists()) {
599
			throw new NotFoundException(__('Invalid order'));
600
		}
601
		$this->request->onlyAllow('post', 'delete');
602
		if ($this->Order->delete()) {
603
			$this->Session->setFlash(__('The order has been deleted.'));
604
		} else {
605
			$this->Session->setFlash(__('The order could not be deleted. Please, try again.'));
606
		}
607
		return $this->redirect(array('action' => 'index'));
14354 anikendra 608
	}
609
 
610
	public function all() {
611
		$page = $this->request->query('page');
612
		$page = isset($page)?$page:1;
14509 anikendra 613
		// $userId = $this->request->query('user_id');
614
		// if(isset($userId) && !empty($userId)){
615
		// 	$this->loadModel('User');
616
		// 	$dbuser = $this->User->findById($userId);
617
		// 	$this->Auth->login($dbuser['User']);	
618
		// }
14354 anikendra 619
		$this->layout = "innerpages";
620
		$url = $this->apihost."orders/?page=$page&window=10";
621
		$response = $this->make_request($url,null);
14509 anikendra 622
		$totalPages = $response['totalPages'];		
14354 anikendra 623
		if(!empty($response['data'])){
624
			$this->set('orders',$response['data']);
625
		}
626
		$ignoredFields = array('imgUrl','status','productTitle','estimatedDeliveryDate','productCode','merchantSubOrderId','productUrl','closed','tracingkUrl','detailedStatus');
627
		$storemapping = Configure::read('storemapping');
628
		$activestores = Configure::read('activestores');
629
		$amazonorderurl = Configure::read('amazonorderurl');
630
		$allusers = $this->Order->User->find('all',array('fields'=>array('first_name','id'),'recursive'=>-1));
631
		foreach($allusers AS $user){
632
			$users[$user['User']['id']] = $user['User']['first_name'];
633
		}
15188 anikendra 634
		$this->layout = 'admin';
14354 anikendra 635
		$this->set(compact('ignoredFields','page','totalPages','userId','activestores','storemapping','amazonorderurl','users'));
636
	}
637
}