Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev 15457 Rev 15461
Línea 69... Línea 69...
69
$status_inactive = \LeadersLinked\Model\RecruitmentSelectionVacancy::STATUS_INACTIVE;
69
$status_inactive = \LeadersLinked\Model\RecruitmentSelectionVacancy::STATUS_INACTIVE;
Línea 70... Línea 70...
70
 
70
 
71
$this->inlineScript()->captureStart();
71
$this->inlineScript()->captureStart();
72
echo <<<JS
72
echo <<<JS
-
 
73
jQuery(document).ready(function($) {
-
 
74
 
-
 
75
 
73
jQuery(document).ready(function($) {
76
 
74
    var allowEdit = $allowEdit;
77
    var allowEdit = $allowEdit;
Línea -... Línea 78...
-
 
78
    var allowDelete = $allowDelete;
-
 
79
 
-
 
80
    $.validator.setDefaults({
-
 
81
            debug: true,
-
 
82
            highlight: function(element) {
-
 
83
                $(element).addClass('is-invalid');
-
 
84
            },
-
 
85
            unhighlight: function(element) {
-
 
86
                $(element).removeClass('is-invalid');
-
 
87
            },
-
 
88
            errorElement: 'span',
-
 
89
            errorClass: 'error invalid-feedback',
-
 
90
            errorPlacement: function(error, element) {
-
 
91
                if(element.parent('.form-group').length) {
-
 
92
                    error.insertAfter(element);
-
 
93
                } else if(element.parent('.toggle').length) {
-
 
94
                    error.insertAfter(element.parent().parent());
-
 
95
                } else {
-
 
96
                    error.insertAfter(element.parent());
-
 
97
                }
-
 
98
            }
-
 
99
        });
-
 
100
    
-
 
101
    
-
 
102
        $.fn.showFormErrorValidator = function(fieldname, errors) {
-
 
103
            var field = $(fieldname);
-
 
104
            if(field) {
-
 
105
                $(field).addClass('is-invalid');
-
 
106
    
-
 
107
 
-
 
108
                var error = $('<span id="' + fieldname +'-error" class="error invalid-feedback">' + errors + '</div>');
-
 
109
                if(field.parent('.form-group').length) {
-
 
110
                    error.insertAfter(field);
-
 
111
                } else  if(field.parent('.toggle').length) {
-
 
112
                    error.insertAfter(field.parent().parent());
-
 
113
                } else {
-
 
114
                    error.insertAfter(field.parent());
-
 
115
                }
-
 
116
            }
-
 
117
        };
-
 
118
 
75
    var allowDelete = $allowDelete;
119
 
76
 
120
 
77
    var gridTable = $('#gridTable').dataTable({
121
    var gridTable = $('#gridTable').dataTable({
78
        'processing': true,
122
        'processing': true,
79
        'serverSide': true,
123
        'serverSide': true,
Línea 203... Línea 247...
203
                }
247
                }
204
            }
248
            }
205
        ],
249
        ],
206
    });
250
    });
Línea 207... Línea -...
207
 
-
 
208
 
-
 
209
    $('body').on('click', 'button.btn-edit', function(e) {
-
 
210
        e.preventDefault();
-
 
211
        form_id = $(this).data('id')
-
 
212
        var action = $(this).data('href');
-
 
213
        $.ajax({
-
 
214
            'dataType': 'json',
-
 
215
            'accept': 'application/json',
-
 
216
            'method': 'get',
-
 
217
            'url': action,
-
 
218
        }).done(function(response) {
-
 
219
            if (response['success']) {
-
 
220
                const lastDate = new Date(Date.parse(response['data']['last_date'] + " 00:00:00"));
-
 
221
 
-
 
222
                $("#rows").html('');
-
 
223
                sections = [];
-
 
224
                $('#form-main').attr('action', action);
-
 
225
                $('#form-main #name').val(response['data']['name']);
-
 
226
                $('#form-main #job_description_id').val(response['data']['job_description_id']).trigger('change');
-
 
227
                $('#form-main #location_search').val(response['data']['location_search']);
-
 
228
                $('#form-main #formatted_address').val(response['data']['formatted_address']);
-
 
229
                $('#form-main #address1').val(response['data']['address1']);
-
 
230
                $('#form-main #address2').val(response['data']['address2']);
-
 
231
                $('#form-main #city1').val(response['data']['city1']);
-
 
232
                $('#form-main #city2').val(response['data']['city2']);
-
 
233
                $('#form-main #state').val(response['data']['state']);
-
 
234
                $('#form-main #country').val(response['data']['country']);
-
 
235
                $('#form-main #postal_code').val(response['data']['postal_code']);
-
 
236
                $('#form-main #latitude').val(response['data']['latitude']);
-
 
237
                $('#form-main #longitude').val(response['data']['longitude']);
-
 
238
                $('#form-main #job_category_id').val(response['data']['job_category_id']).trigger('change');
-
 
239
                $('#form-main #industry_id').val(response['data']['industry_id']).trigger('change');
-
 
240
                $('#form-main #last_date').val(
-
 
241
                    lastDate.getDate() + "/" + String(lastDate.getMonth() + 1).padStart(2, '0') + "/" + lastDate.getFullYear()
-
 
242
                ).trigger('change');
-
 
243
                $('#form-main #status').val(response['data']['status']);
-
 
244
                CKEDITOR.instances['description'].setData(response['data']['description']);
-
 
245
                $('#row-list').hide();
-
 
246
                $('#row-form').show();
-
 
247
                
-
 
248
            } else {
-
 
249
                $.fn.showError(response['message']);
-
 
250
            }
-
 
251
        }).fail(function(jqXHR, textStatus, errorThrown) {
-
 
252
            $.fn.showError(textStatus);
-
 
253
        });
-
 
254
    });
-
 
255
  
-
 
256
    $('#form-main #last_date').datetimepicker({
-
 
257
        locale: 'es',
-
 
258
        format: 'DD/MM/YYYY'
-
 
259
    });
-
 
260
 
-
 
261
    $('button.btn-add').click(function(e) {
-
 
262
 
-
 
263
        $('#form-main').attr('action', '$routeAdd');
-
 
264
        $('#form-main #name').val('');
-
 
265
        $('#form-main #job_description_id').val('').trigger('change');
-
 
266
        $('#form-main #location_search').val('');
-
 
267
        $('#form-main #job_category_id').val('').trigger('change');
-
 
268
        $('#form-main #industry_id').val('').trigger('change');
-
 
269
        $('#form-main #last_date').val('');
-
 
270
        $('#form-main #status').val('$status_active');
-
 
271
 
-
 
272
        CKEDITOR.instances['description'].setData('');
-
 
273
       
-
 
274
        $('#row-list').hide();
-
 
275
        $('#row-form').show();
-
 
276
        $('#form-main #name').focus();
-
 
277
        return;
-
 
278
    });
-
 
279
 
-
 
280
 
251
 
281
    $.validator.addMethod('checkLocation', function (value, element, param) {
252
    $.validator.addMethod('checkLocation', function (value, element, param) {
282
        var otherElement = $(param);
-
 
283
 
253
        var otherElement = $(param);
284
        return $.trim(otherElement.val()).length > 0;
254
        return $.trim(otherElement.val()).length > 0;
Línea -... Línea 255...
-
 
255
    }, 'ERROR_PLACED_AUTOCOMPLETE_DOES_NOT_CONTAIN_GEOMETRY');
285
    }, 'ERROR_PLACED_AUTOCOMPLETE_DOES_NOT_CONTAIN_GEOMETRY');
256
 
286
 
257
 
287
    var autocompleteLocation = new google.maps.places.Autocomplete(
258
    var autocompleteLocation = new google.maps.places.Autocomplete(
288
        (document.getElementById('location_search')),
259
        (document.getElementById('location_search')),
Línea -... Línea 260...
-
 
260
        {types: ['(cities)']}
289
        {types: ['(cities)']}
261
    );
-
 
262
 
-
 
263
 
290
    );
264
    $.fn.fillInAddressLocation = function() {
291
 
265
 
292
    $.fn.fillInAddressLocation = function() {
266
 
293
        var place = autocompleteLocation.getPlace();
267
        var place = autocompleteLocation.getPlace();
294
        if (!place.geometry) {
268
        if (!place.geometry) {
-
 
269
            $.fn.showError('ERROR_PLACED_AUTOCOMPLETE_DOES_NOT_CONTAIN_GEOMETRY')
295
            $.fn.showError('ERROR_PLACED_AUTOCOMPLETE_DOES_NOT_CONTAIN_GEOMETRY')
270
            return;
296
            return;
271
        } else {
297
        } else {
272
 
298
            address1 = '';
273
            address1 = '';
299
            address2 = '';
274
            address2 = '';
Línea 305... Línea 280...
305
            
280
            
306
            formatted_address = place.formatted_address;
281
            formatted_address = place.formatted_address;
307
            latitude = place.geometry.location.lat();
282
            latitude = place.geometry.location.lat();
308
            longitude = place.geometry.location.lng();
283
            longitude = place.geometry.location.lng();
-
 
284
            var arrAddress = place.address_components;
309
            var arrAddress = place.address_components;
285
 
310
            
286
 
311
            $.each(arrAddress, function(i, address_component) {
287
            $.each(arrAddress, function(i, address_component) {
312
                if (address_component.types[0] == "route") {
288
                if (address_component.types[0] == "route") {
313
                    address1 = address_component.long_name;
289
                    address1 = address_component.long_name;
314
                }
290
                }
Línea 330... Línea 306...
330
                if (address_component.types[0] == "postal_code") {
306
                if (address_component.types[0] == "postal_code") {
331
                    postal_code = address_component.long_name;
307
                    postal_code = address_component.long_name;
332
                }
308
                }
333
            });
309
            });
Línea -... Línea 310...
-
 
310
            
334
            
311
            
335
            $('#form-main #formatted_address').val(formatted_address);
312
            $('#form #formatted_address').val(formatted_address);
336
            $('#form-main #address1').val(address1);
313
            $('#form #address1').val(address1);
337
            $('#form-main #address2').val(address2);
314
            $('#form #address2').val(address2);
338
            $('#form-main #city1').val(city1);
315
            $('#form #city1').val(city1);
339
            $('#form-main #city2').val(city2);
316
            $('#form #city2').val(city2);
340
            $('#form-main #state').val(state);
317
            $('#form #state').val(state);
341
            $('#form-main #country').val(country);
318
            $('#form #country').val(country);
342
            $('#form-main #postal_code').val(postal_code);
319
            $('#form #postal_code').val(postal_code);
343
            $('#form-main #latitude').val(latitude);
320
            $('#form #latitude').val(latitude);
-
 
321
            $('#form #longitude').val(longitude);
344
            $('#form-main #longitude').val(longitude);
322
 
345
        }
323
        }
Línea -... Línea 324...
-
 
324
    }
-
 
325
 
-
 
326
 
-
 
327
 
-
 
328
    autocompleteLocation.addListener('place_changed', $.fn.fillInAddressLocation);
-
 
329
 
-
 
330
        var validator = $('#form').validate({
-
 
331
            debug: true,
-
 
332
            onclick: true,
-
 
333
            onkeyup: false,
-
 
334
            ignore: [],
-
 
335
            rules: {
-
 
336
                'name': {
-
 
337
                    required: true,
-
 
338
                    maxlength: 128,
-
 
339
                }, 
-
 
340
                'job_description_id': {
-
 
341
                    required: true,
-
 
342
 
-
 
343
                },
-
 
344
                'job_category_id' : {
-
 
345
                    required: true,
-
 
346
 
-
 
347
                },
-
 
348
                'industry_id'  : {
-
 
349
                    required: true,
-
 
350
 
-
 
351
                },
-
 
352
                'description': {
-
 
353
                    updateCkeditor:function() {
-
 
354
                            CKEDITOR.instances.description.updateElement();
-
 
355
                    },
-
 
356
                    required: true
-
 
357
                },
-
 
358
                'location_search': {
-
 
359
                    required: true,
-
 
360
                    checkLocation: '#form #latitude',
-
 
361
                },
-
 
362
                'last_date' : {
-
 
363
                    required: true,
-
 
364
                    
-
 
365
                },
-
 
366
                'status': {
-
 
367
                    required: false,
-
 
368
                    
-
 
369
                },
-
 
370
            },
-
 
371
            submitHandler: function(form)
-
 
372
            {
-
 
373
 
-
 
374
                $.ajax({
-
 
375
                    'dataType'  : 'json',
-
 
376
                    'accept'    : 'application/json',
-
 
377
                    'method'    : 'post',
-
 
378
                    'url'       :  $('#form').attr('action'),
-
 
379
                    'data'      :  $('#form').serialize()
-
 
380
                }).done(function(response) {
-
 
381
                    NProgress.start();
-
 
382
                    if(response['success']) {
-
 
383
                        $.fn.showSuccess(response['data']);
-
 
384
                        
-
 
385
                        $('#section-title').html('LABEL_VACANCIES');
-
 
386
                        $('#row-form').hide();
-
 
387
                        $('#row-list').show();
-
 
388
 
-
 
389
                        
-
 
390
                        gridTable.api().ajax.reload(null, false);
-
 
391
                    } else {
-
 
392
                        validator.resetForm();
-
 
393
                        if(jQuery.type(response['data']) == 'string') {
-
 
394
                            $.fn.showError(response['data']);
-
 
395
                        } else  {
-
 
396
                            $.each(response['data'], function( fieldname, errors ) {
-
 
397
                                $.fn.showFormErrorValidator('#form #' + fieldname, errors);
-
 
398
                            });
-
 
399
                        }
-
 
400
                    }
-
 
401
                }).fail(function( jqXHR, textStatus, errorThrown) {
-
 
402
                    $.fn.showError(textStatus);
-
 
403
                }).always(function() {
-
 
404
                    NProgress.done();
-
 
405
 
-
 
406
                });
-
 
407
                return false;
-
 
408
            },
-
 
409
            invalidHandler: function(form, validator) {
-
 
410
                
-
 
411
            }
-
 
412
        });
-
 
413
 
-
 
414
 
-
 
415
 
-
 
416
 
-
 
417
 
-
 
418
 
-
 
419
    
-
 
420
 
-
 
421
    $('body').on('click', 'button.btn-edit', function(e) {
-
 
422
        e.preventDefault();
-
 
423
        form_id = $(this).data('id')
-
 
424
        var action = $(this).data('href');
-
 
425
        $.ajax({
-
 
426
            'dataType': 'json',
-
 
427
            'accept': 'application/json',
-
 
428
            'method': 'get',
-
 
429
            'url': action,
-
 
430
        }).done(function(response) {
-
 
431
            if (response['success']) {
-
 
432
                $('#section-title').html('LABEL_EDIT_VACANCY');
-
 
433
 
-
 
434
                $('#form').attr('action', action);
-
 
435
                $('#form #name').val(response['data']['name']);
-
 
436
                $('#form #job_description_id').val(response['data']['job_description_id']).trigger('change');
-
 
437
                $('#form #job_category_id').val(response['data']['job_category_id']).trigger('change');
-
 
438
                $('#form #industry_id').val(response['data']['industry_id']).trigger('change');
-
 
439
                $('#form #location_search').val(response['data']['location_search']);
-
 
440
                $('#form #formatted_address').val(response['data']['formatted_address']);
-
 
441
                $('#form #address1').val(response['data']['address1']);
-
 
442
                $('#form #address2').val(response['data']['address2']);
-
 
443
                $('#form #city1').val(response['data']['city1']);
-
 
444
                $('#form #city2').val(response['data']['city2']);
-
 
445
                $('#form #state').val(response['data']['state']);
-
 
446
                $('#form #country').val(response['data']['country']);
-
 
447
                $('#form #postal_code').val(response['data']['postal_code']);
-
 
448
                $('#form #latitude').val(response['data']['latitude']);
-
 
449
                $('#form #longitude').val(response['data']['longitude']);
-
 
450
                $('#form #last_date').val(response['data']['last_date']);
-
 
451
                $('#form #status').bootstrapToggle(response['data']['status'] == '$status_active' ? 'on' : 'off')
-
 
452
                CKEDITOR.instances['description'].setData(response['data']['description']);
-
 
453
                $('#row-list').hide();
-
 
454
                $('#row-form').show();
-
 
455
                
-
 
456
            } else {
-
 
457
                $.fn.showError(response['message']);
-
 
458
            }
-
 
459
        }).fail(function(jqXHR, textStatus, errorThrown) {
-
 
460
            $.fn.showError(textStatus);
-
 
461
        });
-
 
462
    });
-
 
463
  
-
 
464
    $('#form #last_date').datetimepicker({
-
 
465
        locale: 'es',
-
 
466
        format: 'DD/MM/YYYY'
-
 
467
    });
-
 
468
 
-
 
469
    $('button.btn-add').click(function(e) {
-
 
470
        $('#section-title').html('LABEL_NEW_VACANCY');
-
 
471
 
-
 
472
 
-
 
473
        $('#form').attr('action', '$routeAdd');
-
 
474
        $('#form #name').val('');
-
 
475
        $('#form #job_description_id').val('').trigger('change');
-
 
476
        $('#form #job_category_id').val('').trigger('change');
-
 
477
        $('#form #industry_id').val('').trigger('change');
-
 
478
 
-
 
479
        $('#form #location_search').val('');
-
 
480
        $('#form #address1').val('');
-
 
481
        $('#form #address2').val('');
-
 
482
        $('#form #city1').val('');
-
 
483
        $('#form #city2').val('');
-
 
484
        $('#form #state').val('');
-
 
485
        $('#form #country').val('');
-
 
486
        $('#form #postal_code').val('');
-
 
487
        $('#form #latitude').val('');
-
 
488
        $('#form #longitude').val('');
-
 
489
 
-
 
490
        $('#form #last_date').val('');
-
 
491
        $('#form #status').bootstrapToggle('on')
-
 
492
 
-
 
493
        CKEDITOR.instances['description'].setData('');
-
 
494
       
-
 
495
        $('#row-list').hide();
-
 
496
        $('#row-form').show();
-
 
497
        $('#form #name').focus();
-
 
498
        return;
-
 
499
    });
-
 
500
 
Línea 346... Línea 501...
346
    }
501
 
347
 
502
 
348
    
503
    
-
 
504
    $('button.btn-edit-cancel').click(function(e) {
-
 
505
        $('#row-form').hide();
349
    $('button.btn-edit-cancel').click(function(e) {
506
        $('#row-list').show();
350
        $('#row-form').hide();
507
 
Línea 351... Línea 508...
351
        $('#row-list').show();
508
        $('#section-title').html('LABEL_VACANCIES');
352
        return;
509
        return;
Línea 382... Línea 539...
382
        'width': '160px',
539
        'width': '160px',
383
        'height': '40px'
540
        'height': '40px'
384
    });
541
    });
Línea 385... Línea -...
385
   
-
 
386
 
-
 
387
    var validatorLocation = $('#location_search').validate({
-
 
388
        debug: true,
-
 
389
        onclick: false,
-
 
390
        onkeyup: false,
-
 
391
        onfocusout: false,
-
 
392
        ignore: [],
-
 
393
        rules: {
-
 
394
            'location_search': {
-
 
395
                required: true,
-
 
396
                checkLocation: '#location_search #latitude'
-
 
397
            }
-
 
398
        },
-
 
399
        submitHandler: function(form)
-
 
400
        {
-
 
401
            NProgress.start();
-
 
402
            $.ajax({
-
 
403
                'dataType'  : 'json',
-
 
404
                'accept'    : 'application/json',
-
 
405
                'method'    : 'post',
-
 
406
                'url'       :  route_location,
-
 
407
                'data'      :  $('#location_search').serialize(),
-
 
408
            }).done(function(response) {
-
 
409
 
-
 
410
 
-
 
411
 
-
 
412
                if(response['success']) {
-
 
413
                    $('#overview-location').html(response.data);
-
 
414
                    $("#location-box").modal('hide');
-
 
415
                } else {
-
 
416
                    validatorLocation.resetForm();
-
 
417
                    $.fn.showError(response['data']);
-
 
418
                }
-
 
419
            }).fail(function( jqXHR, textStatus, errorThrown) {
-
 
420
                $.fn.showError(textStatus);
-
 
421
            }).always(function() {
-
 
422
                NProgress.done();
-
 
423
            });
-
 
424
            return false;
-
 
425
        },
-
 
426
        invalidHandler: function(form, validator) {
-
 
427
        
-
 
428
        }
-
 
429
    });
-
 
430
 
-
 
431
    $('body').on('click', 'a.btn-location-edit', function(e) {
-
 
432
        e.preventDefault();
-
 
433
        
-
 
434
        $('#form-main #location_search').val('');
-
 
435
        $('#form-main #formatted_address').val('');
-
 
436
        $('#form-main #address1').val('');
-
 
437
        $('#form-main #address2').val('');
-
 
438
        $('#form-main #country').val('');
-
 
439
        $('#form-main #state').val('');
-
 
440
        $('#form-main #city1').val('');
-
 
441
        $('#form-main #city2').val('');
-
 
442
        $('#form-main #postal_code').val('');
-
 
443
        $('#form-main #latitude').val('');
-
 
444
        $('#form-main #longitude').val('');
-
 
445
        validatorLocation.resetForm();
-
 
446
        
-
 
Línea 447... Línea -...
447
        $("#location-box").modal('show');
-
 
448
    });
-
 
449
    
-
 
450
    $('.btn-location-close').on("click", function(e){
-
 
451
        e.preventDefault();
-
 
452
        
-
 
Línea 453... Línea -...
453
        $("#location-box").modal('hide');
-
 
-
 
542
   
Línea 454... Línea 543...
454
        return false;
543
 
455
    });
544
    
456
 
545
 
Línea 477... Línea 566...
477
$this->inlineScript()->captureEnd();
566
$this->inlineScript()->captureEnd();
Línea 478... Línea 567...
478
 
567
 
479
?>
568
?>
Línea 480... Línea -...
480
<!-- Content Header (Page header) -->
-
 
481
 
569
<!-- Content Header (Page header) -->
482
<div id="recruitment_and_selection-vacancies">
570
 
483
</div>
571
 
484
<section class="content-header">
572
<section class="content-header">
485
   <div class="container-fluid">
573
   <div class="container-fluid">
486
      <div class="row mb-2">
574
      <div class="row mb-2">
487
         <div class="col-sm-12">
575
         <div class="col-sm-12">
488
            <h1>LABEL_RECRUITMENT_AND_SELECTION</h1>
576
            <h1 id="section-title"></h1>
489
         </div>
577
         </div>
490
      </div>
578
      </div>
491
   </div>
579
   </div>
492
   <!-- /.container-fluid -->
580
   <!-- /.container-fluid -->
493
</section>
581
</section>
494
<section class="content">
582
<section class="content">
495
    <div class="container-fluid" id="row-list">
583
    <div class="container-fluid">
496
		<div class="row">
584
		<div class="row" id="row-list">
497
        	<div class="col-12">
585
        	<div class="col-12">
498
            	<div class="card">
586
            	<div class="card">
499
                	<div class="card-body">
587
                	<div class="card-body">
Línea 530... Línea 618...
530
   <div class="col-xs-12 col-md-12">
618
   <div class="col-xs-12 col-md-12">
531
        <?php 
619
        <?php 
532
        $form = $this->form;
620
        $form = $this->form;
533
        $form->setAttributes([
621
        $form->setAttributes([
534
            'method'    => 'post',
622
            'method'    => 'post',
535
            'name'      => 'form-main',
623
            'name'      => 'form',
536
            'id'        => 'form-main'
624
            'id'        => 'form'
537
        ]);
625
        ]);
Línea 538... Línea 626...
538
    
626
    
539
        $form->prepare();
627
        $form->prepare();
Línea 626... Línea 714...
626
                                                            
714
                                                            
627
             echo $this->formLabel($element);
715
             echo $this->formLabel($element);
628
             echo $this->formTextArea($element);
716
             echo $this->formTextArea($element);
629
            ?>
717
            ?>
630
          </div>
718
          </div>
631
                  <div class="form-group">
719
    		<div class="form-group">
632
                 <?php 
720
                 <?php 
633
             $element = $form->get('status');
721
             $element = $form->get('status');
634
             $element->setAttributes(['class' => 'form-control']);    
722
             $element->setAttributes(['class' => 'form-control']);    
635
             $element->setOptions(['label' => 'LABEL_STATUS']);
-
 
636
                                                            
723
             $element->setOptions(['label' => 'LABEL_STATUS']);
-
 
724
             echo $this->formLabel($element);
-
 
725
            ?>
-
 
726
           	<br/>
-
 
727
            <?php                                             
637
             echo $this->formLabel($element);
728
             
638
             echo $this->formCheckbox($element);
729
             echo $this->formCheckbox($element);
-
 
730
            ?>
639
            ?>
731
 
Línea 640... Línea 732...
640
          </div>
732
          </div>
641
 
733
 
642
 
734
 
643
 
735
 
644
          <div class="form-group">
736
          <div class="form-group">
645
              <button type="button" class="btn btn-primary btn-form-save-close">LABEL_SAVE</button>
737
              <button type="submit" class="btn btn-primary btn-form-save-close">LABEL_SAVE</button>
646
             <button type="button" class="btn btn-secondary btn-edit-cancel">LABEL_CANCEL</button>
738
             <button type="button" class="btn btn-secondary btn-edit-cancel">LABEL_CANCEL</button>