def add_card_to_board(board_id, card_title): new_card = { "id": persistence.new_id_to_csv(persistence.CARDS_FILE), "board_id": board_id, "title": card_title, "status_id": "0", "order": persistence.new_order_number_to_cards(board_id, 0), "archived": "0" } persistence.get_cards().append(new_card) persistence.export_data("cards")
def delete_card(card_id): # delete from cards cards = persistence.get_cards() for card in cards: if int(card['id']) == card_id: cards.remove(card) persistence.export_data('cards')
def get_cards_for_board(board_id): all_cards = persistence.get_cards() matching_cards = [] for card in all_cards: if card['board_id'] == board_id: # card['status_id'] = get_card_status(card['status_id']) # Set textual status for the card matching_cards.append(card) return matching_cards
def modify_card_status(board_id, new_status_id, card_id): cards = persistence.get_cards() for card in cards: if card['id'] == str(card_id): card['status_id'] = new_status_id card['order'] = persistence.new_order_number_to_cards( board_id, new_status_id) persistence.export_data('cards')
def remove_card(card_id): cards = persistence.get_cards() index_to_remove = 0 for card in cards: card['status_id'] = convert_status(card['status_id']) if card["id"] == card_id: index_to_remove = cards.index(card) cards.pop(index_to_remove) return persistence.remove_card(cards, 'w')
def modify_cards_order(cards_to_modify): # cards_to_modify: [{}, {}] # cards_to_modify[0]: {'card_id': 1, 'new_order': 0} cards = persistence.get_cards() for card in cards: for modified_ordered_card in cards_to_modify: if str(modified_ordered_card['card_id']) == str(card['id']): card['order'] = modified_ordered_card['new_order'] persistence.export_data('cards')
def get_cards_for_board_and_status(board_id, status_id): persistence.clear_cache() all_cards = persistence.get_cards() matching_cards = [] for card in all_cards: if (card['board_id'] == str(board_id) and card['status_id'] == str(status_id) and card['archived'] == '0'): card['status_id'] = get_card_status(card['status_id']) matching_cards.append(card) return matching_cards
def update_card_changes(cards_data): existing_cards = persistence.get_cards(force=True) statuses = persistence.get_statuses(force=True) formated_card_data = _formate_card_data(cards_data, statuses) print(formated_card_data) for card in formated_card_data: for index, existing_card in enumerate(existing_cards): if card['id'] == existing_card['id']: existing_cards[index]['title'], existing_cards[index][ 'status_id'] = card['title'], card['status_id'] print(existing_cards) persistence.update_server_side_data(existing_cards)
def get_cards_for_board(board_id): persistence.clear_cache() all_cards = persistence.get_cards() matching_cards = [] for card in all_cards: if int(card['board_id']) == int(board_id): print(board_id) matching_cards.append(card) return matching_cards
def rename_card(data): all_cards = persistence.get_cards() for card in all_cards: if card[persistence.CARDS_HEADERS[persistence.CARD_ID_INDEX]] == str( data['card_id']): card[persistence.CARDS_HEADERS[ persistence.CARD_TITLE_INDEX]] = data['new_title'] persistence.write_cards(all_cards) return { "new_title": card[persistence.CARDS_HEADERS[persistence.CARD_TITLE_INDEX]] }
def delete_card(card_id): all_cards = persistence.get_cards() # print("all") for card in all_cards: if card[persistence.CARDS_HEADERS[persistence.CARD_ID_INDEX]] == str( card_id): deleted_card = card all_cards.remove(card) reorder_cards(all_cards, deleted_card) persistence.write_cards(all_cards) return {"status": "ok"}
def get_cards_for_board(board_id): persistence.clear_cache() all_cards = persistence.get_cards() # to rewrite with SQL # matching_cards = [] # for card in all_cards: # if card['board_id'] == str(board_id): # card['status_id'] = get_card_status(card['status_id']) # Set textual status for the card # matching_cards.append(card) return matching_cards
def get_cards_for_board(board_id): persistence.clear_cache() all_cards = persistence.get_cards() matching_cards = [] for card in all_cards: if card['board_id'] == str(board_id): matching_cards.append(card) ordered_matching_cards = sorted( matching_cards, key=lambda card: (int(card['status_id']), int(card['order']))) for card in ordered_matching_cards: print(card) return ordered_matching_cards
def delete_status(board_id, status_id): # delete status board connection connections = persistence.get_status_board_connections() for connection in connections: if connection['board_id'] == str( board_id) and connection['status_id'] == str(status_id): connections.remove(connection) persistence.export_data('board_statuses') # delete cards for this board and status cards = persistence.get_cards() for card in cards: if card['board_id'] == str(board_id) and card['status_id'] == str( status_id): cards.remove(card) persistence.export_data('cards')
def update_card_status_order(data): card_id = data['card_id'] new_status_id = data['new_status_id'] new_order = data['new_order'] all_cards = persistence.get_cards() for card in all_cards: if card[persistence.CARDS_HEADERS[persistence.CARD_ID_INDEX]] == str( card_id): old_card = card.copy() card[persistence.CARDS_HEADERS[ persistence.CARD_STATUS_ID_INDEX]] = new_status_id card[persistence.CARDS_HEADERS[ persistence.CARD_ORDER_INDEX]] = str(new_order) reorder_cards(all_cards, old_card) # update order in old status reorder_cards_in_new_status(all_cards, card) persistence.write_cards(all_cards) return {"status": "ok"}
def delete_board(board_id): # delete board from boards.csv boards = persistence.get_boards() for board in boards: if board['id'] == str(board_id): boards.remove(board) persistence.export_data('boards') # delete board status connections to this board connections = persistence.get_status_board_connections() for conn in connections: if conn['board_id'] == str(board_id): connections.remove(conn) persistence.export_data('board_statuses') # delete cards connected to this boards cards = persistence.get_cards() for card in cards: if card['board_id'] == str(board_id): cards.remove(card) persistence.export_data('cards')
def rename_status(board_id, status_id, new_status): new_status_id = persistence.get_status_id_by_status_name(new_status) if new_status_id: pass else: new_status_id = persistence.new_id_to_csv(persistence.STATUSES_FILE) new_status = {'id': new_status_id, 'title': new_status} persistence.get_statuses_dict().append(new_status) persistence.export_data('statuses') cards = persistence.get_cards() for card in cards: if int(card['status_id']) == status_id and int( card['board_id']) == board_id: card['status_id'] = new_status_id persistence.export_data('cards') connections = persistence.get_status_board_connections() for connection in connections: if int(connection['board_id']) == board_id and int( connection['status_id']) == status_id: connection['status_id'] = new_status_id break persistence.export_data('board_statuses')
def get_all_cards(): return persistence.get_cards(force=True)
def get_cards(): return persistence.get_cards()
def get_card_by_id(card_id): persistence.clear_cache() all_cards = persistence.get_cards(force=True) for card in all_cards: if card['id'] == str(card_id): return card
def save_new_card(card_title, board_id, status_id): cards = persistence.get_cards() last_card_id = cards[-1]["id"] new_id = int(last_card_id) + 1 return persistence.save_new_card(new_id, card_title, board_id, status_id)
def get_cards(): persistence.clear_cache() return persistence.get_cards()
def archive_card(card_id): cards = persistence.get_cards() for card in cards: if int(card['id']) == card_id: card['archived'] = '1' persistence.export_data('cards')
def get_cards_for_board(board_id): persistence.clear_cache() all_cards = persistence.get_cards(board_id) return all_cards
def get_card_by_id(card_id): cards = persistence.get_cards() # returns the card title return [card["title"] for card in cards if card["id"] == str(card_id)][0]
def rename_card(id, new_name): for card in persistence.get_cards(): if int(card["id"]) == id: card["title"] = new_name persistence.export_data("cards")