Proyectos de Subversion LeadersLinked - Backend

Rev

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