コード例 #1
0
def create_boards_from_templates(user, folder):
    for template_filename in glob(os.path.join(folder, '*.btpl')):
        template = json.loads(open(template_filename).read())
        board = DataBoard(title=template['title'])
        labels_def = template.get('tags', DEFAULT_LABELS)
        for i, (title, color) in enumerate(labels_def):
            __ = DataLabel(title=title, color=color, index=i, board=board)
        database.session.flush()
        for i, col in enumerate(template.get('columns', [])):
            cards = col.pop('cards', [])
            col = DataColumn(title=col['title'], index=i, board=board)
            for j, card in enumerate(cards):
                comments = card.pop('comments', [])
                labels = card.pop('tags', [])
                due_date = card.pop('due_date', None)
                if due_date:
                    due_date = time.strptime(due_date, '%Y-%m-%d')
                    due_date = date(*due_date[:3])
                card = DataCard(title=card['title'],
                                description=card.get('description', u''),
                                due_date=due_date,
                                creation_date=datetime.utcnow(),
                                column=col,
                                index=j,
                                labels=[board.labels[i] for i in labels])
                for comment in comments:
                    DataComment(comment=comment,
                                author=user,
                                creation_date=datetime.utcnow(),
                                card=card)
        board.members.append(user)
        board.managers.append(user)
        database.session.flush()
コード例 #2
0
ファイル: create_index.py プロジェクト: blugand/kansha
def rebuild_index(app):
    # init index
    app.search_engine.create_collection([SCard])
    for card in DataCard.get_all():
        scard = SCard.from_model(card)
        app.search_engine.add_document(scard)
    app.search_engine.commit()
コード例 #3
0
ファイル: import_template.py プロジェクト: daamien/kansha
def create_boards_from_templates(user, folder):
    for template_filename in glob(os.path.join(folder, '*.btpl')):
        template = json.loads(open(template_filename).read())
        board = DataBoard(title=template['title'])
        labels_def = template.get('tags', DEFAULT_LABELS)
        for i, (title, color) in enumerate(labels_def):
            __ = DataLabel(title=title,
                           color=color,
                           index=i,
                           board=board)
        database.session.flush()
        for i, col in enumerate(template.get('columns', [])):
            cards = col.pop('cards', [])
            col = DataColumn(title=col['title'],
                             index=i,
                             board=board)
            for j, card in enumerate(cards):
                comments = card.pop('comments', [])
                labels = card.pop('tags', [])
                due_date = card.pop('due_date', None)
                if due_date:
                    due_date = time.strptime(due_date, '%Y-%m-%d')
                    due_date = date(*due_date[:3])
                card = DataCard(title=card['title'],
                                description=card.get('description', u''),
                                due_date=due_date,
                                creation_date=datetime.utcnow(),
                                column=col,
                                index=j,
                                labels=[board.labels[i] for i in labels])
                for comment in comments:
                    DataComment(comment=comment,
                                author=user,
                                creation_date=datetime.utcnow(),
                                card=card)
        board.members.append(user)
        board.managers.append(user)
        database.session.flush()
コード例 #4
0
ファイル: models.py プロジェクト: amatthi/mazik
 def create_card(self, title, user):
     card = DataCard(title=title, creation_date=datetime.now())
     self.cards.append(card)
     session.flush()
     return card
コード例 #5
0
def create_default_cards(board, user):
    user = user.data
    green = board.get_label_by_title(u'Green')
    red = board.get_label_by_title(u'Red')
    column_1 = board.columns[0]
    cards = [
        DataCard(title=u"Welcome to your board!",
                 creation_date=datetime.utcnow()),
        DataCard(
            title=
            u"We've created some lists and cards for you, so you can play with it right now!",
            creation_date=datetime.utcnow()),
        DataCard(title=u"Use color-coded labels for organization",
                 labels=[green, red],
                 creation_date=datetime.utcnow()),
        DataCard(title=u"Make as many lists as you need!",
                 votes=[DataVote(user=user)],
                 creation_date=datetime.utcnow()),
        DataCard(title=u"Try dragging cards anywhere.",
                 creation_date=datetime.utcnow()),
        DataCard(title=u"Finished with a card? Delete it.",
                 creation_date=datetime.utcnow()),
    ]
    for i, c in enumerate(cards):
        c.index = i
    column_1.cards = cards
    column_1.nb_max_cards = len(cards)

    column_2 = board.columns[1]
    cards = [
        DataCard(title=u'This is a card.', creation_date=datetime.utcnow()),
        DataCard(title=u"Click on a card to see what's behind it.",
                 creation_date=datetime.utcnow()),
        DataCard(title=u"You can add files to a card.",
                 creation_date=datetime.utcnow()),
        DataCard(title=u'To learn more tricks, check out the manual.',
                 creation_date=datetime.utcnow()),
        DataCard(title=u"Use as many boards as you want.",
                 creation_date=datetime.utcnow())
    ]
    for i, c in enumerate(cards):
        c.index = i
    column_2.cards = cards
    column_2.nb_max_cards = len(cards) + 2
    session.refresh(board)