Proyectos de Subversion LeadersLinked - Backend

Rev

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