source: prototipo_portal_2018/ConsultaQR/prototipo/static/js/QR.js @ c2c7500

Last change on this file since c2c7500 was c2c7500, checked in by José Sulbarán <jsulbaran@…>, 6 years ago

Se modifico el botton

  • Property mode set to 100644
File size: 17.1 KB
Line 
1$(document).ready(function () { 
2
3 if (JSON_PARAMETER['signedFileId']){
4    $.ajax({
5        //url: "https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/"+signedFileId,
6        url: "https://192.168.12.154:8443/Murachi/0.1/archivos/"+JSON_PARAMETER['signedFileId'],
7        type: "get",
8        dataType: "json",       
9        headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
10        success: function(response) {
11            INFO_DATATABLE_QR = SerealizeMyJson(response);
12                        var linkToDownload = "<a class='learn-more-btn' href=\"https://192.168.12.154:8443/Murachi/0.1/archivos/descargas/" + JSON_PARAMETER['signedFileId'] +"\"><h6>Descargar archivo firmado</h6></a>";
13                        document.getElementById("Descarga").innerHTML = linkToDownload;                         
14            var table = $('#myJson').DataTable({
15                  //retrieve: true,
16                  //paging: false,
17                  //searching: false,                           
18                   language: {
19                      "lengthMenu": "Mostrar _MENU_ registros",
20                      "zeroRecords": "No hay resultados - Disculpe",
21                      "info": "Mostrando pagina _PAGE_ de _PAGES_",
22                      "search": "Buscar:", 
23                      "infoEmpty": "No records available",
24                      "infoFiltered": "(filtered from _MAX_ total records)"
25                   },
26                   columnDefs: [
27                      {"className": "dt-center", "targets": "_all"}
28                   ],                       
29                   order: [[ 1, 'desc' ]],       
30                   data: response.signatures,
31                   columns: [
32                      {title: "Nombre del firmante", data: "nameOfTheSigner"  },
33                      {title: "Fecha en que se realiza la firma", data: "signedOn"},         
34                      {title: "Chequea la integridad de la firma", data: "integrityCheck"},
35                      {title: "El certificado todavía está válido", data: "signerCertificateStillValid"},
36                      {title: "Fecha de inicio de validez del certificado", data: "signerCertificateValidFrom"},                       
37                      {title: "Fecha de fin de validez del certificado", data: "signerCertificateValidTo"},
38                      {title: "El certificado es válido en el momento de la firma", data: "signerCertificateValidAtTimeOfSigning"},               
39                      {title: "Tipo de firma de archivo PDF", data: "signatureType"},
40                      {title: "Estampilla de tiempo", data: "timeStamp"},
41                      {title: " Razón de la firma", data: "reason"},
42                      {title: "Ubicación donde se realiza la firma", data: "location"},
43                      {title: "Nombre alternativo del firmante", data: "alternativeNameOfTheSigner"},
44                      {title: "La firma abarca todo el documento PDF", data: "signatureCoversWholeDocument"},
45                      {title: "Tipo de subfiltro: /adbe.pkcs7.sha1, /adbe.pkcs7.detached", data: "filterSubtype"},
46                      {title: "Sujeto firmante", data: "signerCertificateSubject"},
47                      {title: "Algoritmo de cifrado", data: "encryptionAlgorithm"},
48                      {title: "Servicio de estampillado de tiempo", data: "timeStampService"},
49                      {title: "Algoritmo hash (reseña)", data: "digestAlgorithm"},
50                      {title: "Certificado verificado contra el repositorio de certificados confiables", data: "certificatesVerifiedAgainstTheKeyStore"},
51                      {title: "Número de revisión del documento PDF", data: "documentRevision"},
52                      {title: "Número total de revisiones del documento PDF", data: "totalDocumentRevisions"},
53                      {title: "Información de contacto del firmante", data: "contactInfo", style:"width: 2px;"},
54                      {title: "Estampilla de tiempo verificada", data: "timeStampVerified"},
55                      {title: "Emisor del certificado firmante", data: "signerCertificateIssuer"},
56                      {title:"Información", data: function(event){
57                                                      return '<button id="informacion" type="input" class="btn btn-success btn-sm" data-toggle="modal" data-target="#myModal" onclick="javascript:DialogQR('+event.documentRevision+')">Info(<font color="red">'+event.documentRevision+'</font>)</button>';
58                                                 } 
59                      }
60                   ],                           
61                  dom: 'Bfrtip',
62                  columnDefs: [
63                      {
64                          "targets": [ 2,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23 ],
65                          "visible": false,
66                          //"searchable": false
67                      },
68                     
69                   ],                           
70                   buttons: [
71                        {
72                            extend:    'pageLength',
73                            text:      'Mostrar Filas', 
74                            titleAttr: 'Mostrar Filas',
75                        },
76                        {
77                            extend:    'print',
78                            text:      'Imprimir',
79                            title:     'Contenido de la Firma',
80                            message:   'Datos de la Firma',
81                            titleAttr: 'Imprimir',
82                            exportOptions: {
83                              columns: [ 0,1,2,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23]
84                            } 
85                        },
86                        {
87                            extend:    'excelHtml5',
88                            text:      'XLXS',
89                            title:     'Contenido de la Firma',
90                            titleAttr: 'Excel',
91                            message: 'Datos de la Firma',
92                            exportOptions: {
93                              columns: [ 0,1,2,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23]
94                            }
95                        },
96                        {
97                            extend:    'csvHtml5',
98                            text:      'CSV',
99                            title:     'Contenido de la Firma',
100                            titleAttr: 'CSV',
101                            exportOptions: {
102                              columns: [ 0,1,2,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23]
103                            }
104                        },
105                        {
106                            extend:    'pdfHtml5',
107                            text:      'PDF',
108                            titleAttr: 'PDF',
109                            title:     'Contenido de la Firma',                   
110                            download: 'open',
111                            customize: function (doc){
112                               doc.defaultStyle.fontSize = 3;
113                               doc.styles.tableHeader.fontSize = 4;
114                               doc.styles.tableHeader.fillColor = "#0085a1";
115                            },
116                            //orientation: 'landscape',
117                            pageSize: 'A3',
118                            exportOptions: {
119                              columns: [ 0,1,2,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23]
120                           
121                            }
122                        }               
123                  ]           
124              });       
125     
126        },
127        error: function(jqXHR, textStatus, errorThrown){
128            alert(textStatus+", "+ errorThrown+" el documento PDF para mostrar la info de la sign");     
129                        document.getElementById("404").innerHTML = "<h1>404!</h1> <br><h3>PAGE NO FOUND</h3>  ";
130        }
131    });
132
133    function SerealizeMyJson(data){
134      for (var i = 0; i < data.signatures.length; i++) {
135          data.signatures[i].integrityCheck = True_False(data.signatures[i].integrityCheck);
136          data.signatures[i].signerCertificateStillValid = True_False(data.signatures[i].signerCertificateStillValid);
137          data.signatures[i].signerCertificateValidAtTimeOfSigning = True_False(data.signatures[i].signerCertificateValidAtTimeOfSigning);
138          data.signatures[i].signatureCoversWholeDocument = True_False(data.signatures[i].signatureCoversWholeDocument);
139          data.signatures[i].certificatesVerifiedAgainstTheKeyStore = True_False(data.signatures[i].certificatesVerifiedAgainstTheKeyStore);         
140      }
141      return data;
142    }
143
144    function True_False(data){
145
146        if (data == "true" ){
147          return "Verdadero";
148        }
149        if (data ==  "false"){
150          return "Falso";
151        }
152    }
153 }
154 else {
155        document.getElementById("404").innerHTML = "<h1>404!</h1> <br><h3>PAGE NO FOUND</h3>  ";
156 }
157}); 
158
159
160
161function DialogQR(id){
162   document.getElementById("Dialogo_QR").innerHTML = '\
163    <style>\
164     .modal .modal-dialog { width: 80%; height: 80%, };\
165    </style>\
166       <div id="myModal" class="modal fade" role="dialog">\
167       <div class="modal-dialog">\
168         <div class="modal-content">\
169           <div id = "title" class="modal-header">\
170             <!--<button type="button" class="close" data-dismiss="modal">&times;</button>-->\
171             <h4 class="modal-title text-primary"><center>Información de la Firma('+id+')</center></h4>\
172           </div>\
173           <div id = "body" class="modal-body">\
174             <br>\
175             <div id="Dialogo-table-QR"></div>\
176            </div>\
177            <div class="modal-footer">\
178              <button type="button" id="informacion" data-dismiss="modal">Close</button>\
179            </div>\
180          </div>\
181        </div>\
182    </div>';
183
184    InfoContentQR(id);
185}
186
187
188function InfoContentQR(id){
189 
190  for (var i = 0; i < INFO_DATATABLE_QR.signatures.length; i++) {
191    if (parseInt(INFO_DATATABLE_QR.signatures[i]['documentRevision']) == parseInt(id)){
192
193            var html1 = ""; 
194
195            html1 += '<font style="font-size: 14pt">';
196            html1 += '<table  class="table table-hover" width="100%" id="data" >';
197            html1 += '<tr>';
198            html1 += '<td style="text-align: left" width="700"><b>Nombre del firmante:</b> </td>';
199            html1 += '<td style="text-align: left" width="500"><span> '+INFO_DATATABLE_QR.signatures[i]['nameOfTheSigner']+'</span></td>';
200            html1 += '</tr>';
201            html1 += '<tr>';
202            html1 += '<td style="text-align: left"><b>Fecha en que se realiza la firma:</b> </td>';
203            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['signedOn']+'</span></td>';
204            html1 += '</tr>';
205            html1 += '<tr>';
206            html1 += '<td style="text-align: left"><b>Chequea la integridad de la firma:</b> </td>';
207            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['integrityCheck']+'</span></td>';
208            html1 += '</tr>';
209            html1 += '<tr>';
210            html1 += '<td style="text-align: left"><b>El certificado todavía está válido:</b> </td>';
211            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['signerCertificateStillValid']+'</span></td>';
212            html1 += '</tr>';
213            html1 += '<tr>';
214            html1 += '<td style="text-align: left"><b>Fecha de fin de validez del certificado:</b> </td>';
215            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['signerCertificateValidFrom']+'</span></td>';
216            html1 += '</tr>';
217            html1 += '<tr>';
218            html1 += '<td style="text-align: left"><b>Fecha de fin de validez del certificado:</b> </td>';
219            html1 += '<td style="text-align: left"><span>' +INFO_DATATABLE_QR.signatures[i]['signerCertificateValidTo']+'</span></td>';
220            html1 += '</tr>'; 
221            html1 += '<tr>';
222            html1 += '<td style="text-align: left" ><b>El certificado es válido en el momento de la firma:</b> </td>';
223            html1 += '<td style="text-align: left" ><span> '+INFO_DATATABLE_QR.signatures[i]['signerCertificateValidAtTimeOfSigning']+'</span></td>';
224            html1 += '</tr>'; 
225            html1 += '<tr>';
226            html1 += '<td style="text-align: left" ><b>Tipo de firma de archivo PDF:</b> </td>';
227            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['signatureType']+'</span></td>';
228            html1 += '</tr>';
229            html1 += '<tr>';
230            html1 += '<td style="text-align: left"><b>Estampilla de tiempo:</b> </td>';
231            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['timeStamp']+'</span></td>';
232            html1 += '</tr>';
233            html1 += '<tr>';
234            html1 += '<td style="text-align: left"><b>Razón de la firma:</b> </td>';
235            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['reason']+'</span></td>';
236            html1 += '</tr>';
237            html1 += '<tr>';
238            html1 += '<td style="text-align: left"><b>Ubicación donde se realiza la firma:</b> </td>';
239            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['location']+'</span></td>';
240            html1 += '</tr>';
241            html1 += '<tr>';
242            html1 += '<td style="text-align: left"><b>Nombre alternativo del firmante:</b> </td>';
243            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['alternativeNameOfTheSigner']+'</span></td>';
244            html1 += '</tr>';
245            html1 += '<tr>';
246            html1 += '<td style="text-align: left"><b>La firma abarca todo el documento PDF:</b> </td>';
247            html1 += '<td style="text-align: left"><span>' +INFO_DATATABLE_QR.signatures[i]['signatureCoversWholeDocument']+'</span></td>';
248            html1 += '</tr>'; 
249            html1 += '<tr>';
250            html1 += '<td style="text-align: left" ><b>Tipo de subfiltro: /adbe.pkcs7.sha1, /adbe.pkcs7.detached:</b> </td>';
251            html1 += '<td style="text-align: left" ><span> '+INFO_DATATABLE_QR.signatures[i]['filterSubtype']+'</span></td>';
252            html1 += '</tr>';
253            html1 += '<tr>';
254            html1 += '<td style="text-align: left"><b>Sujeto firmante:</b> </td>';
255            html1 += '<td style="text-align: left"><span><font style="font-size: 8pt">' +INFO_DATATABLE_QR.signatures[i]['signerCertificateSubject']+'</font></span></td>';
256            html1 += '</tr>';
257            html1 += '<td style="text-align: left" ><b>Algoritmo de cifrado:</b> </td>';
258            html1 += '<td style="text-align: left" ><span> '+INFO_DATATABLE_QR.signatures[i]['encryptionAlgorithm']+'</span></td>';
259            html1 += '</tr>'; 
260            html1 += '<tr>';
261            html1 += '<td style="text-align: left" ><b>Servicio de estampillado de tiempo:</b> </td>';
262            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['timeStampService']+'</span></td>';
263            html1 += '</tr>';
264            html1 += '<tr>';
265            html1 += '<td style="text-align: left"><b>Algoritmo hash (reseña):</b> </td>';
266            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['digestAlgorithm']+'</span></td>';
267            html1 += '</tr>';
268            html1 += '<tr>';
269            html1 += '<td style="text-align: left"><b>Certificado verificado contra el repositorio de certificados confiables:</b> </td>';
270            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['certificatesVerifiedAgainstTheKeyStore']+'</span></td>';
271            html1 += '</tr>';
272            html1 += '<tr>';
273            html1 += '<td style="text-align: left"><b>Número de revisión del documento PDF:</b> </td>';
274            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['documentRevision']+'</span></td>';
275            html1 += '</tr>';
276            html1 += '<tr>';
277            html1 += '<td style="text-align: left"><b>Número total de revisiones del documento PDF:</b> </td>';
278            html1 += '<td style="text-align: left"><span> '+INFO_DATATABLE_QR.signatures[i]['totalDocumentRevisions']+'</span></td>';
279            html1 += '</tr>';
280            html1 += '<tr>';
281            html1 += '<td style="text-align: left"><b>Información de contacto del firmante:</b> </td>';
282            html1 += '<td style="text-align: left"><span>' +INFO_DATATABLE_QR.signatures[i]['contactInfo']+'</span></td>';
283            html1 += '</tr>'; 
284            html1 += '<tr>';
285            html1 += '<td style="text-align: left" ><b>Estampilla de tiempo verificada:</b> </td>';
286            html1 += '<td style="text-align: left" ><span> '+INFO_DATATABLE_QR.signatures[i]['timeStampVerified']+'</span></td>';
287            html1 += '</tr>';
288            html1 += '<tr>';
289            html1 += '<td style="text-align: left"><b>Emisor del certificado firmante:</b> </td>';
290            html1 += '<td style="text-align: left"><span><font style="font-size: 8pt">' +INFO_DATATABLE_QR.signatures[i]['signerCertificateIssuer']+'</font></span></td>';
291            html1 += '</tr>';;
292            html1 += '</table>';
293            html1 += '</font>';
294
295            $('div#Dialogo-table-QR').append(html1); 
296    }
297  }
298}
299
Note: See TracBrowser for help on using the repository browser.