Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
1384 efrain 1
<?php
2
$acl = $this->viewModel()->getRoot()->getVariable('acl');
3
$currentUser = $this->currentUserHelper();
4
 
5
$roleName = $currentUser->getUserTypeId();
6
 
7
$routeDashboard = $this->url('dashboard');
1477 efrain 8
$routeDatatable = $this->url('recruitment-and-selection/vacancies');
9
$routeAdd       = $this->url('recruitment-and-selection/vacancies/add');
1384 efrain 10
 
11
 
12
 
1477 efrain 13
$allowAdd = $acl->isAllowed($roleName, 'recruitment-and-selection/vacancies/add') ? 1 : 0;
14
$allowEdit = $acl->isAllowed($roleName, 'recruitment-and-selection/vacancies/edit') ? 1 : 0;
15
$allowDelete = $acl->isAllowed($roleName, 'recruitment-and-selection/vacancies/delete') ? 1 : 0;
16
 
17
 
1384 efrain 18
$this->inlineScript()->appendFile('https://maps.googleapis.com/maps/api/js?key=' . $google_map_key . '&libraries=places');
19
 
20
 
21
$this->inlineScript()->appendFile($this->basePath('plugins/ckeditor/ckeditor.js'));
22
 
23
 
24
$this->headLink()->appendStylesheet($this->basePath('plugins/nprogress/nprogress.css'));
25
$this->inlineScript()->appendFile($this->basePath('plugins/nprogress/nprogress.js'));
26
 
27
 
28
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/jquery.validate.js'));
29
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/additional-methods.js'));
30
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/localization/messages_es.js'));
31
 
32
$this->headLink()->appendStylesheet($this->basePath('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css'));
33
$this->headLink()->appendStylesheet($this->basePath('plugins/datatables-responsive/css/responsive.bootstrap4.min.css'));
34
 
35
$this->inlineScript()->appendFile($this->basePath('plugins/datatables/jquery.dataTables.min.js'));
36
$this->inlineScript()->appendFile($this->basePath('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js'));
37
$this->inlineScript()->appendFile($this->basePath('plugins/datatables-responsive/js/dataTables.responsive.min.js'));
38
$this->inlineScript()->appendFile($this->basePath('plugins/datatables-responsive/js/responsive.bootstrap4.min.js'));
39
 
40
 
41
$this->headLink()->appendStylesheet($this->basePath('plugins/select2/css/select2.min.css'));
42
$this->headLink()->appendStylesheet($this->basePath('plugins/select2-bootstrap4-theme/select2-bootstrap4.min.css'));
43
 
44
$this->inlineScript()->appendFile($this->basePath('plugins/select2/js/select2.full.min.js'));
45
 
46
$this->inlineScript()->appendFile($this->basePath('plugins/moment/moment-with-locales.min.js'));
47
$this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css'));
48
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js'));
49
 
50
 
51
$this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap4-toggle/css/bootstrap4-toggle.min.css'));
52
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap4-toggle/js/bootstrap4-toggle.min.js'));
53
 
54
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-confirmation/dist/bootstrap-confirmation.js'));
55
$this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap-checkbox/awesome-bootstrap-checkbox.css'));
56
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-input-number/input-number-format.jquery.js'));
57
 
58
// bootbox Alert //
59
$this->inlineScript()->appendFile($this->basePath('plugins/bootbox/bootbox.min.js'));
60
 
61
// JsRender //
62
$this->inlineScript()->appendFile($this->basePath('plugins/jsrender/jsrender.min.js'));
63
 
64
 
65
// Page Styles
66
$this->headLink()->appendStylesheet($this->basePath('css/pages/self-evaluation.css'));
67
 
68
 
1388 eleazar 69
$status_active = \LeadersLinked\Model\RecruitmentSelectionVacancy::STATUS_ACTIVE;
70
$status_inactive = \LeadersLinked\Model\RecruitmentSelectionVacancy::STATUS_INACTIVE;
1384 efrain 71
 
72
$this->inlineScript()->captureStart();
73
echo <<<JS
74
jQuery(document).ready(function($) {
75
    var allowEdit = $allowEdit;
76
    var allowDelete = $allowDelete;
77
    var sections = [];
78
    /**
79
     * Get rows and set data table
80
     */
1414 eleazar 81
 
1435 eleazar 82
 
1384 efrain 83
    var tableForm = $('#gridTable').dataTable({
84
        'processing': true,
85
        'serverSide': true,
86
        'searching': true,
87
        'order': [
88
            [0, 'asc']
89
        ],
90
        'ordering': true,
91
        'ordenable': true,
92
        'responsive': true,
93
        'select': false,
94
        'paging': true,
95
        'pagingType': 'simple_numbers',
96
        'ajax': {
97
            'url': '$routeDatatable',
98
            'type': 'get',
99
            'beforeSend': function(request) {
100
                NProgress.start();
101
            },
102
            'dataFilter': function(response) {
103
                var response = jQuery.parseJSON(response);
104
                var json = {};
105
                json.recordsTotal = 0;
106
                json.recordsFiltered = 0;
107
                json.data = [];
108
                if (response.success) {
109
                    json.recordsTotal = response.data.total;
110
                    json.recordsFiltered = response.data.total;
111
                    json.data = response.data.items;
112
                } else {
113
                    $.fn.showError(response.data)
114
                }
115
                return JSON.stringify(json);
116
            }
117
        },
118
        'language': {
119
            'sProcessing': 'LABEL_DATATABLE_SPROCESSING',
120
            'sLengthMenu': 'LABEL_DATATABLE_SLENGTHMENU',
121
            'sZeroRecords': 'LABEL_DATATABLE_SZERORECORDS',
122
            'sEmptyTable': 'LABEL_DATATABLE_SEMPTYTABLE',
123
            'sInfo': 'LABEL_DATATABLE_SINFO',
124
            'sInfoEmpty': 'LABEL_DATATABLE_SINFOEMPTY',
125
            'sInfoFiltered': 'LABEL_DATATABLE_SINFOFILTERED',
126
            'sInfoPostFix': '',
127
            'sSearch': 'LABEL_DATATABLE_SSEARCH',
128
            'sUrl': '',
129
            'sInfoThousands': ',',
130
            'sLoadingRecords': 'LABEL_DATATABLE_SLOADINGRECORDS',
131
            'oPaginate': {
132
                'sFirst': 'LABEL_DATATABLE_SFIRST',
133
                'sLast': 'LABEL_DATATABLE_SLAST',
134
                'sNext': 'LABEL_DATATABLE_SNEXT',
135
                'sPrevious': 'LABEL_DATATABLE_SPREVIOUS'
136
            },
137
            'oAria': {
138
                'sSortAscending': ': LABEL_DATATABLE_SSORTASCENDING',
139
                'sSortDescending': ':LABEL_DATATABLE_SSORTDESCENDING'
140
            },
141
        },
142
        'drawCallback': function(settings) {
143
            NProgress.done();
144
            $('button.btn-delete').confirmation({
145
                rootSelector: 'button.btn-delete',
146
                title: 'LABEL_ARE_YOU_SURE',
147
                singleton: true,
148
                btnOkLabel: 'LABEL_YES',
149
                btnCancelLabel: 'LABEL_NO',
150
                onConfirm: function(value) {
151
                    action = $(this).data('href');
152
                    NProgress.start();
153
                    $.ajax({
154
                        'dataType': 'json',
155
                        'accept': 'application/json',
156
                        'method': 'post',
157
                        'url': action,
158
                    }).done(function(response) {
159
                        if (response['success']) {
160
                            $.fn.showSuccess(response['data']);
3009 eleazar 161
                            tableForm.api().ajax.reload(null, false);
1384 efrain 162
                        } else {
163
                            $.fn.showError(response['data']);
164
                        }
165
                    }).fail(function(jqXHR, textStatus, errorThrown) {
166
                        $.fn.showError(textStatus);
167
                    }).always(function() {
168
                        NProgress.done();
169
                    });
170
                },
171
            });
172
        },
173
        'aoColumns': [{
174
                'mDataProp': 'name'
175
            },
176
            {
177
                'mDataProp': 'job_description'
178
            },
179
            {
180
                'mDataProp': 'actions'
181
            },
182
        ],
183
        'columnDefs': [{
184
                'targets': 0,
185
                'className': 'text-vertical-middle',
186
            },
187
            {
188
                'targets': 1,
189
                'className': 'text-vertical-middle',
190
            },
1449 eleazar 191
            // {
192
            //     'targets': -2,
193
            //     'orderable': false,
194
            //     'className': 'text-center',
195
            //     'render': function(data, type, row) {
196
            //         checked = data == 'a' ? ' checked="checked" ' : '';
197
            //         return '<div class="checkbox checkbox-success">' +
198
            //             '<input class="styled" type="checkbox" ' + checked + ' disabled="disabled">' +
199
            //             '<label ></label></div>';
200
            //     }
201
            // },
1384 efrain 202
            {
203
                'targets': -1,
204
                'orderable': false,
205
                'render': function(data, type, row) {
206
                    s = '';
207
                    if (allowEdit) {
208
                        s = s + '<button class="btn btn-primary btn-edit-form" data-href="' + data['link_edit'] + '" data-toggle="tooltip" title="LABEL_EDIT"><i class="fa fa-pencil"></i> LABEL_EDIT </button>&nbsp;';
209
                    }
210
                    if (allowDelete) {
211
                        s = s + '<button class="btn btn-danger btn-delete" data-href="' + data['link_delete'] + '" data-toggle="tooltip" title="LABEL_DELETE"><i class="fa fa-trash"></i> LABEL_DELETE </button>&nbsp;';
212
                    }
213
                    return s;
214
                }
215
            }
216
        ],
217
    });
218
 
219
 
220
 
221
    /**
222
     * Clicked on edit form
223
     */
224
    $('body').on('click', 'button.btn-edit-form', function(e) {
225
        e.preventDefault();
226
        form_id = $(this).data('id')
227
        var action = $(this).data('href');
228
        $.ajax({
229
            'dataType': 'json',
230
            'accept': 'application/json',
231
            'method': 'get',
232
            'url': action,
233
        }).done(function(response) {
234
            if (response['success']) {
1441 eleazar 235
                const lastDate = new Date(Date.parse(response['data']['last_date'] + " 00:00:00"));
236
 
1384 efrain 237
                $("#rows").html('');
238
                sections = [];
239
                $('#form-main').attr('action', action);
1565 efrain 240
                $('#form-main #name').val(response['data']['name']);
1398 eleazar 241
                $('#form-main #job_description_id').val(response['data']['job_description_id']).trigger('change');
1410 eleazar 242
                $('#form-main #location_search').val(response['data']['location_search']);
1567 eleazar 243
                $('#form-main #formatted_address').val(response['data']['formatted_address']);
244
                $('#form-main #address1').val(response['data']['address1']);
245
                $('#form-main #address2').val(response['data']['address2']);
246
                $('#form-main #city1').val(response['data']['city1']);
247
                $('#form-main #city2').val(response['data']['city2']);
248
                $('#form-main #state').val(response['data']['state']);
249
                $('#form-main #country').val(response['data']['country']);
250
                $('#form-main #postal_code').val(response['data']['postal_code']);
251
                $('#form-main #latitude').val(response['data']['latitude']);
252
                $('#form-main #longitude').val(response['data']['longitude']);
1384 efrain 253
                $('#form-main #job_category_id').val(response['data']['job_category_id']).trigger('change');
254
                $('#form-main #industry_id').val(response['data']['industry_id']).trigger('change');
1441 eleazar 255
                $('#form-main #last_date').val(
1442 eleazar 256
                    lastDate.getDate() + "/" + String(lastDate.getMonth() + 1).padStart(2, '0') + "/" + lastDate.getFullYear()
1441 eleazar 257
                ).trigger('change');
1565 efrain 258
                $('#form-main #status').val(response['data']['status']);
1416 eleazar 259
                CKEDITOR.instances['description'].setData(response['data']['description']);
1438 eleazar 260
                $('#row-lists').hide();
261
                $('#row-form').show();
1389 eleazar 262
 
1384 efrain 263
            } else {
264
                $.fn.showError(response['message'] || 'ERROR_UNKNOWN');
265
            }
266
        }).fail(function(jqXHR, textStatus, errorThrown) {
267
            $.fn.showError(textStatus);
268
        });
269
    });
1389 eleazar 270
 
1417 eleazar 271
    $('#form-main #last_date').datetimepicker({
272
        locale: 'es',
273
        format: 'DD/MM/YYYY'
1418 eleazar 274
    });
1384 efrain 275
    /**
276
     * Clicked new Form
277
     */
278
    $('button.btn-add-form').click(function(e) {
279
        $("#rows").html('');
280
        sections = [];
281
        $('#form-main').attr('action', '$routeAdd');
1565 efrain 282
        $('#form-main #name').val('');
1398 eleazar 283
        $('#form-main #job_description_id').val('').trigger('change');
1410 eleazar 284
        $('#form-main #location_search').val('');
1384 efrain 285
        $('#form-main #job_category_id').val('').trigger('change');
286
        $('#form-main #industry_id').val('').trigger('change');
1417 eleazar 287
        $('#form-main #last_date').val('');
1565 efrain 288
        $('#form-main #status').val('$status_active');
1416 eleazar 289
        CKEDITOR.instances['description'].setData('');
1397 eleazar 290
        $('#row-lists').hide();
291
        $('#row-form').show();
1565 efrain 292
        $('#form-main #name').focus();
1384 efrain 293
        return;
294
    });
295
 
296
 
297
    $.validator.addMethod('checkLocation', function (value, element, param) {
298
        var otherElement = $(param);
299
 
300
        return $.trim(otherElement.val()).length > 0;
301
    }, 'ERROR_PLACED_AUTOCOMPLETE_DOES_NOT_CONTAIN_GEOMETRY');
302
 
303
    var autocompleteLocation = new google.maps.places.Autocomplete(
304
        (document.getElementById('location_search')),
305
        {types: ['(cities)']}
306
    );
307
 
1403 eleazar 308
    $.fn.fillInAddressLocation = function() {
1410 eleazar 309
        var place = autocompleteLocation.getPlace();
310
        if (!place.geometry) {
311
            $.fn.showError('ERROR_PLACED_AUTOCOMPLETE_DOES_NOT_CONTAIN_GEOMETRY')
312
            return;
313
        } else {
314
            address1 = '';
315
            address2 = '';
316
            city1 = '';
317
            city2 = '';
318
            state = '';
319
            country = '';
320
            postal_code = '';
1403 eleazar 321
 
1410 eleazar 322
            formatted_address = place.formatted_address;
323
            latitude = place.geometry.location.lat();
324
            longitude = place.geometry.location.lng();
325
            var arrAddress = place.address_components;
326
 
327
            $.each(arrAddress, function(i, address_component) {
328
                if (address_component.types[0] == "route") {
329
                    address1 = address_component.long_name;
330
                }
331
                if (address_component.types[0] == "sublocality") {
332
                    address2 = address_component.long_name;
333
                }
334
                if (address_component.types[0] == "locality") {
335
                    city1 = address_component.long_name;
336
                }
337
                if (address_component.types[0] == "administrative_area_level_2") {
338
                    city2 = address_component.long_name;
339
                }
340
                if (address_component.types[0] == "administrative_area_level_1") {
341
                    state = address_component.long_name;
342
                }
343
                if (address_component.types[0] == "country") {
344
                    country = address_component.long_name;
345
                }
346
                if (address_component.types[0] == "postal_code") {
347
                    postal_code = address_component.long_name;
348
                }
349
            });
350
 
351
            $('#form-main #formatted_address').val(formatted_address);
352
            $('#form-main #address1').val(address1);
353
            $('#form-main #address2').val(address2);
354
            $('#form-main #city1').val(city1);
355
            $('#form-main #city2').val(city2);
356
            $('#form-main #state').val(state);
357
            $('#form-main #country').val(country);
358
            $('#form-main #postal_code').val(postal_code);
359
            $('#form-main #latitude').val(latitude);
360
            $('#form-main #longitude').val(longitude);
361
        }
1403 eleazar 362
    }
363
 
1384 efrain 364
    /**
365
     * Clicked cancel new/edit Form
366
     */
367
    $('button.btn-edit-cancel').click(function(e) {
368
        $('#row-form').hide();
369
        $('#row-lists').show();
370
        return;
371
    });
372
    /**
373
     * Clicked save and close new/edit Form
374
     */
375
    $('button.btn-form-save-close').click(function(e) {
376
        for (var instanceName in CKEDITOR.instances) {
377
            CKEDITOR.instances[instanceName].updateElement();
378
        }
379
        saveData(0);
380
    });
381
    /**
382
     * Save Form Data
383
     */
1581 eleazar 384
    const saveData = (action) => {
385
        if ($('#name').val() == '') {
386
            $.fn.showError('ERROR_ENTER_NAME');
387
        } else if ($('#description').val() == '') {
388
            $.fn.showError('ERROR_ENTER_DESCRIPTION');
389
        } else if ($('#form-category').val() == '') {
390
            $.fn.showError('ERROR_ENTER_CATEGORY');
391
        } else if ($('#form-industry').val() == '') {
392
            $.fn.showError('ERROR_ENTER_INDUSTRY');
393
        } else if ($('#form-text').val() == '') {
394
            $.fn.showError('ERROR_ENTER_TEXT');
395
        } else if ($('#status').val() == '') {
396
            $.fn.showError('ERROR_SELECT_STATUS');
397
        } else if ($('#job_description_id').val() == '') {
398
            $.fn.showError('ERROR_SELECT_JOB_DESCRIPTION');
399
        } else {
1384 efrain 400
            $.ajax({
401
                'dataType': 'json',
402
                'method': 'post',
403
                'url': $('#form-main').attr('action'),
1581 eleazar 404
                'data': {
405
                    'name': $('#form-main #name').val(),
406
                    'job_description_id': $('#form-main #job_description_id').val(),
407
                    'location_search' :$('#form-main #location_search').val(),
408
                    'formatted_address': $('#form-main #formatted_address').val(),
409
                    'address1': $('#form-main #address1').val(),
410
                    'address2': $('#form-main #address2').val(),
411
                    'country': $('#form-main #country').val(),
412
                    'state': $('#form-main #state').val(),
413
                    'city1': $('#form-main #city1').val(),
414
                    'city2': $('#form-main #city2').val(),
415
                    'postal_code': $('#form-main #postal_code').val(),
416
                    'latitude': $('#form-main #latitude').val(),
417
                    'longitude': $('#form-main #longitude').val(),
418
                    'job_category_id' :$('#form-main #job_category_id').val(),
419
                    'industry_id' :$('#form-main #industry_id').val(),
420
                    'last_date': $('#form-main #last_date').val(),
421
                    'status': $('#form-main #status').val(),
422
                    'description': $('#form-main #description').val(),
423
                    'content': JSON.stringify(sections)
424
                },
1384 efrain 425
            }).done(function(response) {
426
                if (response['success']) {
427
                    $.fn.showSuccess(response['data']);
1581 eleazar 428
                    if (action == 1) {
429
                        $('#form-main').attr('action', response['action_edit']);
1384 efrain 430
                    } else {
1581 eleazar 431
                        $('#row-form').hide();
432
                        $('#row-lists').show();
433
                        /*---------- Reset Form -------- */
434
                        $('#form-main')[0].reset();
3009 eleazar 435
                        tableForm.api().ajax.reload(null, false);
1384 efrain 436
                    }
1581 eleazar 437
                    return;
438
                } else {
439
                    $.fn.showError(response['message'] || 'ERROR_UNKNOWN');
440
                    return;
1384 efrain 441
                }
442
            });
1581 eleazar 443
        }
444
    }
1384 efrain 445
    /**
446
     * Remove Html Tags
447
     */
448
    const removeTags = (str) => str.toString().replace(/(<([^>]+)>)/ig, '')
1389 eleazar 449
 
450
 
1384 efrain 451
    /**
452
     * Remove Option
453
     */
454
    const removeOption = (id_section, id) => {
455
        sections.map((item) => {
456
            if (item.id_section == id_section) {
457
                item.options = item.options.filter((opt) => opt.id_option != id) || []
458
            }
459
        });
460
        return renderData(sections);
461
    }
462
    /**
463
     * Clicked refresh button
464
     */
3006 eleazar 465
    $('body').on('click', 'button.btn-refresh', function (e) {
466
        e.preventDefault();
3007 eleazar 467
        tableForm.api().ajax.reload(null, false);
3009 eleazar 468
 
1384 efrain 469
    });
470
    /**
471
     * Initialize select Jobdescription
472
     */
473
    $('#job_description_id').select2({
474
        theme: 'bootstrap4',
475
        width: '100%',
476
    });
477
 
478
    /**
479
     * Initialize select Jobcategory
480
     */
481
    $('#job_category_id').select2({
482
        theme: 'bootstrap4',
483
        width: '100%',
484
    });
485
 
486
     /**
487
     * Initialize select industry
488
     */
489
    $('#industry_id').select2({
490
        theme: 'bootstrap4',
491
        width: '100%',
492
    });
1566 eleazar 493
 
494
    /**
495
     * Initialize status toogle
496
     */
497
    $('#status').bootstrapToggle({
498
        'on': 'LABEL_ACTIVE',
499
        'off': 'LABEL_INACTIVE',
500
        'width': '160px',
501
        'height': '40px'
502
    });
1400 eleazar 503
 
1384 efrain 504
     /**
505
     * Initialize select Location
506
     */
507
 
1410 eleazar 508
    var validatorLocation = $('#location_search').validate({
1384 efrain 509
        debug: true,
510
        onclick: false,
511
        onkeyup: false,
512
        onfocusout: false,
513
        ignore: [],
514
        rules: {
515
            'location_search': {
516
                required: true,
1410 eleazar 517
                checkLocation: '#location_search #latitude'
1384 efrain 518
            }
519
        },
520
        submitHandler: function(form)
521
        {
522
            NProgress.start();
523
            $.ajax({
524
                'dataType'  : 'json',
525
                'accept'    : 'application/json',
526
                'method'    : 'post',
527
                'url'       :  route_location,
1410 eleazar 528
                'data'      :  $('#location_search').serialize(),
1384 efrain 529
            }).done(function(response) {
530
 
531
 
532
 
533
                if(response['success']) {
534
                    $('#overview-location').html(response.data);
535
                    $("#location-box").modal('hide');
536
                } else {
537
                    validatorLocation.resetForm();
538
                    $.fn.showError(response['data']);
539
                }
540
            }).fail(function( jqXHR, textStatus, errorThrown) {
541
                $.fn.showError(textStatus);
542
            }).always(function() {
543
                NProgress.done();
544
            });
545
            return false;
546
        },
547
        invalidHandler: function(form, validator) {
548
 
549
        }
550
    });
551
 
552
    $('body').on('click', 'a.btn-location-edit', function(e) {
553
        e.preventDefault();
554
 
1410 eleazar 555
        $('#form-main #location_search').val('');
556
        $('#form-main #formatted_address').val('');
557
        $('#form-main #address1').val('');
558
        $('#form-main #address2').val('');
559
        $('#form-main #country').val('');
560
        $('#form-main #state').val('');
561
        $('#form-main #city1').val('');
562
        $('#form-main #city2').val('');
563
        $('#form-main #postal_code').val('');
564
        $('#form-main #latitude').val('');
565
        $('#form-main #longitude').val('');
1384 efrain 566
        validatorLocation.resetForm();
567
 
568
        $("#location-box").modal('show');
569
    });
570
 
571
    $('.btn-location-close').on("click", function(e){
572
        e.preventDefault();
573
 
574
        $("#location-box").modal('hide');
575
        return false;
576
    });
1407 eleazar 577
 
578
    autocompleteLocation.addListener('place_changed', $.fn.fillInAddressLocation);
1565 efrain 579
 
580
 
8767 stevensc 581
    CKEDITOR.replace('description', {
582
        toolbar: [
583
                    { name: 'editing', items: ['Scayt'] },
584
                    { name: 'links', items: ['Link', 'Unlink'] },
585
                    { name: 'paragraph', items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'] },
586
                    { name: 'basicstyles', items: ['Bold', 'Italic', 'Strike', 'RemoveFormat'] },
587
                    '/',
588
                    { name: 'insert', items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar'] },
589
                    { name: 'styles', items: ['Styles', 'Format'] },
590
                    { name: 'tools', items: ['Maximize'] }
591
                ],
592
                removePlugins: 'elementspath,Anchor',
593
                heigth: 100
594
    });
1435 eleazar 595
  });
1384 efrain 596
JS;
597
 
598
$this->inlineScript()->captureEnd();
599
?>
600
<!-- Content Header (Page header) -->
601
<section class="content-header">
602
   <div class="container-fluid">
603
      <div class="row mb-2">
604
         <div class="col-sm-12">
605
            <h1>LABEL_RECRUITMENT_AND_SELECTION</h1>
606
         </div>
607
      </div>
608
   </div>
609
   <!-- /.container-fluid -->
610
</section>
611
<section class="content">
612
<div class="container-fluid" id="row-lists">
613
   <div class="row">
614
      <div class="col-12">
615
         <div class="card">
616
            <div class="card-body">
617
               <table id="gridTable" class="table   table-hover">
618
                  <thead>
619
                     <tr>
620
                        <th style="width:25%">LABEL_NAME</th>
621
                        <th style="width:20%">LABEL_JOB_DESCRIPTION</th>
622
                        <th style="width:25%">LABEL_ACTIONS</th>
623
                     </tr>
624
                  </thead>
625
                  <tbody></tbody>
626
               </table>
627
            </div>
628
            <div class="card-footer clearfix">
629
               <div style="float:right;">
630
                  <button type="button" class="btn btn-info btn-refresh"><i class="fa fa-refresh"></i> LABEL_REFRESH </button>
631
                  <?php if ($allowAdd) : ?>
632
                  <button type="button" class="btn btn-primary btn-add-form"><i class="fa fa-plus"></i> LABEL_ADD </button>
633
                  <?php endif; ?>
634
               </div>
635
            </div>
636
         </div>
637
      </div>
638
   </div>
639
</div>
640
<!-- Create/Edit Form -->
641
<div class="row" id="row-form" style="display: none; padding: 16px;">
642
   <div class="col-xs-12 col-md-12">
1561 efrain 643
	<?php
644
        $form = $this->form;
645
        $form->setAttributes([
646
            'method'    => 'post',
1564 efrain 647
            'name'      => 'form-main',
648
            'id'        => 'form-main'
1561 efrain 649
        ]);
650
 
651
        $form->prepare();
652
        echo $this->form()->openTag($form);
653
 
654
        $fields = ['formatted_address',
655
        'address1',
656
        'address2',
657
        'country',
658
        'state',
659
        'city1',
660
        'city2',
661
        'postal_code',
662
        'latitude',
663
        'longitude',
664
        ];
665
 
666
        foreach($fields as $field)
667
        {
668
            $element = $form->get($field);
669
            echo $this->formHidden($element);
670
        }
671
 
672
     ?>
673
		 <div class="form-group">
674
        	 <?php
1562 efrain 675
             $element = $form->get('name');
1561 efrain 676
             $element->setAttributes(['class' => 'form-control']);
1562 efrain 677
             $element->setOptions(['label' => 'LABEL_NAME']);
1561 efrain 678
 
679
             echo $this->formLabel($element);
680
             echo $this->formText($element);
681
            ?>
682
      	  </div>
683
		 <div class="form-group">
684
        	 <?php
685
             $element = $form->get('job_description_id');
686
             $element->setAttributes(['class' => 'form-control']);
687
             $element->setOptions(['label' => 'LABEL_POSITION_EVALUATED']);
688
 
689
             echo $this->formLabel($element);
690
             echo $this->formSelect($element);
691
            ?>
692
      	  </div>
1566 eleazar 693
            <div class="form-group">
694
        	 <?php
695
             $element = $form->get('job_category_id');
696
             $element->setAttributes(['class' => 'form-control']);
1579 eleazar 697
             $element->setOptions(['label' => 'LABEL_JOB_CATEGORY']);
1566 eleazar 698
 
699
             echo $this->formLabel($element);
700
             echo $this->formSelect($element);
701
            ?>
702
      	  </div>
1561 efrain 703
		 <div class="form-group">
704
        	 <?php
705
             $element = $form->get('location_search');
706
             $element->setAttributes(['class' => 'form-control']);
707
             $element->setOptions(['label' => 'LABEL_LOCATION']);
708
 
709
             echo $this->formLabel($element);
710
             echo $this->formText($element);
711
            ?>
712
      	  </div>
713
	 	  <div class="form-group">
714
        	 <?php
715
             $element = $form->get('industry_id');
716
             $element->setAttributes(['class' => 'form-control']);
717
             $element->setOptions(['label' => 'LABEL_INDUSTRY']);
718
 
719
             echo $this->formLabel($element);
720
             echo $this->formSelect($element);
721
            ?>
722
      	  </div>
723
		 <div class="form-group">
724
        	 <?php
725
             $element = $form->get('last_date');
726
             $element->setAttributes(['class' => 'form-control']);
727
             $element->setOptions(['label' => 'LABEL_LAST_DATE_OF_APPLICATION']);
728
 
729
             echo $this->formLabel($element);
730
             echo $this->formText($element);
731
            ?>
732
      	  </div>
1649 eleazar 733
      	   <div class="form-group">
1561 efrain 734
        	 <?php
735
             $element = $form->get('description');
736
             $element->setAttributes(['class' => 'form-control']);
737
             $element->setOptions(['label' => 'LABEL_DESCRIPTION']);
738
 
739
             echo $this->formLabel($element);
740
             echo $this->formTextArea($element);
741
            ?>
742
      	  </div>
743
	 	  <div class="form-group">
744
        	 <?php
745
             $element = $form->get('status');
746
             $element->setAttributes(['class' => 'form-control']);
747
             $element->setOptions(['label' => 'LABEL_STATUS']);
748
 
749
             echo $this->formLabel($element);
1563 efrain 750
             echo $this->formCheckbox($element);
1561 efrain 751
            ?>
752
      	  </div>
1456 eleazar 753
 
1561 efrain 754
 
755
 
1455 eleazar 756
          <div class="form-group">
757
              <button type="button" class="btn btn-primary btn-form-save-close">LABEL_SAVE</button>
758
             <button type="button" class="btn btn-secondary btn-edit-cancel">LABEL_CANCEL</button>
759
          </div>
1561 efrain 760
      <?php echo $this->form()->closeTag($form); ?>
1384 efrain 761
   </div>
762
</div>
763
<!-- Create/Edit Form-->
764
 
765
</section>