Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 16891 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
15337 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/navbar');
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'));
15337 efrain 12
 
13
 
14
 
16822 efrain 15
 
16929 efrain 16
 
17
 
18
 
16822 efrain 19
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-fileinput/css/fileinput.css'));
20
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/fileinput.js'));
21
 
22
 
23
 
15337 efrain 24
$this->inlineScript()->captureStart();
25
echo <<<JS
26
    jQuery( document ).ready(function( $ ) {
27
 
28
        $.validator.setDefaults({
29
            debug: true,
30
            highlight: function(element) {
31
                $(element).addClass('is-invalid');
32
            },
33
            unhighlight: function(element) {
34
                $(element).removeClass('is-invalid');
35
            },
36
            errorElement: 'span',
37
            errorClass: 'error invalid-feedback',
38
            errorPlacement: function(error, element) {
39
                if(element.parent('.btn-file').length) {
40
                    error.insertAfter(element.parent().parent());
16822 efrain 41
                }  else {
15337 efrain 42
                    error.insertAfter(element.parent());
43
                }
44
            }
45
        });
46
 
15422 stevensc 47
        $.fn.handleDisable = function() {
48
            const disabledValue = $('button[type="submit"]').prop('disabled')
49
            $('button[type="submit"]').prop('disabled', !disabledValue);
50
        }
15337 efrain 51
 
52
 
16929 efrain 53
    var validator  = $('#form').validate({
15337 efrain 54
        debug: true,
55
        onclick: false,
56
        onkeyup: false,
57
        ignore: [],
58
        rules: {
59
            'file': {
60
                required: false,
61
                extension: 'jpg|jpeg|png',
62
                accept: 'image/jpg,image/jpeg,image/png'
63
            },
64
 
65
 
66
        },
67
        submitHandler: function(form)
68
        {
69
            var formdata = false;
70
            if (window.FormData){
71
                formdata = new FormData(form); //form[0]);
72
            }
73
 
15422 stevensc 74
            $.fn.handleDisable()
15337 efrain 75
 
76
            $.ajax({
77
                'dataType'  : 'json',
78
                'accept'    : 'application/json',
79
                'method'    : 'post',
80
                'url'       :  $('#form').attr('action'),
81
                'data'      :  formdata,
82
                'processData': false,
83
                'contentType': false,
84
            }).done(function(response) {
85
                if(response['success']) {
15422 stevensc 86
                    $.fn.showSuccess(response['data'], $.fn.handleDisable);
15337 efrain 87
 
88
                } else {
89
                    validator.resetForm();
90
                    if(jQuery.type(response['data']) == 'string') {
91
                        $.fn.showError(response['data']);
92
                    } else  {
93
                        $.each(response['data'], function( fieldname, errors ) {
94
                            $.fn.showFormErrorValidator('#form #' + fieldname, errors);
95
                        });
96
                    }
97
                }
98
            }).fail(function( jqXHR, textStatus, errorThrown) {
99
                $.fn.showError(textStatus);
100
            }).always(function() {
101
                NProgress.done();
102
            });
103
            return false;
104
        },
105
        invalidHandler: function(form, validator) {
106
 
107
        }
108
    });
109
 
110
 
16822 efrain 111
    $('#form #file').fileinput({
15337 efrain 112
        theme: 'fas',
113
        language: 'es',
114
        showUpload: false,
115
        dropZoneEnabled: false,
116
        maxFileCount: 1,
117
        allowedFileExtensions: ['jpeg', 'jpg', 'png'],
118
        msgPlaceholder: 'LABEL_RECOMMENDED_SIZE $image_size',
119
    });
120
 
121
});
122
JS;
123
$this->inlineScript()->captureEnd();
124
?>
125
 
16822 efrain 126
<div class="container">
127
  	<div class="card">
128
      	<?php
129
        $form = $this->form;
130
        $form->setAttributes([
131
            'method'  => 'post',
132
            'action'  => $routeSave,
133
            'name'    => 'form',
134
            'id'      => 'form',
135
        ]);
136
 
137
        $form->prepare();
138
        echo $this->form()->openTag($form);
139
        ?>
140
  		<div class="card-body">
141
       		<h6 class="card-title">LABEL_MY_PRIVATE_NETWORK_NAVBAR</h6>
16841 efrain 142
			<div class="row mr-3 ">
16891 efrain 143
				<div class="col-12 mt-3">
16822 efrain 144
					<?php
15337 efrain 145
                    $element = $form->get('file');
16822 efrain 146
 
15337 efrain 147
                    $element->setAttributes(['class' => 'form-control',  'accept' => 'image/jpg,image/jpeg,image/png']);
148
                    $element->setOptions(['label' => 'LABEL_IMAGE']);
149
                    echo $this->formLabel($element);
150
                    ?>
16822 efrain 151
               		<div class="file-loading">
152
                   		<?php echo $this->formFile($element); ?>
153
                	</div>
154
 				</div>
155
           	</div>
15422 stevensc 156
        </div>
16822 efrain 157
		<div class="card-footer text-right">
158
     		<button type="submit" class="btn btn-primary">LABEL_SAVE</button>
159
    	</div>
160
		<?php echo $this->form()->closeTag($form); ?>
161
	</div>
162
</div>