Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 17085 | Rev 17236 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 17085 Rev 17178
Línea 1... Línea 1...
1
<?php
1
<?php
2
$acl            = $this->viewModel()->getRoot()->getVariable('acl');
2
$acl            = $this->viewModel()->getRoot()->getVariable('acl');
3
$currentUser    = $this->currentUserHelper();
3
$currentUser    = $this->currentUserHelper();
Línea 4... Línea 4...
4
 
4
 
5
$roleName = $currentUser->getUserTypeId();
-
 
6
 
-
 
7
 
-
 
8
 
5
$roleName = $currentUser->getUserTypeId();
Línea 9... Línea 6...
9
$routeDatatable = $this->url('microlearning/content/capsules');
6
$routeDatatable = $this->url('microlearning/content/capsules');
10
 
7
 
11
$allowAdd       = $acl->isAllowed($roleName, 'microlearning/content/capsules/add') ? 1 : 0;
8
$allowAdd       = $acl->isAllowed($roleName, 'microlearning/content/capsules/add') ? 1 : 0;
12
$allowEdit      = $acl->isAllowed($roleName, 'microlearning/content/capsules/edit') ? 1 : 0;
9
$allowEdit      = $acl->isAllowed($roleName, 'microlearning/content/capsules/edit') ? 1 : 0;
Línea 13... Línea -...
13
$allowDelete    = $acl->isAllowed($roleName, 'microlearning/content/capsules/delete') ? 1 : 0;
-
 
14
$allowUsers     = $acl->isAllowed($roleName, 'microlearning/content/capsules/users') ? 1 : 0;
-
 
15
 
10
$allowDelete    = $acl->isAllowed($roleName, 'microlearning/content/capsules/delete') ? 1 : 0;
16
 
11
$allowUsers     = $acl->isAllowed($roleName, 'microlearning/content/capsules/users') ? 1 : 0;
17
 
12
 
Línea -... Línea 13...
-
 
13
// NProgress
18
 
14
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/nprogress/nprogress.css'));
Línea -... Línea 15...
-
 
15
$this->inlineScript()->appendFile($this->basePath('assets/vendors/nprogress/nprogress.js'));
19
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/nprogress/nprogress.css'));
16
 
20
$this->inlineScript()->appendFile($this->basePath('assets/vendors/nprogress/nprogress.js'));
17
// CKEditor
21
 
-
 
22
$this->inlineScript()->appendFile($this->basePath('assets/vendors/ckeditor/ckeditor.js'));
18
$this->inlineScript()->appendFile($this->basePath('assets/vendors/ckeditor/ckeditor.js'));
23
 
19
 
24
 
20
 
25
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-fileinput/css/fileinput.min.css'));
21
// File Input
26
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-fileinput/themes/explorer-fas/theme.css'));
22
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-fileinput/css/fileinput.min.css'));
27
 
23
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-fileinput/themes/explorer-fas/theme.css'));
Línea 28... Línea -...
28
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/plugins/piexif.js'));
-
 
29
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/plugins/sortable.js'));
-
 
30
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/fileinput.js'));
-
 
31
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/locales/es.js'));
-
 
32
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/themes/fas/theme.js'));
24
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/plugins/piexif.js'));
33
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/themes/explorer-fas/theme.js'));
25
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/plugins/sortable.js'));
34
 
26
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/fileinput.js'));
Línea -... Línea 27...
-
 
27
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/locales/es.js'));
35
 
28
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/themes/fas/theme.js'));
36
 
29
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/themes/explorer-fas/theme.js'));
37
 
30
 
38
 
31
// Datatables
Línea 39... Línea 32...
39
 
32
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.css'));
40
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.css'));
33
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.css'));
41
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.css'));
34
 
Línea 42... Línea -...
42
 
-
 
43
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net/jquery.dataTables.js'));
-
 
44
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.js'));
-
 
45
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/dataTables.responsive.min.js'));
-
 
-
 
35
// Datatables
46
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.min.js'));
36
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net/jquery.dataTables.js'));
Línea 47... Línea -...
47
 
-
 
48
 
37
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5/dataTables.bootstrap5.js'));
49
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap4-toggle/css/bootstrap4-toggle.min.css'));
38
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/dataTables.responsive.min.js'));
50
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap4-toggle/js/bootstrap4-toggle.min.js'));
-
 
51
 
-
 
52
 
39
$this->inlineScript()->appendFile($this->basePath('assets/vendors/datatables.net-bs5-responsive/responsive.bootstrap5.min.js'));
53
 
40
 
54
 
41
// Toggle
55
 
42
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap4-toggle/css/bootstrap4-toggle.min.css'));
56
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jquery-input-number/input-number-format.jquery.js'));
43
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap4-toggle/js/bootstrap4-toggle.min.js'));
57
 
-
 
58
 
44
 
59
$this->headStyle()->captureStart();
45
// Input Number Format
60
echo <<<CSS
46
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jquery-input-number/input-number-format.jquery.js'));
61
 
-
 
62
 
47
 
63
#gridTableUsers {
48
$this->headStyle()->captureStart();
64
    display: flex;
49
echo <<<CSS
65
    flex-flow: column;
50
    #gridTableUsers {
66
    width: 100%;
51
        display: flex;
67
}
52
        flex-flow: column;
68
 
-
 
69
#gridTableUsers thead {
53
        width: 100%;
70
    flex: 0 0 auto;
54
    }
71
}
55
    #gridTableUsers thead {
72
 
56
        flex: 0 0 auto;
73
#gridTableUsers tbody {
57
    }
74
    flex: 1 1 auto;
58
    #gridTableUsers tbody {
75
    display: block;
59
        flex: 1 1 auto;
76
    overflow-y: auto;
60
        display: block;
77
    overflow-x: hidden;
61
        overflow-y: auto;
78
}
62
        overflow-x: hidden;
79
 
63
    }
80
#gridTableUsers tr {
64
    #gridTableUsers tr {
81
    width: 100%;
65
        width: 100%;
82
    display: table;
66
        display: table;
83
    table-layout: fixed;
67
        table-layout: fixed;
Línea 84... Línea 68...
84
}
68
    }
Línea 85... Línea 69...
85
.imagen-contaner{
69
    .imagen-contaner{
86
	border:1px solid rgb(200,200,200);
70
        border:1px solid rgb(200,200,200);
87
	border-radius:5px;
71
        border-radius:5px;
88
	padding:10px;
-
 
89
	display:flex;
72
        padding:10px;
90
	flex-flow:column;
73
        display:flex;
91
	align-items:center;
74
        flex-flow:column;
92
}
75
        align-items:center;
93
CSS;
76
    }
94
$this->headStyle()->captureEnd();
77
CSS;
95
 
78
$this->headStyle()->captureEnd();
96
$this->headLink()->captureStart();
79
 
97
 
80
$this->headLink()->captureStart();
98
$this->inlineScript()->captureStart();
81
 
99
echo <<<JS
82
$this->inlineScript()->captureStart();
100
    jQuery( document ).ready(function( $ ) {
83
echo <<<JS
101
 
84
    jQuery(document).ready(function ($) {
102
        // Configuración de validación de formularios
85
        // Configuración de validación de formularios
103
        $.validator.setDefaults({
86
        $.validator.setDefaults({
104
            debug: true,
87
            debug: true,
105
            highlight: function(element) {
88
            highlight: function (element) {
106
                $(element).addClass('is-invalid');
89
            $(element).addClass('is-invalid')
107
            },
90
            },
108
            unhighlight: function(element) {
91
            unhighlight: function (element) {
109
                $(element).removeClass('is-invalid');
92
            $(element).removeClass('is-invalid')
110
            },
93
            },
111
            errorElement: 'span',
94
            errorElement: 'span',
112
            errorClass: 'error invalid-feedback',
95
            errorClass: 'error invalid-feedback',
113
            errorPlacement: function(error, element) {
96
            errorPlacement: function (error, element) {
114
                if(element.parent('.btn-file').length) {
97
            if (element.parent('.btn-file').length) {
Línea 115... Línea 98...
115
                    error.insertAfter(element.parent().parent());
98
                error.insertAfter(element.parent().parent())
116
                } else if(element.parent('.toggle').length) {
99
            } else if (element.parent('.toggle').length) {
117
                    error.insertAfter(element.parent().parent());
100
                error.insertAfter(element.parent().parent())
118
                } else {
101
            } else {
119
                    error.insertAfter(element.parent());
102
                error.insertAfter(element.parent())
120
                }
103
            }
121
            }
104
            }
122
        });
105
        })
123
    
106
 
124
        // Variables de permisos
107
        // Variables de permisos
125
        var allowEdit   = $allowEdit;
108
        var allowEdit = $allowEdit
126
        var allowDelete = $allowDelete;
109
        var allowDelete = $allowDelete
127
        var allowUsers  = $allowUsers;
110
        var allowUsers = $allowUsers
128
 
111
 
129
        // Configuración de la tabla principal
112
        // Configuración de la tabla principal
130
        var gridTable = $('#gridTable').dataTable({
113
        var gridTable = $('#gridTable').dataTable({
131
            'processing': true,
114
            processing: true,
132
            'serverSide': true,
115
            serverSide: true,
133
            'searching': true,
116
            searching: true,
134
            'order': [[ 0, 'asc' ]],
117
            order: [[0, 'asc']],
-
 
118
            ordering: true,
-
 
119
            ordenable: true,
-
 
120
            responsive: true,
-
 
121
            select: false,
-
 
122
            paging: true,
-
 
123
            pagingType: 'simple_numbers',
Línea 135... Línea -...
135
            'ordering':  true,
-
 
136
            'ordenable' : true,
-
 
137
            'responsive': true,
-
 
138
            'select' : false,
-
 
139
        	'paging': true,
-
 
140
            'pagingType': 'simple_numbers',
-
 
141
    		'ajax': {
124
            ajax: {
142
    			'url' : '$routeDatatable',
125
            url: '$routeDatatable',
143
    			'type' : 'get',
126
            type: 'get',
144
                'beforeSend': function (request) {
127
            beforeSend: function (request) {
145
                  NProgress.start();
128
                NProgress.start()
146
                },
129
            },
147
                'dataFilter': function(response) {
130
            dataFilter: function (response) {
148
                    const data = JSON.parse(response);
-
 
149
 
-
 
150
                    var json = {
-
 
151
                        recordsTotal: 0,
131
                const data = JSON.parse(response)
152
                        recordsFiltered: 0,
132
 
153
                        data: []
-
 
154
                    };
-
 
155
                    
-
 
156
                    if(data.success) {
-
 
157
                        $('#form-add').attr('action', data.data.link_add); 
-
 
158
                        json.recordsTotal = data.data.total;
-
 
159
                        json.recordsFiltered = data.data.total;
-
 
160
                        json.data = data.data.items;
-
 
161
                    } else {
133
                var json = {
162
                        $.fn.showError(data.data);
-
 
163
                    }
-
 
164
                    
-
 
165
                    return JSON.stringify(json);
-
 
166
                }
-
 
167
    		},
-
 
168
            'language' : {
-
 
169
                'sProcessing':     'LABEL_DATATABLE_SPROCESSING',
-
 
170
                'sLengthMenu':     'LABEL_DATATABLE_SLENGTHMENU',
-
 
171
                'sZeroRecords':    'LABEL_DATATABLE_SZERORECORDS',
-
 
172
                'sEmptyTable':     'LABEL_DATATABLE_SEMPTYTABLE',
-
 
173
                'sInfo':           'LABEL_DATATABLE_SINFO',
-
 
174
                'sInfoEmpty':      'LABEL_DATATABLE_SINFOEMPTY',
-
 
175
                'sInfoFiltered':   'LABEL_DATATABLE_SINFOFILTERED',
134
                recordsTotal: 0,
176
                'sInfoPostFix':    '',
135
                recordsFiltered: 0,
-
 
136
                data: []
-
 
137
                }
-
 
138
 
-
 
139
                if (data.success) {
-
 
140
                $('#form-add').attr('action', data.data.link_add)
-
 
141
                json.recordsTotal = data.data.total
-
 
142
                json.recordsFiltered = data.data.total
-
 
143
                json.data = data.data.items
-
 
144
                } else {
177
                'sSearch':         'LABEL_DATATABLE_SSEARCH',
145
                $.fn.showError(data.data)
-
 
146
                }
178
                'sUrl':            '',
147
 
-
 
148
                return JSON.stringify(json)
-
 
149
            }
-
 
150
            },
-
 
151
            language: {
-
 
152
            sProcessing: 'LABEL_DATATABLE_SPROCESSING',
-
 
153
            sLengthMenu: 'LABEL_DATATABLE_SLENGTHMENU',
-
 
154
            sZeroRecords: 'LABEL_DATATABLE_SZERORECORDS',
-
 
155
            sEmptyTable: 'LABEL_DATATABLE_SEMPTYTABLE',
-
 
156
            sInfo: 'LABEL_DATATABLE_SINFO',
-
 
157
            sInfoEmpty: 'LABEL_DATATABLE_SINFOEMPTY',
-
 
158
            sInfoFiltered: 'LABEL_DATATABLE_SINFOFILTERED',
179
                'sInfoThousands':  ',',
159
            sInfoPostFix: '',
-
 
160
            sSearch: 'LABEL_DATATABLE_SSEARCH',
-
 
161
            sUrl: '',
-
 
162
            sInfoThousands: ',',
180
                'sLoadingRecords': 'LABEL_DATATABLE_SLOADINGRECORDS',
163
            sLoadingRecords: 'LABEL_DATATABLE_SLOADINGRECORDS',
181
                'oPaginate': {
164
            oPaginate: {
182
                    'sFirst':    'LABEL_DATATABLE_SFIRST',
165
                sFirst: 'LABEL_DATATABLE_SFIRST',
183
                    'sLast':     'LABEL_DATATABLE_SLAST',
166
                sLast: 'LABEL_DATATABLE_SLAST',
184
                    'sNext':     'LABEL_DATATABLE_SNEXT',
167
                sNext: 'LABEL_DATATABLE_SNEXT',
185
                    'sPrevious': 'LABEL_DATATABLE_SPREVIOUS'
168
                sPrevious: 'LABEL_DATATABLE_SPREVIOUS'
186
                },
169
            },
187
                'oAria': {
170
            oAria: {
188
                    'sSortAscending':  ': LABEL_DATATABLE_SSORTASCENDING',
171
                sSortAscending: ': LABEL_DATATABLE_SSORTASCENDING',
189
                    'sSortDescending': ':LABEL_DATATABLE_SSORTDESCENDING'
172
                sSortDescending: ':LABEL_DATATABLE_SSORTDESCENDING'
190
                },
173
            }
191
            },
174
            },
192
            'drawCallback': function( settings ) {
175
            drawCallback: function (settings) {
193
                NProgress.done();   
176
            NProgress.done()
194
            },
177
            },
195
            'aoColumns': [
178
            aoColumns: [
196
                { 'mDataProp': 'name' },
179
            { mDataProp: 'name' },
197
                { 'mDataProp': 'details' },
180
            { mDataProp: 'details' },
198
                { 'mDataProp': 'images' },
181
            { mDataProp: 'images' },
199
                { 'mDataProp': 'actions' },
182
            { mDataProp: 'actions' }
200
    	    ],
183
            ],
201
            'columnDefs': [
184
            columnDefs: [
202
                {
185
            {
203
                    'targets': 0,
186
                targets: 0,
204
                    'className' : 'text-vertical-middle',
187
                className: 'text-vertical-middle'
205
                },
188
            },
206
                {
189
            {
207
                    'targets': -3,
190
                targets: -3,
208
                    'orderable': false,
-
 
209
                    'render' : function ( data, type, row ) {
191
                orderable: false,
210
                        var s = '';
192
                render: function (data, type, row) {
211
                        s += 'LABEL_STATUS: ' + data['status']  + '<br/>';
-
 
212
 
-
 
213
                         if(allowUsers && row['actions']['link_total_users']  ) {
193
                var s = ''
214
                            s += 'LABEL_TOTAL_USERS: ' + data['total_users']  + ' <button class="btn btn-view-total-users" data-href="' + row['actions']['link_total_users'] + '" data-toggle="tooltip" title="LABEL_VIEW"><i class="fa fa-external-link-alt"></i></button> <br>';    
194
                s += 'LABEL_STATUS: ' + data['status'] + '<br/>'
215
                         } else {
195
 
216
                            s += 'LABEL_TOTAL_USERS: ' + data['total_users']  + '<br/>';
196
                if (allowUsers && row['actions']['link_total_users']) {
217
                         }    
-
 
218
                         if(allowUsers && row['actions']['link_total_users_actives']  ) {
-
 
219
                            s += 'LABEL_TOTAL_USERS_ACTIVE: ' + data['total_users_active']  + ' <button class="btn btn-view-total-users" data-href="' + row['actions']['link_total_users_actives'] + '" data-toggle="tooltip" title="LABEL_VIEW"><i class="fa fa-external-link-alt"></i></button> <br>';    
197
                    s +=
220
                         } else {
198
                    'LABEL_TOTAL_USERS: ' +
221
                            s += 'LABEL_TOTAL_USERS_ACTIVE: ' + data['total_users_active']  + '<br/>';
-
 
222
                         }        
199
                    data['total_users'] +
223
                    
-
 
224
                        return s;
200
                    ' <button class="btn btn-view-total-users" data-href="' +
225
                    }
-
 
226
                },
201
                    row['actions']['link_total_users'] +
227
                {
202
                    '" data-toggle="tooltip" title="LABEL_VIEW"><i class="fa fa-external-link-alt"></i></button> <br>'
228
                    'targets': -2,
203
                } else {
Línea -... Línea 204...
-
 
204
                    s += 'LABEL_TOTAL_USERS: ' + data['total_users'] + '<br/>'
-
 
205
                }
-
 
206
                if (allowUsers && row['actions']['link_total_users_actives']) {
-
 
207
                    s +=
-
 
208
                    'LABEL_TOTAL_USERS_ACTIVE: ' +
-
 
209
                    data['total_users_active'] +
-
 
210
                    ' <button class="btn btn-view-total-users" data-href="' +
-
 
211
                    row['actions']['link_total_users_actives'] +
229
                    'orderable': false,
212
                    '" data-toggle="tooltip" title="LABEL_VIEW"><i class="fa fa-external-link-alt"></i></button> <br>'
-
 
213
                } else {
-
 
214
                    s +=
-
 
215
                    'LABEL_TOTAL_USERS_ACTIVE: ' +
-
 
216
                    data['total_users_active'] +
-
 
217
                    '<br/>'
-
 
218
                }
-
 
219
 
-
 
220
                return s
-
 
221
                }
-
 
222
            },
-
 
223
            {
Línea -... Línea 224...
-
 
224
                targets: -2,
-
 
225
                orderable: false,
-
 
226
                render: function (data, type, row) {
-
 
227
                s = ''
-
 
228
 
-
 
229
                if (data['marketplace']) {
230
                    'render' : function ( data, type, row ) {
-
 
-
 
230
                    s =
-
 
231
                    s +
-
 
232
                    '&nbsp; <img class="btn-view-image-marketplace" data-href="' +
-
 
233
                    data['marketplace'] +
-
 
234
                    '" data-toggle="tooltip" src="' +
Línea 231... Línea 235...
231
                        s = '';
235
                    data['marketplace'] +
232
 
236
                    '" title="LABEL_VIEW" style="width: 40px; object-fit: cover; height: 40px;" /> '
233
						if( data['marketplace'] )  {          
237
                } else {
234
                            s = s + '&nbsp; <img class="btn-view-image-marketplace" data-href="' + data['marketplace'] + '" data-toggle="tooltip" src="'+data['marketplace']+'" title="LABEL_VIEW" style="width: 40px; object-fit: cover; height: 40px;" /> '
238
                    s = s + ''
235
                        }  else {
239
                }
236
                            s = s + '';    
240
 
237
                        } 
241
                if (data['image']) {
238
						
242
                    s =
239
                        if( data['image'] )  {
243
                    s +
240
                            s = s + '&nbsp; <img class="btn-view-image-app" data-href="' + data['image'] + '" data-toggle="tooltip" src="'+data['image']+'" title="LABEL_VIEW" style="width: 40px; object-fit: cover; height: 40px;" /> '  
244
                    '&nbsp; <img class="btn-view-image-app" data-href="' +
-
 
245
                    data['image'] +
-
 
246
                    '" data-toggle="tooltip" src="' +
-
 
247
                    data['image'] +
-
 
248
                    '" title="LABEL_VIEW" style="width: 40px; object-fit: cover; height: 40px;" /> '
241
                        }  else {
249
                } else {
242
                            s = s + '';    
250
                    s = s + ''
243
                        } 
251
                }
-
 
252
 
-
 
253
                return s
-
 
254
                }
-
 
255
            },
244
 
256
            {
245
                        
257
                targets: -1,
Línea 246... Línea -...
246
 
-
 
247
                        
258
                orderable: false,
248
 
259
                render: function (data, type, row) {
-
 
260
                s = ''
249
                        return s;
261
 
250
                    }
262
                if (allowEdit && data['link_edit']) {
Línea 251... Línea -...
251
                },
-
 
252
                {
263
                    s =
253
                    'targets': -1,
264
                    s +
254
                    'orderable': false,
265
                    '<button class="btn btn-info btn-sm btn-edit" data-href="' +
255
                    'render' : function ( data, type, row ) {
266
                    data['link_edit'] +
256
                        s = '';
267
                    '" data-toggle="tooltip" title="LABEL_EDIT"><i class="fa fa-pen"></i> LABEL_EDIT </button>&nbsp;'
257
                        
268
                }
258
                        if(allowEdit && data['link_edit']  ) {
269
                if (allowDelete && data['link_delete']) {
259
                            s = s + '<button class="btn btn-info btn-sm btn-edit" data-href="' + data['link_edit']+ '" data-toggle="tooltip" title="LABEL_EDIT"><i class="fa fa-pen"></i> LABEL_EDIT </button>&nbsp;';
270
                    s =
260
                        }
271
                    s +
261
                        if(allowDelete && data['link_delete']  ) {
272
                    '<button class="btn btn-danger btn-sm btn-delete" data-href="' +
262
                            s = s + '<button class="btn btn-danger btn-sm btn-delete" data-href="' + data['link_delete']+ '" data-toggle="tooltip" title="LABEL_DELETE"><i class="fa fa-trash"></i> LABEL_DELETE </button>&nbsp;';
273
                    data['link_delete'] +
263
                        }
274
                    '" data-toggle="tooltip" title="LABEL_DELETE"><i class="fa fa-trash"></i> LABEL_DELETE </button>&nbsp;'
264
 
275
                }
265
                        return s;
276
 
266
                    }
277
                return s
267
                }
278
                }
268
            ],
279
            }
269
        });
280
            ]
270
 
281
        })
271
    
282
 
272
        var seleccionarCampo;
283
        // Validación de formulario de creación
273
    var validatorAdd = $('#form-add').validate({
284
        var validatorAdd = $('#form-add').validate({
274
        debug: true,
-
 
275
        onclick: false,
-
 
276
        onkeyup: false,
-
 
277
        ignore: [],
-
 
278
        rules: {
-
 
279
            'name': {
-
 
280
                required: true,
-
 
281
                maxlength: 128,
285
            debug: true,
282
            },
-
 
283
            'description': {
-
 
284
                updateCkeditor:function() {
-
 
285
                        CKEDITOR.instances.description_add.updateElement();
-
 
286
                },
-
 
287
                required: true
-
 
288
            },
-
 
289
           'file': {
-
 
290
                required: true,
-
 
291
                extension: 'jpg|jpeg|png',
-
 
292
                accept: 'image/jpg,image/jpeg,image/png'
-
 
293
            },
-
 
294
           'marketplace': {
-
 
295
                required: false,
-
 
296
                extension: 'jpg|jpeg|png',
286
            onclick: false,
297
                accept: 'image/jpg,image/jpeg,image/png'
-
 
298
            },
287
            onkeyup: false,
299
            'status' : {
288
            ignore: [],
300
                required: true,
289
            rules: {
301
            },
290
            name: {
Línea 302... Línea -...
302
            'privacy' : {
-
 
303
                required: true,
291
                required: true,
304
            },
292
                maxlength: 128
305
            'type' : {
293
            },
306
                required: true,
294
            description: {
307
            },
295
                updateCkeditor: function () {
308
            'cost' : {
296
                CKEDITOR.instances.description_add.updateElement()
309
                required: function() {
297
                },
310
                    return $('#form-add #type').val() == 's';
298
                required: true
311
                },
299
            },
-
 
300
            file: {
312
                'number' : true,
301
                required: true,
313
                'min' : 0
302
                extension: 'jpg|jpeg|png',
314
            }
303
                accept: 'image/jpg,image/jpeg,image/png'
315
        },
304
            },
316
        submitHandler: function(form)
305
            },
317
        {
306
            submitHandler: function (form) {
318
            var formdata = false;
307
            var formdata = false
319
            if (window.FormData){
308
            if (window.FormData) {
320
                formdata = new FormData(form); //form[0]);
309
                formdata = new FormData(form) //form[0]);
321
            }
-
 
322
 
-
 
323
           
310
            }
324
			NProgress.start();
311
 
325
            $.ajax({
312
            NProgress.start()
326
                'dataType'  : 'json',
313
            $.ajax({
327
                'accept'    : 'application/json',
314
                dataType: 'json',
328
                'method'    : 'post',
315
                accept: 'application/json',
329
                'url'       :  $('#form-add').attr('action'),
316
                method: 'post',
330
                'data'      :  formdata,
317
                url: $('#form-add').attr('action'),
331
                'processData': false,
318
                data: formdata,
332
                'contentType': false,
319
                processData: false,
-
 
320
                contentType: false
333
            }).done(function(response) {
321
            })
334
                if(response['success']) {
322
                .done(function (response) {
335
                    $.fn.showSuccess(response['data']);
323
                if (response['success']) {
-
 
324
                    $.fn.showSuccess(response['data'])
336
      
325
 
337
					gridTable.api().ajax.reload(null, false);
-
 
338
 
326
                    gridTable.api().ajax.reload(null, false)
339
                    $('#row-add').hide();
327
 
340
                    $('#row-edit').hide();
328
                    $('#row-add').hide()
341
                    $('#row-listing').show();
-
 
342
 
-
 
343
                    
-
 
344
                } else {
-
 
345
                    validatorAdd.resetForm();
-
 
346
                    if(jQuery.type(response['data']) == 'string') {
-
 
347
                        $.fn.showError(response['data']);
-
 
348
                    } else  {
-
 
349
                        $.each(response['data'], function( fieldname, errors ) {
-
 
350
                            $.fn.showFormErrorValidator('#form-add #' + fieldname, errors);
-
 
351
                        });
-
 
352
                    }
-
 
353
                }
-
 
354
            }).fail(function( jqXHR, textStatus, errorThrown) {
-
 
355
				console.log(jqXHR)
-
 
356
                $.fn.showError(textStatus);
329
                    $('#row-edit').hide()
-
 
330
                    $('#row-listing').show()
-
 
331
                } else {
-
 
332
                    validatorAdd.resetForm()
-
 
333
                    if (jQuery.type(response['data']) == 'string') {
-
 
334
                    $.fn.showError(response['data'])
-
 
335
                    } else {
-
 
336
                    $.each(response['data'], function (fieldname, errors) {
-
 
337
                        $.fn.showFormErrorValidator('#form-add #' + fieldname, errors)
-
 
338
                    })
357
            }).always(function() {
339
                    }
-
 
340
                }
358
			
341
                })
359
                NProgress.done();
342
                .fail(function (jqXHR, textStatus, errorThrown) {
360
            });
343
                console.log(jqXHR)
361
            return false;
344
                $.fn.showError(textStatus)
362
        },
-
 
363
        invalidHandler: function(form, validator) {
-
 
364
            
-
 
365
        }
-
 
366
    });
-
 
367
 
-
 
368
    var validatorEdit  = $('#form-edit').validate({
-
 
369
        debug: true,
-
 
370
        onclick: false,
345
                })
371
        onkeyup: false,
346
                .always(function () {
372
        ignore: [],
-
 
373
        rules: {
-
 
374
              'name': {
-
 
375
                required: true,
-
 
376
                maxlength: 128,
-
 
377
            },
-
 
378
            'description': {
-
 
379
                updateCkeditor:function() {
347
                NProgress.done()
380
                        CKEDITOR.instances.description_edit.updateElement();
348
                })
381
                },
-
 
382
                required: true
-
 
383
            },
-
 
384
           'file': {
-
 
385
                required: false,
349
            return false
386
                extension: 'jpg|jpeg|png',
-
 
387
                accept: 'image/jpg,image/jpeg,image/png'
350
            },
388
            },
-
 
389
           'marketplace': {
-
 
390
                required: false,
-
 
391
                extension: 'jpg|jpeg|png',
-
 
392
                accept: 'image/jpg,image/jpeg,image/png'
351
            invalidHandler: function (form, validator) {}
393
            },
352
        })
394
            'status' : {
353
 
395
                required: true,
354
        // Validación de formulario de edición
396
            },
-
 
397
            'privacy' : {
-
 
398
                required: true,
-
 
399
            },
355
        var validatorEdit = $('#form-edit').validate({
400
            'type' : {
-
 
401
                required: true,
-
 
402
            },
-
 
403
            'cost' : {
-
 
404
                required: function() {
356
            debug: true,
405
                    return $('#form-edit #type').val() == 's';
357
            onclick: false,
406
                },
-
 
407
                'number' : true,
-
 
408
                'min' : 0
358
            onkeyup: false,
409
            }
-
 
410
        },
-
 
411
        submitHandler: function(form)
-
 
412
        {
-
 
413
            var formdata = false;
-
 
414
            if (window.FormData){
-
 
415
                formdata = new FormData(form); //form[0]);
-
 
416
            }
-
 
417
 
-
 
418
			
-
 
419
			NProgress.start();
359
            ignore: [],
420
            $.ajax({
-
 
421
                'dataType'  : 'json',
-
 
422
                'accept'    : 'application/json',
-
 
423
                'method'    : 'post',
-
 
424
                'url'       :  $('#form-edit').attr('action'),
-
 
425
                'data'      :  formdata,
-
 
426
                'processData': false,
-
 
427
                'contentType': false,
360
            rules: {
428
            }).done(function(response) {
-
 
429
                if(response['success']) {
-
 
430
                    $.fn.showSuccess(response['data']);
-
 
431
					
-
 
432
                    gridTable.api().ajax.reload(null, false);
-
 
433
 
-
 
434
                    $('#row-add').hide();
-
 
435
                    $('#row-edit').hide();
-
 
436
                    $('#row-listing').show();
-
 
437
 
-
 
438
                    
-
 
439
                } else {
-
 
440
                    validatorEdit.resetForm();
-
 
441
                    if(jQuery.type(response['data']) == 'string') {
-
 
442
                        $.fn.showError(response['data']);
-
 
443
                    } else  {
-
 
Línea 444... Línea -...
444
                        $.each(response['data'], function( fieldname, errors ) {
-
 
445
                            $.fn.showFormErrorValidator('#form-edit #' + fieldname, errors);
361
                name: {
446
                        });
-
 
447
                    }
-
 
448
                }
-
 
449
            }).fail(function( jqXHR, textStatus, errorThrown) {
362
                    required: true,
450
 
-
 
451
                $.fn.showError(textStatus);
-
 
452
            }).always(function() {
-
 
453
 
363
                    maxlength: 128
454
 
-
 
455
                NProgress.done();
-
 
456
            });
364
                },
457
            return false;
365
                description: {
458
        },
-
 
459
        invalidHandler: function(form, validator) {
-
 
460
            
-
 
461
        }
-
 
462
    });
-
 
463
 
-
 
464
 
-
 
465
 
366
                    updateCkeditor: function () {
466
        $('body').on('click', '.btn-view-image-marketplace', function(e) {
-
 
467
            e.preventDefault();
-
 
468
    
-
 
469
            $('#image-marketplace').attr('src', $(this).data('href'));
-
 
470
            $('#modalPreviewMarketPlace').modal('show');
-
 
471
            return false;
-
 
472
        });
-
 
473
    
-
 
474
        $('body').on('click', '.btn-view-image-app', function(e) {
-
 
475
            e.preventDefault();
-
 
476
    
-
 
477
            $('#image-app').attr('src', $(this).data('href'));
367
                    CKEDITOR.instances.description_edit.updateElement()
478
            $('#modalPreviewImage').modal('show');
-
 
479
            return false;
-
 
480
        });		
-
 
481
 
-
 
482
        $('body').on('click', 'button.btn-add', function(e) {
368
                    },
483
            e.preventDefault();
-
 
484
 
369
                    required: true
485
            $('#form-add #name').val('');
370
                },
486
            $('#form-add #privacy').val('');
-
 
487
            $('#form-add #status').val('');
-
 
488
            $('#form-add #cost').val('');
-
 
489
            $('#form-add #form-row-cost').hide();
-
 
490
            $('#form-add #file').fileinput('reset');
371
                file: {
491
            $('#form-add #file').val('');
372
                    required: false,
492
            $('#form-add #marketplace').fileinput('reset');
-
 
493
            $('#form-add #marketplace').val('');
-
 
494
    
-
 
495
            CKEDITOR.instances.description_add.setData('');
-
 
496
            validatorAdd.resetForm();
373
                    extension: 'jpg|jpeg|png',
-
 
374
                    accept: 'image/jpg,image/jpeg,image/png'
497
    
375
                }
498
            $('#row-listing').hide();   
376
            },
499
            $('#row-edit').hide();
377
            submitHandler: function (form) {
500
            $('#row-add').show();
378
                var formdata = false
501
        });
379
                if (window.FormData) {
502
 
380
                    formdata = new FormData(form) //form[0]);
503
        $('body').on('click', 'button.btn-edit', function(e) {
381
                }
-
 
382
 
504
            e.preventDefault();
383
                NProgress.start()
-
 
384
                $.ajax({
-
 
385
                    dataType: 'json',
-
 
386
                    accept: 'application/json',
-
 
387
                    method: 'post',
-
 
388
                    url: $('#form-edit').attr('action'),
505
			NProgress.start();
389
                    data: formdata,
-
 
390
                    processData: false,
-
 
391
                    contentType: false
-
 
392
                })
-
 
393
                    .done(function (response) {
-
 
394
                    if (response['success']) {
-
 
395
                        $.fn.showSuccess(response['data'])
-
 
396
 
-
 
397
                        gridTable.api().ajax.reload(null, false)
-
 
398
 
-
 
399
                        $('#row-add').hide()
-
 
400
                        $('#row-edit').hide()
506
            var url = $(this).data('href');
401
                        $('#row-listing').show()
-
 
402
                    } else {
-
 
403
                        validatorEdit.resetForm()
-
 
404
                        if (jQuery.type(response['data']) == 'string') {
-
 
405
                        $.fn.showError(response['data'])
-
 
406
                        } else {
-
 
407
                        $.each(response['data'], function (fieldname, errors) {
-
 
408
                            $.fn.showFormErrorValidator('#form-edit #' + fieldname, errors)
-
 
409
                        })
-
 
410
                        }
-
 
411
                    }
-
 
412
                    })
-
 
413
                    .fail(function (jqXHR, textStatus, errorThrown) {
-
 
414
                    $.fn.showError(textStatus)
-
 
415
                    })
507
            $.ajax({
416
                    .always(function () {
-
 
417
                    NProgress.done()
-
 
418
                    })
-
 
419
                return false
-
 
420
            },
-
 
421
            invalidHandler: function (form, validator) {}
-
 
422
        })
-
 
423
 
508
                'dataType'  : 'json',
424
        // Evento de botón de vista de imagen del marketplace
509
                'accept'    : 'application/json',
425
        $('body').on('click', '.btn-view-image-marketplace', function (e) {
510
                'method'    : 'get',
426
            e.preventDefault()
511
                'url'       :  url,
427
 
512
            }).done(function(response) {
428
            $('#image-marketplace').attr('src', $(this).data('href'))
513
                if(response['success']) {
429
            $('#modalPreviewMarketPlace').modal('show')
514
					console.log(response)
430
            return false
515
                    $('#form-edit').attr('action',url);
431
        })
516
                    $('#form-edit #name').val(response['data']['name']);
432
 
517
                    $('#form-edit #privacy').val(response['data']['privacy']);
433
        // Evento de botón de vista de imagen de la aplicación
-
 
434
        $('body').on('click', '.btn-view-image-app', function (e) {
518
                    $('#form-edit #type').val(response['data']['type']);
435
            e.preventDefault()
-
 
436
 
-
 
437
            $('#image-app').attr('src', $(this).data('href'))
-
 
438
            $('#modalPreviewImage').modal('show')
-
 
439
            return false
-
 
440
        })
-
 
441
 
-
 
442
        // Evento de botón de añadir
-
 
443
        $('body').on('click', 'button.btn-add', function (e) {
-
 
444
            e.preventDefault()
-
 
445
 
-
 
446
            $('#form-add #name').val('')
-
 
447
            $('#form-add #file').fileinput('reset')
-
 
448
            $('#form-add #file').val('')
-
 
449
 
-
 
450
            CKEDITOR.instances.description_add.setData('')
-
 
451
            validatorAdd.resetForm()
-
 
452
 
-
 
453
            $('#row-listing').hide()
-
 
454
            $('#row-edit').hide()
-
 
455
            $('#row-add').show()
-
 
456
        })
-
 
457
 
-
 
458
        // Evento de botón de editar
-
 
459
        $('body').on('click', 'button.btn-edit', function (e) {
-
 
460
            e.preventDefault()
-
 
461
            NProgress.start()
519
                    $('#form-edit #status').val(response['data']['status']);
462
            var url = $(this).data('href')
520
    
463
            $.ajax({
521
                    if('s' == response['data']['type']) {
464
            dataType: 'json',
522
                        $('#form-edit #form-row-cost').show();
465
            accept: 'application/json',
523
                        $('#form-edit #cost').val(response['data']['cost']);
466
            method: 'get',
524
                    } else {
467
            url: url
525
                        $('#form-edit #form-row-cost').hide();
468
            })
526
                        $('#form-edit #cost').val('');
-
 
527
                    }
469
            .done(function (response) {
528
 
470
                if (response['success']) {
-
 
471
                $('#form-edit').attr('action', url)
-
 
472
                $('#form-edit #name').val(response['data']['name'])
529
                    $('#form-edit #file').fileinput('reset');
473
                $('#form-edit #file').fileinput('reset')
530
                    $('#form-edit #file').val('');
474
                $('#form-edit #file').val('')
-
 
475
 
531
                    $('#form-edit #marketplace').fileinput('reset');
476
                CKEDITOR.instances.description_edit.setData(
532
                    $('#form-edit #marketplace').val('');
477
                    response['data']['description']
533
    
478
                )
534
                    CKEDITOR.instances.description_edit.setData(response['data']['description']);
479
                validatorEdit.resetForm()
535
                    validatorEdit.resetForm();
-
 
536
					
-
 
537
                    $('#row-listing').hide();   
-
 
538
                    $('#row-add').hide();
480
 
539
                    $('#row-edit').show();
481
                $('#row-listing').hide()
540
					
-
 
541
                } else {
-
 
542
                    validatorEdit.resetForm();
-
 
543
                    if(jQuery.type(response['data']) == 'string') {
-
 
544
                        $.fn.showError(response['data']);
-
 
545
                    } else  {
-
 
546
                        $.each(response['data'], function( fieldname, errors ) {
-
 
547
                            $.fn.showFormErrorValidator('#form-edit #' + fieldname, errors);
-
 
548
                        });
-
 
549
                    }
-
 
550
                }
-
 
551
            }).fail(function( jqXHR, textStatus, errorThrown) {
-
 
552
                $.fn.showError(textStatus);
-
 
553
            }).always(function() {
-
 
554
                NProgress.done();
-
 
555
            });
-
 
556
        });
-
 
557
 
-
 
558
 
-
 
559
    
-
 
560
        
-
 
561
        CKEDITOR.replace('description_add', {
-
 
562
			toolbar: [
-
 
563
                    { name: 'editing', items: ['Scayt'] },
-
 
564
                    { name: 'links', items: ['Link', 'Unlink'] },
-
 
565
                    { name: 'paragraph', items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'] },
-
 
566
                    { name: 'basicstyles', items: ['Bold', 'Italic', 'Strike', 'RemoveFormat'] },
-
 
567
                    '/',
-
 
568
                    { name: 'insert', items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar'] },
482
                $('#row-add').hide()
569
                    { name: 'styles', items: ['Styles', 'Format'] },
483
                $('#row-edit').show()
570
                    { name: 'tools', items: ['Maximize'] }
-
 
571
                ],
484
                } else {
572
                removePlugins: 'elementspath,Anchor',
-
 
573
                heigth: 100
-
 
574
		});
-
 
575
        CKEDITOR.replace('description_edit', {
-
 
576
			toolbar: [
-
 
577
                    { name: 'editing', items: ['Scayt'] },
485
                validatorEdit.resetForm()
578
                    { name: 'links', items: ['Link', 'Unlink'] },
486
                if (jQuery.type(response['data']) == 'string') {
579
                    { name: 'paragraph', items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'] },
-
 
580
                    { name: 'basicstyles', items: ['Bold', 'Italic', 'Strike', 'RemoveFormat'] },
-
 
581
                    '/',
487
                    $.fn.showError(response['data'])
582
                    { name: 'insert', items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar'] },
-
 
583
                    { name: 'styles', items: ['Styles', 'Format'] },
488
                } else {
584
                    { name: 'tools', items: ['Maximize'] }
489
                    $.each(response['data'], function (fieldname, errors) {
585
                ],
490
                    $.fn.showFormErrorValidator('#form-edit #' + fieldname, errors)
586
                removePlugins: 'elementspath,Anchor',
491
                    })
587
                heigth: 100
492
                }
588
		});
493
                }
589
 
-
 
590
        $('#form-add #type').change(function(e) {
-
 
591
            e.preventDefault();
-
 
592
    
-
 
593
            if('s' == $(this).val()) {
-
 
594
                $('#form-add #form-row-cost').show();
-
 
595
            } else {
-
 
596
                $('#form-add #cost').val(0);
-
 
597
                $('#form-add #form-row-cost').hide();
-
 
598
            }
-
 
599
    
494
            })
600
        });
-
 
601
    
495
            .fail(function (jqXHR, textStatus, errorThrown) {
602
        $('#form-edit #type').change(function(e) {
496
                $.fn.showError(textStatus)
603
            e.preventDefault();
497
            })
604
    
498
            .always(function () {
605
            if('s' == $(this).val()) {
499
                NProgress.done()
606
                $('#form-edit #form-row-cost').show();
500
            })
607
            } else {
501
        })
608
                $('#form-edit #cost').val(0);
-
 
609
                $('#form-edit #form-row-cost').hide();
-
 
610
            }
-
 
611
    
-
 
612
        });
-
 
613
 
-
 
614
        $('#form-add #cost').inputNumberFormat({decimal: 2});
-
 
615
 
502
 
616
 
-
 
617
 
-
 
618
    
-
 
619
 
-
 
620
    $('body').on('click', 'button.btn-view-total-users', function(e) {
503
        // Evento de botón de eliminar
621
        e.preventDefault();
504
        $('body').on('click', 'button.btn-delete', function (e) {
622
        
505
            e.preventDefault()
623
        var href = $(this).data('href');
-
 
624
        NProgress.start();
506
            var action = $(this).data('href')
625
        $.ajax({
-
 
626
            'dataType'  : 'json',
507
 
627
            'accept'    : 'application/json',
508
            swal
628
            'method'    : 'get',
-
 
629
            'url'       : href,
509
            .fire({
630
        }).done(function(response) {
-
 
631
            if(response['success']) {
-
 
632
                $('#table-users-capsule').val(response['data']['capsule']);
-
 
633
 
-
 
634
                $('#gridTableUsers tbody').empty();
-
 
635
                
510
                title: 'LABEL_ARE_YOU_SURE',
636
                $.each(response['data']['items'], function(index, item) {
-
 
637
                    var s = '<tr>';
-
 
638
                    s = s + '<td>' + item['first_name'] + '</td>';
-
 
639
                    s = s + '<td>' + item['last_name'] + '</td>';
-
 
640
                    s = s + '<td>' + item['email'] + '</td>';
-
 
641
 
511
                icon: 'question',
642
                    s = s + '<td>';
512
                cancelButtonText: 'LABEL_NO',
643
                    if(item['details']['access']) {
-
 
644
                        s = s + 'LABEL_ACCESS : ' + item['details']['access'] + '<br>';
-
 
645
                    } 
-
 
646
                    if(item['details']['paid_from']) {
-
 
647
                        s = s + 'LABEL_PAID_FROM : ' + item['details']['paid_from'] + '<br>';
-
 
648
                    } 
-
 
649
                    if(item['details']['paid_to']) {
-
 
650
                        s = s + 'LABEL_PAID_TO : ' + item['details']['paid_to'] + '<br>';
-
 
651
                    }
-
 
652
 
-
 
653
                    s = s + '</td>';
-
 
654
                    s = s + '</tr>';
-
 
655
 
-
 
656
                    $('#gridTableUsers tbody').append(s);
-
 
657
                });    
-
 
658
 
-
 
659
                $('#notificationUsersModal').modal('show');
-
 
660
            } else {
-
 
661
                $.fn.showError(response['data']);
-
 
662
            }
-
 
663
        }).fail(function( jqXHR, textStatus, errorThrown) {
-
 
664
            $.fn.showError(textStatus);
-
 
665
        }).always(function() {
-
 
666
            NProgress.done();
-
 
667
        });
-
 
668
        return false;
-
 
669
    }); 
-
 
670
    $('body').on('click', 'button.btn-refresh', function(e) {
-
 
671
        e.preventDefault();
-
 
672
        gridTable.api().ajax.reload(null, false);
-
 
673
    });
-
 
674
 
-
 
675
    $('body').on('click', 'button.btn-delete', function(e) { 
-
 
676
        e.preventDefault();
-
 
677
        var action = $(this).data('href');
-
 
678
 
-
 
679
 
513
                showCancelButton: true,
680
          swal.fire({
-
 
681
            title: 'LABEL_ARE_YOU_SURE',
-
 
682
            icon: 'question',
514
                confirmButtonText: 'LABEL_YES'
683
            cancelButtonText: 'LABEL_NO',
515
            })
684
            showCancelButton: true,
516
            .then((result) => {
685
            confirmButtonText: 'LABEL_YES'
517
                if (result.isConfirmed) {
686
          }).then((result) => {
518
                NProgress.start()
687
            if (result.isConfirmed) {
519
                $.ajax({
Línea -... Línea 520...
-
 
520
                    dataType: 'json',
-
 
521
                    accept: 'application/json',
-
 
522
                    method: 'post',
-
 
523
                    url: action
-
 
524
                })
-
 
525
                    .done(function (response) {
-
 
526
                    if (response['success']) {
-
 
527
                        $.fn.showSuccess(response['data'])
-
 
528
                        gridTable.api().ajax.reload(null, false)
-
 
529
                    } else {
-
 
530
                        $.fn.showError(response['data'])
-
 
531
                    }
-
 
532
                    })
-
 
533
                    .fail(function (jqXHR, textStatus, errorThrown) {
-
 
534
                    $.fn.showError(textStatus)
-
 
535
                    })
-
 
536
                    .always(function () {
-
 
537
                    NProgress.done()
-
 
538
                    })
-
 
539
                }
-
 
540
            })
-
 
541
        })
-
 
542
 
-
 
543
        // Evento de botón de cancelar
-
 
544
        $('body').on('click', 'button.btn-cancel', function (e) {
-
 
545
            e.preventDefault()
-
 
546
            $('#row-add').hide()
-
 
547
            $('#row-edit').hide()
-
 
548
            $('#row-listing').show()
-
 
549
        })
-
 
550
 
-
 
551
        // Evento de botón de refrescar
-
 
552
        $('body').on('click', 'button.btn-refresh', function (e) {
-
 
553
            e.preventDefault()
-
 
554
            gridTable.api().ajax.reload(null, false)
Línea 688... Línea -...
688
 
-
 
689
                    NProgress.start();
555
        })
690
                    $.ajax({
556
        
691
                        'dataType'  : 'json',
557
        // Configuración del formulario de creación
692
                        'accept'    : 'application/json',
558
        $('#form-add #file').fileinput({
693
                        'method'    : 'post',
-
 
694
                        'url'       :  action,
-
 
695
                    }).done(function(response) {
559
            theme: 'fa',
696
                        if(response['success']) {
560
            language: 'es',
697
                            $.fn.showSuccess(response['data']);
-
 
698
                            gridTable.api().ajax.reload(null, false);
-
 
699
                        } else {
561
            showUpload: false,
700
                            $.fn.showError(response['data']);
562
            dropZoneEnabled: false,
701
                        }
563
            maxFileCount: 1,
702
                    }).fail(function( jqXHR, textStatus, errorThrown) {
-
 
703
                        $.fn.showError(textStatus);
564
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
704
                    }).always(function() {
-
 
705
                        NProgress.done();
-
 
706
                    });
565
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
707
                }
-
 
708
           });
566
        })
709
        });
567
 
710
 
568
        // Configuración del formulario de edición
711
 
569
        $('#form-edit #file').fileinput({
712
  $('#form-add #file').fileinput({
570
            theme: 'fa',
713
                theme: 'fa',
571
            language: 'es',
714
                language: 'es',
572
            showUpload: false,
715
                showUpload: false,
573
            dropZoneEnabled: false,
716
                dropZoneEnabled: false,
574
            maxFileCount: 1,
717
                maxFileCount: 1,
-
 
718
                msgPlaceholder:  'LABEL_RECOMMENDED_SIZE $image_size',
-
 
719
                allowedFileExtensions: ['jpeg', 'jpg', 'png'],
575
            msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
720
            });
576
            allowedFileExtensions: ['jpeg', 'jpg', 'png']
721
 
-
 
722
  $('#form-add #marketplace').fileinput({
-
 
723
                theme: 'fa',
577
        })
724
                language: 'es',
-
 
725
                showUpload: false,
578
 
726
                dropZoneEnabled: false,
579
        // Configuración del editor de CKEditor para el formulario de creación
727
                maxFileCount: 1,
-
 
728
                msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $marketplace_size',
580
        CKEDITOR.replace('description_add', {
729
                allowedFileExtensions: ['jpeg', 'jpg', 'png'],
581
            toolbar: [
730
            });
582
            { name: 'editing', items: ['Scayt'] },
731
    
583
            { name: 'links', items: ['Link', 'Unlink'] },
732
            $('#form-edit #file').fileinput({
584
            {
733
                theme: 'fa',
-
 
734
                language: 'es',
585
                name: 'paragraph',
Línea -... Línea 586...
-
 
586
                items: [
-
 
587
                'NumberedList',
-
 
588
                'BulletedList',
-
 
589
                '-',
-
 
590
                'Outdent',
-
 
591
                'Indent',
-
 
592
                'Blockquote'
-
 
593
                ]
-
 
594
            },
-
 
595
            {
-
 
596
                name: 'basicstyles',
-
 
597
                items: ['Bold', 'Italic', 'Strike', 'RemoveFormat']
-
 
598
            },
-
 
599
            '/',
-
 
600
            {
-
 
601
                name: 'insert',
-
 
602
                items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar']
-
 
603
            },
-
 
604
            { name: 'styles', items: ['Styles', 'Format'] },
-
 
605
            { name: 'tools', items: ['Maximize'] }
-
 
606
            ],
-
 
607
            removePlugins: 'elementspath,Anchor',
-
 
608
            heigth: 100
-
 
609
        })
-
 
610
 
-
 
611
        // Configuración del editor de CKEditor para el formulario de edición
-
 
612
        CKEDITOR.replace('description_edit', {
-
 
613
            toolbar: [
-
 
614
            { name: 'editing', items: ['Scayt'] },
-
 
615
            { name: 'links', items: ['Link', 'Unlink'] },
-
 
616
            {
735
                showUpload: false,
617
                name: 'paragraph',
736
                dropZoneEnabled: false,
618
                items: [
737
                maxFileCount: 1,
619
                'NumberedList',
738
                msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
620
                'BulletedList',
Línea 739... Línea -...
739
                allowedFileExtensions: ['jpeg', 'jpg', 'png'],
-
 
740
            });
621
                '-',
741
 
622
                'Outdent',
742
            $('#form-edit #marketplace').fileinput({
623
                'Indent',
743
                theme: 'fa',
624
                'Blockquote'
744
                language: 'es',
625
                ]
-
 
626
            },
745
                showUpload: false,
627
            {
746
                dropZoneEnabled: false,
628
                name: 'basicstyles',
747
                maxFileCount: 1,
629
                items: ['Bold', 'Italic', 'Strike', 'RemoveFormat']
748
                msgPlaceholder:  'LABEL_RECOMMENDED_SIZE $marketplace_size',
630
            },
749
                allowedFileExtensions: ['jpeg', 'jpg', 'png'],
631
            '/',
750
            });
632
            {
751
       
633
                name: 'insert',
752
        $('body').on('click', 'button.btn-cancel', function(e) {
634
                items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar']
753
            e.preventDefault();
635
            },
754
            $('#row-add').hide();
636
            { name: 'styles', items: ['Styles', 'Format'] },
755
            $('#row-edit').hide();
637
            { name: 'tools', items: ['Maximize'] }
756
            $('#row-listing').show();
638
            ],
757
            
639
            removePlugins: 'elementspath,Anchor',
758
        });
640
            heigth: 100
759
 
641
        })
760
});
642
    })
761
JS;
643
JS;
762
$this->inlineScript()->captureEnd();
644
$this->inlineScript()->captureEnd();
-
 
645
?>
763
?>
646
 
764
 
647
<div class="container">
765
 
648
	<div class="card" id="row-listing">
766
<div class="container">
649
	 	<div class="card-header">
767
	<div class="card" id="row-listing">
650
	 		<h6 class="card-title">LABEL_CAPSULES</h6>
Línea 796... Línea 679...
796
	
679
	
797
	<div class="card" id="row-add" style="display: none">
680
	<div class="card" id="row-add" style="display: none">
798
	 	<div class="card-header">
681
	 	<div class="card-header">
799
	 		<h6 class="card-title">LABEL_ADD_CAPSULE</h6>
682
	 		<h6 class="card-title">LABEL_ADD_CAPSULE</h6>
-
 
683
	 	</div>
800
	 	</div>
684
 
801
	 	<?php
685
	 	<?php
802
		$form = $this->formAdd;
686
		$form = $this->formAdd;
803
		$form->setAttributes([
687
		$form->setAttributes([
804
			'method'  => 'post',
688
			'method'  => 'post',
Línea 808... Línea 692...
808
		]);
692
		]);
Línea 809... Línea 693...
809
 
693
 
810
		$form->prepare();
694
		$form->prepare();
811
		echo $this->form()->openTag($form);
695
		echo $this->form()->openTag($form);
812
		?>
-
 
813
	 	<div class="card-body">
-
 
814
	 		<div class="row">
-
 
815
	 	         <div class="col-12 mt-3">
-
 
816
    			<?php
-
 
817
    			$element = $form->get('name');
696
		?>
818
    
-
 
819
    			$element->setAttributes(['class' => 'form-control']);
-
 
820
    			$element->setOptions(['label' => 'LABEL_NAME']);
-
 
821
    			echo $this->formLabel($element);
-
 
822
    			echo $this->formText($element);
-
 
823
    			?>
-
 
824
    			</div>
-
 
825
    		</div>	
-
 
826
	 		<div class="row">
697
 
827
	 	         <div class="col-12 mt-3">
-
 
828
        			<?php
-
 
829
        			$element = $form->get('description');
-
 
830
        			$element->setAttributes(['id' => 'description_add', 'class' => 'form-control', 'rows' => '2', 'class' => 'form-control']);
-
 
831
        			$element->setOptions(['label' => 'LABEL_DESCRIPTION']);
-
 
832
        			echo $this->formLabel($element);
-
 
833
        			echo $this->formTextArea($element);
-
 
834
        			?>
-
 
835
        		</div>
-
 
836
        	</div>	
-
 
837
	 		<div class="row">
698
            <div class="card-body">
838
	 	         <div class="col-12 mt-3">
-
 
839
    			<?php
-
 
840
    			$element = $form->get('status');
-
 
841
    			$element->setAttributes(['class' => 'form-control']);
-
 
842
    			$element->setOptions(['label' => 'LABEL_STATUS']);
-
 
843
    			echo $this->formLabel($element);
-
 
844
    			echo $this->formSelect($element);
-
 
845
    			?>
-
 
846
				</div>
-
 
847
			</div>	
-
 
848
	 		<div class="row">
699
                <div class="row">
849
	 	         <div class="col-12 mt-3">
-
 
850
        			<?php
-
 
851
        			$element = $form->get('privacy');
-
 
852
        			$element->setAttributes(['class' => 'form-control']);
-
 
853
        			$element->setOptions(['label' => 'LABEL_PRIVACY']);
-
 
854
        			echo $this->formLabel($element);
-
 
855
        			echo $this->formSelect($element);
-
 
856
        			?>
-
 
857
        		</div>
-
 
858
        	</div>	
-
 
859
			<div class="row">
-
 
860
	 			<div class="col-12 mt-3">
-
 
861
        			<?php
-
 
862
        			$element = $form->get('type');
-
 
863
        			$element->setAttributes(['class' => 'form-control']);
-
 
864
        			$element->setOptions(['label' => 'LABEL_TYPE']);
-
 
865
        			echo $this->formLabel($element);
-
 
866
        			echo $this->formSelect($element);
-
 
867
        			?>
-
 
868
        		</div>
-
 
869
        	</div>	
-
 
870
 
-
 
871
		  	<div class="row"  id="form-row-cost">
-
 
872
	 			<div class="col-12 mt-3">
-
 
873
        			<?php
-
 
874
        			$element = $form->get('cost');
-
 
875
        			$element->setAttributes(['class' => 'form-control']);
-
 
876
        			$element->setOptions(['label' => 'LABEL_COST']);
-
 
877
        			echo $this->formLabel($element);
-
 
878
        			echo $this->formText($element);
-
 
879
        			?>
-
 
880
				</div>
-
 
881
			</div>	
-
 
882
			<div class="row">
-
 
883
	 	 		<div class="col-12 mt-3">
700
                    <div class="col-12 mt-3">
884
                        <?php
701
                        <?php
885
                        $element = $form->get('file');
-
 
-
 
702
                        $element = $form->get('name');
886
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
703
            
887
                        $element->setAttributes(['class' => 'form-control']);
704
                        $element->setAttributes(['class' => 'form-control']);
888
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
705
                        $element->setOptions(['label' => 'LABEL_NAME']);
-
 
706
                        echo $this->formLabel($element);
-
 
707
                        echo $this->formText($element);
-
 
708
                        ?>
-
 
709
                    </div>
-
 
710
                </div>	
-
 
711
 
-
 
712
                <div class="row">
-
 
713
                    <div class="col-12 mt-3">
-
 
714
                        <?php
-
 
715
                        $element = $form->get('description');
-
 
716
                        $element->setAttributes(['id' => 'description_add', 'class' => 'form-control', 'rows' => '2', 'class' => 'form-control']);
889
                        echo $this->formLabel($element);
717
                        $element->setOptions(['label' => 'LABEL_DESCRIPTION']);
-
 
718
                        echo $this->formLabel($element);
890
                        echo $this->formFile($element);
719
                        echo $this->formTextArea($element);
891
                        ?>
720
                        ?>
892
            	</div>
721
                    </div>
-
 
722
                </div>
893
           	</div> 
723
                
894
           	<div class="row">
724
                <div class="row">
895
	 	         <div class="col-12 mt-3">
725
                    <div class="col-12 mt-3">
896
                        <?php
726
                        <?php
897
                        $element = $form->get('marketplace');
727
                        $element = $form->get('file');
898
                        $element->setOptions(['label' => 'LABEL_MARKETPLACE']);
728
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
899
                        $element->setAttributes(['class' => 'form-control']);
729
                        $element->setAttributes(['class' => 'form-control']);
900
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
730
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
901
                        echo $this->formLabel($element);
731
                        echo $this->formLabel($element);
902
                        echo $this->formFile($element);
732
                        echo $this->formFile($element);
903
                        ?>
733
                        ?>
904
          		</div>
734
                    </div>
905
          	</div> 
735
                </div>
-
 
736
            </div>
906
	 	</div>
737
 
907
	 	<div class="card-footer text-right">
738
            <div class="card-footer text-right">
908
			<button type="submit" class="btn btn-primary">LABEL_SAVE</button>
739
                <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
909
      		<button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
740
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
910
	 	</div>
741
            </div>
911
	 	<?php echo $this->form()->closeTag($form); ?>
742
	 	<?php echo $this->form()->closeTag($form); ?>
Línea 912... Línea 743...
912
	</div>
743
	</div>
913
	
744
	
914
	<div class="card" id="row-edit" style="display: none">
745
	<div class="card" id="row-edit" style="display: none">
915
	 	<div class="card-header">
746
	 	<div class="card-header">
-
 
747
	 		<h6 class="card-title">LABEL_EDIT_CAPSULE</h6>
916
	 		<h6 class="card-title">LABEL_EDIT_CAPSULE</h6>
748
	 	</div>
917
	 	</div>
749
 
918
	 	<?php
750
	 	<?php
919
		$form = $this->formEdit;
751
		$form = $this->formEdit;
920
		$form->setAttributes([
752
		$form->setAttributes([
Línea 924... Línea 756...
924
		]);
756
		]);
Línea 925... Línea 757...
925
 
757
 
926
		$form->prepare();
758
		$form->prepare();
927
		echo $this->form()->openTag($form);
759
		echo $this->form()->openTag($form);
928
		?>
-
 
929
	 	<div class="card-body">
-
 
930
	 		<div class="row">
760
		?>
931
	 	         <div class="col-12 mt-3">
-
 
932
    			<?php
-
 
933
    			$element = $form->get('name');
-
 
934
    
-
 
935
    			$element->setAttributes(['class' => 'form-control']);
-
 
936
    			$element->setOptions(['label' => 'LABEL_NAME']);
-
 
937
    			echo $this->formLabel($element);
-
 
938
    			echo $this->formText($element);
-
 
939
    			?>
-
 
940
    			</div>
-
 
941
    		</div>	
-
 
942
	 		<div class="row">
-
 
943
	 	         <div class="col-12 mt-3">
-
 
944
        			<?php
-
 
945
        			$element = $form->get('description');
-
 
946
        			$element->setAttributes(['id' => 'description_edit', 'class' => 'form-control', 'rows' => '2', 'class' => 'form-control']);
-
 
947
        			$element->setOptions(['label' => 'LABEL_DESCRIPTION']);
-
 
948
        			echo $this->formLabel($element);
-
 
949
        			echo $this->formTextArea($element);
-
 
950
        			?>
-
 
951
        		</div>
-
 
952
        	</div>	
-
 
953
	 		<div class="row">
761
            <div class="card-body">
954
	 	         <div class="col-12 mt-3">
-
 
955
    			<?php
-
 
956
    			$element = $form->get('status');
-
 
957
    			$element->setAttributes(['class' => 'form-control']);
-
 
958
    			$element->setOptions(['label' => 'LABEL_STATUS']);
-
 
959
    			echo $this->formLabel($element);
-
 
960
    			echo $this->formSelect($element);
-
 
961
    			?>
-
 
962
				</div>
-
 
963
			</div>	
-
 
964
	 		<div class="row">
762
                <div class="row">
965
	 	         <div class="col-12 mt-3">
-
 
966
        			<?php
-
 
967
        			$element = $form->get('privacy');
-
 
968
        			$element->setAttributes(['class' => 'form-control']);
-
 
969
        			$element->setOptions(['label' => 'LABEL_PRIVACY']);
-
 
970
        			echo $this->formLabel($element);
-
 
971
        			echo $this->formSelect($element);
-
 
972
        			?>
-
 
973
        		</div>
-
 
974
        	</div>	
-
 
975
			<div class="row">
-
 
976
	 			<div class="col-12 mt-3">
-
 
977
        			<?php
-
 
978
        			$element = $form->get('type');
-
 
979
        			$element->setAttributes(['class' => 'form-control']);
-
 
980
        			$element->setOptions(['label' => 'LABEL_TYPE']);
-
 
981
        			echo $this->formLabel($element);
-
 
982
        			echo $this->formSelect($element);
-
 
983
        			?>
-
 
984
        		</div>
-
 
985
        	</div>	
-
 
986
 
-
 
987
		  	<div class="row"  id="form-row-cost">
-
 
988
	 			<div class="col-12 mt-3">
-
 
989
        			<?php
-
 
990
        			$element = $form->get('cost');
-
 
991
        			$element->setAttributes(['class' => 'form-control']);
-
 
992
        			$element->setOptions(['label' => 'LABEL_COST']);
-
 
993
        			echo $this->formLabel($element);
-
 
994
        			echo $this->formText($element);
-
 
995
        			?>
-
 
996
				</div>
-
 
997
			</div>	
-
 
998
			<div class="row">
-
 
999
	 	 		<div class="col-12 mt-3">
763
                    <div class="col-12 mt-3">
1000
                        <?php
764
                        <?php
1001
                        $element = $form->get('file');
-
 
1002
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
765
                        $element = $form->get('name');
1003
                        $element->setAttributes(['class' => 'form-control']);
766
                        $element->setAttributes(['class' => 'form-control']);
1004
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
767
                        $element->setOptions(['label' => 'LABEL_NAME']);
1005
                        echo $this->formLabel($element);
768
                        echo $this->formLabel($element);
1006
                        echo $this->formFile($element);
769
                        echo $this->formText($element);
1007
                        ?>
770
                        ?>
1008
            	</div>
771
                    </div>
-
 
772
                </div>
1009
           	</div> 
773
 
1010
           	<div class="row">
774
                <div class="row">
1011
	 	         <div class="col-12 mt-3">
775
                    <div class="col-12 mt-3">
1012
                        <?php
776
                        <?php
1013
                        $element = $form->get('marketplace');
-
 
1014
                        $element->setOptions(['label' => 'LABEL_MARKETPLACE']);
777
                        $element = $form->get('description');
1015
                        $element->setAttributes(['class' => 'form-control']);
778
                        $element->setAttributes(['id' => 'description_edit', 'class' => 'form-control', 'rows' => '2', 'class' => 'form-control']);
1016
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
779
                        $element->setOptions(['label' => 'LABEL_DESCRIPTION']);
1017
                        echo $this->formLabel($element);
780
                        echo $this->formLabel($element);
1018
                        echo $this->formFile($element);
781
                        echo $this->formTextArea($element);
1019
                        ?>
782
                        ?>
1020
          		</div>
783
                    </div>
1021
          	</div> 
-
 
1022
	 	</div>
-
 
1023
	 	<div class="card-footer text-right">
-
 
1024
			<button type="submit" class="btn btn-primary">LABEL_SAVE</button>
-
 
1025
      		<button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
-
 
1026
	 	</div>
-
 
1027
	 	<?php echo $this->form()->closeTag($form); ?>
-
 
1028
	</div>
-
 
1029
</div>
-
 
1030
 
-
 
1031
 
-
 
1032
 
-
 
Línea 1033... Línea -...
1033
 
-
 
1034
 
784
                </div>
1035
 
785
 
1036
<!-- The Modal -->
786
                <div class="row">
1037
<div class="modal" id="modalPreviewMarketPlace">
787
                    <div class="col-12 mt-3">
1038
	<div class="modal-dialog">
788
                            <?php
1039
		<div class="modal-content">
789
                            $element = $form->get('file');
-
 
790
                            $element->setOptions(['label' => 'LABEL_IMAGE']);
1040
			<!-- Modal Header -->
791
                            $element->setAttributes(['class' => 'form-control']);
1041
			<div class="modal-header">
792
                            $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
1042
				<h6 class="modal-title">LABEL_IMAGE_MARKETPLACE</h6>
793
                            echo $this->formLabel($element);
1043
				<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="btn-close"></button>
-
 
1044
			</div>
794
                            echo $this->formFile($element);
1045
 
795
                            ?>
1046
			<!-- Modal body -->
-
 
1047
			<div class="modal-body text-center">
796
                    </div>
1048
				<img src="" class="img img-responsive" style="width: 300px; height: auto" id="image-marketplace" />
797
                </div>
1049
			</div>
-
 
1050
 
798
            </div>
-
 
799
            
1051
			<!-- Modal footer -->
800
            <div class="card-footer text-right">
1052
			<div class="modal-footer text-right">
801
                <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
1053
				<button type="button" class="btn btn-danger" data-dismiss="modal">LABEL_CLOSE</button>
802
                <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
1054
			</div>
803
            </div>
1055
		</div>
804
	 	<?php echo $this->form()->closeTag($form); ?>
Línea 1056... Línea -...
1056
	</div>
-
 
1057
</div>
805
	</div>
1058
 
806
</div>
1059
 
807
 
1060
<!-- The Modal -->
808
<!-- The Modal -->
Línea 1077... Línea 825...
1077
			<div class="modal-footer text-right">
825
			<div class="modal-footer text-right">
1078
				<button type="button" class="btn btn-danger" data-dismiss="modal">LABEL_CLOSE</button>
826
				<button type="button" class="btn btn-danger" data-dismiss="modal">LABEL_CLOSE</button>
1079
			</div>
827
			</div>
1080
		</div>
828
		</div>
1081
	</div>
829
	</div>
1082
</div>
-
 
1083
 
-
 
1084
 
-
 
1085
 
-
 
1086
 
-
 
1087
 
-
 
1088
 
-
 
1089
<!-- The Modal -->
-
 
1090
<div class="modal" id="notificationUsersModal">
-
 
1091
	<div class="modal-dialog modal-xl">
-
 
1092
		<div class="modal-content">
-
 
1093
 
-
 
1094
			<!-- Modal Header -->
-
 
1095
			<div class="modal-header">
-
 
1096
				<h6 class="modal-title">LABEL_USERS</h6>
-
 
1097
				<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="btn-close"></button>
-
 
1098
			</div>
-
 
1099
 
-
 
1100
			<!-- Modal body -->
-
 
1101
			<div class="modal-body">
-
 
1102
				<form>
-
 
1103
					<div class="row">
-
 
1104
						<div class="col-12 mt-3">
-
 
1105
						<label>LABEL_CAPSULE</label>
-
 
1106
						<input type="text" readonly="readonly" id="table-users-capsule" class="form-control">
-
 
1107
						</div>
-
 
1108
					</div>	
-
 
1109
				</form>
-
 
1110
				<div class="row">
-
 
1111
					<div class="col-12 mt-3">
-
 
1112
        				<div style="height: 300px;overflow: scroll;">
-
 
1113
        					<table id="gridTableUsers" style="width: 100%" class="table table-bordered">
-
 
1114
        						<thead>
-
 
1115
        							<tr>
-
 
1116
        								<th>LABEL_FIRST_NAME</th>
-
 
1117
        								<th>LABEL_LAST_NAME</th>
-
 
1118
        								<th>LABEL_EMAIL</th>
-
 
1119
        								<th>LABEL_DETAILS</th>
-
 
1120
        							</tr>
-
 
1121
        						</thead>
-
 
1122
        						<tbody>
-
 
1123
        						</tbody>
-
 
1124
        					</table>
-
 
1125
        				</div>
-
 
1126
    				</div>
-
 
1127
    			</div>	
-
 
1128
			</div>
-
 
1129
 
-
 
1130
			<!-- Modal footer -->
-
 
1131
			<div class="modal-footer text-right">
-
 
1132
				<button type="button" class="btn btn-danger" data-dismiss="modal">LABEL_CLOSE</button>
-
 
1133
			</div>
-
 
1134
 
-
 
1135
		</div>
-
 
1136
	</div>
-
 
1137
</div>
830
</div>
1138
831