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()
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()
def create_card(self, title, user): card = DataCard(title=title, creation_date=datetime.now()) self.cards.append(card) session.flush() return card
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)