Вход Регистрация
Файл: protected/views/page/edit_action.php
Строк: 501
<?php $this->pageTitle $actions->text?>
<?php $correct_path 
'http://' $_SERVER["HTTP_HOST"]; ?>

<?php
$role 
UsersRoles::model()->find('user_id=' Yii::app()->user->id)->itemname;
$responsible_options = array('i' => 'Я ответственный''director_edit_action' => 'Руководители''manager_edit_action' => 'Менеджеры''no' => $user->parent->first_name);
$managers Users::getUserAccess($usertruefalsetrue);
$directors Users::getUserAccess($userfalsetruetrue);
if (
$user->parent->roles[0]->name != 'admin' || $user->common_access == Users::ACCESS_EMBAGRO
    
|| $user->roles[0]->name == 'admin'
) {
    unset(
$responsible_options['no']);
}

if (
count($directors) <= 0) {
    unset(
$responsible_options['director_edit_action']);
}
if (
count($managers) <= 0) {
    unset(
$responsible_options['manager_edit_action']);
}
$form $this->beginWidget('CActiveForm', array(
    
'id' => 'edit-action',
    
'htmlOptions' => [
        
'class' => 'page-form'
    
]
));

$directors_block_to_display $action_resp_role->itemname == 'director' 'style="display:block"' '';
$managers_block_to_display $action_resp_role->itemname == 'manager' 'style="display:block"' '';

$admin = new Users();
$adminId $admin->getAdminId();
$newResponsible $user->parent_id != null $user->parent_id $adminId;

$delete_button CHtml::button("Удалить", array(
    
'onClick' => 'window.location.href="' Yii::app()->createUrl("page/delete_action", array("id" => $actions->id"render_page" => 'actions_page')) . '"',
    
'class' => 'btn',
));

$prior_array ActionsPriority::model()->findAll();
$priority_selector '';
foreach (
$prior_array as $prior) {
    
$priority_selector .= '<option ' . ($actions->action_priority_id == $prior->id ' selected="selected"' '') . ' class="' $prior->color '" value="' $prior->id '">' 'Приоритет: ' $prior->name '</option>';
};

$statuses_array ActionsStatuses::model()->findAll();
foreach (
$statuses_array as $status) {
    if (
$actions->action_status_id == $status->id) {
        
$actionStatus $status;
    }
};

// выбор значения в селекторе
if ($actions->responsable_id == Yii::app()->user->id) {
    
$selected_option = array('i' => array('selected' => true));
} elseif (
$action_resp_role->itemname == 'director') {
    
$selected_option = array('director_edit_action' => array('selected' => true));
} elseif (
$action_resp_role->itemname == 'manager') {
    
$selected_option = array('manager_edit_action' => array('selected' => true));
} else {
    
$selected_option = array('no' => array('selected' => true));
}

$directors_block_to_display $action_resp_role->itemname == 'director' && $role != 'director' 'style="display:block"' '';
$managers_block_to_display $action_resp_role->itemname == 'manager' && count($managers) > && key($selected_option) != 'i' 'style="display:block"' '';
?>

<div class="clients-hat">
    <div class="client-name">
        <?
        $action_date 
date('Y-m-d'strtotime($actions->action_date)) . ' 23:59:59';
        if (
strtotime($action_date) >= time() || $actions->action_status_id != 1) { ?>
            <div class="headerStatusAction"
                 style="background-color: <? echo $actionStatus->color ?>"><? echo $actionStatus->name?></div>
        <? } else { ?>
            <div class="headerStatusAction" style="background-color: #FB7192">Просрочено</div>
        <? ?>
        <?php echo CHtml::link('Задачи  ', array('page/actions_page')); ?>
        <img src="/img/right-arrow-button.svg" alt="">
        <?php
        
if ($accessClient) {
            echo 
CHtml::link($actions->client->nameYii::app()->createUrl("page/client_profile", array("id" => $actions->client->id)));
        } else {
            echo 
$actions->client->name;
        }
        
?>
        <img src="/img/right-arrow-button.svg" alt=""><?php echo $actions->text?>, #<?php echo $actions->id ?>
    </div>
    <div class="goback-link pull-right">
        <input class="btn_close" type="button" onclick="history.back();" value="❮  Назад "/>
    </div>
</div>


<main class="content full2" role="main">
    <div class="content-edit-block">
        <div class="title_name_1">Задача</div>
        <div class="content-01">

            <? if ($isSuccessSave && !$isShowBlockSave) { ?>
                <script type="module">
                    import {NotificationBar} from '/js/notificationBar.js';

                    let accessClient = <? echo $accessClient?>;
                    let client = <? echo json_encode($actions->client->attributes)?>;
                    const notificationBar = new NotificationBar({
                        type: 'warning',
                        title: 'Задача создана',
                        description: 'Новая задача добавлена для:<br> ' + (accessClient
                            ? '<a href="/page/client_profile/' + client.id + '">' + client.name + '</a>'
                            : client.name)
                    });
                    notificationBar.show();
                </script>
            <? ?>

            <? if ($isShowBlockSave) { ?>
                <script type="module">
                    import {NotificationBar} from '/js/notificationBar.js';

                    let accessClient = <? echo $accessClient?>;
                    let client = <? echo json_encode($actions->client->attributes)?>;
                    const notificationBar = new NotificationBar({
                        type: 'success',
                        title: 'Задача сохранена',
                        description: 'Информация в задаче изменена<br>Контакт: ' + (accessClient
                            ? '<a href="/page/client_profile/' + client.id + '">' + client.name + '</a>'
                            : client.name)
                    });
                    notificationBar.show();
                </script>
            <? ?>

            <div class="box-gray__body no-border3 active-pad">
                <div class="client_info">Тема:<span class="star">*</span></div>
                <div class="form-group_actions">
                    <?
                    
echo $form->textField($actions'text', array('class' => 'form-control''placeholder' => 'Что нужно сделать...'));
                    echo 
$form->error($actions'text', array('class' => 'form-error'));
                    
?>
                </div>
                <div class="client_info">Описание:</div>
                <div class="form-group_actions">
                    <?php
                    
echo $form->textArea($actions'description', array('class' => 'form-control1 editable''placeholder' => 'Напишите комментарий...',));
                    
?>
                </div>

                <!-- Файлы в задачах -->
                <?php
                
if ($userRight['role'] == 'admin' || $userRight['add_files_action']) {
                    
?>
                    <div class="action_file">

                        <?php
                        $folder 
'/uploads/';
                        foreach (
$actionFiles as $file) {
                            echo 
CHtml::link($file->file->nameYii::app()->createUrl("page/get_file_action", ['id' => $file->id]), ['target' => '_blank']);
                            if (
$userRight['role'] == 'admin' || $userRight['delete_files_action']) {
                                echo 
CHtml::image('/img/cancel.svg''', ['class' => 'delDocument_4a''onClick' => 'delDocument(' $file->id ')']);
                            }
                            echo 
'<br>';
                        }
                        
?>

                        <div class="" id="fileBlock"></div>

                        <div class="action_file_add">
                            <?php
                            $fileSettings 
Yii::app()->commonFunction->getFileSettings();
                            
$this->widget('ext.EAjaxUpload.EAjaxUpload',
                                array(
                                    
'id' => 'uploadFile',
                                    
'config' => array(
                                        
'multiple' => true,
                                        
'action' => '/page/UploadActionFile?id=' $actions->id,
                                        
'allowedExtensions' => explode(','str_replace(' '''$fileSettings['extFile'])),//array("jpg","jpeg","gif","exe","mov" and etc...
                                        
'sizeLimit' => $fileSettings['sizeFile'] * 1024 1024,// maximum file size in bytes
                                        
'onComplete' => "js:function(id, fileName, responseJSON){ 
                                        addFileBlock(responseJSON);
                                    }"
,
                                        
'messages' => array(
                                            
'typeError' => "Ошибка! Расширение файла {file} не поддерживается. Разрешенные типы файлов: {extensions}.",
                                            
'sizeError' => "{file} максимальный размер файла {sizeLimit}.",
                                            
//                  'minSizeError'=>"{file} is too small, minimum file size is {minSizeLimit}.",
                                            //                  'emptyError'=>"{file} is empty, please select files again without it.",
                                            //                  'onLeave'=>"The files are being uploaded, if you leave now the upload will be cancelled."
                                        
),
                                        
//'showMessage'=>"js:function(message){ alert(message); }"
                                    
)
                                ));

                            
?>
                        </div>
                    </div>

                    <?php
                
}
                
?>

            </div>
            <?php $this->endWidget(); ?>
        </div>
    </div>

    <div class="box-gray111 width-static">
        <div class="edit_user_1anketa">
            <div class="title_name_2">Параметры</div>
            <div class="popup__form_actions">
                <div class="client_info">
                    Ответственный:
                </div>
                <div class="solid_an_client">

                    <?
                    
echo $form->dropDownList($actions'responsable_id'$responsible_options,
                        array(
'options' => $selected_option'class' => 'styled permis editable typeAccess''name' => 'type',)) ?>
                    <div class="access-options access-tab"
                         id="director_edit_action" <?php echo $directors_block_to_display ?> >
                        <?php
                        
echo $form->dropDownList($actions'director_id'CHtml::listData($directors'id''first_name'),
                            array(
'options' => array($actions->responsable_id => array('selected' => true)), 'class' => 'styled',));
                        
?>
                    </div>
                    <div class="access-options access-tab"
                         id="manager_edit_action" <?php echo $managers_block_to_display ?> >
                        <?php
                        
echo $form->dropDownList($actions'manager_id'CHtml::listData($managers'id''first_name'),
                            array(
'options' => array($actions->responsable_id => array('selected' => true)), 'class' => 'styled',));
                        
?>
                    </div>
                </div>


                <div class="client_info">
                    <img src="/img/clock.svg" alt="">Дата выполнения:<span class="star">*</span>
                </div>
                <div class="solid_an_client">

                    <?
                    
echo $this->widget('ext.CJuiDateTimePicker.CJuiDateTimePicker', array(
                            
'name' => 'MainActions[action_date]',
                            
'model' => $actions,
                            
'attribute' => 'action_date',
                            
'language' => 'ru',
                            
'htmlOptions' => array(
                                
'value' => date('d.m.Y H:i'strtotime($actions->action_date)),
                                
'class' => 'form-control editable'
                            
),
                            
'options' => array(
                                
'dateFormat' => 'dd.mm.yy',
                                
'changeMonth' => 'true',
                                
'changeYear' => 'true',
                                
'showButtonPanel' => true,
                                
'beforeShow' => new CJavaScriptExpression('function(element){dataPickerFocus = $(element).attr('id').trim();}')
                            ),

                        ), 
true) .
                        
$form->error($actions'action_date', array('class' => 'form-error'))
                    
?>
                </div>

                <!-- Состояния -->
                <? if (count($statuses_array) > 0) { ?>


                    <div class="solid_an_client" style="margin-top: -5px;padding-bottom: 13px;">
                        <div class="client_info">
                            Состояние:
                        </div>
                        <?
                        $selectedStatus 
'';
                        foreach (
$statuses_array as $status) {
                            if (
$actions->action_status_id == $status->id) {
                                
$selectedStatus $status;
                                break;
                            }
                        }
                        
?>

                        <div class="row-input" id="colorSelect" style="display: inline-flex">
                            <div class="jq-selectbox__select color-select client" onclick="showDropDawnColor(event)">
                                <div class="color-block"
                                     style="background-color: <? echo $selectedStatus->color ?>">
                                    <span><? echo $selectedStatus->name ?> </span>
                                    <input type="text" value="<? echo $selectedStatus->id ?>" class="hide"
                                           name="MainActions[action_status_id]">
                                </div>
                                <div class="jq-selectbox__trigger">
                                    <div class="jq-selectbox__trigger-arrow"></div>
                                </div>
                            </div>

                            <div class="color-customDropDawnList client shortWidth hide" style="max-width: 194px;">
                                <ul>
                                    <?
                                    
if ($statuses_array) {
                                        foreach (
$statuses_array as $status) {
                                            echo 
"<li value='$status->id' onclick='changeColor(event, " '"' $status->color '",' " " '"' $status->name '", ' $status->id ")'><div class='block-color' style='background-color:$status->color;'><span>$status->name</span></div></li>";
                                        }
                                    }
                                    
?>
                                </ul>
                            </div>
                        </div>
                    </div>
                <? ?>

                <? if (count($allLabels) > 0) { ?>
                    <div class="label_info bottom_10">
                        Метки:
                        <a class="delete" id="editLabels" onclick="return false;">Редактировать</a>
                    </div>

                    <div class="solid_an_client">
                        <div class="customDropDownListLabels hide">
                            <ul>
                                <? foreach ($allLabels as $label) { ?>
                                    <li id="labelLi <? echo $label->id ?>" class="labelLi"
                                        name="MainActions[labelLi<? echo $label->id ?>]"
                                        onclick="changeLabel('<? echo $label->id?>');">
                                        <?
                                        
echo $form->checkBox($actions"Labels[$label->id]", [
                                            
'id' => 'checkbox' $label->id,
                                            
'class' => 'hide',
                                            
'checked' => isset($customSelectedLabels[$label->id])
                                        ]);
                                        
$operType = isset($customSelectedLabels[$label->id]) ? 'added' 'deleted';
                                        
?>
                                        <div class="<? echo $operType?>" id="blockOper<? echo $label->id?>"></div>
                                        <div class="block-color" id="labelColor<? echo $label->id?>"
                                             style="background-color: <? echo $label->color ?>"></div>
                                        <span id="labelText<? echo $label->id?>"><? echo $label->name ?></span>
                                    </li>
                                <? ?>

                            </ul>
                        </div>

                        <div class="block-labelsInProfile">
                            <? foreach ($customSelectedLabels as $label) { ?>
                                <div class="block-elem" id="blockElem<? echo $label->id ?>">
                                    <div class="block-color" style="background-color: <? echo $label->color ?>"></div>
                                    <span><? echo $label->name ?></span>
                                </div>
                            <? }
                            
?>
                        </div>
                    </div>
                <? ?>

                <div class="solid_an_client">
                    <?php

                    
if ($user->roles[0]->name == 'admin' || $userRight['create_action'] == 1) {
                        echo 
'<div class="form-group_single_row" style="width: 100px;">
                    ' 
CHtml::submitButton('Сохранить', array('class' => 'maui_btn''id' => 'save')) . '
                    </div>'
;
                        echo 
'<div class="form-group_single_row" style="width: 100px;">
                    ' 
CHtml::submitButton('Сохранить и создать', array('class' => 'foton_btn''name' => 'save_and_create''id' => 'save_and_create')) . '
                    </div>'
;
                    }
                    
?>
                    <div id="preloader" style="margin: 0 auto;"></div>
                </div>
                <div class="client_info">
                    <?
                    
if ($user->roles[0]->name == 'admin' || $userRight['delete_action'] == 1) {
                        echo 
'
            <div class="function-delete" style="display: block;padding-left: 0px;text-align: center;">
                <a class="delete" href="#">Удалить задачу</a>
            </div>
            <div class="function-delete-confirm" style="display: none;">
                <ul class="horizontal_2">
                    <li class="big">Подтвердите удаление:</li>
                    <li><a href="#"  class="cancel" style="margin-right: 10px;">Отмена</a></li>
                    <li style="padding-top: 9px;">' 
$delete_button '</li>
                </ul>
            </div>'
;
                    }
                    
?>
                </div>
            </div>
        </div>
    </div>


    <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
    <script>
        $("#edit-action").submit(function () {
            $("#preloader").addClass('preloader');
            $("#save_and_create").hide();
            $("#save").hide();
        });

        // устанавливаем выбранные ранее метки, на случай если валидация в методе не прошла
        var listLabels = $(".block-labelsInProfile .block-elem") || [];
        for (var i = 0; i < listLabels.length; i++) {
            var labelId = listLabels[i].id.replace('blockElem', '');
            var elem = $('#blockOper' + labelId);
            $('#checkbox' + labelId).prop('checked', true);
            elem.removeClass('deleted');
            elem.addClass('added');
        }

        changeLabel = function (labelId) {
            var elem = $('#blockOper' + labelId),
                divColor = $('#labelColor' + labelId)[0].outerHTML,
                spanText = $('#labelText' + labelId)[0].outerHTML;

            if ($('#checkbox' + labelId).is(':checked')) {
                $('#checkbox' + labelId).prop('checked', false);
                elem.removeClass('added');
                elem.addClass('deleted');
                $('#blockElem' + labelId).remove();
            } else {
                $('#checkbox' + labelId).prop('checked', true);
                elem.removeClass('deleted');
                elem.addClass('added');
                var blockShowLabels = $('.block-labelsInProfile'),
                    labelDIv = '<div class="block-elem" id="blockElem' + labelId + '">' + divColor + spanText + '</div>';
                blockShowLabels.append(labelDIv);
            }
        };

        $("#editLabels").click(function (e) {
            var listLabels = $(".customDropDownListLabels");
            if (listLabels.hasClass('hide')) {
                listLabels.removeClass('hide');
            } else {
                listLabels.addClass('hide');
            }
        });

        jQuery(function ($) {
            $(document).mouseup(function (e) { // событие клика по веб-документу
                var div = $(".customDropDownListLabels"); // тут указываем ID элемента
                if (!div.is(e.target) && div.has(e.target).length === 0 && !$("#editLabels").is(e.target)) {//&& div.has(e.target).length === 0) { // и не по его дочерним элементам
                    div.addClass('hide'); // скрываем его
                }

                if (!$(".color-customDropDawnList").is(e.target)) {
                    $(".color-customDropDawnList").hide();
                }
            });
        });

        function delDocument(id) {
            if (confirm('Вы действительно хотите удалить файл?')) {
                document.location.href = '/page/action_document_delete/' + id;
            }
        }


        function addFileBlock(json) {
            <?
            
if ($userRight['role'] == 'admin' || $userRight['delete_files_action']) {
            
?>
            $("#fileBlock").append(
                '<a target="_blank" href="/page/get_file_action/' + json.fileId + '">' + json.filename + '</a>' +
                '<img class="delDocument_4a" onclick="delDocument(' + json.fileId + ')" src="/img/cancel_newdoc.svg" alt="">' +
                '<br>');
            <?
            
} else { ?>
            $("#fileBlock").append(
                '<a target="_blank" href="/page/get_file_action/' + json.fileId + '">' + json.filename + '</a>' +
                '<br>');
            <?
            
}
            
?>
            $("li.qq-upload-success").remove();
        }

        function showDropDawnColor(event) {
            let gh = event.target.closest('#colorSelect').children[1];
            gh.style.display = 'block';
        }

        function changeColor(event, color, name, id) {
            let colorBlock = event.target.closest('#colorSelect').querySelector('.color-block'),
                inputColorBlock = colorBlock.querySelector('input'),
                spanText = colorBlock.querySelector('span');
            colorBlock.style.backgroundColor = color;
            inputColorBlock.value = id;
            spanText.textContent = name;
        }
    </script>
Онлайн: 0
Реклама