Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev 3449 Rev 3451
Línea 2... Línea 2...
2
$acl            = $this->viewModel()->getRoot()->getVariable('acl');
2
$acl            = $this->viewModel()->getRoot()->getVariable('acl');
3
$currentUser    = $this->currentUserHelper();
3
$currentUser    = $this->currentUserHelper();
4
$roleName       = $currentUser->getUserTypeId();
4
$roleName       = $currentUser->getUserTypeId();
Línea 5... Línea 5...
5
 
5
 
6
$routeIndex = $this->url('recruitment-and-selection/interview/form');
6
$routeIndex = $this->url('recruitment-and-selection/interview/form');
Línea 7... Línea 7...
7
$routeAdd = $this->url('recruitment-and-selection/interview/form/add', ['vacancy_uuid' => 'UUID_PLACEHOLDER']);
7
$routeAdd = $this->url('recruitment-and-selection/interview/form/add', ['candidate_uuid' => 'UUID_PLACEHOLDER']);
8
 
8
 
9
$allowAdd = $acl->isAllowed($roleName, 'recruitment-and-selection/interview/form/add') ? 1 : 0;
9
$allowAdd = $acl->isAllowed($roleName, 'recruitment-and-selection/interview/form/add') ? 1 : 0;
Línea 67... Línea 67...
67
$this->headStyle()->captureEnd();
67
$this->headStyle()->captureEnd();
Línea 68... Línea 68...
68
 
68
 
69
$this->inlineScript()->captureStart();
69
$this->inlineScript()->captureStart();
Línea -... Línea 70...
-
 
70
echo <<<JS
-
 
71
 
-
 
72
const classFormGenerator = function() {
-
 
73
    this.id = 0,
-
 
74
        this.table = '',
-
 
75
        this.text = '',
-
 
76
        this.behaviors = [],
-
 
77
        this.clear = function() {
-
 
78
            this.behaviors = [];
-
 
79
            this.render();
-
 
80
        },
-
 
81
       
-
 
82
        /**
-
 
83
         * Add element to section array
-
 
84
         */
-
 
85
        this.addSection = function( text, value) {
-
 
86
            var d = new Date();
-
 
87
            var slug = 'section' + d.getTime();
-
 
88
            var position = 0;
-
 
89
            $.each(this.behaviors, function(index, section) {
-
 
90
                if (position < section.position) {
-
 
91
                    position = section.position;
-
 
92
                }
-
 
93
            });
-
 
94
            position++;
-
 
95
            var section = {
-
 
96
                'slug_behaviors': slug,
-
 
97
                'text': text,
-
 
98
                'value': value,
-
 
99
                'position': position,
-
 
100
                'questions': [],
-
 
101
                'status': 0
-
 
102
            }
-
 
103
            this.behaviors.push(section);
-
 
104
        },
-
 
105
         /**
-
 
106
         * Edit element to section array
-
 
107
         */
-
 
108
        this.editSection = function(slug, text, value) {
-
 
109
            var renderTable = false;
-
 
110
            for (i = 0; i < this.behaviors.length; i++) {
-
 
111
                if (slug == this.behaviors[i].slug_behaviors) {
-
 
112
                    this.behaviors[i].text = text;
-
 
113
                    this.behaviors[i].value = value;
-
 
114
                    renderTable = true;
-
 
115
                    break;
-
 
116
                }
-
 
117
            }
-
 
118
            if (renderTable) {
-
 
119
                this.renderSection(slug);
-
 
120
            }
-
 
121
        },
-
 
122
         /**
-
 
123
         * Remove element to section array
-
 
124
         */
-
 
125
        this.deleteSection = function(slug) {
-
 
126
            var renderTable = false;
-
 
127
            for (i = 0; i < this.behaviors.length; i++) {
-
 
128
                if (slug == this.behaviors[i].slug_behaviors) {
-
 
129
                    this.behaviors.splice(i, 1);
-
 
130
                    renderTable = true;
-
 
131
                    break;
-
 
132
                }
-
 
133
            }
-
 
134
            if (renderTable) {
-
 
135
                $('#panel' + slug).remove();
-
 
136
            }
-
 
137
        }        
70
echo <<<JS
138
}
-
 
139
 
-
 
140
jQuery( document ).ready(function( $ ) {
71
 
141
    var objFormGenerator = new classFormGenerator();
72
jQuery( document ).ready(function( $ ) {
142
    //objFormGenerator.render();
73
    $.validator.setDefaults({
143
    $.validator.setDefaults({
74
        debug: true,
144
        debug: true,
75
        highlight: function(element) {
145
        highlight: function(element) {
Línea 106... Línea 176...
106
                error.insertAfter(element.parent());
176
                error.insertAfter(element.parent());
107
            }
177
            }
108
        }
178
        }
109
    };
179
    };
Línea 110... Línea -...
110
 
-
 
111
    var gridTable = $('#gridTable').dataTable({
-
 
112
        'processing': true,
-
 
113
        'serverSide': true,
-
 
114
        'searching': true,
-
 
115
        'order': [
-
 
116
            [0, 'asc']
-
 
117
        ],
-
 
118
        'ordering': true,
-
 
119
        'ordenable': true,
-
 
120
        'responsive': true,
-
 
121
        'select': false,
-
 
122
        'paging': true,
-
 
123
        'pagingType': 'simple_numbers',
-
 
124
        'ajax': {
-
 
125
            'url': '$routeIndex',
-
 
126
            'type': 'get',
-
 
127
            'beforeSend': function(request) {
-
 
128
                NProgress.start();
-
 
129
            },
-
 
130
            'dataFilter': function(response) {
-
 
131
                var response = jQuery.parseJSON(response);
-
 
132
                var json = {};
-
 
133
                json.recordsTotal = 0;
-
 
134
                json.recordsFiltered = 0;
-
 
135
                json.data = [];
-
 
136
                if (response.success) {
-
 
137
                    json.recordsTotal = response.data.total;
-
 
138
                    json.recordsFiltered = response.data.total;
-
 
139
                    json.data = response.data.items;
-
 
140
                } else {
-
 
141
                    $.fn.showError(response.data)
-
 
142
                }
-
 
143
                return JSON.stringify(json);
-
 
144
                gridTable.api().ajax.reload(null, false);
-
 
145
            }
-
 
146
        },
-
 
147
        'language': {
-
 
148
            'sProcessing': 'LABEL_DATATABLE_SPROCESSING',
-
 
149
            'sLengthMenu': 'LABEL_DATATABLE_SLENGTHMENU',
-
 
150
            'sZeroRecords': 'LABEL_DATATABLE_SZERORECORDS',
-
 
151
            'sEmptyTable': 'LABEL_DATATABLE_SEMPTYTABLE',
-
 
152
            'sInfo': 'LABEL_DATATABLE_SINFO',
-
 
153
            'sInfoEmpty': 'LABEL_DATATABLE_SINFOEMPTY',
-
 
154
            'sInfoFiltered': 'LABEL_DATATABLE_SINFOFILTERED',
-
 
155
            'sInfoPostFix': '',
-
 
156
            'sSearch': 'LABEL_DATATABLE_SSEARCH',
-
 
157
            'sUrl': '',
-
 
158
            'sInfoThousands': ',',
-
 
159
            'sLoadingRecords': 'LABEL_DATATABLE_SLOADINGRECORDS',
-
 
160
            'oPaginate': {
-
 
161
                'sFirst': 'LABEL_DATATABLE_SFIRST',
-
 
162
                'sLast': 'LABEL_DATATABLE_SLAST',
-
 
163
                'sNext': 'LABEL_DATATABLE_SNEXT',
-
 
164
                'sPrevious': 'LABEL_DATATABLE_SPREVIOUS'
-
 
165
            },
-
 
166
            'oAria': {
-
 
167
                'sSortAscending': ': LABEL_DATATABLE_SSORTASCENDING',
-
 
168
                'sSortDescending': ':LABEL_DATATABLE_SSORTDESCENDING'
-
 
169
            },
-
 
170
        },
-
 
171
        'drawCallback': function(settings) {
-
 
172
            NProgress.done();
-
 
173
            $('button.btn-delete').confirmation({
-
 
174
                rootSelector: 'button.btn-delete',
-
 
175
                title: 'LABEL_ARE_YOU_SURE',
-
 
176
                singleton: true,
-
 
177
                btnOkLabel: 'LABEL_YES',
-
 
178
                btnCancelLabel: 'LABEL_NO',
-
 
179
                onConfirm: function(value) {
-
 
180
                    action = $(this).data('href');
-
 
181
                    NProgress.start();
-
 
182
                    $.ajax({
-
 
183
                        'dataType': 'json',
-
 
184
                        'accept': 'application/json',
-
 
185
                        'method': 'post',
-
 
186
                        'url': action,
-
 
187
                    }).done(function(response) {
-
 
188
                        if (response['success']) {
-
 
189
                            $.fn.showSuccess(response['data']);
-
 
190
                            gridTable.api().ajax.reload(null, false);
-
 
191
                        } else {
-
 
192
                            $.fn.showError(response['data']);
-
 
193
                        }
-
 
194
                    }).fail(function(jqXHR, textStatus, errorThrown) {
-
 
195
                        $.fn.showError(textStatus);
-
 
196
                    }).always(function() {
-
 
197
                        NProgress.done();
-
 
198
                    });
-
 
199
                },
-
 
200
            });
-
 
201
        },
-
 
202
        'aoColumns': [{
-
 
203
                'mDataProp': 'name'
-
 
204
            },
-
 
205
            {
-
 
206
                'mDataProp': 'status'
-
 
207
            },
-
 
208
            {
-
 
209
                'mDataProp': 'actions'
-
 
210
            },
-
 
211
        ],
-
 
212
        'columnDefs': [{
-
 
213
                'targets': 0,
-
 
214
                'className': 'text-vertical-middle',
-
 
215
            },
-
 
216
            {
-
 
217
                'targets': -2,
-
 
218
                'orderable': false,
-
 
219
                'className': 'text-center',
-
 
220
                'render': function(data, type, row) {
-
 
221
                    checked = data == 'a' ? ' checked="checked" ' : '';
-
 
222
                    return '<div class="checkbox checkbox-success">' +
-
 
223
                        '<input class="styled" type="checkbox" ' + checked + ' disabled="disabled">' +
-
 
224
                        '<label ></label></div>';
-
 
225
                }
-
 
226
            },
-
 
227
            {
-
 
228
                'targets': -1,
-
 
229
                'orderable': false,
-
 
230
                'render': function(data, type, row) {
-
 
231
                    s = '';
-
 
232
                    if (allowEdit) {
-
 
233
                        s = s + '<button class="btn btn-primary btn-edit" data-href="' + data['link_edit'] + '" data-toggle="tooltip" title="LABEL_EDIT"><i class="fa fa-pencil"></i> LABEL_EDIT </button>&nbsp;';
-
 
234
                    }
-
 
235
                    if (allowDelete) {
-
 
236
                        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;';
-
 
237
                    }
-
 
238
                    if (allowReport) {
-
 
239
                        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;';
-
 
240
                    }
-
 
241
                    return s;
-
 
242
                }
-
 
243
            }
-
 
244
        ],
-
 
245
    });
-
 
246
 
180
 
247
    function getContent() {
181
    function getContent() {
248
        return $('[data-competency-behavior]').map(
182
        return $('[data-competency-behavior]').map(
249
            function (idx, td) {
183
            function (idx, td) {
250
                const competencyUuid = $(td).data('competency-uuid');
184
                const competencyUuid = $(td).data('competency-uuid');
Línea 285... Línea 219...
285
                }
219
                }
286
            }).done(function(response) {
220
            }).done(function(response) {
287
                NProgress.start();
221
                NProgress.start();
288
                if (response['success']) {
222
                if (response['success']) {
289
                    $.fn.showSuccess(response['data']);
223
                    $.fn.showSuccess(response['data']);
290
                    $('#main').hide();
224
                    $('#main').show();
291
                    $('#interview').hide(); 
225
                    $('#interview').hide();
292
                    gridTable.api().ajax.reload(null, false);
226
                    $('#vacancy_uuid').change();
293
                } else {
227
                } else {
294
                    validator.resetForm();
228
                    validator.resetForm();
295
                    if (jQuery.type(response['data']) == 'string') {
229
                    if (jQuery.type(response['data']) == 'string') {
296
                        $.fn.showError(response['data']);
230
                        $.fn.showError(response['data']);
297
                    } else {
231
                    } else {
Línea 324... Línea 258...
324
                var data = response.data
258
                var data = response.data
325
                $("#interview #comment").val('');
259
                $("#interview #comment").val('');
326
                $('#interview #status').val('');            
260
                $('#interview #status').val('');            
327
                $('#interview #type').val('')
261
                $('#interview #type').val('')
328
                $("#interview #points").val('$points_0');
262
                $("#interview #points").val('$points_0');
329
 
263
              
330
                $("#competencies-job").html($("#competenciesTemplate").render(data))
264
                $("#competencies-job").html($("#competenciesTemplate").render(data))
-
 
265
                $("#interview").show()
331
                $("#form-interview").attr('action', url)
266
                $("#form-interview").attr('action', url)
332
                $("#content").hide();
-
 
333
                $("#main").show()
-
 
334
            } else {
267
            } else {
335
                $.fn.showError(response['data']);
268
                $.fn.showError(response['data']);
336
            }
269
            }
337
        }).fail(function(jqXHR, textStatus, errorThrown) {
270
        }).fail(function(jqXHR, textStatus, errorThrown) {
338
            $.fn.showError(textStatus);
271
            $.fn.showError(textStatus);
Línea 361... Línea 294...
361
                data.interview.content.forEach(obj => {
294
                data.interview.content.forEach(obj => {
362
                    $('#textarea-' + obj.competencyUuid + '-' + obj.behaviorUuid).val(obj.comment);
295
                    $('#textarea-' + obj.competencyUuid + '-' + obj.behaviorUuid).val(obj.comment);
363
                    $('#select-' + obj.competencyUuid + '-' + obj.behaviorUuid).val(obj.evaluation);
296
                    $('#select-' + obj.competencyUuid + '-' + obj.behaviorUuid).val(obj.evaluation);
364
                })
297
                })
365
                $("#form-interview").attr('action', url)
298
                $("#form-interview").attr('action', url)
366
                $("#content").hide();
-
 
367
                $("#main").show()
299
                $("#interview").show()
368
            } else {
300
            } else {
369
                $.fn.showError(response['data']);
301
                $.fn.showError(response['data']);
370
            }
302
            }
371
        }).fail(function(jqXHR, textStatus, errorThrown) {
303
        }).fail(function(jqXHR, textStatus, errorThrown) {
372
            $.fn.showError(textStatus);
304
            $.fn.showError(textStatus);
Línea 390... Línea 322...
390
                'method': 'post',
322
                'method': 'post',
391
                'url': $(this).data('url'),
323
                'url': $(this).data('url'),
392
            }).done(function (response) {
324
            }).done(function (response) {
393
                if (response['success']) {
325
                if (response['success']) {
394
                    $.fn.showSuccess(response['data']);
326
                    $.fn.showSuccess(response['data']);
395
                    gridTable.api().ajax.reload(null, false);
327
                    $('#vacancy_uuid').change();
396
                } else {
328
                } else {
397
                    $.fn.showError(response['data']);
329
                    $.fn.showError(response['data']);
398
                }
330
                }
399
            }).fail(function (jqXHR, textStatus, errorThrown) {
331
            }).fail(function (jqXHR, textStatus, errorThrown) {
400
                $.fn.showError(textStatus);
332
                $.fn.showError(textStatus);
Línea 411... Línea 343...
411
        $('#div-listing').show();
343
        $('#div-listing').show();
412
    });
344
    });
Línea 413... Línea 345...
413
    
345
    
414
    $('#form-filter #vacancy_uuid').change(function(e) {
346
    $('#form-filter #vacancy_uuid').change(function(e) {
415
        e.preventDefault();
347
        e.preventDefault();
-
 
348
        $('#form-filter #candidate_uuid').empty();
-
 
349
    })
-
 
350
    
-
 
351
    $('#form-filter #candidate_uuid').change(function(e) {
416
        gridTable.api().ajax.reload(null, false);
352
        e.preventDefault();
417
    })
-
 
418
 
353
    })
419
     /**
354
     /**
420
     * Clicked cancel new/edit Form
355
     * Clicked cancel new/edit Form
421
     */
356
     */
422
    $('button.btn-edit-cancel').click(function(e) {
357
    $('button.btn-edit-cancel').click(function(e) {
423
        e.preventDefault();
-
 
424
        $("#content").show();
358
        e.preventDefault();
425
        $("#main").hide();
359
        $('#interview').hide();
426
    });
360
    });
427
    /**
361
    /**
428
     * Clicked save and continue new Form
362
     * Clicked save and continue new Form
429
     */
363
     */
Línea 436... Línea 370...
436
     * Clicked save and close new/edit Form
370
     * Clicked save and close new/edit Form
437
     */
371
     */
438
    $('button.btn-form-save-close').click(function(e) {
372
    $('button.btn-form-save-close').click(function(e) {
439
        e.preventDefault();
373
        e.preventDefault();
440
        $('#interview #form-continue').val('0')
374
        $('#interview #form-continue').val('0')
441
        $("#content").show();
-
 
442
        $("#main").hide();
-
 
443
        $('#form-interview').submit();
375
        $('#form-interview').submit();
444
    });
376
    });
Línea 445... Línea 377...
445
 
377
 
446
    $('#vacancy_uuid').on('change', function (event) {
378
    $('#vacancy_uuid').on('change', function () {
Línea 447... Línea -...
447
        $('#candidate_uuid').html('');
-
 
448
 
-
 
449
        var uuid = event.target.value;
-
 
450
        
-
 
451
        $("#add-button").data('url', String('$routeAdd').replaceAll('UUID_PLACEHOLDER', uuid))
379
        $('#candidate_uuid').html('');
452
 
380
 
453
        $.ajax({
381
        $.ajax({
454
            'dataType': 'json',
382
            'dataType': 'json',
455
            'accept': 'application/json',
383
            'accept': 'application/json',
Línea 474... Línea 402...
474
 
402
 
475
            $('#job-description').html($('#job-description-template').render(response.data));
403
            $('#job-description').html($('#job-description-template').render(response.data));
476
        })
404
        })
Línea 477... Línea 405...
477
    });
405
    });
-
 
406
 
-
 
407
    $('#vacancy_uuid').change();
-
 
408
 
-
 
409
    $('#candidate_uuid').on('change', function () {
-
 
410
        const uuid = $('#candidate_uuid').val();
-
 
411
        const data = $('#candidate_uuid option[value="' + uuid + '"]').data()
-
 
412
        
-
 
413
        $('#add-button').data('url', data.addUrl)
-
 
414
        $("#edit-button").data('url', data.editUrl)
-
 
415
        $("#delete-button").data('url', data.deleteUrl)
-
 
416
        $("#report-button").attr('href', data.reportUrl)
-
 
417
        if (data.addUrl) {
-
 
418
            $('#add-button').show();
-
 
419
            $('#report-button').show();
-
 
420
            $('#edit-button').hide();
-
 
421
            $('#delete-button').hide();
-
 
422
        } else {
-
 
423
            $('#add-button').hide();
-
 
424
            $('#edit-button').show();
-
 
425
            $('#delete-button').show();
Línea -... Línea 426...
-
 
426
            $('#report-button').show();
478
 
427
        }
479
   $('#vacancy_uuid').change();
428
 
480
 
429
    });
481
});
430
});
Línea 493... Línea 442...
493
			</div>
442
			</div>
494
		</div>
443
		</div>
495
	</div><!-- /.container-fluid -->
444
	</div><!-- /.container-fluid -->
496
</section>
445
</section>
Línea 497... Línea 446...
497
 
446
 
498
<section id="content">
447
<section class="main">
499
    <div class="container-fluid">
448
	<div class="container-fluid">
500
        <div class="row">
449
    	<div class="row">
-
 
450
        	<div class="col-12">
501
            <div class="col-12">
451
               
502
                <div class="card">
452
				<div class="card">        
503
                    <div class="card-header">
-
 
504
                       
453
					<div class="card-header">		
505
                        <div class="row">
454
                        <div class="row">
506
                            <div class="col-md-6 col-sm-12">
455
                            <div class="col-md-6 col-sm-12">
507
                                <div class="form-group">
456
                                <div class="form-group">
508
                                <label for="vacancy_uuid">LABEL_VACANCY</label>
457
                                    <label for="vacancy_uuid">LABEL_VACANCY</label>
509
                                    <select id="vacancy_uuid" name="vacancy_uuid" class="form-control">
458
                                    <select id="vacancy_uuid" name="vacancy_uuid" class="form-control">
510
                                        <?php foreach($this->vacancies as $vacancy): ?>
459
                                        <?php foreach($this->vacancies as $vacancy): ?>
511
                                            <option value="<?= $vacancy->uuid ?>"><?= $vacancy->name ?></option>
460
                                            <option value="<?= $vacancy->uuid ?>"><?= $vacancy->name ?></option>
512
                                        <?php endforeach; ?>
461
                                        <?php endforeach; ?>
513
                                    </select>
462
                                    </select>
-
 
463
                                </div>	
-
 
464
                            </div>
-
 
465
                            <div class="col-md-6 col-sm-12">
-
 
466
                                <div class="form-group">
-
 
467
                                    <label for="candidate_uuid">LABEL_CANDIDATES</label>
-
 
468
                                    <select id="candidate_uuid" name="candidate_uuid" class="form-control">
-
 
469
                                    </select>
-
 
470
                                </div>				
-
 
471
                            </div>
-
 
472
                            <div
-
 
473
                                class="col-md-12 col-sm-12"
514
                                </div>
474
                            >
515
                            </div>
-
 
516
 
475
                            </div>
517
                        </div>
-
 
518
                        <?php echo $this->form()->closeTag($form); ?>
476
                        </div>
519
                    </div>
477
					</div>            
520
                    <div class="card-body">
-
 
521
                        <table id="gridTable" class="table   table-hover">
-
 
522
                            <thead>
-
 
523
                            <tr>
-
 
524
                                <th>LABEL_FIRST_NAME</th>
-
 
525
                                <th>LABEL_LAST_NAME</th>
-
 
526
                                <th>LABEL_EMAIL</th>
478
					<div class="card-body">
527
                                <th>LABEL_ACTIONS</th>
-
 
528
                            </tr>
-
 
529
                            </thead>
-
 
530
                            <tbody>
-
 
531
                            </tbody>
-
 
532
                        </table>
479
                        <div id="job-description"></div>
533
                    </div>
480
                   	</div>
534
                    <div class="card-footer clearfix">
481
                    <div class="card-footer clearfix">
535
                        <div style="float:right;">
482
                        <div style="float:right;">
-
 
483
                            <button id="add-button" type="button" class="btn btn-primary btn-add"><i class="fa fa-plus"></i> LABEL_ADD </button>
-
 
484
                            <a id="report-button" target="_blank" class="btn btn-primary btn-report"><i class="fa fa-file"></i> LABEL_REPORT </a>
-
 
485
                            <button id="edit-button" type="button" class="btn btn-primary btn-edit"><i class="fa fa-edit"></i> LABEL_EDIT </button>
536
                            <button id="add-button" type="button" class="btn btn-primary btn-add"><i class="fa fa-plus"></i> LABEL_ADD </button>
486
                            <button id="delete-button" type="button" class="btn btn-primary btn-delete"><i class="fa fa-ban"></i> LABEL_DELETE </button>
537
                        </div>
487
                        </div>
538
                    </div>
488
                    </div>
539
                </div>
-
 
540
            </div>
-
 
541
        </div>
-
 
542
    </div>
-
 
543
</section>
-
 
544
 
-
 
545
<section id="main" style="display: none;">
-
 
546
	<div class="container-fluid">
-
 
547
    	<div class="row p-2">
-
 
548
        	<div class="col-12">   
-
 
549
                <?php
-
 
550
                    $form->setAttributes([
-
 
551
                        'method' => 'post',
-
 
552
                        'name' => 'form-interview',
-
 
553
                        'id' => 'form-interview'
-
 
554
                    ]);
-
 
555
                    $form->prepare();
-
 
556
                    echo $this->form()->openTag($form);
-
 
557
                ?>        
-
 
558
			    	<div class="card">
-
 
559
                        <ul class="nav nav-tabs" id="custom-tabs" role="tablist">
-
 
560
                            <li class="nav-item" role="presentation">
-
 
561
                                <a class="nav-link active" id="custom-tabs-general-tab" data-toggle="tab" href="#custom-tabs-general" role="tab" aria-controls="custom-tabs-general" aria-selected="true">LABEL_GENERAL</a>
-
 
562
                            </li>
-
 
563
                            <li class="nav-item" role="presentation">
-
 
564
                                <a class="nav-link" id="custom-tabs-compentencies-tab" data-toggle="tab" href="#custom-tabs-compentencies" role="tab" aria-controls="custom-tabs-compentencies" aria-selected="false">LABEL_COMPETENCIES</a>
-
 
565
                            </li>
-
 
566
                            <li class="nav-item" role="presentation">
-
 
567
                                <a class="nav-link" id="custom-tabs-evaluation-tab" data-toggle="tab" href="#custom-tabs-evaluation" role="tab" aria-controls="custom-tabs-evaluation" aria-selected="false">LABEL_SUBORDINATES</a>
-
 
568
                            </li>
-
 
569
                        </ul>
-
 
570
 
-
 
571
			    		<div class="tab-content">                        
-
 
572
                            <div class="tab-pane fade show active" id="custom-tabs-general" role="tabpanel" aria-labelledby="custom-tabs-general-tab">
-
 
573
                                <div class="row p-2">
-
 
574
                                    <div class="col-md-6 col-sm-12">
-
 
575
                                        <div class="form-group">
-
 
576
                                            <label for="candidate_uuid">LABEL_CANDIDATES</label>
-
 
577
                                            <select id="candidate_uuid" name="candidate_uuid" class="form-control">
-
 
578
                                            </select>
-
 
579
                                        </div>				
-
 
580
                                    </div>
-
 
581
                                    <div id="job-description"></div>
-
 
582
                                </div>    
-
 
583
                            </div>
-
 
584
                            <div class="tab-pane fade" id="custom-tabs-compentencies" role="tabpanel" aria-labelledby="custom-tabs-compentencies-tab">
-
 
585
                                <div class="row p-2">
-
 
586
                                   <div class="col-md-12 col-sm-12 col-xs-12" id="competencies-job" style="margin-top: 1px;">
-
 
587
                                   </div>
-
 
588
                                </div>                            
-
 
589
                            </div>
-
 
590
                            <div class="tab-pane fade" id="custom-tabs-evaluation" role="tabpanel" aria-labelledby="custom-tabs-evaluation-tab">
-
 
591
                                <div class="row p-2">
-
 
592
                                    <div class="col-12">
-
 
593
                                        <div class="form-group">
-
 
594
                                            <?php
-
 
595
                                            $element = $form->get('comment');
-
 
596
                                            $element->setOptions(['label' => 'LABEL_COMMENT']);
-
 
597
                                            $element->setAttributes(['class' => 'form-control']);
-
 
598
                                            echo $this->formLabel($element);
-
 
599
                                            echo $this->formText($element);
-
 
600
                                            ?>
-
 
601
                                        </div>
-
 
602
                                        <div class="form-group">
-
 
603
                                            <?php
-
 
604
                                            $element = $form->get('points');
-
 
605
                                            $element->setAttributes(['class' => 'form-control']);
-
 
606
                                            $element->setOptions(['label' => 'LABEL_EVALUATION']);
-
 
607
                                            echo $this->formLabel($element);
-
 
608
                                            echo $this->formSelect($element);
-
 
609
                                            ?>
-
 
610
                                        </div>
-
 
611
                                        <div class="form-group">
-
 
612
                                            <?php
-
 
613
                                            $element = $form->get('status');
-
 
614
                                            $element->setAttributes(['class' => 'form-control']);
-
 
615
                                            $element->setOptions(['label' => 'LABEL_STATUS']);
-
 
616
                                            echo $this->formLabel($element);
-
 
617
                                            echo $this->formSelect($element);
-
 
618
                                            ?>
-
 
619
                                        </div>
-
 
620
                                        <div class="form-group">
-
 
621
                                            <?php
-
 
622
                                            $element = $form->get('type');
-
 
623
                                            $element->setAttributes(['class' => 'form-control']);
-
 
624
                                            $element->setOptions(['label' => 'LABEL_INTERVIEWED_BY']);
-
 
625
                                            echo $this->formLabel($element);
-
 
626
                                            echo $this->formSelect($element);
-
 
627
                                            ?>
-
 
628
                                        </div>
-
 
629
                                    </div>                               
-
 
630
                                </div>                               
-
 
631
                            </div>
-
 
632
                            <div class="card-footer clearfix">
-
 
633
                                <button type="submit" form="form-main" class="btn btn-info btn-form-save-continue">LABEL_SAVE & LABEL_CONTINUE</button>
-
 
634
                                <button type="button" class="btn btn-primary btn-form-save-close">LABEL_SAVE & LABEL_CLOSE</button>
-
 
635
                                <button type="button" class="btn btn-secondary btn-edit-cancel">LABEL_CANCEL</button> 
-
 
636
                            </div>                          
-
 
637
                       	</div>
-
 
638
                    </div>
-
 
639
                <?php echo $this->form()->closeTag($form); ?>
489
                 </div>
640
            </div>
490
            </div>
641
        </div>
491
        </div>
642
 	</div>
492
 	</div>
Línea 651... Línea 501...
651
            <p class="card-text">{{:job_description.functions}}</p>
501
            <p class="card-text">{{:job_description.functions}}</p>
652
        </div>
502
        </div>
653
    </div>
503
    </div>
654
</script>
504
</script>
Línea -... Línea 505...
-
 
505
 
-
 
506
<section id="interview" style="display: none;">
-
 
507
	<div class="container-fluid">
-
 
508
    	<div class="row">
-
 
509
        	<div class="col-12">
-
 
510
                <form action="#" name="form-interview" id="form-interview">
-
 
511
                    <input type="hidden" name="form-continue" id="form-continue" value="0" />
-
 
512
			    	<div class="card">   
-
 
513
                    <?php
-
 
514
                         $form->setAttributes([
-
 
515
                             'method' => 'post',
-
 
516
                             'name' => 'form-add',
-
 
517
                             'id' => 'form-add'
-
 
518
                         ]);
-
 
519
                         $form->prepare();
-
 
520
                         echo $this->form()->openTag($form);
-
 
521
                         ?>     
-
 
522
			    		<div class="card-header">		
-
 
523
                            <label>interview</label>
-
 
524
			    		</div>            
-
 
525
			    		<div class="card-body">
-
 
526
                            <div id="competencies-job"></div>
-
 
527
                                <div class="form-group">
-
 
528
                                    <?php
-
 
529
                                    $element = $form->get('comment');
-
 
530
                                    $element->setOptions(['label' => 'LABEL_COMMENT']);
-
 
531
                                    $element->setAttributes(['class' => 'form-control']);
-
 
532
                                    echo $this->formLabel($element);
-
 
533
                                    echo $this->formText($element);
-
 
534
                                    ?>
-
 
535
                                </div>
-
 
536
                                <div class="form-group">
-
 
537
                                    <?php
-
 
538
                                    $element = $form->get('points');
-
 
539
                                    $element->setAttributes(['class' => 'form-control']);
-
 
540
                                    $element->setOptions(['label' => 'LABEL_EVALUATION']);
-
 
541
                                    echo $this->formLabel($element);
-
 
542
                                    echo $this->formSelect($element);
-
 
543
                                    ?>
-
 
544
                                </div>
-
 
545
                                <div class="form-group">
-
 
546
                                    <?php
-
 
547
                                    $element = $form->get('status');
-
 
548
                                    $element->setAttributes(['class' => 'form-control']);
-
 
549
                                    $element->setOptions(['label' => 'LABEL_STATUS']);
-
 
550
                                    echo $this->formLabel($element);
-
 
551
                                    echo $this->formSelect($element);
-
 
552
                                    ?>
-
 
553
                                </div>
-
 
554
                                <div class="form-group">
-
 
555
                                    <?php
-
 
556
                                    $element = $form->get('type');
-
 
557
                                    $element->setAttributes(['class' => 'form-control']);
-
 
558
                                    $element->setOptions(['label' => 'LABEL_INTERVIEWED_BY']);
-
 
559
                                    echo $this->formLabel($element);
-
 
560
                                    echo $this->formSelect($element);
-
 
561
                                    ?>
-
 
562
                                </div>
-
 
563
                            </div>
-
 
564
                       	</div>
-
 
565
                        <div class="card-footer clearfix">
-
 
566
                        <button type="submit" form="form-main" class="btn btn-info btn-form-save-continue">LABEL_SAVE & LABEL_CONTINUE</button>
-
 
567
                        <button type="button" class="btn btn-primary btn-form-save-close">LABEL_SAVE & LABEL_CLOSE</button>
-
 
568
                        <button type="button" class="btn btn-secondary btn-edit-cancel">LABEL_CANCEL</button> 
-
 
569
                        </div>
-
 
570
                    </div>
-
 
571
                </form>
-
 
572
            </div>
-
 
573
        </div>
-
 
574
 	</div>
-
 
575
</section>
655
 
576
 
656
<script id="competenciesTemplata" type="text/x-jsrender">
577
<script id="competenciesTemplate" type="text/x-jsrender">
657
<table class="table table-bordered" id="panel-{{:slug_section}}">  
578
<table class="table table-bordered" id="panel-{{:slug_section}}>  
658
    <thead>
579
    <thead>
659
        <tr>
580
        <tr>
660
           <th style="width: 50%;">LABEL_ELEMENT</th>
581
           <th style="width: 50%;">LABEL_ELEMENT</th>
661
           <th style="width: 50%;">LABEL_TITLE</th>
582
           <th style="width: 50%;">LABEL_TITLE</th>
Línea 699... Línea 620...
699
 
620
 
700
        {{/for}}
621
        {{/for}}
701
    </tbody>
622
    </tbody>
702
</table>
623
</table>
703
</script>
-
 
704
 
-
 
705
<script id="competenciesTemplate" type="text/x-jsrender">
-
 
706
<table class="table table-bordered" id="panel-{{:slug_section}}">  
-
 
707
    <thead>
-
 
708
        <tr>
-
 
709
           <th style="width: 50%;">LABEL_ELEMENT</th>
-
 
710
           <th style="width: 50%;">LABEL_TITLE</th>
-
 
711
        </tr>
-
 
712
    </thead> 
-
 
713
    <tbody>
-
 
714
        {{for job_description.competencies}}
-
 
715
            <tr>
-
 
716
               <td class="text-left">LABEL_COMPETENCY</td>
-
 
717
               <td class="text-left">{{:competency_name}}</td>
-
 
718
            </tr>
-
 
719
        
-
 
720
            {{for behaviors}}
-
 
721
                <tr>
-
 
722
                    <td colspan="2">
-
 
723
                        <table class="table table-borderless">
-
 
724
                            <tr>
-
 
725
                                <td class="text-left">--LABEL_CONDUCT</td>
-
 
726
                                <td class="text-left">
-
 
727
                                    {{:description}}
-
 
728
                                </td>
-
 
729
                            </tr>
-
 
730
                            <tr>
-
 
731
                                <td colspan="2" data-competency-behavior data-competency-uuid="{{:competency_uuid}}" data-behavior-uuid="{{:uuid}}">
-
 
732
                                    <label for="textarea-{{:competency_uuid}}-{{:uuid}}">LABEL_COMMENT</label>
-
 
733
                                    
-
 
734
                                    <textarea
-
 
735
                                        id="textarea-{{:competency_uuid}}-{{:uuid}}"
-
 
736
                                        class="form-control"
-
 
737
                                    ></textarea>
-
 
738
                                    
-
 
739
                                    <label for="select-{{:competency_uuid}}-{{:uuid}}">LABEL_EVALUATION</label>
-
 
740
 
-
 
741
                                    <select class="form-control" id="select-{{:competency_uuid}}-{{:uuid}}">
-
 
742
                                        <option value="<?= $points_0 ?>"><?= $points_0 ?></option>
-
 
743
                                        <option value="<?= $points_1 ?>"><?= $points_1 ?></option>
-
 
744
                                        <option value="<?= $points_2 ?>"><?= $points_2 ?></option>
-
 
745
                                        <option value="<?= $points_3 ?>"><?= $points_3 ?></option>
-
 
746
                                        <option value="<?= $points_4 ?>"><?= $points_4 ?></option>
-
 
747
                                    </select>
-
 
748
                                </td>
-
 
749
                            </tr>
-
 
750
                        </table>
-
 
751
                    </td>
-
 
752
                </tr>
-
 
753
            {{/for}}
-
 
754
        {{/for}}
-
 
755
    </tbody>
-
 
756
</table>
-