Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
15394 efrain 1
<?php
2
$acl            = $this->viewModel()->getRoot()->getVariable('acl');
3
$currentUser    = $this->currentUserHelper();
4
 
5
$roleName = $currentUser->getUserTypeId();
6
 
7
 
8
$routeSave       = $this->url('settings/my-private-network/calendar');
9
 
10
$this->headLink()->appendStylesheet($this->basePath('plugins/nprogress/nprogress.css'));
11
$this->inlineScript()->appendFile($this->basePath('plugins/nprogress/nprogress.js'));
12
 
13
 
14
 
15
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/jquery.validate.js'));
16
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/additional-methods.js'));
17
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/localization/messages_es.js'));
18
 
19
$this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap-colorpicker/css/bootstrap-colorpicker.css'));
20
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-colorpicker/js/bootstrap-colorpicker.js'));
21
 
22
$this->inlineScript()->captureStart();
23
echo <<<JS
24
    jQuery( document ).ready(function( $ ) {
25
 
26
        $.validator.setDefaults({
27
            debug: true,
28
            highlight: function(element) {
29
                $(element).addClass('is-invalid');
30
            },
31
            unhighlight: function(element) {
32
                $(element).removeClass('is-invalid');
33
            },
34
            errorElement: 'span',
35
            errorClass: 'error invalid-feedback',
36
            errorPlacement: function(error, element) {
37
                if(element.parent('.btn-file').length) {
38
                    error.insertAfter(element.parent().parent());
39
                } else if(element.parent('.toggle').length) {
40
                    error.insertAfter(element.parent().parent());
41
                } else {
42
                    error.insertAfter(element.parent());
43
                }
44
            }
45
        });
46
 
15423 stevensc 47
        $.fn.handleDisable = function() {
48
            const disabledValue = $('button[type="submit"]').prop('disabled')
49
            $('button[type="submit"]').prop('disabled', !disabledValue);
50
        }
15394 efrain 51
 
52
        $.fn.showFormErrorValidator = function(fieldname, errors) {
53
            var element = $(fieldname);
54
            if(element) {
55
                $(element).addClass('is-invalid');
56
 
57
 
58
                var error = $('<span id="' + fieldname +'-error" class="error invalid-feedback">' + errors + '</div>');
59
                if(element.parent('.btn-file').length) {
60
                    error.insertAfter(element.parent().parent());
61
                } else if(element.parent('.toggle').length) {
62
                    error.insertAfter(element.parent().parent());
63
                } else {
64
                    error.insertAfter(element.parent());
65
                }
66
            }
67
        };
68
 
69
    var validator  = $('#form').validate({
70
        debug: true,
71
        onclick: false,
72
        onkeyup: false,
73
        ignore: [],
74
        rules: {
75
            'css_calendar_expire_bg_color': {
76
                required: true,
77
                maxlength: 7,
78
            },
79
            'css_calendar_expire_text_color': {
80
                required: true,
81
                maxlength: 7,
82
            },
83
            'css_calendar_zoom_bg_color': {
84
                required: true,
85
                maxlength: 7,
86
            },
87
            'css_calendar_zoom_text_color': {
88
                required: true,
89
                maxlength: 7,
90
            },
91
            'css_calendar_planning_objectives_and_goals_bg_color': {
92
                required: true,
93
                maxlength: 7,
94
            },
95
            'css_calendar_planning_objectives_and_goals_text_color': {
96
                required: true,
97
                maxlength: 7,
98
            },
99
            'css_calendar_performance_evaluation_bg_color': {
100
                required: true,
101
                maxlength: 7,
102
            },
103
            'css_calendar_performance_evaluation_text_color': {
104
                required: true,
105
                maxlength: 7,
106
            },
107
            'css_calendar_recruitment_and_selection_bg_color': {
108
                required: true,
109
                maxlength: 7,
110
            },
111
            'css_calendar_recruitment_and_selection_text_color': {
112
                required: true,
113
                maxlength: 7,
114
            },
115
            'css_calendar_survey_bg_color': {
116
                required: true,
117
                maxlength: 7,
118
            },
119
            'css_calendar_survey_text_color': {
120
                required: true,
121
                maxlength: 7,
122
            },
123
            'css_calendar_organizational_climate_bg_color': {
124
                required: true,
125
                maxlength: 7,
126
            },
127
            'css_calendar_organizational_climate_text_color': {
128
                required: true,
129
                maxlength: 7,
130
            },
131
 
132
 
133
        },
134
        submitHandler: function(form)
135
        {
136
            var formdata = false;
137
            if (window.FormData){
138
                formdata = new FormData(form); //form[0]);
139
            }
140
 
15423 stevensc 141
            $.fn.handleDisable()
15394 efrain 142
 
143
            $.ajax({
144
                'dataType'  : 'json',
145
                'accept'    : 'application/json',
146
                'method'    : 'post',
147
                'url'       :  $('#form').attr('action'),
148
                'data'      :  formdata,
149
                'processData': false,
150
                'contentType': false,
151
            }).done(function(response) {
152
                if(response['success']) {
153
                    $.fn.showSuccess(response['data']);
154
 
155
                } else {
156
                    validator.resetForm();
157
                    if(jQuery.type(response['data']) == 'string') {
15423 stevensc 158
                        $.fn.showError(response['data'], $.fn.handleDisable);
15394 efrain 159
                    } else  {
160
                        $.each(response['data'], function( fieldname, errors ) {
161
                            $.fn.showFormErrorValidator('#form #' + fieldname, errors);
162
                        });
163
                    }
164
                }
165
            }).fail(function( jqXHR, textStatus, errorThrown) {
166
                $.fn.showError(textStatus);
167
            }).always(function() {
168
                NProgress.done();
169
            });
170
            return false;
171
        },
172
        invalidHandler: function(form, validator) {
173
 
174
        }
175
    });
176
 
177
    $('#css_calendar_expire_bg_color').colorpicker();
178
    $('#css_calendar_expire_text_color').colorpicker();
179
    $('#css_calendar_zoom_bg_color').colorpicker();
180
    $('#css_calendar_zoom_text_color').colorpicker();
181
    $('#css_calendar_planning_objectives_and_goals_bg_color').colorpicker();
182
    $('#css_calendar_planning_objectives_and_goals_text_color').colorpicker();
183
    $('#css_calendar_performance_evaluation_bg_color').colorpicker();
184
    $('#css_calendar_performance_evaluation_text_color').colorpicker();
185
    $('#css_calendar_recruitment_and_selection_bg_color').colorpicker();
186
    $('#css_calendar_recruitment_and_selection_text_color').colorpicker();
187
    $('#css_calendar_survey_bg_color').colorpicker();
188
    $('#css_calendar_survey_text_color').colorpicker();
189
    $('#css_calendar_organizational_climate_bg_color').colorpicker();
190
    $('#css_calendar_organizational_climate_text_color').colorpicker();
191
 
192
 
193
});
194
JS;
195
$this->inlineScript()->captureEnd();
196
?>
197
 
198
<!-- Content Header (Page header) -->
199
<section class="content-header">
200
    <div class="container-fluid">
201
        <div class="row mb-2">
202
            <div class="col-sm-12">
203
                <h1>LABEL_MY_PRIVATE_NETWORK_CALENDAR</h1>
204
            </div>
205
        </div>
206
        <div class="row mb-2">
207
            <div class="col-sm-12">
208
                <?php
209
                $form = $this->form;
210
                $form->setAttributes([
211
                    'method'  => 'post',
212
                    'action'  => $routeSave,
213
                    'name'    => 'form',
214
                    'id'      => 'form',
215
                ]);
216
 
217
                $form->prepare();
218
                echo $this->form()->openTag($form);
219
 
220
                $styles = [
221
                    'Color de fondo de un evento cerca de expirar' => 'css_calendar_expire_bg_color',
222
                    'Color del texto de un evento cerca de expirar' => 'css_calendar_expire_text_color',
223
                    'Color de fondo de una conferencia Zoom' => 'css_calendar_zoom_bg_color',
224
                    'Color del texto de una conferencia Zoom' => 'css_calendar_zoom_text_color',
225
                    'Color de fondo de una planificación de objetivos' => 'css_calendar_planning_objectives_and_goals_bg_color',
226
                    'Color de texto de una planificación de objetivos' => 'css_calendar_planning_objectives_and_goals_text_color',
227
                    'Color de fondo de una evaluación de desempeño' => 'css_calendar_performance_evaluation_bg_color',
228
                    'Color de texto de una evaluación de desempeño' => 'css_calendar_performance_evaluation_text_color',
229
                    'Color de fondo de un proceso de reclutamiento y selección' => 'css_calendar_recruitment_and_selection_bg_color',
230
                    'Color de texto de un proceso de reclutamiento y selección' => 'css_calendar_recruitment_and_selection_text_color',
231
                    'Color de fondo de una encuesta' => 'css_calendar_survey_bg_color',
232
                    'Color de texto de una encuesta' => 'css_calendar_survey_text_color',
233
                    'Color de fondo de una encuesta de clima organizacional' => 'css_calendar_organizational_climate_bg_color',
234
                    'Color de texto de una encuesta de clima organizacional' => 'css_calendar_organizational_climate_text_color',
15423 stevensc 235
 
236
 
237
 
15394 efrain 238
                ];
239
 
240
 
15423 stevensc 241
 
15394 efrain 242
                foreach ($styles as $label => $field) :
243
                ?>
244
 
245
 
246
 
247
                    <div class="form-group">
248
                        <?php
249
                        $element = $form->get($field);
250
                        $element->setAttributes(['id' => $field, 'class' => 'form-control', 'class' => 'form-control']);
251
                        $element->setOptions(['label' => $label]);
252
                        echo $this->formLabel($element);
253
                        echo $this->formText($element);
254
                        ?>
255
                    </div>
256
                <?php
257
                endforeach;
258
                ?>
259
                <div class="form-group">
260
                    <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
261
                </div>
262
                <?php echo $this->form()->closeTag($form); ?>
263
            </div>
264
        </div>
265
    </div><!-- /.container-fluid -->
266
</section>