Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 15400 | Ir a la última revisión | | 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
 
47
 
48
        $.fn.showFormErrorValidator = function(fieldname, errors) {
49
            var element = $(fieldname);
50
            if(element) {
51
                $(element).addClass('is-invalid');
52
 
53
 
54
                var error = $('<span id="' + fieldname +'-error" class="error invalid-feedback">' + errors + '</div>');
55
                if(element.parent('.btn-file').length) {
56
                    error.insertAfter(element.parent().parent());
57
                } else if(element.parent('.toggle').length) {
58
                    error.insertAfter(element.parent().parent());
59
                } else {
60
                    error.insertAfter(element.parent());
61
                }
62
            }
63
        };
64
 
65
    var validator  = $('#form').validate({
66
        debug: true,
67
        onclick: false,
68
        onkeyup: false,
69
        ignore: [],
70
        rules: {
71
            'css_calendar_expire_bg_color': {
72
                required: true,
73
                maxlength: 7,
74
            },
75
            'css_calendar_expire_text_color': {
76
                required: true,
77
                maxlength: 7,
78
            },
79
            'css_calendar_zoom_bg_color': {
80
                required: true,
81
                maxlength: 7,
82
            },
83
            'css_calendar_zoom_text_color': {
84
                required: true,
85
                maxlength: 7,
86
            },
87
            'css_calendar_planning_objectives_and_goals_bg_color': {
88
                required: true,
89
                maxlength: 7,
90
            },
91
            'css_calendar_planning_objectives_and_goals_text_color': {
92
                required: true,
93
                maxlength: 7,
94
            },
95
            'css_calendar_performance_evaluation_bg_color': {
96
                required: true,
97
                maxlength: 7,
98
            },
99
            'css_calendar_performance_evaluation_text_color': {
100
                required: true,
101
                maxlength: 7,
102
            },
103
            'css_calendar_recruitment_and_selection_bg_color': {
104
                required: true,
105
                maxlength: 7,
106
            },
107
            'css_calendar_recruitment_and_selection_text_color': {
108
                required: true,
109
                maxlength: 7,
110
            },
111
            'css_calendar_survey_bg_color': {
112
                required: true,
113
                maxlength: 7,
114
            },
115
            'css_calendar_survey_text_color': {
116
                required: true,
117
                maxlength: 7,
118
            },
119
            'css_calendar_organizational_climate_bg_color': {
120
                required: true,
121
                maxlength: 7,
122
            },
123
            'css_calendar_organizational_climate_text_color': {
124
                required: true,
125
                maxlength: 7,
126
            },
127
 
128
 
129
        },
130
        submitHandler: function(form)
131
        {
132
            var formdata = false;
133
            if (window.FormData){
134
                formdata = new FormData(form); //form[0]);
135
            }
136
 
137
            $('input[type="submit"]').prop('disabled', true);
138
 
139
            $.ajax({
140
                'dataType'  : 'json',
141
                'accept'    : 'application/json',
142
                'method'    : 'post',
143
                'url'       :  $('#form').attr('action'),
144
                'data'      :  formdata,
145
                'processData': false,
146
                'contentType': false,
147
            }).done(function(response) {
148
                if(response['success']) {
149
                    $.fn.showSuccess(response['data']);
150
 
151
                } else {
152
                    validator.resetForm();
153
                    if(jQuery.type(response['data']) == 'string') {
154
                        $.fn.showError(response['data']);
155
                    } else  {
156
                        $.each(response['data'], function( fieldname, errors ) {
157
                            $.fn.showFormErrorValidator('#form #' + fieldname, errors);
158
                        });
159
                    }
160
                }
161
            }).fail(function( jqXHR, textStatus, errorThrown) {
162
                $.fn.showError(textStatus);
163
            }).always(function() {
164
                NProgress.done();
165
            });
166
            return false;
167
        },
168
        invalidHandler: function(form, validator) {
169
 
170
        }
171
    });
172
 
173
    $('#css_calendar_expire_bg_color').colorpicker();
174
    $('#css_calendar_expire_text_color').colorpicker();
175
    $('#css_calendar_zoom_bg_color').colorpicker();
176
    $('#css_calendar_zoom_text_color').colorpicker();
177
    $('#css_calendar_planning_objectives_and_goals_bg_color').colorpicker();
178
    $('#css_calendar_planning_objectives_and_goals_text_color').colorpicker();
179
    $('#css_calendar_performance_evaluation_bg_color').colorpicker();
180
    $('#css_calendar_performance_evaluation_text_color').colorpicker();
181
    $('#css_calendar_recruitment_and_selection_bg_color').colorpicker();
182
    $('#css_calendar_recruitment_and_selection_text_color').colorpicker();
183
    $('#css_calendar_survey_bg_color').colorpicker();
184
    $('#css_calendar_survey_text_color').colorpicker();
185
    $('#css_calendar_organizational_climate_bg_color').colorpicker();
186
    $('#css_calendar_organizational_climate_text_color').colorpicker();
187
 
188
 
189
});
190
JS;
191
$this->inlineScript()->captureEnd();
192
?>
193
 
194
<!-- Content Header (Page header) -->
195
<section class="content-header">
196
    <div class="container-fluid">
197
        <div class="row mb-2">
198
            <div class="col-sm-12">
199
                <h1>LABEL_MY_PRIVATE_NETWORK_CALENDAR</h1>
200
            </div>
201
        </div>
202
        <div class="row mb-2">
203
            <div class="col-sm-12">
204
                <?php
205
                $form = $this->form;
206
                $form->setAttributes([
207
                    'method'  => 'post',
208
                    'action'  => $routeSave,
209
                    'name'    => 'form',
210
                    'id'      => 'form',
211
                ]);
212
 
213
                $form->prepare();
214
                echo $this->form()->openTag($form);
215
 
216
                $styles = [
217
                    'Color de fondo de un evento cerca de expirar' => 'css_calendar_expire_bg_color',
218
                    'Color del texto de un evento cerca de expirar' => 'css_calendar_expire_text_color',
219
                    'Color de fondo de una conferencia Zoom' => 'css_calendar_zoom_bg_color',
220
                    'Color del texto de una conferencia Zoom' => 'css_calendar_zoom_text_color',
221
                    'Color de fondo de una planificación de objetivos' => 'css_calendar_planning_objectives_and_goals_bg_color',
222
                    'Color de texto de una planificación de objetivos' => 'css_calendar_planning_objectives_and_goals_text_color',
223
                    'Color de fondo de una evaluación de desempeño' => 'css_calendar_performance_evaluation_bg_color',
224
                    'Color de texto de una evaluación de desempeño' => 'css_calendar_performance_evaluation_text_color',
225
                    'Color de fondo de un proceso de reclutamiento y selección' => 'css_calendar_recruitment_and_selection_bg_color',
226
                    'Color de texto de un proceso de reclutamiento y selección' => 'css_calendar_recruitment_and_selection_text_color',
227
                    'Color de fondo de una encuesta' => 'css_calendar_survey_bg_color',
228
                    'Color de texto de una encuesta' => 'css_calendar_survey_text_color',
229
                    'Color de fondo de una encuesta de clima organizacional' => 'css_calendar_organizational_climate_bg_color',
230
                    'Color de texto de una encuesta de clima organizacional' => 'css_calendar_organizational_climate_text_color',
231
 
232
 
233
 
234
                ];
235
 
236
 
237
 
238
                foreach ($styles as $label => $field) :
239
                ?>
240
 
241
 
242
 
243
                    <div class="form-group">
244
                        <?php
245
                        $element = $form->get($field);
246
                        $element->setAttributes(['id' => $field, 'class' => 'form-control', 'class' => 'form-control']);
247
                        $element->setOptions(['label' => $label]);
248
                        echo $this->formLabel($element);
249
                        echo $this->formText($element);
250
                        ?>
251
                    </div>
252
                <?php
253
                endforeach;
254
                ?>
255
                <div class="form-group">
256
                    <button type="submit" class="btn btn-primary">LABEL_SAVE</button>
257
                </div>
258
                <?php echo $this->form()->closeTag($form); ?>
259
            </div>
260
        </div>
261
    </div><!-- /.container-fluid -->
262
</section>