Subversion Repositories SmartDukaan

Rev

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