Proyectos de Subversion LeadersLinked - Backend

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
2 efrain 1
<?php
2
$acl            = $this->viewModel()->getRoot()->getVariable('acl');
3
$currentUser    = $this->currentUserHelper();
4
 
5
$routeReports = $this->url('microlearning/reports/devices');
6
 
7
$roleName = $currentUser->getUserTypeId();
8
 
9
 
10
$this->headLink()->appendStylesheet($this->basePath('plugins/nprogress/nprogress.css'));
11
$this->inlineScript()->appendFile($this->basePath('plugins/nprogress/nprogress.js'));
12
 
13
$this->headStyle()->captureStart();
14
echo <<<CSS
15
 
16
 
17
#tableDevices {
18
    display: flex;
19
    flex-flow: column;
20
    width: 100%;
21
}
22
 
23
#tableDevices thead {
24
    flex: 0 0 auto;
25
}
26
 
27
#tableDevices tbody {
28
    flex: 1 1 auto;
29
    display: block;
30
    overflow-y: auto;
31
    overflow-x: hidden;
32
}
33
 
34
#tableDevices tr {
35
    width: 100%;
36
    display: table;
37
    table-layout: fixed;
38
}
39
CSS;
40
$this->headStyle()->captureEnd();
41
 
42
 
43
 
44
$this->inlineScript()->captureStart();
45
echo <<<JS
46
jQuery( document ).ready(function( $ ) {
47
 
48
    $.fn.changeFilter = function() {
49
        NProgress.start();
50
        $.ajax({
51
            'dataType'  : 'json',
52
            'accept'    : 'application/json',
53
            'method'    : 'get',
54
            'url'       :  $('#form-filter').attr('action'),
55
            'data'      :  $('#form-filter').serialize(),
56
        }).done(function(response) {
57
            if(response['success']) {
58
 
59
                $('#tableDevices tbody').empty();
60
                $.each(response['data'], function(id, item) {
61
 
62
 
63
                    var s = '<tr>';
64
 
65
                    s = s + '<td>' + $.trim( item['first_name'] ) + '</td>';
66
                    s = s + '<td>' + $.trim( item['last_name'] ) + '</td>';
67
                    s = s + '<td>' + $.trim(item['email'] ) + '</td>';
68
 
69
 
70
                    s = s + '</tr>';
71
 
72
                    if(item['devices']) {
73
                        s = s + '<tr>';
74
                        s = s + '<td colspan="3">';
75
 
76
                        $.each(item['devices'], function(id_device, device) {
77
 
78
                            s = s + '<b>Marca : </b>' + device['brand'];
79
                            s = s + '&nbsp;<b>Fabricante : </b>' + device['manufacturer'] ;
80
                            s = s + '&nbsp;<b>Model : </b>' + device['model'];
81
                            s = s + '&nbsp;<b>Plataforma : </b>' + device['platform'];
82
                            s = s + '&nbsp;<b>Versión : </b>' + device['version'];
83
                            s = s + '&nbsp;<b>Token : </b>' + device['token'];
84
                            s = s + '&nbsp;<b>Actualización : </b>' + device['updated_on'] + '<br/>';
85
 
86
                        });
87
 
88
                        s = s + '</td></tr>';
89
                    }
90
                    $('#tableDevices tbody').append(s);
91
 
92
 
93
                });
94
 
95
 
96
            } else {
97
                if(jQuery.type(response['data']) == 'string') {
98
                    $.fn.showError(response['data']);
99
                } else  {
100
                    $.each(response['data'], function( fieldname, errors ) {
101
                        $.fn.showFormErrorValidator('#form-slide-video-edit #' + fieldname, errors);
102
                    });
103
                }
104
            }
105
        }).fail(function( jqXHR, textStatus, errorThrown) {
106
            $.fn.showError(textStatus);
107
        }).always(function() {
108
            NProgress.done();
109
        });
110
        return false;
111
    }
112
 
113
 
114
    $('#form-filter #company_id').change(function(e) {
115
        e.preventDefault();
116
        $.fn.changeFilter();
117
 
118
    });
119
 
120
    $('#form-filter #function_id').change(function(e) {
121
        e.preventDefault();
122
        $.fn.changeFilter();
123
 
124
    });
125
 
126
 
127
    $('#form-filter #group_id').change(function(e) {
128
        e.preventDefault();
129
        $.fn.changeFilter();
130
 
131
    });
132
 
133
 
134
    $('#form-filter #institution_id').change(function(e) {
135
        e.preventDefault();
136
        $.fn.changeFilter();
137
 
138
    });
139
 
140
 
141
    $('#form-filter #program_id').change(function(e) {
142
        e.preventDefault();
143
        $.fn.changeFilter();
144
 
145
    });
146
 
147
 
148
    $('#form-filter #partner_id').change(function(e) {
149
        e.preventDefault();
150
        $.fn.changeFilter();
151
 
152
    });
153
 
154
 
155
    $('#form-filter #sector_id').change(function(e) {
156
        e.preventDefault();
157
        $.fn.changeFilter();
158
 
159
    });
160
 
161
 
162
    $('#form-filter #student_type_id').change(function(e) {
163
        e.preventDefault();
164
        $.fn.changeFilter();
165
 
166
    });
167
 
168
 
169
    $.fn.changeFilter();
170
 
171
});
172
JS;
173
$this->inlineScript()->captureEnd();
174
?>
175
 
176
<!-- Content Header (Page header) -->
177
<section class="content-header">
178
	<div class="container-fluid">
179
    	<div class="row mb-2">
180
        	<div class="col-sm-12">
181
            	<h1>LABEL_DEVICES</h1>
182
			</div>
183
		</div>
184
	</div><!-- /.container-fluid -->
185
</section>
186
 
187
<section class="content">
188
	<div class="container-fluid">
189
		<div class="row">
190
			<div class="col-12">
191
				<div class="card card-primary collapsed-card">
192
              		<div class="card-header">
193
                		<h3 class="card-title">LABEL_FILTERS</h3>
194
 
195
                		<div class="card-tools">
196
                  			<button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fa fa-filter"></i></button>
197
                		</div>
198
                        <!-- /.card-tools -->
199
              		</div>
200
                    <!-- /.card-header -->
201
              		<div class="card-body">
202
                		<form name="form-filter" id="form-filter" action="<?php echo $routeReports ?>">
203
                		<?php
204
                    $fields = [
205
                        [
206
                            'label' => 'LABEL_COMPANIES',
207
                            'name' => 'company_id',
208
                        ],
209
                        [
210
                            'label' => 'LABEL_FUNCTIONS',
211
                            'name' => 'function_id',
212
                        ],
213
                        [
214
                            'label' => 'LABEL_GROUPS',
215
                            'name' => 'group_id',
216
                        ],
217
                        [
218
                            'label' => 'LABEL_INSTITUTIONS',
219
                            'name' => 'institution_id',
220
                        ],
221
                        [
222
                            'label' => 'LABEL_PROGRAMS',
223
                            'name' => 'program_id',
224
                        ],
225
                        [
226
                            'label' => 'LABEL_PARTNERS',
227
                            'name' => 'partner_id',
228
                        ],
229
                        [
230
                            'label' => 'LABEL_SECTORS',
231
                            'name' => 'sector_id',
232
                        ],
233
                        [
234
                            'label' => 'LABEL_STUDENT_TYPES',
235
                            'name' => 'student_type_id',
236
                        ],
237
                    ];
238
 
239
                    $column = 0;
240
                    foreach($fields as $field) :
241
                        if($column == 0) {
242
                            echo '<div class="row">';
243
 
244
                        }
245
                        $column++;
246
 
247
                    ?>
248
 
249
 
250
                             <div class="col-md-6 col-sm-12">
251
    					<div class="form-group">
252
        					<?php
253
                            $element = $form->get( $field['name'] );
254
                            $element->setOptions(['label' => $field['label'] ]);
255
                            $element->setAttributes(['class' => 'form-control']);
256
 
257
                            echo $this->formLabel($element);
258
                            echo $this->formSelect($element);
259
                            ?>
260
						</div>
261
						</div>
262
						<?php
263
						if($column == 2) {
264
						    $column = 0;
265
						    echo '</div>';
266
						}
267
						?>
268
					<?php endforeach; ?>
269
						<?php if($column) {
270
						    echo '</div>';
271
						}
272
						?>
273
                		</form>
274
              		</div>
275
                <!-- /.card-body -->
276
            	</div>
277
			</div>
278
		</div>
279
 
280
    	<div class="row">
281
        	<div class="col-12">
282
 
283
				<div class="card">
284
                    <!-- /.card-header -->
285
              		<div class="card-body p-0">
286
                		<table class="table table-responsive" id="tableDevices" >
287
                  			<thead>
288
                    			<tr>
289
 
290
                      				<th>LABEL_FIRST_NAME</th>
291
                      				<th>LABEL_LAST_NAME</th>
292
                      				<th>LABEL_EMAIL</th>
293
 
294
 
295
                    			</tr>
296
                  			</thead>
297
                  			<tbody>
298
 
299
                 			</tbody>
300
                		</table>
301
              		</div>
302
             		 <!-- /.card-body -->
303
            	</div>
304
 
305
 
306
           	</div>
307
        </div>
308
 	</div>
309
</section>
310
 
311
 
312
 
313
 
314
 
315
 
316