<div class="client_info"> Информация о сделке: </div> <div class="form-group"> <?php echo $form->textField($deals, 'text', array('class' => 'form-control editable', 'placeholder' => 'Имя сделки')); ?> <?php echo $form->error($deals, 'text', array('class' => 'form-error')); ?> <span class="star">*</span> </div> <div class="form-group"> <select name="Deals[deal_priority_id]" class="styled status square" data-placeholder="Все приоритеты"> <?php $prior_array = DealsPriority::model()->findAll(); foreach ($prior_array as $prior) { echo '<option class="' . $prior->color . '" value="' . $prior->id . '"> ' . 'Приоритет: ' . $prior->name . '</option>'; } ?> </select> <span class="star">*</span> </div> <div class="form-group"> <select name="Deals[deal_status_id]" class="styled status square" data-placeholder="Состояние сделки"> <?php $statuses_array = DealsStatuses::model()->findAll(); foreach ($statuses_array as $status) { echo '<option ' . ($actions->deal_status_id == $status->id ? ' selected="selected"' : '') . ' value="' . $status->id . '">' . 'Состояние: ' . $status->name . '</option>'; } ?>
public function actionEdit_deal($id, $render_page = null) { $deals = Deals::model()->findByPk($id); $deal_resp_role = UsersRoles::model()->find('user_id=' . $deals->responsable_id); $client = Clients::model()->findByPk($deals->client_id); $correct_path = 'http://' . $_SERVER["HTTP_HOST"]; $user = Users::model()->findByPk(Yii::app()->user->id); if ($_POST['MainDeals']) { $deals->attributes = $_POST['MainDeals']; if ($_POST['type'] == 'i') { $deals->responsable_id = Yii::app()->user->id; } elseif ($_POST['type'] == 'manager_edit_deal') { $deals->responsable_id = $_POST['MainDeals']['manager_id']; } elseif ($_POST['type'] == 'director_edit_deal') { $deals->responsable_id = $_POST['MainDeals']['director_id']; } elseif ($_POST['type'] == 'no') { $admin = new Users(); $admin_id = $admin->getAdminId(); $deals->responsable_id = $admin_id; } if (isset($_POST['ajax']) && $_POST['ajax'] == 'edit-deal') { echo CActiveForm::validate($deals); Yii::app()->end(); } if ($deals->update()) { if ($render_page == 'dealings_page') { $this->redirect(array('dealings_page')); } else { $this->redirect(array('client_profile', 'id' => $deals->client_id)); } } } // работа с ролями $role = UsersRoles::model()->find('user_id=' . Yii::app()->user->id)->itemname; $responsible_options = array('i' => 'Я ответственный', 'director_edit_deal' => 'Руководители', 'manager_edit_deal' => 'Менежеры', 'no' => 'Создатель компании'); $directors_array = array(); $managers_array = array(); if ($role == 'director') { unset($responsible_options['director_edit_deal']); $managers_array = Users::model()->with('roles')->findAll('company_id=' . $user->company_id . ' and status="active" and roles.name="manager" and parent_id=' . Yii::app()->user->id); } elseif ($role == 'manager') { unset($responsible_options['director_edit_deal'], $responsible_options['manager_edit_deal']); } else { unset($responsible_options['no']); $directors_array = Users::model()->with('roles')->findAll('company_id=' . $user->company_id . ' and status="active" and roles.name="director"'); $managers_array = Users::model()->with('roles')->findAll('company_id=' . $user->company_id . ' and status="active" and roles.name="manager"'); } if (count($directors_array) <= 0) { unset($responsible_options['director_edit_deal']); } if (count($managers_array) <= 0) { unset($responsible_options['manager_edit_deal']); } // Создание кнопок $form = $this->beginWidget('CActiveForm', array('id' => 'edit-deal', 'enableAjaxValidation' => true, 'clientOptions' => array('validateOnSubmit' => true))); $delete_button = CHtml::button("Удалить", array('onClick' => 'window.location.href="' . Yii::app()->createUrl("page/delete_deal", array("id" => $deals->id, 'render_page' => $render_page)) . '"', 'class' => 'btn')); $directors_block_to_display = $deal_resp_role->itemname == 'director' && $role != 'director' ? 'style="display:block"' : ''; $managers_block_to_display = $deal_resp_role->itemname == 'manager' && count($managers_array) > 0 ? 'style="display:block"' : ''; $prior_array = DealsPriority::model()->findAll(); $priority_selector = ''; foreach ($prior_array as $prior) { $priority_selector .= '<option ' . ($deals->deal_priority_id == $prior->id ? ' selected="selected"' : '') . ' class="' . $prior->color . '" value="' . $prior->id . '">' . 'Приоритет: ' . $prior->name . '</option>'; } $statuses_array = DealsStatuses::model()->findAll(); $status_selector = ''; foreach ($statuses_array as $status) { $status_selector .= '<option ' . ($deals->deal_status_id == $status->id ? ' selected="selected"' : '') . ' value="' . $status->id . '">' . 'Состояние: ' . $status->name . '</option>'; } // выбор значения в селекторе if ($deals->responsable_id == Yii::app()->user->id) { $selected_option = array('i' => array('selected' => true)); } elseif ($deal_resp_role->itemname == 'director') { $selected_option = array('director_edit_deal' => array('selected' => true)); } elseif ($deal_resp_role->itemname == 'manager') { $selected_option = array('manager_edit_deal' => array('selected' => true)); } else { $selected_option = array('no' => array('selected' => true)); } echo '<div class="popup new_action" id="popup-clients-deal" style="display: block;"> <div class="popup__head"> <div class="title">Сделка по клиенту</div> </div> <div class="popup__form"> <div class="help-dropdown"> <dl> <dt class="dt2"><i class="icon-help">help</i>Контактная информация</dt> <dd class="dd2"> <ul> <div class="taber-body"> <div class="tab"> <ul class="compay-info edit-row" id="compay-info"> <li><img class="image1" src="' . $correct_path . '/img/1111.svg"><span class="editable" rel="name">' . $client->name . '</li></span></li> <li><img class="image1" src="' . $correct_path . '/img/home168.svg"><span class="editable" rel="city">' . $client->city->name . '</span></li> <li><img class="image1" src="' . $correct_path . '/img/location.svg"><span class="editable" rel="address">' . $client->adres . '</span></li> <li><img class="image1" src="' . $correct_path . '/img/phone21.svg"><span class="editable" rel="tel">' . $client->phone_1 . '</span></li> <li><img class="image1" src="' . $correct_path . '/img/email.svg"><span class="editable" rel="mail1">' . $client->email_1 . '</span></li> </ul> </div> </div> </ul> </dd> </dl> </div> <div class="form-group"> <div class="client_info"> Информация о сделке: </div> <div class="form-group"> ' . $form->textField($deals, 'text', array('class' => 'form-control editable', 'placeholder' => 'Имя сделки')) . $form->error($deals, 'text', array('class' => 'form-error')) . ' <span class="star">*</span> </div> <div class="form-group"> <select name="MainDeals[deal_priority_id]" class="styled status square" data-placeholder="Все приоритеты">' . $priority_selector . '</select> <span class="star">*</span> </div> <div class="form-group"> <select name="MainDeals[deal_status_id]" class="styled status square" data-placeholder="Все cnfnecs">' . $status_selector . '</select> <span class="star">*</span> </div> <div class="form-group"> <div class="client_info"> Ответственный: </div> <div class="form-group"> ' . $form->dropDownList($deals, 'responsable_id', $responsible_options, array('options' => $selected_option, 'class' => 'styled permis editable typeAccess', 'name' => 'type')) . ' </div> <div class="access-options access-tab" id="director_edit_deal"' . $directors_block_to_display . '> ' . $form->dropDownList($deals, 'director_id', CHtml::listData($directors_array, 'id', 'first_name'), array('options' => array($deals->responsable_id => array('selected' => true)), 'class' => 'styled')) . ' </div> <div class="access-options access-tab" id="manager_edit_deal"' . $managers_block_to_display . '> ' . $form->dropDownList($deals, 'manager_id', CHtml::listData($managers_array, 'id', 'first_name'), array('options' => array($deals->responsable_id => array('selected' => true)), 'class' => 'styled')) . ' </div> </div> <div class="form-group"> <div class="client_info"> Дополнительно: </div> <div class="form-group"> ' . $form->dropDownList($deals, 'deal_category_id', CHtml::listData(DealsCategories::model()->findAll('company_id=' . $user->company_id), "id", "name"), array('class' => 'styled', 'data-placeholder' => 'Категория сделки')) . ' </div> <div class="form-group"> ' . $form->textArea($deals, 'description', array('class' => 'form-control editable', 'placeholder' => 'Комментарий')) . ' </div> <div class="form-group"> <div class="client_info"> Уплачено и остаток: </div> <div class="form-group two-inline"> ' . $form->textField($deals, 'paid', array('class' => 'form-control editable pull-left', 'placeholder' => 'Уплачено')) . $form->textField($deals, 'balance', array('class' => 'form-control editable pull-right', 'placeholder' => 'Остаток')) . $form->error($deals, 'paid', array('class' => 'form-error pull-left')) . $form->error($deals, 'balance', array('class' => 'form-error pull-right', 'style' => 'margin-right: 30px;')) . ' </div> <div class="form-group"> ' . CHtml::submitButton('Редактировать сделку', array('class' => 'btn')) . ' </div> <div class="function-delete"> <a class="delete" href="#">Удалить сделку</a> </div> <div class="function-delete-confirm"> <ul class="horizontal"> <li class="big">Вы уверены что хотите удалить?</li> <li><a class="delete" href="#">Отмена</a></li> <li>' . $delete_button . '</li> </ul> </div> </div> </div>' . $this->actionGetJSStyle('edit-deal', '[{ "id": "MainDeals_text", "inputID": "MainDeals_text", "errorID": "MainDeals_text_em_", "model": "MainDeals", "name": "text", "enableAjaxValidation": true }, { "id": "MainDeals_paid", "inputID": "MainDeals_paid", "errorID": "MainDeals_paid_em_", "model": "MainDeals", "name": "paid", "enableAjaxValidation": true }, { "id": "MainDeals_balance", "inputID": "MainDeals_balance", "errorID": "MainDeals_balance_em_", "model": "MainDeals", "name": "balance", "enableAjaxValidation": true }]'); }