Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 17219 | | Comparar con el anterior | Ultima modificación | Ver Log |

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