Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
15051 manas 1
<?php
2
App::uses('AppController', 'Controller');
3
/**
4
 * Retailers Controller
5
 *
6
 * @property Retailer $Retailer
7
 * @property PaginatorComponent $Paginator
8
 */
9
class RetailersController extends AppController {
10
 
11
/**
12
 * Components
13
 *
14
 * @var array
15
 */
16
	public $components = array('Paginator');
17
 
18
/**
19
 * index method
20
 *
21
 * @return void
22
 */
23
	public function index() {
24
		$this->layout = 'ajax';
25
		$this->Retailer->recursive = 0;
26
		$options = array('conditions'=>array('status' =>'new'));	
27
		$result = $this->Retailer->find('first',$options);
28
		$this->set(array(
29
		    'result' => $result,
30
		    '_serialize' => array('result')
31
		));
32
		$this->render('/Elements/json');
33
	}
34
public function notificationactive(){
35
		$retailerId = $this->request->query('retailerid');
36
		$options = array('conditions' => array('id'=> $retailerId,'status'=>'new','expiresAt >'=>date('Y-m-d H:i:s',time())));
37
		$count = $this->NotificationCampaign->find('count',$options);
38
 
39
		if(!$count){
40
			$result = array('success'=>false);
41
		}else{
42
			$result = array('success'=>true);
43
		}
44
 
45
		$this->response->type('json');
46
		$this->layout = 'ajax';
47
		$this->set(array(
48
		    'result' => $result,
49
		    '_serialize' => array('result')
50
		));
51
		$this->render('/Elements/json');
52
	}
53
 
54
	/*public function index() {	
55
		$this->layout = 'ajax';
56
		$t = $this->request->query('t');
57
		$retailer = $this->Mobileappsetting->find('one',$options);
58
		$options = array('fields'=>array("unix_timestamp(modified) t"),'order'=>array('modified'=>'desc'));
59
		$lasttimestamp = $this->Mobileappsetting->find('first',$options);		
60
		$result = array('settings' => $settings,'t'=>$lasttimestamp[0]['t']);
61
		$this->set(array(
62
		    'result' => $result,
63
		    '_serialize' => array('result')
64
		));
65
		$this->render('/Elements/json');
66
	}*/
67
/**
68
 * view method
69
 *
70
 * @throws NotFoundException
71
 * @param string $id
72
 * @return void
73
 */
74
	public function view($id = null) {
75
		if (!$this->Retailer->exists($id)) {
76
			throw new NotFoundException(__('Invalid retailer'));
77
		}
78
		$options = array('conditions' => array('Retailer.' . $this->Retailer->primaryKey => $id));
79
		$this->set('retailer', $this->Retailer->find('first', $options));
80
	}
81
 
82
/**
83
 * add method
84
 *
85
 * @return void
86
 */
87
	public function add() {
88
		if ($this->request->is('post')) {
89
			$this->Retailer->create();
90
			if ($this->Retailer->save($this->request->data)) {
91
				$this->Session->setFlash(__('The retailer has been saved.'));
92
				return $this->redirect(array('action' => 'index'));
93
			} else {
94
				$this->Session->setFlash(__('The retailer could not be saved. Please, try again.'));
95
			}
96
		}
97
	}
98
 
99
/**
100
 * edit method
101
 *
102
 * @throws NotFoundException
103
 * @param string $id
104
 * @return void
105
 */
106
	public function edit($id = null) {
107
		if (!$this->Retailer->exists($id)) {
108
			throw new NotFoundException(__('Invalid retailer'));
109
		}
110
		if ($this->request->is(array('post', 'put'))) {
111
			if ($this->Retailer->save($this->request->data)) {
112
				$this->Session->setFlash(__('The retailer has been saved.'));
113
				return $this->redirect(array('action' => 'index'));
114
			} else {
115
				$this->Session->setFlash(__('The retailer could not be saved. Please, try again.'));
116
			}
117
		} else {
118
			$options = array('conditions' => array('Retailer.' . $this->Retailer->primaryKey => $id));
119
			$this->request->data = $this->Retailer->find('first', $options);
120
		}
121
	}
122
 
123
/**
124
 * delete method
125
 *
126
 * @throws NotFoundException
127
 * @param string $id
128
 * @return void
129
 */
130
	public function delete($id = null) {
131
		$this->Retailer->id = $id;
132
		if (!$this->Retailer->exists()) {
133
			throw new NotFoundException(__('Invalid retailer'));
134
		}
135
		$this->request->onlyAllow('post', 'delete');
136
		if ($this->Retailer->delete()) {
137
			$this->Session->setFlash(__('The retailer has been deleted.'));
138
		} else {
139
			$this->Session->setFlash(__('The retailer could not be deleted. Please, try again.'));
140
		}
141
		return $this->redirect(array('action' => 'index'));
142
	}
143
 
144
/**
145
 * admin_index method
146
 *
147
 * @return void
148
 */
149
	public function admin_index() {
150
		$this->Retailer->recursive = 0;
151
		$this->set('retailers', $this->Paginator->paginate());
152
	}
153
 
154
/**
155
 * admin_view method
156
 *
157
 * @throws NotFoundException
158
 * @param string $id
159
 * @return void
160
 */
161
	public function admin_view($id = null) {
162
		if (!$this->Retailer->exists($id)) {
163
			throw new NotFoundException(__('Invalid retailer'));
164
		}
165
		$options = array('conditions' => array('Retailer.' . $this->Retailer->primaryKey => $id));
166
		$this->set('retailer', $this->Retailer->find('first', $options));
167
	}
168
 
169
/**
170
 * admin_add method
171
 *
172
 * @return void
173
 */
174
	public function admin_add() {
175
		if ($this->request->is('post')) {
176
			$this->Retailer->create();
177
			if ($this->Retailer->save($this->request->data)) {
178
				$this->Session->setFlash(__('The retailer has been saved.'));
179
				return $this->redirect(array('action' => 'index'));
180
			} else {
181
				$this->Session->setFlash(__('The retailer could not be saved. Please, try again.'));
182
			}
183
		}
184
	}
185
 
186
/**
187
 * admin_edit method
188
 *
189
 * @throws NotFoundException
190
 * @param string $id
191
 * @return void
192
 */
193
	public function admin_edit($id = null) {
194
		if (!$this->Retailer->exists($id)) {
195
			throw new NotFoundException(__('Invalid retailer'));
196
		}
197
		if ($this->request->is(array('post', 'put'))) {
198
			if ($this->Retailer->save($this->request->data)) {
199
				$this->Session->setFlash(__('The retailer has been saved.'));
200
				return $this->redirect(array('action' => 'index'));
201
			} else {
202
				$this->Session->setFlash(__('The retailer could not be saved. Please, try again.'));
203
			}
204
		} else {
205
			$options = array('conditions' => array('Retailer.' . $this->Retailer->primaryKey => $id));
206
			$this->request->data = $this->Retailer->find('first', $options);
207
		}
208
	}
209
 
210
/**
211
 * admin_delete method
212
 *
213
 * @throws NotFoundException
214
 * @param string $id
215
 * @return void
216
 */
217
	public function admin_delete($id = null) {
218
		$this->Retailer->id = $id;
219
		if (!$this->Retailer->exists()) {
220
			throw new NotFoundException(__('Invalid retailer'));
221
		}
222
		$this->request->onlyAllow('post', 'delete');
223
		if ($this->Retailer->delete()) {
224
			$this->Session->setFlash(__('The retailer has been deleted.'));
225
		} else {
226
			$this->Session->setFlash(__('The retailer could not be deleted. Please, try again.'));
227
		}
228
		return $this->redirect(array('action' => 'index'));
229
	}
230
 
19748 naman 231
	public function admin_pendingretailer(){
232
// 		$options['conditions'] = array('status LIKE '=>"%$search%");
233
		$opt = array('conditions' => array('status'=> 'pending_verification'));
234
		$pending = $this->Retailer->find('all',$opt);
235
		$this->set(compact('pending'));
236
	}
15051 manas 237
 
19768 naman 238
	public function admin_verifiedretailer(){
239
		$opt['conditions']= array('status' => 'retailer_verified');
240
		$verified = $this->Retailer->find('all',$opt);
241
		$this->set(compact('verified'));
242
	}
243
 
21011 amit.gupta 244
	public function admin_activate($id, $userid) {
245
		$agentid = Configure::read('agentid');
246
		$code = Configure::read('activation_code_crm');
247
		$cur_date = date('Y-m-d H:i:s', time());
21027 amit.gupta 248
		$retailerlinks="insert into retailerlinks (retailer_id, agent_id, code, activated, user_id, created)
21026 amit.gupta 249
													values ($id, $agentid, '$code','$cur_date', $userid, '$cur_date')";
21014 amit.gupta 250
		$this->Retailer->query($retailerlinks);		
21032 amit.gupta 251
		$activateuserquery = "update users set activated=1, referrer='$code' where id=$userid";
21014 amit.gupta 252
		$this->Retailer->query($activateuserquery);		
21029 amit.gupta 253
		$this->markUserActivated($userid);
21011 amit.gupta 254
 
255
		$this->redirect("pendingretailer");
256
 
257
	}
258
 
19748 naman 259
	public function admin_retailerverify($id,$tin){
19793 naman 260
		$agentid = Configure::read('agentid');
19768 naman 261
		if($this->request->is('post')){
262
			$data = $this->request->data;
263
			$retId = $data['Retailer']['retId'];
264
			$retcontact = $data['Retailer']['contact'];
19789 naman 265
			$cur_date = date('Y-m-d H:i:s', time());
19768 naman 266
			if($data['type'] == "Verify"){
19775 naman 267
				$retquery ="update retailers set status = 'retailer_verified' ,modified = '".$cur_date."' , isvalidated = 1  where id = ".$retId."";
19768 naman 268
				$this->Retailer->query($retquery);
269
			}elseif($data['type'] == "Cancel"){
19775 naman 270
				$retquery ="update retailers set status = 'not_verified' ,modified = '".$cur_date."' , comments = '".$data['Retailer']['text']."' where id = ".$retId."";
19768 naman 271
				$this->Retailer->query($retquery);
272
 
273
				$callhistoryquery = "insert into callhistory 
274
						(retailer_id,agent_id,mobile_number,call_type,sms_verified,call_time,duration_sec,
275
						last_fetch_time,call_disposition,disposition_description,disposition_comments,created) 
276
						values 
19793 naman 277
						(".$retId.",".$agentid.",'".$retcontact."','verification',0,'".$cur_date."',0,'".$cur_date."',
19775 naman 278
						'other','verification cancelled','".$data['Retailer']['text']."','".$cur_date."')";
19768 naman 279
				$this->Retailer->query($callhistoryquery);
280
			}elseif($data['type'] == "Pending"){
19775 naman 281
				$retquery ="update retailers set comments = '".$data['Retailer']['text']."' ,modified = '".$cur_date."' where id = ".$retId."";
19768 naman 282
				$this->Retailer->query($retquery);
283
				$callhistoryquery = "insert into callhistory
284
						(retailer_id,agent_id,mobile_number,call_type,sms_verified,call_time,duration_sec,
285
						last_fetch_time,call_disposition,disposition_description,disposition_comments,created)
286
						values
19793 naman 287
						(".$retId.",".$agentid.",'".$retcontact."','verification',0,'".$cur_date."',0,'".$cur_date."',
19775 naman 288
						'other','verification still in process','".$data['Retailer']['text']."','".$cur_date."')";
19768 naman 289
				$this->Retailer->query($callhistoryquery);
290
			}
291
			$this->redirect("pendingretailer");
292
		}
19748 naman 293
		$options['conditions'] = array('id'=> $id);
294
		$pending = $this->Retailer->find('first',$options);
295
		$result = $pending['Retailer'];
296
		$tinresult = "";
297
		if($tin != null){
298
			$url = Configure::read('pythonapihost')."tinsearch?tin=".$tin;
299
			$tinres = $this->make_request($url, null);
300
			if(!$tinres['isError']){
301
				$tinresult = $tinres;
302
				$this->set(compact('tinresult'));
303
			}
304
		}
305
		$this->set(compact('result'));
306
	}
19768 naman 307
 
308
 
309
	public function sendsms(){
310
		$this->autoRender = false;
311
		$this->request->onlyAllow('ajax');
19793 naman 312
		$agentid = Configure::read('agentid');
19768 naman 313
		$contact = $this->request->query('contact');
314
		$retid = $this->request->query('retid');
19793 naman 315
		$url = Configure::read('pythonapihost')."sendTransSms/code/".$retid."/".$agentid;
19768 naman 316
// 		$url = "http://45.79.106.95:8057/sendTransSms/code/6836700/2";
317
		if($contact != null || !empty($contact)){
318
			$url = $url."?mobile_number=".$contact;
19748 naman 319
		}
19768 naman 320
		$response = $this->make_request($url,'{}');
321
 
322
		return json_encode($response);
19748 naman 323
	}
19825 naman 324
 
325
	public function admin_editretailer($id){
326
		if($this->request->is('post') || $this->request->is('put')){
327
			$retdet = $this->request->data['Retailer'];
328
			$cur_date = date('Y-m-d H:i:s', time());
329
			if($retdet['tinNumber'] == '' || empty($retdet['tinNumber']))
330
			{
331
				$upquery = "update retailers set title = '".$retdet['storeName']."' , address = '".$retdet['completeAddress']."',pin = ".$retdet['pin'].",tinnumber = NULL,city = '".$retdet['city']."',state='".$retdet['state']."' , modified='".$cur_date."' where id =".$retdet['id']."";
332
			}
333
			else{
334
				$upquery = "update retailers set title = '".$retdet['storeName']."' , address = '".$retdet['completeAddress']."',pin = ".$retdet['pin'].",tinnumber = ".$retdet['tinNumber'].",city = '".$retdet['city']."',state='".$retdet['state']."' , modified='".$cur_date."' where id =".$retdet['id']."";
335
			}
336
 
337
 
338
 
339
			$this->Retailer->query($upquery);
340
			$this->redirect("retailerverify/".$retdet['id']."/".$retdet['tinNumber']);
341
		}
342
		if($id !=null){
343
			$opt['conditions'] = array('id' => $id);
344
			$retailer = $this->Retailer->find('first',$opt);
345
			$this->set(compact('retailer'));
346
 
347
		}
348
	}
19841 naman 349
 
350
	public function admin_filterretailer(){
351
 
352
		if($this->request->is('post')){
353
			$filter = $this->request->data['Retailer']['searchReatailerBy'];
354
// 			debug($retdet);
355
			if($filter == '0'){
20892 amit.gupta 356
				$cnaquery ="select r.*, rl.code from retailers r join profitmandi_sms p on r.id=p.identifier join retailerlinks rl on r.id= rl.retailer_id and rl.user_id is not null order by r.id desc";
19841 naman 357
			}else if($filter == '1') {
20892 amit.gupta 358
				$cnaquery ="select r.*, rl.code from retailers r join profitmandi_sms p on r.id=p.identifier join retailerlinks rl on r.id= rl.retailer_id and rl.user_id is null order by r.id desc";
19841 naman 359
			}else if($filter == '2') {
20889 amit.gupta 360
				$cnaquery ="select r.* from retailers r where r.status = 'not_verified' order by r.id desc";
19841 naman 361
			}
362
 
20896 amit.gupta 363
			$result = $this->Retailer->query($cnaquery);;
19841 naman 364
			$this->set(compact('result'));
365
		}		
366
 
367
 
368
 
369
	}
15051 manas 370
}