%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/bbw/farmaci/kritik-portale/public/js/backend/contract/
Upload File :
Create Path :
Current File : //var/www/html/bbw/farmaci/kritik-portale/public/js/backend/contract/editcontract.js

var editcontract = {
    options: {},
    init: function () {
        $('#content').off('click', '.editContract');
        $('#content').on('click', '.editContract', this.openContractForm);
        $('#content').off('submit', '#contractform');
        $("#content").on('submit', '#contractform', this.saveContract);
        $('#content').off('click', '[name=removeContract]');
        $("#content").on('click', '[name=removeContract]', this.removeContractQuestion);
        $('#content').off('click', '[name=saveCloseContract]');
        $("#content").on('click', '[name=saveCloseContract]', this.saveAndCloseContract);
        $("#content").off('change', '[name=activateRemoveContract]');
        $("#content").on('change', '[name=activateRemoveContract]', this.activateRemoveContract);
        editcontract.activateAutocompleteContract();

        $("#content [name=plan_name]").change(function(){
            editcontract.getPlanVersion();
        });
    },
    openContractForm: function () {
        var id = $(this).attr("data-entityid");
        window.location = "#backend/contract/edit-contract/id/" + id;
    },
    saveContract: function (e) {
        e.preventDefault();
        var route = $('#contractform').attr('action');
        var postFormData = $("#contractform").serializeArray();
        $.post(route, postFormData, function (data) {
            if (!data.error) {
                
//                if($("[name=entityid]").val() !== "")
//                {
                    location.href = '/backend#/backend/contract/edit-contract/id/' + data.id + "?tmp=" + Math.floor(Math.random() * 1000) ;
//                }
//                else
//                {
//                    location.href = '/backend#/backend/contract/edit-contract/id' + "?tmp=" + Math.floor(Math.random() * 1000) ;
//                }
                
            } else {
                $('#content').html(data.html);
                $('body').animate({
                    scrollTop: $('.state-error:first').offset().top - 80
                }, 200);
            }
        });
    },
    saveAndCloseContract: function (e) {
        e.preventDefault();
        var route = $('#contractform').attr('action');
        var postFormData = $("#contractform").serializeArray();
        $.post(route, postFormData, function (data) {
            if (!data.error) {
                location.href = '/backend#/backend/contract/contracttable';
            } else {
                $('#content').html(data.html);
                $('body').animate({
                    scrollTop: $('.state-error:first').offset().top - 80
                }, 200);
            }
        });
    },
    removeContractQuestion: function (e) {
        $.SmartMessageBox({
            title: "Soll der Vertrag tatsächlich gelöscht werden? Achtung, dies hat keine \n\
                    Auswirkung auf bei fastbill laufende Abonnements.",
            content: "Sind Sie sicher?",
            buttons: '[Nein][Ja]'
        },
        function (ButtonPressed) {
            if (ButtonPressed === "Ja") {
                editcontract.removeContract(e);
            }
        });
        e.preventDefault();
    },
    removeContract: function (e) {
        e.preventDefault();
        var route = '/backend/contract/remove-contract/id/' + $('[name=entityid]').val();
        var postFormData = $("#contractform").serializeArray();
        $.post(route, postFormData, function (data) {
            location.href = "/backend#/backend/contract/contracttable";
        });
    },
    activateRemoveContract: function (e) {
        e.preventDefault();
        if($("#content [name=activateRemoveContract]").prop("checked") == true){
            $("#content [name=removeContract]").removeClass("hidden");
        } else {
            $("#content [name=removeContract]").addClass("hidden");
        }
    },
    activateAutocompleteContract: function () {
        var base_url = window.location.origin;
        var dbAdapter = new Bloodhound({
            datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
            queryTokenizer: Bloodhound.tokenizers.whitespace,
            limit: 10,
            remote: {
                rateLimitWait: 100,
                rateLimitBy: 'debounce',
                url: base_url + '/backend/contract/typeahead/%QUERY',
                ajax: {
                    type: "POST",
                    dataType: "json",
                    beforeSend: function(jqXhr, settings){
                        jqXhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
                        settings.data = JSON.stringify({ query: $("[name=ownerEmail]").val()});
                    }
                }
            }
        });

        dbAdapter.initialize();

        $('[name=ownerEmail]').typeahead({
                hint: true,
                highlight: false,
                minLength: 1
            },
            {
                name: 'ownerEmail',
                displayKey: 'email',
                source: dbAdapter.ttAdapter(),
                templates: {
                    header: '<h3 class="section-name">Registrierte Nutzer</h3>',
                    empty: [
                        '<div class="empty-message">',
                        'Richtige Email Adresse?',
                        '</div>'
                    ].join('\n'),
                    suggestion: function(data) {
                        html = '<p>' + data.email + ' (' + data.name + ')</p>';
                        return html;
                    }
                }
            }
        );
        $('[name=ownerEmail]').on('typeahead:selected', onAutocompleted)
            .on('typeahead:autocompleted', onSelected);

        function onAutocompleted($e, datum) {
            $('[name=ownerEmail]').val(datum.email);
        }
        function onSelected($e, datum) {
            $('[name=ownerEmail]').val(datum.email);
        }
    },
    getPlanVersion: function(){
        //modal.waitBox();
        var route = '/backend/contract/get-plan-versions';
        var postFormData = {plan_name: $('[name=plan_name]').val()};
        $.post(route, postFormData, function (data) {
            $('[name=plan_version]').html(data.versions);

            $('[name=plan_version]').val($('[name=plan_version] option:last').val());
            //modal.hide();
        },'json');
    }

};

$(document).ready(function () {
    editcontract.init();
});

Zerion Mini Shell 1.0