getID()) { // raise an error throw new RuntimeException('Could not load task record object.', 404); } // get the current area/project ID $areaId = $task->getAreaID() ?: $data['area_id'] ?? 0; // get the current task area object wrapper $taskArea = VBOTaskArea::getRecordInstance($areaId); // inject current area in task registry wrapper $task->setArea($taskArea); // get the task area driver $taskDriver = $taskManager->getDriverInstance($taskArea->getType(), [$taskArea]); // get the current filters $filters = (array) ($data['filters'] ?? []); // get VBO application $vbo_app = VikBooking::getVboApplication(); // load visual editor assets $vbo_app->loadVisualEditorAssets(); if (!empty($data['task_id'])) { // fetch task activities history $history = (new VBOHistoryModelDatabase( new VBOTaskHistoryContext((int) $data['task_id']) ))->getItems(); } else { $history = []; } ?>
renderVisualEditor( 'data[notes]', $task->get('notes', ''), [ 'class' => 'vbo-tm-managetask-notes', 'style' => 'width: 96%; height: 150px;', ], [ 'modes' => [ 'visual', 'text', ], 'hide_modes' => true, 'list_check' => true, 'unset_buttons' => [ 'mailwrapper', 'preview', 'homelogo', ], 'gen_ai' => [ 'environment' => 'taskmanager', ], ], [] ); ?>
1): ?>
1): ?>
getID(); ?> isAI()) { ?> getAreaName($task->getAreaID()); ?>
renderDateTimePicker([ 'name' => 'data[dueon]', 'value' => ($task->getDueDate(true, 'Y-m-d H:i') ?: $activeDtime ?: date('Y-m-d 00:00')), ]); ?>
getBeginDate() || !$task->isFuture())) { // allow to edit the began and finished date-time values ?>
renderDateTimePicker([ 'name' => 'data[beganon]', 'value' => $task->getBeginDate(true, 'Y-m-d H:i'), ]); ?>
renderDateTimePicker([ 'name' => 'data[finishedon]', 'value' => $task->getFinishDate(true, 'Y-m-d H:i'), ]); ?>
renderSearchElementsDropDown([ 'id' => 'vbo-tm-managetask-idorder', 'elements' => 'bookings', 'placeholder' => JText::translate('VBO_AITOOL_SEARCH_BOOKINGS'), 'allow_clear' => true, 'attributes' => [ 'name' => 'data[id_order]', ], 'style_selection' => true, 'selected_id' => true, 'selection_class' => 'vbo-sel2-selected-search-elem-full', 'selected_value' => $task->buildBookingElement((int) ($filters['id_order'] ?? 0)), 'selection_click_widget' => 'booking_details', ]); ?>
renderElementsDropDown([ 'id' => 'vbo-tm-managetask-idroom', 'elements' => 'listings', 'element_ids' => $taskDriver->getListingIds(), 'placeholder' => JText::translate('VBO_LISTING'), 'allow_clear' => true, 'attributes' => [ 'name' => 'data[id_room]', ], 'selected_value' => $task->getRoomId() ?: $filters['id_room'] ?? 0, 'style_selection' => true, ]); ?>
renderTagsDropDown([ 'id' => 'vbo-tm-managetask-status', 'placeholder' => JText::translate('VBSTATUS'), 'allow_clear' => false, 'allow_tags' => false, 'attributes' => [ 'name' => 'data[status_enum]', ], 'style_selection' => true, 'selected_value' => $task->getStatus(), ], [], $taskArea->getStatusElements($task->getStatus())); ?>
renderElementsDropDown([ 'id' => 'vbo-tm-managetask-assignees', 'placeholder' => JText::translate('VBO_ASSIGNEES'), 'allow_clear' => false, 'attributes' => [ 'name' => 'data[assignees][]', 'multiple' => 'multiple', ], 'style_selection' => true, 'default_selection_icon' => VikBookingIcons::i('user-tie'), 'selected_values' => $task->getAssigneeIds() ?: $activeAssignees, ], $taskDriver->getOperators($elements = true, $activeAssignees)); ?>
renderTagsDropDown([ 'id' => 'vbo-tm-managetask-tags', 'placeholder' => JText::translate('VBO_TAGS'), 'allow_clear' => false, 'allow_tags' => false, 'attributes' => [ 'name' => 'data[tags][]', 'multiple' => 'multiple', ], 'style_selection' => true, 'selected_values' => $task->getTags(), ], $taskArea->getTagRecords()); ?>