10.6.15. Класс cerebro.events.BeforeEventChangingOfTasksAllocated

class cerebro.events.BeforeEventChangingOfTasksAllocated(event_type, event_id)[исходный код]
Базовые классы: cerebro.events.BeforeEventChangingOfTasks

Класс для события добавления/удаления пользователей и материальных ресурсов на одну или сразу несколько задач. Предоставляет доступ к данным редактируемых задач перед записью в базу данных.

Методы

Объект класса передается в функции before_event и error_event (в случаи возникновения ошибки) модуля event.

def before_event(event):        
        if event.event_type() == event.EVENT_CHANGING_OF_TASKS_ALLOCATED:
                ...

См.также

AfterEventChangingOfTasks.

is_added()[исходный код]
Результат:True, если пользователи или материальные ресурсы добавляются на задачи. False, если убираются.
Тип результата:bool

В случаи добавления пользователей метод new_value() вернет список добавляемых пользователей. Иначе, список убираемых пользователей.

Для изменения списка добавляемых или убираемых пользователей воспользуйтесь методом set_new_value(). Тип входного аргумента для этого метода - list(user_id,), список идентификаторов пользователей и материальных ресурсов

def before_event(event):        
        if event.event_type() == event.EVENT_CHANGING_OF_TASKS_ALLOCATED: # изменяется назначение
        
                if event.is_added() == False: # пользователи убираются с задач                                  
                        # переспрашиваем пользователя, действительно ли он хочет это сделать
                        q = 'Вы уверены, что хотите убрать пользователей с задачи?'
                        if cerebro.gui.question_box('Изменение списка исполнителей',  q) == False: # если пользователь неуверен
                                raise Exception('') 
                        # Пользователи останутся на задаче