Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 16822 | Rev 16929 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
16758 efrain 1
<?php
2
$acl            = $this->viewModel()->getRoot()->getVariable('acl');
3
$currentUser    = $this->currentUserHelper();
4
 
5
$routeReports = $this->url('discovery-contacts/report');
6
$routeDownload = $this->url('discovery-contacts/report/download');
7
 
8
$roleName = $currentUser->getUserTypeId();
9
 
10
 
16822 efrain 11
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/nprogress/nprogress.css'));
12
$this->inlineScript()->appendFile($this->basePath('assets/vendors/nprogress/nprogress.js'));
13
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jsrender/jsrender.js'));
16758 efrain 14
 
15
/*
16
$this->headStyle()->captureStart();
17
echo <<<CSS
18
 
19
 
20
#tableContact {
21
    display: flex;
22
    flex-flow: column;
23
    width: 100%;
24
}
25
 
26
#tableContact thead {
27
    flex: 0 0 auto;
28
}
29
 
30
#tableContact tbody {
31
    flex: 1 1 auto;
32
    display: block;
33
    overflow-y: auto;
34
    overflow-x: hidden;
35
}
36
 
37
#tableContact tr {
38
    width: 100%;
39
    display: table;
40
    table-layout: fixed;
41
}
42
CSS;
43
$this->headStyle()->captureEnd();
44
*/
45
 
46
 
47
 
48
$this->inlineScript()->captureStart();
49
echo <<<JS
50
jQuery( document ).ready(function( $ ) {
51
 
52
    $.fn.changeFilter = function() {
53
        NProgress.start();
54
        $.ajax({
55
            'dataType'  : 'json',
56
            'accept'    : 'application/json',
57
            'method'    : 'get',
58
            'url'       :  $('#form-filter').attr('action'),
59
            'data'      :  $('#form-filter').serialize(),
60
        }).done(function(response) {
61
            if(response['success']) {
62
 
63
                $('#tableContactBody').empty();
64
                $('#tableContactBody').html(
65
                    $('#tableTemplate').render(response['data'])
66
                );
67
 
68
 
69
            } else {
70
                if(jQuery.type(response['data']) == 'string') {
71
                    $.fn.showError(response['data']);
72
                } else  {
73
                    $.each(response['data'], function( fieldname, errors ) {
74
                        $.fn.showFormErrorValidator('#form #' + fieldname, errors);
75
                    });
76
                }
77
            }
78
        }).fail(function( jqXHR, textStatus, errorThrown) {
79
            $.fn.showError(textStatus);
80
        }).always(function() {
81
            NProgress.done();
82
        });
83
        return false;
84
    }
85
 
86
 
87
    $('#btn-report').click(function(e) {
88
        e.preventDefault();
89
 
90
 
91
        $.fn.changeFilter();
92
    });
93
 
94
    $('#btn-download').click(function(e) {
95
        e.preventDefault();
96
 
97
 
98
        NProgress.start();
99
        $.ajax({
100
            'dataType'  : 'json',
101
            'method'    : 'get',
102
            'url'       : '$routeDownload',
103
            'data'      : $('#form-filter').serialize(),
104
        }).done(function(response) {
105
            if(response['success']) {
106
                var anchor = window.document.createElement("a");
107
                anchor.href = 'data:application/octet-stream;charset=utf-8;base64,' + response['data']['content'] ;
108
                anchor.download = response['data']['basename'];
109
                document.body.appendChild(anchor);
110
                anchor.click();  // IE: "Access is denied"; see: https://connect.microsoft.com/IE/feedback/details/797361/ie-10-treats-blob-url-as-cross-origin-and-denies-access
111
                document.body.removeChild(anchor);
112
            } else {
113
                $.fn.showError(response['data']);
114
            }
115
        }).fail(function( jqXHR, textStatus, errorThrown) {
16802 efrain 116
            $.fn.showError(textStatus);
16758 efrain 117
        }).always(function() {
118
            NProgress.done();
119
        });
120
 
121
 
122
    });
123
 
124
 
125
});
126
JS;
127
$this->inlineScript()->captureEnd();
128
?>
129
 
16822 efrain 130
 
131
<div class="container">
16758 efrain 132
		<div class="row">
16891 efrain 133
			<div class="col-12 mt-3">
16822 efrain 134
				<h6 class="card-title">>LABEL_REPORTS</h6>
16758 efrain 135
				<div class="card card-primary">
136
              		<div class="card-header">
137
 
138
                        <!-- /.card-tools -->
139
              		</div>
140
                    <!-- /.card-header -->
141
              		<div class="card-body">
142
                		<form name="form-filter" id="form-filter" action="<?php echo $routeReports ?>">
143
 
144
         					<div class="row">
145
                             	<div class="col-md-6 col-sm-12">
146
            						<div class="form-group">
147
                    					<?php
148
                                        $element = $form->get('first_name');
149
                                        $element->setOptions(['label' => 'LABEL_FIRST_NAME' ]);
150
                                        $element->setAttributes(['class' => 'form-control']);
151
 
152
                                        echo $this->formLabel($element);
153
                                        echo $this->formText($element);
154
                                        ?>
155
            						</div>
156
        						</div>
157
 
158
        						<div class="col-md-6 col-sm-12">
159
            						<div class="form-group">
160
                    					<?php
161
                                        $element = $form->get('last_name');
162
                                        $element->setOptions(['label' => 'LABEL_LAST_NAME' ]);
163
                                        $element->setAttributes(['class' => 'form-control']);
164
 
165
                                        echo $this->formLabel($element);
166
                                        echo $this->formText($element);
167
                                        ?>
168
            						</div>
169
        						</div>
170
    						</div>
171
 
172
							<div class="row">
173
                             	<div class="col-md-6 col-sm-12">
174
            						<div class="form-group">
175
                    					<?php
176
                                        $element = $form->get('personal_email');
177
                                        $element->setOptions(['label' => 'LABEL_PERSONAL_EMAIL' ]);
178
                                        $element->setAttributes(['class' => 'form-control']);
179
 
180
                                        echo $this->formLabel($element);
181
                                        echo $this->formText($element);
182
                                        ?>
183
            						</div>
184
        						</div>
185
 
186
        						<div class="col-md-6 col-sm-12">
187
            						<div class="form-group">
188
                    					<?php
189
                                        $element = $form->get('corporate_email');
190
                                        $element->setOptions(['label' => 'LABEL_CORPORATE_EMAIL' ]);
191
                                        $element->setAttributes(['class' => 'form-control']);
192
 
193
                                        echo $this->formLabel($element);
194
                                        echo $this->formText($element);
195
                                        ?>
196
            						</div>
197
        						</div>
198
    						</div>
199
 
200
    						<div class="row">
201
            					<div class="col-md-6 col-sm-12">
202
            						<div class="form-group">
203
                    					<?php
204
                                        $element = $form->get('company');
205
                                        $element->setOptions(['label' => 'LABEL_COMPANY' ]);
206
                                        $element->setAttributes(['class' => 'form-control']);
207
 
208
                                        echo $this->formLabel($element);
209
                                        echo $this->formText($element);
210
                                        ?>
211
            						</div>
212
        						</div>
213
 
214
        						<div class="col-md-6 col-sm-12">
215
            						<div class="form-group">
216
                    					<?php
217
                                        $element = $form->get('position');
218
                                        $element->setOptions(['label' => 'LABEL_POSITION' ]);
219
                                        $element->setAttributes(['class' => 'form-control']);
220
 
221
                                        echo $this->formLabel($element);
222
                                        echo $this->formText($element);
223
                                        ?>
224
            						</div>
225
        						</div>
226
    						</div>
227
 
228
    						<div class="row">
229
        						<div class="col-md-6 col-sm-12">
230
            						<div class="form-group">
231
                    					<?php
232
                                        $element = $form->get('country');
233
                                        $element->setOptions(['label' => 'LABEL_COUNTRY' ]);
234
                                        $element->setAttributes(['class' => 'form-control']);
235
 
236
                                        echo $this->formLabel($element);
237
                                        echo $this->formText($element);
238
                                        ?>
239
            						</div>
240
        						</div>
241
 
242
        						<div class="col-md-6 col-sm-12">
243
            						<div class="form-group">
244
                    					<?php
245
                                        $element = $form->get('state');
246
                                        $element->setOptions(['label' => 'LABEL_STATE' ]);
247
                                        $element->setAttributes(['class' => 'form-control']);
248
 
249
                                        echo $this->formLabel($element);
250
                                        echo $this->formText($element);
251
                                        ?>
252
            						</div>
253
        						</div>
254
    						</div>
255
 
256
        					<div class="row">
257
    							<div class="col-md-6 col-sm-12">
258
            						<div class="form-group">
259
                    					<?php
260
                                        $element = $form->get('city');
261
                                        $element->setOptions(['label' => 'LABEL_CITY' ]);
262
                                        $element->setAttributes(['class' => 'form-control']);
263
 
264
                                        echo $this->formLabel($element);
265
                                        echo $this->formText($element);
266
                                        ?>
267
            						</div>
268
        						</div>
269
 
270
        						<div class="col-md-6 col-sm-12">
271
            						<div class="form-group">
272
                    					<?php
273
                                        $element = $form->get('phone');
274
                                        $element->setOptions(['label' => 'LABEL_PHONE' ]);
275
                                        $element->setAttributes(['class' => 'form-control']);
276
 
277
                                        echo $this->formLabel($element);
278
                                        echo $this->formText($element);
279
                                        ?>
280
            						</div>
281
        						</div>
282
    						</div>
283
 
284
							<div class="row">
285
    							<div class="col-md-6 col-sm-12">
286
            						<div class="form-group">
287
                    					<?php
288
                                        $element = $form->get('phone_extension');
289
                                        $element->setOptions(['label' => 'LABEL_PHONE_EXTENSION' ]);
290
                                        $element->setAttributes(['class' => 'form-control']);
291
 
292
                                        echo $this->formLabel($element);
293
                                        echo $this->formText($element);
294
                                        ?>
295
            						</div>
296
        						</div>
297
 
298
        						<div class="col-md-6 col-sm-12">
299
            						<div class="form-group">
300
                    					<?php
301
                                        $element = $form->get('celular');
302
                                        $element->setOptions(['label' => 'LABEL_CELULAR' ]);
303
                                        $element->setAttributes(['class' => 'form-control']);
304
 
305
                                        echo $this->formLabel($element);
306
                                        echo $this->formText($element);
307
                                        ?>
308
            						</div>
309
        						</div>
310
    						</div>
311
 
312
							<div class="row">
313
    							<div class="col-md-6 col-sm-12">
314
            						<div class="form-group">
315
                    					<?php
316
                                        $element = $form->get('whatsapp');
317
                                        $element->setOptions(['label' => 'LABEL_WHATSAPP' ]);
318
                                        $element->setAttributes(['class' => 'form-control']);
319
 
320
                                        echo $this->formLabel($element);
321
                                        echo $this->formText($element);
322
                                        ?>
323
            						</div>
324
        						</div>
325
 
326
        						<div class="col-md-6 col-sm-12">
327
            						<div class="form-group">
328
                    					<?php
329
                                        $element = $form->get('linkedin');
330
                                        $element->setOptions(['label' => 'LABEL_LINKEDIN' ]);
331
                                        $element->setAttributes(['class' => 'form-control']);
332
 
333
                                        echo $this->formLabel($element);
334
                                        echo $this->formText($element);
335
                                        ?>
336
            						</div>
337
        						</div>
338
    						</div>
339
 
340
    						<div class="row">
341
        						<div class="col-md-6 col-sm-12">
342
            						<div class="form-group">
343
                    					<?php
344
                                        $element = $form->get('sector');
345
                                        $element->setOptions(['label' => 'LABEL_SECTOR' ]);
346
                                        $element->setAttributes(['class' => 'form-control']);
347
 
348
                                        echo $this->formLabel($element);
349
                                        echo $this->formText($element);
350
                                        ?>
351
            						</div>
352
        						</div>
353
 
354
        						<div class="col-md-6 col-sm-12">
355
            						<button id="btn-report"  class="btn btn-primary"> LABEL_REPORT </button>
356
            						<button id="btn-download"  class="btn btn-primary"> LABEL_DOWNLOAD </button>
357
        						</div>
358
    						</div>
359
 
360
                		</form>
361
              		</div>
362
                <!-- /.card-body -->
363
            	</div>
364
			</div>
365
		</div>
366
 
367
    	<div class="row">
16891 efrain 368
        	<div class="col-12 mt-3">
16758 efrain 369
 
370
				<div class="card">
371
                    <!-- /.card-header -->
372
              		<div class="card-body p-0">
373
              			<div style="height: 300px;overflow: scroll;">
16822 efrain 374
                        	<table id="tableContact" style="width: 100%" class="table table-bordered">
16758 efrain 375
                      			<thead>
376
                      				<tr>
377
 
378
                      					<th nowrap>LABEL_FIRST_NAME</th>
379
                                        <th nowrap>LABEL_LAST_NAME</th>
380
                                        <th nowrap>LABEL_PERSONAL_EMAIL</th>
381
                                        <th nowrap>LABEL_CORPORATE_EMAIL</th>
382
                                        <th nowrap>LABEL_COMPANY</th>
383
                                        <th nowrap>LABEL_POSITION</th>
384
                                        <th nowrap>LABEL_COUNTRY</th>
385
                                        <th nowrap>LABEL_STATE</th>
386
                                        <th nowrap>LABEL_CITY</th>
387
                                        <th nowrap>LABEL_PHONE</th>
388
                                        <th nowrap>LABEL_PHONE_EXTENSION</th>
389
                                        <th nowrap>LABEL_CELULAR</th>
390
                                        <th nowrap>LABEL_WHATSAPP</th>
391
    	                             	<th nowrap>LABEL_LINKEDIN</th>
392
    	                             	<th nowrap>LABEL_SECTOR</th>
393
                        			</tr>
394
 
395
                      			</thead>
396
                      			<tbody id="tableContactBody" >
397
 
398
                     			</tbody>
399
 
400
                    		</table>
401
                		</div>
402
              		</div>
403
             		 <!-- /.card-body -->
404
            	</div>
405
 
406
 
407
           	</div>
408
        </div>
409
 	</div>
16822 efrain 410
 
16758 efrain 411
 
412
 
413
 
414
<script id="tableTemplate" type="text/x-jsrender">
415
    {{for items}}
416
    <tr>
417
        <td>{{:first_name}}</td>
418
        <td>{{:last_name}}</td>
419
        <td>{{:personal_email}}</td>
420
        <td>{{:corporate_email}}</td>
421
        <td>{{:company}}</td>
422
        <td>{{:position}}</td>
423
        <td>{{:country}}</td>
424
        <td>{{:state}}</td>
425
        <td>{{:city}}</td>
426
        <td>{{:phone}}</td>
427
        <td>{{:phone_extension}}</td>
428
        <td>{{:celular}}</td>
429
        <td>{{:whatsapp}}</td>
430
        <td>{{:linkedin}}</td>
431
	    <td>{{:sector}}</td>
432
    </tr>
433
    {{/for}}
434
</script>
435
 
436
 
437
 
438
 
439
 
440