Subversion Repositories bacoAlunos

Rev

Rev 1686 | Rev 1724 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * Created by jorgemachado on 28/12/16.
 */

/**
 *
 * @param serviceName
 * @param form
 * @param handlerOk(responseObjJson)
 * @param handlerFail(responseObjJson)
 */

function widgetCall(serviceName,form,handlerOk,handlerFail)
{
    var data = $(form).serialize().replace(/%0D%0A/g, '%0A').replace(/\r?\n/g, "\r\n");

    widgetCallWithActionParameters($(form).attr("action"),serviceName,data,form,handlerOk,handlerFail);
}

/**
 * Use parameters instead of serialize form
 * @param serviceName
 * @param parameters
 * @param form
 * @param handlerOk
 * @param handlerFail
 */

function widgetCallWithParameters(serviceName,parameters,form,handlerOk,handlerFail)
{
    widgetCallWithActionParameters($(form).attr("action"),serviceName,parameters,form,handlerOk,handlerFail);
}

/**
 * Created by jorgemachado on 28/12/16.
 */

/**
 *Use parameters instead of serialize form and the action provided
 * @param serviceName
 * @param webMessagesContainer
 * @param handlerOk(responseObjJson)
 * @param handlerFail(responseObjJson)
 */

function widgetCallWithActionParameters(action,serviceName,parameters,webMessagesContainer,handlerOk,handlerFail)
{
    $(webMessagesContainer).find(".web-messages").html('<div class="alert alert-info">Enviando ...</div>');

    var data = parameters;
    $.ajax({
        url: action + "?dispatch=executeService&serviceJson=" + serviceName,
        type: "POST",
        data: data,
        dataType: "json",
        statusCode: {
            401:function() {
                $("#modalAuthentication").modal({ show : 'true'});
            }
        },
        success: function(resposta)
        {

            $(webMessagesContainer).find(".web-messages").html("");
            if(resposta.service == "error")
            {
                $(webMessagesContainer).find(".web-messages").html('<div class="alert alert-danger">' + resposta.exception + '</div>');
                if(handlerFail != undefined)
                    handlerFail(resposta.exception);

            }
            else if(resposta.service == "fail")
            {

                for(var msg in resposta.messages)
                {
                    $(webMessagesContainer).find(".web-messages").append('<div class="alert alert-success">' + resposta.messages[msg] + '</div>');
                }
                for(var error in resposta.errors)
                {
                    $(webMessagesContainer).find(".web-messages").append('<div class="alert alert-warning">' + resposta.errors[error] + '</div>');
                }
                if(handlerFail != undefined)
                    handlerFail(resposta.response);

            }
            else if(resposta.service == "ok")
            {
                for(var msg in resposta.messages)
                {
                    $(webMessagesContainer).find(".web-messages").append('<div class="alert alert-success">' + resposta.messages[msg] + '</div>');
                }
                if(handlerOk != undefined)
                    handlerOk(resposta.response);
            }
        },
        error: function() {
            $(webMessagesContainer).find(".web-messages").html('<div class="alert alert-danger">Erro de comunicação, por favor tente novamente</div>');
            if(handlerFail != undefined)
                handlerFail(resposta.exception);

        }
    });
}


function widgetSimpleCall(serviceName,form,handlerOk,handlerFail){
    var data = $(form).serialize().replace(/%0D%0A/g, '%0A').replace(/\r?\n/g, "\r\n");
    widgetSimpleCallWithActionParameters($(form).attr("action"),serviceName,data,form,handlerOk,handlerFail);
}
/**
 *
 * @param serviceName
 * @param form
 * @param handlerOk()
 * @param handlerFail()
 */

function widgetSimpleCallWithActionParameters(action,serviceName,data,webMessagesContainer,handlerOk,handlerFail)
{
    $(webMessagesContainer).find(".web-messages").html('<div class="alert alert-info">Enviando ...</div>');

    $.ajax({
        url: action + "?dispatch=executeSimpleServiceOkFail&serviceJson=" + serviceName,
        type: "POST",
        data: data,
        dataType: "json",
        statusCode: {
            401:function() {
                $('.modal').modal("hide");
                $("#modalAuthentication").modal({ show : 'true'});
            }
        },
        success: function(resposta)
        {
            $(webMessagesContainer).find(".web-messages").html("");
            if(resposta.service == "error")
            {
                $(webMessagesContainer).find(".web-messages").html('<div class="alert alert-danger">' + resposta.exception + '</div>');
                if(handlerFail != undefined)
                    handlerFail();
            }
            else if(resposta.service == "fail")
            {

                for(var msg in resposta.messages)
                {
                    $(webMessagesContainer).find(".web-messages").append('<div class="alert alert-success">' + resposta.messages[msg] + '</div>');
                }
                for(var error in resposta.errors)
                {
                    $(webMessagesContainer).find(".web-messages").append('<div class="alert alert-warning">' + resposta.errors[error] + '</div>');
                }
                if(handlerFail != undefined)
                    handlerFail();
            }
            else if(resposta.service == "ok")
            {
                for(var msg in resposta.messages)
                {
                    $(webMessagesContainer).find(".web-messages").append('<div class="alert alert-success">' + resposta.messages[msg] + '</div>');
                }
                for(var error in resposta.errors)
                {
                    $(webMessagesContainer).find(".web-messages").append('<div class="alert alert-warning">' + resposta.errors[error] + '</div>');
                }
                if(handlerOk != undefined)
                    handlerOk();
            }
        },
        error: function(resposta)
        {
            $(webMessagesContainer).find(".web-messages").html('<div class="alert alert-danger">Erro de comunicação, por favor tente novamente</div>');
            if(handlerFail != undefined)
                handlerFail();

        }
    });
}