Changeset d5b455e in prototipo_portal_2018


Ignore:
Timestamp:
Oct 25, 2017, 3:53:19 PM (7 years ago)
Author:
José Sulbarán <jsulbaran@…>
Branches:
master
Children:
8d37379
Parents:
445bdb4
Message:

Agrego el ajax

File:
1 edited

Legend:

Unmodified
Added
Removed
  • prototipo/static/js/functions/firmarDocumentoPdf.js

    r445bdb4 rd5b455e  
    1010    console.log(formData);
    1111    console.log($(this));
     12
     13    $.ajax({
     14        //url: "https://192.168.12.125:8443/Murachi/0.1/archivos",               
     15        url: "https://murachi.cenditel.gob.ve/Murachi/0.1/archivos",
     16        type: "post",
     17        dataType: "json",
     18        data: formData,
     19        cache: false,
     20        contentType: false,
     21                processData: false,
     22                headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
     23                success: function(response) {
     24                                //alert(JSON.stringify(response));
     25                                var html = manejoJsonPDF(JSON.stringify(response));
     26                                //alert(html);
     27                                //alert("ver respuesta")
     28                                document.getElementById("respuesta").innerHTML = html;
     29                               
     30                                // identificador del archivo en el servidor
     31                                var fileId = response.fileId.toString();
     32
     33
     34                                var cert;
     35                                window.hwcrypto.getCertificate({lang: "en"}).then(function(response) {
     36                                        var cert = response;
     37
     38
     39                                       
     40                                        var parameters = JSON.stringify({
     41                                                "fileId":fileId,
     42                                                "certificate":cert.hex,
     43                                                "reason":"Certificado",
     44                                                "location":"CENDITEL",
     45                                                "contact":"582746574336",
     46                                                "signatureVisible":"true"
     47                                                });
     48                                       
     49                                        // ahora llamar al ajax de obtener la resena del pdf
     50                                        $.ajax({
     51                                                type: 'POST',
     52                                                contentType: 'application/json',                               
     53                                                //url:"https://192.168.12.125:8443/Murachi/0.1/archivos/pdfs",
     54                                                url:"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs",
     55                                                dataType: "json",
     56                                                data: parameters,               
     57                                                headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
     58                                                success: function(data, textStatus, jqXHR){
     59                                                        var json_x = data;
     60                                                        var hash = json_x['hash'];
     61                                                        //alert("hash recibido del servidor "+hash);
     62                                                       
     63                                                        var hashtype = "SHA-256";
     64                                                        var lang = "eng";
     65                                                       
     66                                                        window.hwcrypto.sign(cert, {type: hashtype, hex: hash}, {lang: lang}).then(function(signature) {
     67                                                               
     68
     69
     70                                                       
     71                                                        $.ajax({
     72                                                                        type: 'POST',
     73                                                                        contentType: 'application/json',
     74                                                                        //url:"https://192.168.12.125:8443/Murachi/0.1/archivos/pdfs/resenas",
     75                                                                        url:"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/pdfs/resenas",
     76                                                                        dataType: 'json',
     77                                                                        data: JSON.stringify({"signature":signature.hex}),
     78                                                                        headers: {"Authorization":"Basic YWRtaW46YWRtaW4="},
     79                                                                        success: function(data, textStatus, jqXHR){
     80
     81                                                                                alert('Archivo firmado correctamente: ' + data['signedFileId']);
     82                                                                               
     83                                                                               
     84                                                                                var linkToDownload = "<a href=\"https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/descargas/" + data['signedFileId'] +"\">descargar archivo firmado</a>";
     85                                                                                //alert(linkToDownload);
     86                                                                                document.getElementById("respuesta").innerHTML = linkToDownload; 
     87                                                                               
     88
     89                                                                                                                                                                               
     90                                                                               
     91                                                                        },
     92                                                                        error: function(jqXHR, textStatus, errorThrown){
     93                                                                                alert('error en pdfs/resenas: ' + textStatus);
     94                                                                                $("#respuesta").html("error en pdfs/resenas: " + textStatus);
     95                                                                        }
     96                                                                });
     97                                                                                                       
     98                                                        }, function(err) {
     99                                                                log_text("sign() failed: " + err);
     100
     101                                                                        var error;
     102                                    log_text("sign() failed: " + err);
     103                                    if(err == "Error: user_cancel") {
     104                                        alert("sign() failed: El usuario cancelo la operación");
     105                                        error = "El usuario cancelo la operación";
     106                                     }     
     107                                     else if(err == "Error: no_certificates") {
     108                                         alert("sign() failed: No hay certificado disponible");
     109                                         error = "No hay certificado disponible";
     110                                     }
     111                                     else if(err == "Error: no_implementation") {
     112                                         alert("sign() failed: No hay soporte para el manejo del certificado");
     113                                         error = "No hay soporte para el manejo del certificado";
     114                                     }
     115
     116                                                                //alert("sign() failed: " + err);
     117                                                                $("#respuesta").html("sign() failed: " + error);
     118                                                });
     119                                                       
     120                                                },                                                             
     121                                                error: function(jqXHR, textStatus, errorThrown){
     122                                                        //alert('error: ' + textStatus);
     123                                                        //var responseText = jQuery.parseJSON(jqXHR.responseText);
     124                                                        alert('ajax error function: ' + jqXHR.responseText);
     125                                                        $("#respuesta").html("error function: " + jqXHR.responseText);
     126                                                }
     127                                               
     128                               
     129                                        });
     130                                       
     131                                       
     132                                       
     133                                }, function(err) {
     134                                        log_text("getCertificate() failed: " + err);
     135                        var error;
     136                        if(err == "Error: user_cancel") {
     137                            alert("getCertificate() failed: El usuario cancelo la operación"    );
     138                            error = "El usuario cancelo la operación";
     139                         }     
     140                         else if(err == "Error: no_certificates") {
     141                             alert("getCertificate() failed: No hay certificado disponible")    ;
     142                             error = "No hay certificado disponible";
     143                         }
     144                         else if(err == "Error: no_implementation") {
     145                             alert("getCertificate() failed: No hay soporte para el manejo del certificado");
     146                             error = "No hay soporte para el manejo del certificado";
     147                                                }
     148                                        //alert("getCertificate() failed: " + err);
     149                                        $("#respuesta").html("getCertificate() failed: " + error);
     150                                });
     151                               
     152                               
     153            },
     154                error: function(response) {
     155                        //Que se ejecuta cuando finalice la petición de con error
     156                                $("#respuesta").html('Error...!!!');
     157                        alert("ocurrio un error")
     158                        }
     159    });
    12160       
    13        
     161
     162
     163
     164
     165
    14166});
Note: See TracChangeset for help on using the changeset viewer.