Файл: style/web/static/ui/js/projects/vote.js
Строк: 81
<?php
$(document).ready(function(){
    var project_id_to_vote = location.search.split('voting=')[1];
    if (project_id_to_vote && window.user) {
        var $btn = $('.openVoteModal[data-project-id="' + project_id_to_vote + '"]');
        var project_name = $btn.data('project-name');
        openVoteModal(project_id_to_vote, project_name);
    }
    $('.openVoteModal').click(function() {
        var $btn = $(this);
        var project_id = $btn.data('project-id');
        var project_name = $btn.data('project-name');
        
        openVoteModal(project_id, project_name);
    });
    function openVoteModal(project_id, project_name) {
        var $vote_modal = $('#voteModal');
        $vote_modal.modal('show').one('hidden.bs.modal', function() {
            var $nick = $vote_modal.find('[name="nick"]');
            var $vote_btn = $vote_modal.find('.voteBtn');
            $nick
                .tooltip('destroy')
                .val('');
            $vote_btn.tooltip('destroy');
        });
        $vote_modal.find('.projectName').text(project_name);
        $vote_modal.find('[name="project_id"]').val(project_id);
    }
    $('.voteForm').submit(function(e) {
        e.preventDefault();
        var $vote_form = $(this);
        var $vote_modal = $('#voteModal');
        var $nick = $vote_form.find('[name="nick"]');
        if (!$nick.val()) {
            $nick.tooltip({
                title: 'Обязательное поле.',
                position: 'top',
                trigger: 'manual'
            }).tooltip('show').one('click focus change', function() {
                $(this).tooltip('destroy');
            });
            return false;
        }
        $.ajax({
            url: '/projects/vote/',
            type: "POST",
            data: $vote_form.serialize(),
            success: function(data) {
                var $project_vote_btn = $('.openVoteModal[data-project-id="' + data.project_id + '"]');
                $vote_modal.modal('hide');
                $project_vote_btn.tooltip({
                    title: 'Спасибо за Ваш голос, Вы сможете повторно проголосовать завтра.',
                    position: 'top',
                    trigger: 'manual'
                }).tooltip('show');
                setTimeout(function() {
                  $project_vote_btn.tooltip('destroy');
                }, 10000);
            },
            error: function(response) {
                var $vote_btn = $vote_form.find('.voteBtn');
                var error_text;
                if (response.status === 500) {
                    error_text = 'Ошибка.'
                } else {
                    error_text = 'Сегодня Вы уже голосовали.'
                }
                $vote_btn.tooltip({
                    title: error_text,
                    position: 'top',
                    trigger: 'manual'
                }).tooltip('show');
            },
        });
    });
});
?>