$complete->setLink('/' . sbr::NEW_TEMPLATE_SBR . "/?site=Stage&id={$stage->id}&event=complete"); $pause = new buttons('Поставить на паузу', null, 'pause'); $pause->addEvent('onclick', "view_sbr_popup('pause_confirm');"); //$pause->addEvent("onclick", "submitForm($('actionStageForm'), {action: 'change_status', status:" . sbr_stages::STATUS_FROZEN . "});"); $inwork = new buttons('Вернуть в работу', null, 'action_stage'); $inwork->addEvent('onclick', "submitForm(\$('actionStageForm'), {action: 'change_status', status:" . sbr_stages::STATUS_PROCESS . '});'); $resend = new buttons('Повторный запрос', null, 'action_stage'); $resend->addEvent('onclick', "submitForm(\$('actionStageForm'), {action: 'resolve_changes', resend:1});"); $rollback = new buttons('Отменить изменения', 'red', 'action_stage'); $rollback->addEvent('onclick', "submitForm(\$('actionStageForm'), {action: 'resolve_changes', cancel:1});"); $reserved = new buttons('Зарезервировать деньги', null, 'reserved'); $reserved->setLink('/' . sbr::NEW_TEMPLATE_SBR . "/?site=reserve&id={$sbr->id}"); switch ($sbr->status) { case sbr::STATUS_NEW: $draft->setName('Поместить проект в черновик'); $multi->addButton($cancel); $multi->addButton($edit); $multi->addButton($draft); break; case sbr::STATUS_CHANGED: if ($sbr->data['reserved_id']) { // Деньги зарезервированы, тут еще зависимость от статусов будет if ($stage->data['status'] == sbr_stages::STATUS_NEW) { //if($stage->num > 0 && $sbr->stages[$stage->num-1]->data['status'] == sbr_stages::STATUS_INARBITRAGE) { // $inwork->setName('Поставить в работу'); // $multi->addButton($inwork); //} break; // Если этап не начат и деньги зарезервированы с этим этапом ничего нельзя делать??? } // Из статуса Не начат - В работе -- можно изменить только 1 раз, причем пока фрилансер не согласился статус этапа менять нельзя
return; } // Инициируем все доступные кнопки один раз @todo Что-то тут надо придумать $arbitrage = new buttons('Обратиться в арбитраж', 'red', 'arbitrage'); $arbitrage->addEvent('onclick', 'toggle_arb();'); $condition = new buttons('Посмотреть условия сделки', null, 'condition'); $condition->setLink('/' . sbr::NEW_TEMPLATE_SBR . "/?site=master&id={$sbr->id}"); $refuse = new buttons('Отказаться от сделки', 'red', 'refuse'); $refuse->addEvent('onclick', "\$('refuse_dialog').toggleClass('b-shadow_hide'); return false;"); $agree = new buttons('Согласиться с изменениями', null, 'action_stage'); $agree->addEvent('onclick', "submitForm(\$('actionStageForm'), {action:'agree_stage', ok:1});"); $refuse_stage = new buttons('Отказаться от изменений', 'red', 'refuse_stage'); $refuse_stage->addEvent('onclick', "\$('refuse_stage_dialog').toggleClass('b-shadow_hide'); return false;"); switch ($sbr->status) { case sbr::STATUS_NEW: $multi->addButton($condition); $multi->addButton($refuse); break; case sbr::STATUS_CHANGED: if ($sbr->data['reserved_id']) { // Деньги зарезервированы, тут еще зависимость от статусов будет if ($stage_changed) { if ($stage->data['status'] == sbr_stages::STATUS_PROCESS && $stage->v_data['status'] == sbr_stages::STATUS_NEW) { $agree->setName('Приступить к работе'); // Меняем название кнопки } $multi->addButton($agree); // Отказатся нельзя от изменений когда сделку переводят из состояния Не начат if ($stage->v_data['status'] != sbr_stages::STATUS_NEW) { $multi->addButton($refuse_stage); }