예제 #1
0
 def test_getDecksByCollection(self):
     collection = Collection.objects.create(
         title='a', description='aaa', card_template=self.card_template)
     deck1 = Deck.objects.create(title='d1', collection=collection)
     deck2 = Deck.objects.create(title='d2', collection=collection)
     decksByCollection = queries.getDecksByCollection(can_filter=False)
     self.assertEqual(2, len(decksByCollection[collection.id]))
예제 #2
0
def all_cards(request, collection_id):
    collection_id = int(collection_id)
    decks = queries.getDecksByCollection(collection_ids = [collection_id])
    decks = decks[collection_id]
    current_collection = Collection.objects.get(id=collection_id)

    deck_cards = []
    for deck in decks:
        deck_cards += Decks_Cards.objects.filter(deck=deck).order_by('sort_order').prefetch_related('card__cards_fields_set__field')
    [cards, collection_list, is_quiz_mode, is_deck_admin, card_id] = deck_view_helper(request, current_collection, deck_cards)
    context = {
        "collection": current_collection,
        "nav_collections": collection_list,
        "deck": {'id': -collection_id, 'title': 'All Cards'},
        "cards": cards,
        "is_quiz_mode": is_quiz_mode,
        "is_deck_admin": is_deck_admin,
        "card_id": card_id,
    }
    analytics.track(
        actor=request.user,
        verb=analytics.VERBS.viewed,
        object=analytics.OBJECTS.deck,
        context={"collection_id": collection_id, 'type': 'All Cards Deck'},
    )
    return render(request, "deck_view.html", context)
예제 #3
0
def all_cards(request, collection_id):
    collection_id = int(collection_id)
    decks = queries.getDecksByCollection(collection_ids=[collection_id])
    decks = decks[collection_id]
    current_collection = Collection.objects.get(id=collection_id)

    deck_cards = []
    for deck in decks:
        deck_cards += Decks_Cards.objects.filter(deck=deck).order_by(
            'sort_order').prefetch_related('card__cards_fields_set__field')
    [cards, collection_list, is_quiz_mode, is_deck_admin,
     card_id] = deck_view_helper(request, current_collection, deck_cards)
    context = {
        "collection": current_collection,
        "nav_collections": collection_list,
        "deck": {
            'id': -collection_id,
            'title': 'All Cards'
        },
        "cards": cards,
        "is_quiz_mode": is_quiz_mode,
        "is_deck_admin": is_deck_admin,
        "card_id": card_id,
    }
    analytics.track(
        actor=request.user,
        verb=analytics.VERBS.viewed,
        object=analytics.OBJECTS.deck,
        context={
            "collection_id": collection_id,
            'type': 'All Cards Deck'
        },
    )
    return render(request, "deck_view.html", context)
예제 #4
0
 def test_getDecksByCollection(self):
     collection = Collection.objects.create(title='a', description='aaa', card_template=self.card_template)
     deck1 = Deck.objects.create(title='d1', collection=collection)
     deck2 = Deck.objects.create(title='d2', collection=collection)
     decksByCollection = queries.getDecksByCollection(can_filter=False)
     self.assertEqual(2, len(decksByCollection[collection.id]))