def create_tasks_sync(task_list, organizer): for task in task_list: # print(task['agents']) agents = task['agents'] new_task = Task(manager=task['manager'], title=task['title'], address=task['address'], deadline=set_duration(task['duration'])) new_task.task_type = 'Custom Upload' custom_fields = {} if task['image_req']: new_task.image_required = True if task['demand']: custom_fields.update({ 'demand_keys': ['Item', 'Quantity'], 'Demands': [] }) for field in task['other_fields']: custom_fields.update({field: ''}) new_task.custom_fields = custom_fields new_task.save() if len(agents) > 1: new_task.agent_list.add(*agents) new_task.save() organizer.org.subscription.current_usage.consumed_tasks += len(task_list) organizer.org.subscription.current_usage.save()
def create_task(title, manager, agent_list=[], status=TSD['Unassigned'], task_type='Visit'): task = Task( title=title, task_type=task_type, manager=manager, status=status, org=manager.org, ) task.save() if len(agent_list) > 0 and status == TSD['Unassigned']: task.status = TSD['Remaining'] for agent in agent_list: agent.is_present = True if status == TSD['In progress']: agent.userstate.active_task = task agent.is_working = True agent.save() agent.userstate.save() task.agent_list.add(agent) task.save() return task
def addEditTask(self, param): if param.has_key('id'): id = int(param['id']) else: id = 0 if id == 0: task = Task() else: task = self.getTaskId(id) if param.has_key('name'): task.name = str(param['name'].encode('utf-8')) if param.has_key('is_folder'): task.is_folder = int(param['is_folder']) if param.has_key('main'): task.main = int(param['main']) if param.has_key('percent'): task.percent = int(param['percent']) if param.has_key('important'): task.important = int(param['important']) if param.has_key('checked_id'): task.checked_id = int(param['checked_id']) if param.has_key('staff_id'): task.staff_id = int(param['staff_id']) if param.has_key('status_id'): task.status_id = int(param['status_id']) if param.has_key('date_start'): task.date_start = date_sql(str(param['date_start'])) if param.has_key('date_end'): task.date_end = date_sql(str(param['date_end'])) if param.has_key('date_checked'): task.date_checked = date_sql(str(param['date_checked'])) if param.has_key('parent'): parent = self.getTaskId(int(param['parent'])) if parent: task.parent = parent task.save() if param.has_key('responsible'): task.responsible.add(param['responsible']) return task