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')
Example #3
0
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)
Example #9
0
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
Example #10
0
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]]
            }
Example #11
0
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"}
Example #12
0
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
Example #13
0
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
Example #14
0
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')
Example #15
0
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"}
Example #16
0
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')
Example #17
0
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)
Example #19
0
def get_cards():
    return persistence.get_cards()
Example #20
0
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
Example #21
0
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)
Example #22
0
def get_cards():
    persistence.clear_cache()
    return persistence.get_cards()
Example #23
0
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')
Example #24
0
def get_cards_for_board(board_id):
    persistence.clear_cache()
    all_cards = persistence.get_cards(board_id)
    return all_cards
Example #25
0
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]
Example #26
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")