Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
6094 stevensc 1
<?php
6001 efrain 2
$acl            = $this->viewModel()->getRoot()->getVariable('acl');
3
$currentUser    = $this->currentUserHelper();
4
$roleName       = $currentUser->getUserTypeId();
5
 
6056 efrain 6
$routeAdd = $this->url('knowledge-area/add');
7
$allowAdd       = $acl->isAllowed($roleName, 'knowledge-area/add') ? 1 : 0;
6001 efrain 8
 
9
 
6056 efrain 10
$route    = $this->url('knowledge-area');
6001 efrain 11
 
6056 efrain 12
$this->inlineScript()->appendFile($this->basePath('vendors/ckeditor/ckeditor.js'));
13
 
14
$this->headLink()->appendStylesheet($this->basePath('vendors/nprogress/nprogress.css'));
15
$this->inlineScript()->appendFile($this->basePath('vendors/nprogress/nprogress.js'));
16
 
17
$this->headLink()->appendStylesheet($this->basePath('vendors/select2/css/select2.min.css'));
18
$this->headLink()->appendStylesheet($this->basePath('vendors/select2-bootstrap4-theme/select2-bootstrap4.min.css'));
19
$this->inlineScript()->appendFile($this->basePath('vendors/select2/js/select2.min.js'));
20
 
6001 efrain 21
$this->inlineScript()->appendFile($this->basePath('vendors/bootstrap-confirmation/dist/bootstrap-confirmation.js'));
22
$this->inlineScript()->appendFile($this->basePath('vendors/jsrender/jsrender.min.js'));
23
 
6056 efrain 24
$this->headLink()->appendStylesheet($this->basePath('vendors/bootstrap-fileinput/css/fileinput.min.css'));
25
$this->headLink()->appendStylesheet($this->basePath('vendors/bootstrap-fileinput/themes/explorer-fa/theme.css'));
26
 
27
$this->inlineScript()->appendFile($this->basePath('vendors/bootstrap-fileinput/js/plugins/piexif.js'));
28
$this->inlineScript()->appendFile($this->basePath('vendors/bootstrap-fileinput/js/plugins/sortable.js'));
29
$this->inlineScript()->appendFile($this->basePath('vendors/bootstrap-fileinput/js/fileinput.js'));
30
$this->inlineScript()->appendFile($this->basePath('vendors/bootstrap-fileinput/js/locales/es.js'));
31
$this->inlineScript()->appendFile($this->basePath('vendors/bootstrap-fileinput/themes/fa/theme.js'));
32
$this->inlineScript()->appendFile($this->basePath('vendors/bootstrap-fileinput/themes/explorer-fa/theme.js'));
33
 
34
 
35
$this->inlineScript()->appendFile($this->basePath('vendors/jquery-validation/jquery.validate.js'));
36
$this->inlineScript()->appendFile($this->basePath('vendors/jquery-validation/additional-methods.js'));
37
$this->inlineScript()->appendFile($this->basePath('vendors/jquery-validation/localization/messages_es.js'));
38
 
39
 
40
 
6001 efrain 41
$this->inlineScript()->captureStart();
42
echo <<<JS
43
 
44
 
45
 
46
jQuery( document ).ready(function( $ ) {
6056 efrain 47
    $.fn.reload = function() {
6001 efrain 48
 
6056 efrain 49
 
6001 efrain 50
 
51
        NProgress.start();
52
        $.ajax({
53
            'dataType'  : 'json',
54
            'accept'    : 'application/json',
55
            'method'    : 'get',
6056 efrain 56
            'url'       :  '$route',
6001 efrain 57
            'data'      : {
6056 efrain 58
                'search' : $('#form-filter #search').val(),
6100 stevensc 59
                'category_id' : $('li.knowledge-category-li-selected > a.knowledge-category-a').data('uuid') ,
6056 efrain 60
 
6001 efrain 61
            }
62
        }).done(function(response) {
63
            if(response['success']) {
6056 efrain 64
                $('#knowledge-record-list').empty();
65
 
66
 
67
                if(response['data']['items'].length > 0) {
68
 
69
 
70
 
71
                    $( "#knowledge-record-list" ).html(
72
                		$( "#recordTemplate" ).render( response['data']['items'] )
6001 efrain 73
                	);
74
                } else {
75
                    var html = '<div class="company-title"><div class="widget widget-jobs"><div class="sd-title">ERROR_NO_RECORD_MATCHED_YOUR_QUERY</div></div></div>';
6056 efrain 76
                    $( "#knowledge-record-list" ).html(html);
6001 efrain 77
                }
78
 
79
 
6056 efrain 80
                $('button.btn-knowledge-delete').confirmation({
81
                    rootSelector: 'button.btn-knowledge-delete',
6001 efrain 82
                    title : 'LABEL_ARE_YOU_SURE',
83
                    singleton : true,
84
                    btnOkLabel: 'LABEL_YES',
85
                    btnCancelLabel: 'LABEL_NO',
86
                    onConfirm: function(value) {
87
                        var action = $(this).data('link');
88
                        NProgress.start();
89
                        $.ajax({
90
                            'dataType'  : 'json',
91
                            'accept'    : 'application/json',
92
                            'method'    : 'post',
93
                            'url'       :  action,
94
                        }).done(function(response) {
95
                            if(response['success']) {
96
                                $.fn.showSuccess(response['data']);
97
 
6056 efrain 98
                                $.fn.reload();
6001 efrain 99
                            } else {
100
                                $.fn.showError(response['data']);
101
                            }
102
                        }).fail(function( jqXHR, textStatus, errorThrown) {
103
                            $.fn.showError(textStatus);
104
                        }).always(function() {
105
                            NProgress.done();
106
                        });
107
 
108
                        return false;
109
                    },
110
                });
111
 
112
            } else {
113
                $.fn.showError(response['data']);
114
            }
115
        }).fail(function( jqXHR, textStatus, errorThrown) {
116
            $.fn.showError(textStatus);
117
        }).always(function() {
118
            NProgress.done();
119
        });
120
 
121
    }
122
 
123
 
124
    $('#form-connection-search #search').keyup(function(e) {
125
        e.preventDefault();
126
 
127
        var search = $('#form-connection-search #search').val()
128
        if(search.length > 0)  {
129
            var search = $('#form-connection-search #search').val().trim()
130
            if(search.length > 0)  {
131
                $.fn.reload(search);
132
            } else {
133
                $('#form-connection-search #search').val('');
134
            }
135
        } else {
136
            $.fn.reload('');
137
        }
138
 
139
    });
140
 
6056 efrain 141
    $.validator.setDefaults({
142
        debug: true,
143
        highlight: function(element) {
144
            $(element).addClass('is-invalid');
145
        },
146
        unhighlight: function(element) {
147
            $(element).removeClass('is-invalid');
148
        },
149
        errorElement: 'span',
150
        errorClass: 'error invalid-feedback',
151
        errorPlacement: function(error, element) {
152
            if(element.parent('.btn-file').length) {
153
                error.insertAfter(element.parent().parent());
154
            } else if(element.parent('.toggle').length) {
155
                error.insertAfter(element.parent().parent());
156
            } else {
157
                error.insertAfter(element.parent());
158
            }
159
        }
160
    });
161
 
162
 
163
    $.fn.showFormErrorValidator = function(fieldname, errors) {
164
        var field = $(fieldname);
165
        if(field) {
166
            $(field).addClass('is-invalid');
167
 
168
 
169
            var error = $('<span id="' + fieldname +'-error" class="error invalid-feedback">' + errors + '</div>');
170
            if(element.parent('.btn-file').length) {
171
                error.insertAfter(element.parent().parent());
172
            } else if(element.parent('.toggle').length) {
173
                error.insertAfter(element.parent().parent());
174
            } else {
175
                error.insertAfter(element.parent());
176
            }
177
        }
178
    };
179
 
180
    var validatorAdd = $('#form-add').validate({
181
        debug: true,
182
        onclick: false,
183
        onkeyup: false,
184
        ignore: [],
185
        rules: {
186
            'category_id': {
187
                required: true,
188
            },
189
            'title': {
190
                required: true,
191
                maxlength: 128,
192
            },
193
            'description': {
194
                updateCkeditor:function() {
195
                        CKEDITOR.instances.description_add.updateElement();
196
                },
197
                required: true
198
            },
199
           'image': {
200
                required: true,
201
                extension: 'jpg|jpeg|png',
202
                accept: 'image/jpg,image/jpeg,image/png'
203
            },
204
            'attachment': {
205
                required: false,
206
                extension: 'pdf|wav|mp3|webm,mp4,webm',
207
                accept: 'application/pdf, audio/wav, audio/mpeg, video/webm,video/mpeg,video/mp4'
208
            },
209
            'link': {
210
                required: false,
211
                maxlength: 250,
212
                url: true,
213
            },
214
        },
215
        submitHandler: function(form)
216
        {
217
            var formdata = false;
218
            if (window.FormData){
219
                formdata = new FormData(form); //form[0]);
220
            }
221
 
222
 
223
			NProgress.start();
224
            $.ajax({
225
                'dataType'  : 'json',
226
                'accept'    : 'application/json',
227
                'method'    : 'post',
228
                'url'       :  '$routeAdd',
229
                'data'      :  formdata,
230
                'processData': false,
231
                'contentType': false,
232
            }).done(function(response) {
233
				console.log(response)
234
				if(response['success']) {
235
                    $.fn.showSuccess(response['data']);
236
                    $.fn.reload();
237
 
238
                    $('#row-add').hide();
239
                    $('#row-list').show();
240
 
241
                } else {
242
                    validatorAdd.resetForm();
243
                    if(jQuery.type(response['data']) == 'string') {
244
                        $.fn.showError(response['data']);
245
                    } else  {
246
                        $.each(response['data'], function( fieldname, errors ) {
247
                            $.fn.showFormErrorValidator('#form-add #' + fieldname, errors);
248
                        });
249
                    }
250
                }
251
            }).fail(function( jqXHR, textStatus, errorThrown) {
252
                $.fn.showError(textStatus);
253
            }).always(function() {
254
                NProgress.done();
255
            });
256
            return false;
257
        },
258
        invalidHandler: function(form, validator) {
259
 
260
        }
261
    });
262
 
263
 
264
    var validatorEdit = $('#form-edit').validate({
265
        debug: true,
266
        onclick: false,
267
        onkeyup: false,
268
        ignore: [],
269
        rules: {
270
            'category_id': {
271
                required: true,
272
            },
273
            'title': {
274
                required: true,
275
                maxlength: 128,
276
            },
277
            'description': {
278
                updateCkeditor:function() {
279
                        CKEDITOR.instances.description_edit.updateElement();
280
                },
281
                required: true
282
            },
283
           'image': {
284
                required: false,
285
                extension: 'jpg|jpeg|png',
286
                accept: 'image/jpg,image/jpeg,image/png'
287
            },
288
            'attachment': {
289
                required: false,
290
                extension: 'pdf|wav|mp3|webm,mp4,webm',
291
                accept: 'application/pdf, audio/wav, audio/mpeg, video/webm,video/mpeg,video/mp4'
292
            },
293
            'link': {
294
                required: false,
295
                maxlength: 250,
296
                url: true,
297
            },
298
        },
299
        submitHandler: function(form)
300
        {
301
            var formdata = false;
302
            if (window.FormData){
303
                formdata = new FormData(form); //form[0]);
304
            }
305
 
306
 
307
			NProgress.start();
308
            $.ajax({
309
                'dataType'  : 'json',
310
                'accept'    : 'application/json',
311
                'method'    : 'post',
312
                'url'       :  $('#form-edit').attr('action'),
313
                'data'      :  formdata,
314
                'processData': false,
315
                'contentType': false,
316
            }).done(function(response) {
317
				console.log(response)
318
				if(response['success']) {
319
                    $.fn.showSuccess(response['data']);
320
                    $.fn.reload();
321
 
322
                    $('#row-edit').hide();
323
                    $('#row-list').show();
324
 
325
                } else {
326
                    validatorAdd.resetForm();
327
                    if(jQuery.type(response['data']) == 'string') {
328
                        $.fn.showError(response['data']);
329
                    } else  {
330
                        $.each(response['data'], function( fieldname, errors ) {
331
                            $.fn.showFormErrorValidator('#form-edit #' + fieldname, errors);
332
                        });
333
                    }
334
                }
335
            }).fail(function( jqXHR, textStatus, errorThrown) {
336
                $.fn.showError(textStatus);
337
            }).always(function() {
338
                NProgress.done();
339
            });
340
            return false;
341
        },
342
        invalidHandler: function(form, validator) {
343
 
344
        }
345
    });
346
    $('a.knowledge-category-a').click(function(e) {
6001 efrain 347
        e.preventDefault();
348
 
6056 efrain 349
 
6100 stevensc 350
        $('li.knowledge-category-li').removeClass('knowledge-category-li-selected');
351
        $(this).closest('li.knowledge-category-li').addClass('knowledge-category-li-selected');
6056 efrain 352
 
353
        $.fn.reload();
6001 efrain 354
    });
355
 
6056 efrain 356
    $('#form-filter #search').keyup(function(e) {
6001 efrain 357
 
6056 efrain 358
        e.preventDefault();
6001 efrain 359
 
6056 efrain 360
        $.fn.reload();
361
    })
6001 efrain 362
 
6056 efrain 363
    $('button.btn-search').click(function(e) {
364
        e.preventDefault();
6001 efrain 365
 
6056 efrain 366
        $.fn.reload();
367
    });
6001 efrain 368
 
369
 
6056 efrain 370
    $('body').on('click', 'button.btn-knowledge-edit', function(e) {
371
        e.preventDefault();
372
        var action = $(this).data('link');
373
        NProgress.start();
374
        $.ajax({
375
            'dataType'  : 'json',
376
            'accept'    : 'application/json',
377
            'method'    : 'get',
378
            'url'       :  action,
379
        }).done(function(response) {
380
            if(response['success']) {
6001 efrain 381
 
6056 efrain 382
                $('#form-edit').attr('action', action);
383
                $('#form-edit #category_id').val(response['data']['category_id']).trigger('change');
6001 efrain 384
 
6056 efrain 385
                $('#form-edit #title').val(response['data']['title']);
386
                $('#form-edit #link').val(response['data']['link']);
387
                CKEDITOR.instances.description_edit.setData(response['data']['description']);
388
 
389
                $('#form-edit #image').fileinput('reset');
390
                $('#form-edit #image').val('');
391
                $('#form-edit #attachment').fileinput('reset');
392
                $('#form-edt #attachment').val('');
393
 
394
 
395
                $('#row-list').hide();
396
                $('#row-edit').show();
397
            } else {
398
                $.fn.showError(response['data']);
399
            }
400
        }).fail(function( jqXHR, textStatus, errorThrown) {
401
            $.fn.showError(textStatus);
402
        }).always(function() {
403
            NProgress.done();
404
        });
6001 efrain 405
 
6056 efrain 406
    });
6001 efrain 407
 
408
 
6056 efrain 409
    $('body').on('click', 'button.btn-knowledge-open-attachment', function(e) {
410
        e.preventDefault();
411
        var action = $(this).data('link');
6001 efrain 412
 
6056 efrain 413
        window.open(action)
414
    });
6001 efrain 415
 
416
 
6056 efrain 417
    $('body').on('click', 'button.btn-knowledge-open-link', function(e) {
418
        e.preventDefault();
419
        var action = $(this).data('link');
6001 efrain 420
 
6056 efrain 421
        window.open(action)
422
    });
6001 efrain 423
 
424
 
6173 stevensc 425
    $('a.knowledge-add-a').click(function(e) {
6056 efrain 426
        e.preventDefault();
6001 efrain 427
 
6056 efrain 428
        $('#form-add #title').val('');
429
        $('#form-add #link').val('');
430
        CKEDITOR.instances.description_add.setData('');
6001 efrain 431
 
6056 efrain 432
        $('#form-add #image').fileinput('reset');
433
        $('#form-add #image').val('');
434
        $('#form-add #attachment').fileinput('reset');
435
        $('#form-add #attachment').val('');
6001 efrain 436
 
437
 
6056 efrain 438
        $('#row-list').hide();
439
        $('#row-add').show();
440
    });
6001 efrain 441
 
6056 efrain 442
    $('button.btn-cancel').click(function(e) {
443
        e.preventDefault();
6001 efrain 444
 
6056 efrain 445
        $('#row-add').hide();
446
        $('#row-edit').hide();
447
        $('#row-list').show();
448
 
449
    });
6001 efrain 450
 
6056 efrain 451
    $('#form-add #image').fileinput({
452
        theme: 'fa',
453
        language: 'es',
454
        showUpload: false,
455
        dropZoneEnabled: false,
456
        maxFileCount: 1,
457
        allowedFileExtensions: ['jpg', 'jpeg', 'png'],
458
        msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
459
    });
6001 efrain 460
 
6056 efrain 461
    $('#form-add #attachment').fileinput({
462
        theme: 'fa',
463
        language: 'es',
464
        showUpload: false,
465
        dropZoneEnabled: false,
466
        maxFileCount: 1,
467
        allowedFileExtensions: ['jpg', 'jpeg', 'png', 'pdf', 'wav', 'mp3', 'mp4', 'mpeg','webm'],
468
        msgPlaceholder: 'LABEL_EXTENSIONS_ALLOWED jpg, jpeg, png, pdf, wav, mp3, mp4, mpeg, webm',
469
    });
6001 efrain 470
 
6056 efrain 471
    $('#form-add #category_id').select2({
472
        theme: 'bootstrap4',
473
    });
6001 efrain 474
 
475
 
476
 
6056 efrain 477
    $('#form-edit #image').fileinput({
478
        theme: 'fa',
479
        language: 'es',
480
        showUpload: false,
481
        dropZoneEnabled: false,
482
        maxFileCount: 1,
483
        allowedFileExtensions: ['jpg', 'jpeg', 'png'],
484
        msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
485
    });
6001 efrain 486
 
6056 efrain 487
    $('#form-edit #attachment').fileinput({
488
        theme: 'fa',
489
        language: 'es',
490
        showUpload: false,
491
        dropZoneEnabled: false,
492
        maxFileCount: 1,
493
        allowedFileExtensions: ['jpg', 'jpeg', 'png', 'pdf', 'wav', 'mp3', 'mp4', 'mpeg','webm'],
494
        msgPlaceholder: 'LABEL_EXTENSIONS_ALLOWED jpg, jpeg, png, pdf, wav, mp3, mp4, mpeg, webm',
495
    });
6001 efrain 496
 
6056 efrain 497
    $('#form-edit #category_id').select2({
498
        theme: 'bootstrap4',
499
    });
6001 efrain 500
 
501
 
6056 efrain 502
    CKEDITOR.replace('description_add', {
503
        toolbar: [
504
                    { name: 'editing', items: ['Scayt'] },
505
                    { name: 'links', items: ['Link', 'Unlink'] },
506
                    { name: 'paragraph', items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'] },
507
                    { name: 'basicstyles', items: ['Bold', 'Italic', 'Strike', 'RemoveFormat'] },
508
                    '/',
509
                    { name: 'insert', items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar'] },
510
                    { name: 'styles', items: ['Styles', 'Format'] },
511
                    { name: 'tools', items: ['Maximize'] }
512
                ],
513
                removePlugins: 'elementspath,Anchor',
514
                heigth: 100
515
    });
6001 efrain 516
 
6056 efrain 517
    CKEDITOR.replace('description_edit',{
518
        toolbar: [
519
                    { name: 'editing', items: ['Scayt'] },
520
                    { name: 'links', items: ['Link', 'Unlink'] },
521
                    { name: 'paragraph', items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'] },
522
                    { name: 'basicstyles', items: ['Bold', 'Italic', 'Strike', 'RemoveFormat'] },
523
                    '/',
524
                    { name: 'insert', items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar'] },
525
                    { name: 'styles', items: ['Styles', 'Format'] },
526
                    { name: 'tools', items: ['Maximize'] }
527
                ],
528
                removePlugins: 'elementspath,Anchor',
529
                heigth: 100
530
    });
6001 efrain 531
 
6056 efrain 532
     $.fn.reload()
6001 efrain 533
 
534
 
6056 efrain 535
});
536
JS;
6094 stevensc 537
 
6056 efrain 538
$this->inlineScript()->captureEnd();
6094 stevensc 539
$this->headLink()->appendStylesheet('/look-and-field/knowledge.css');
540
?>
6001 efrain 541
 
6095 stevensc 542
<section class="companies-info container">
6173 stevensc 543
    <div class="company-title">
544
        <h1 class="title <?php if (!$allowAdd) {
545
                                echo 'mx-auto';
546
                            } ?>">
547
            LABEL_KNOWLEDGE_AREA_TITLE
548
        </h1>
6172 stevensc 549
        <?php if ($content_edit && $allowAdd) : ?>
550
 
6173 stevensc 551
            <div class="knowledge-add-container">
552
                <a href="" id="knowledge-add-a" class="knowledge-add-a">
6175 stevensc 553
                    <h2 class="title cursor-pointer">
6173 stevensc 554
                        LABEL_KNOWLEDGE_AREA_ADD
555
                    </h2>
556
                </a>
557
            </div>
6172 stevensc 558
        <?php endif; ?>
6094 stevensc 559
    </div>
6001 efrain 560
 
6098 stevensc 561
    <div class="row" id="row-list">
562
        <div class="knowledge-category-list col-12 col-md-3">
6094 stevensc 563
            <ul>
6100 stevensc 564
                <li class="knowledge-category-li knowledge-category-li-selected">
565
                    <a class="knowledge-category-a" href="" data-uuid="">LABEL_KNOWLEDGE_AREA_CATEGORY_ALL</a>
6094 stevensc 566
                </li>
567
                <?php
568
                foreach ($categories as $categorie) :
569
                ?>
6100 stevensc 570
                    <li class="knowledge-category-li">
571
                        <a class="knowledge-category-a" href="" data-uuid="<?php echo $categorie['uuid'] ?>"><?php echo $categorie['name'] ?></a>
6094 stevensc 572
                    </li>
6056 efrain 573
 
6094 stevensc 574
                <?php endforeach; ?>
575
            </ul>
576
        </div>
6056 efrain 577
 
6001 efrain 578
 
6098 stevensc 579
        <div class="col-12 col-md-9">
6094 stevensc 580
            <div class="search-box">
581
                <form id="form-filter" name="form-filter">
582
                    <input type="text" name="search" id="search" class="form-control"><button class="btn btn-search">LABEL_SEARCH</button>
583
                </form>
584
            </div>
6001 efrain 585
 
6095 stevensc 586
            <div id="knowledge-record-list" class="knowledge-record-list">
6094 stevensc 587
            </div>
6001 efrain 588
 
6094 stevensc 589
            <div id="knowledge-record-pagination">
590
            </div>
6001 efrain 591
 
6094 stevensc 592
        </div>
593
    </div>
6001 efrain 594
 
6056 efrain 595
 
596
 
6094 stevensc 597
    <div class="row" id="row-add" style="display: none">
598
        <div class="col-12">
599
            <div class="card">
600
                <?php
6056 efrain 601
                $form = $this->formAdd;
602
                $form->setAttributes([
603
                    'method'    => 'post',
604
                    'name'      => 'form-add',
605
                    'id'        => 'form-add',
606
                    //'action'    => $routeAdd,
607
                ]);
6001 efrain 608
 
6056 efrain 609
                $form->prepare();
610
                echo $this->form()->openTag($form);
611
                ?>
612
                <div class="card-header">
613
                    <h4 class="modal-title">LABEL_ADD</h4>
614
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
615
                </div>
6001 efrain 616
 
6056 efrain 617
                <!-- Modal body -->
618
                <div class="card-body">
6094 stevensc 619
 
6056 efrain 620
                    <div class="form-group">
621
                        <?php
622
                        $element = $form->get('category_id');
623
                        $element->setOptions(['label' => 'LABEL_CATEGORY']);
624
                        $element->setAttributes(['class' => 'form-control']);
6094 stevensc 625
 
6056 efrain 626
                        echo $this->formLabel($element);
627
                        echo $this->formSelect($element);
628
                        ?>
629
                    </div>
6094 stevensc 630
                    <div class="form-group">
6056 efrain 631
                        <?php
632
                        $element = $form->get('title');
633
                        $element->setOptions(['label' => 'LABEL_TITLE']);
634
                        $element->setAttributes(['class' => 'form-control']);
6094 stevensc 635
 
6056 efrain 636
                        echo $this->formLabel($element);
637
                        echo $this->formText($element);
638
                        ?>
639
                    </div>
6094 stevensc 640
                    <div class="form-group">
6056 efrain 641
                        <?php
642
                        $element = $form->get('description');
643
                        $element->setOptions(['label' => 'LABEL_DESCRIPTION']);
644
                        $element->setAttributes(['class' => 'form-control', 'id' => 'description_add']);
6094 stevensc 645
 
6056 efrain 646
                        echo $this->formLabel($element);
647
                        echo $this->formTextArea($element);
648
                        ?>
649
                    </div>
6094 stevensc 650
                    <div class="form-group">
6056 efrain 651
                        <?php
652
                        $element = $form->get('image');
653
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
654
                        $element->setAttributes(['class' => 'form-control']);
6094 stevensc 655
 
6056 efrain 656
                        echo $this->formLabel($element);
657
                        echo $this->formFile($element);
658
                        ?>
659
                    </div>
6094 stevensc 660
                    <div class="form-group">
6056 efrain 661
                        <?php
662
                        $element = $form->get('attachment');
663
                        $element->setOptions(['label' => 'LABEL_ATTACHMENT']);
664
                        $element->setAttributes(['class' => 'form-control']);
6094 stevensc 665
 
6056 efrain 666
                        echo $this->formLabel($element);
667
                        echo $this->formFile($element);
668
                        ?>
669
                    </div>
6094 stevensc 670
                    <div class="form-group">
6056 efrain 671
                        <?php
672
                        $element = $form->get('link');
673
                        $element->setOptions(['label' => 'LABEL_LINK']);
674
                        $element->setAttributes(['class' => 'form-control']);
6094 stevensc 675
 
6056 efrain 676
                        echo $this->formLabel($element);
677
                        echo $this->formText($element);
678
                        ?>
679
                    </div>
680
                </div>
681
                <div class="card-footer">
6094 stevensc 682
                    <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
683
                    <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
6056 efrain 684
                </div>
6094 stevensc 685
                <?php echo $this->form()->closeTag($form); ?>
6056 efrain 686
 
6001 efrain 687
            </div>
6056 efrain 688
        </div>
689
    </div>
6094 stevensc 690
 
691
    <div class="row" id="row-edit" style="display: none">
692
        <div class="col-12">
693
            <div class="card">
694
                <?php
6056 efrain 695
                $form = $this->formEdit;
696
                $form->setAttributes([
697
                    'method'    => 'post',
698
                    'name'      => 'form-edit',
699
                    'id'        => 'form-edit',
700
                    //'action'    => $routeAdd,
701
                ]);
702
 
703
                $form->prepare();
704
                echo $this->form()->openTag($form);
705
                ?>
706
                <div class="card-header">
707
                    <h4 class="modal-title">LABEL_EDIT</h4>
708
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
709
                </div>
710
 
711
                <!-- Modal body -->
712
                <div class="card-body">
6094 stevensc 713
 
6056 efrain 714
                    <div class="form-group">
715
                        <?php
716
                        $element = $form->get('category_id');
717
                        $element->setOptions(['label' => 'LABEL_CATEGORY']);
718
                        $element->setAttributes(['class' => 'form-control']);
6094 stevensc 719
 
6056 efrain 720
                        echo $this->formLabel($element);
721
                        echo $this->formSelect($element);
722
                        ?>
723
                    </div>
6094 stevensc 724
                    <div class="form-group">
6056 efrain 725
                        <?php
726
                        $element = $form->get('title');
727
                        $element->setOptions(['label' => 'LABEL_TITLE']);
728
                        $element->setAttributes(['class' => 'form-control']);
6094 stevensc 729
 
6056 efrain 730
                        echo $this->formLabel($element);
731
                        echo $this->formText($element);
732
                        ?>
733
                    </div>
6094 stevensc 734
                    <div class="form-group">
6056 efrain 735
                        <?php
736
                        $element = $form->get('description');
737
                        $element->setOptions(['label' => 'LABEL_DESCRIPTION']);
738
                        $element->setAttributes(['class' => 'form-control', 'id' => 'description_edit']);
6094 stevensc 739
 
6056 efrain 740
                        echo $this->formLabel($element);
741
                        echo $this->formTextArea($element);
742
                        ?>
743
                    </div>
6094 stevensc 744
                    <div class="form-group">
6056 efrain 745
                        <?php
746
                        $element = $form->get('image');
747
                        $element->setOptions(['label' => 'LABEL_IMAGE']);
748
                        $element->setAttributes(['class' => 'form-control']);
6094 stevensc 749
 
6056 efrain 750
                        echo $this->formLabel($element);
751
                        echo $this->formFile($element);
752
                        ?>
753
                    </div>
6094 stevensc 754
                    <div class="form-group">
6056 efrain 755
                        <?php
756
                        $element = $form->get('attachment');
757
                        $element->setOptions(['label' => 'LABEL_ATTACHMENT']);
758
                        $element->setAttributes(['class' => 'form-control']);
6094 stevensc 759
 
6056 efrain 760
                        echo $this->formLabel($element);
761
                        echo $this->formFile($element);
762
                        ?>
763
                    </div>
6094 stevensc 764
                    <div class="form-group">
6056 efrain 765
                        <?php
766
                        $element = $form->get('link');
767
                        $element->setOptions(['label' => 'LABEL_LINK']);
768
                        $element->setAttributes(['class' => 'form-control']);
6094 stevensc 769
 
6056 efrain 770
                        echo $this->formLabel($element);
771
                        echo $this->formText($element);
772
                        ?>
773
                    </div>
774
                </div>
775
                <div class="card-footer">
6094 stevensc 776
                    <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
777
                    <button type="button" class="btn btn-light btn-cancel">LABEL_CANCEL</button>
6056 efrain 778
                </div>
6094 stevensc 779
                <?php echo $this->form()->closeTag($form); ?>
6056 efrain 780
 
6001 efrain 781
            </div>
6056 efrain 782
        </div>
783
    </div>
6001 efrain 784
 
6094 stevensc 785
 
6056 efrain 786
</section>
787
 
788
<script id="recordTemplate" type="text/x-jsrender">
6094 stevensc 789
    <div class="knowledge-record-card">
790
        <div class="knowledge-record-card-actions">
791
            {{if link_edit }}
792
            <button data-link="{{>link_edit}}" class="btn-knowledge-edit"> <i class="fa fa-pencil" aria-hidden="true"></i> </button>
793
            {{/if}}
794
            {{if link_delete }}
795
            <button data-link="{{>link_delete}}" class="btn-knowledge-delete"> <i class="fa fa-trash" aria-hidden="true"></i> </button>
796
            {{/if}}
797
        </div>
6098 stevensc 798
        <a href="{{>link_view}}"  target="_blank" class="knowledge-record-card-actions-view">
799
            <img src="{{>image}}" alt="{{>title}} image">
800
        </a>
801
        <h3>{{>category}}</h3>
802
        <h2>{{>title}}</h2>
803
        <p>{{>description}}</p>
6094 stevensc 804
    </div>
805
</script>