source: prototipo_portal_2018/prototipo/static/js/functions/CheckSign/myInfoDataTableCheckPDF.js @ 8ba421e

Last change on this file since 8ba421e was 025e022, checked in by José Sulbarán <jsulbaran@…>, 7 years ago

SE comenzo agregar la firma y se mejoro los reportes

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