def post(self, request, *args, **kwargs): form = TrelloImportForm(request.POST) user = request.user key = user.profile.trello_key secret = user.profile.trello_secret if form.is_valid(): board_id = form.cleaned_data['board_id'] client = TrelloClient(api_key=key, api_secret=secret) board = client.get_board(board_id) left_most = board.list_lists()[0] # right_most = board.list_lists()[-1] todo_tasks = left_most.list_cards() for task in todo_tasks: t = TodoItem(description=task.name) t.owner = user t.trello_id = task.id t.save() messages.success(request, 'Задачи успешно импортированы') return redirect(reverse('tasks:list'))
def tasks_import(request): if request.method == "POST": #если был переход из формы board_id = (request.POST['board_id']) #получаем ID борда owner = request.user #получаем пользователя prof = Profile.objects.get(user=owner) #получаем профайл пользователя key = prof.trello_key #из профайла достаем ключ token = prof.trello_token #из профайла достаем токен delete_all(owner) task_list = get_tasks_from_trello(key, token, board_id) #получаем список тасок из Трелло for task in task_list: # сохраняем таски из списка в нашу базу import_task = TodoItem() import_task.description = task[0] import_task.trello_id = task[1] import_task.trello_board_id = task[2] import_task.owner = owner import_task.save() return redirect(reverse("tasks:list")) else: #если перешли поссылке, то гененрируем форму return render(request, "tasks/import.html")