예제 #1
0
def new_card(id):
    new_card = Card(
        user_id=current_user.id,
        card_type=id,
    )
    db.session.add(new_card)
    db.session.commit()
    return new_card.to_dict()
예제 #2
0
def gen(request):
    if request.user.is_staff:
        if not request.POST:
            form = CardForm()
            return render(request, "card/generate.html", locals())
        else:
            form = CardForm(request.POST)
            if form.is_valid():
                card = Card()
                card.name = form.cleaned_data["name"]
                card.value = form.cleaned_data["value"]
                card.long_desc = form.cleaned_data["long_desc"]
                card.active = form.cleaned_data["active"]
                card.issuer = request.user
                card.save()
                record = History(action=1, user=request.user, card=card)
                record.save()
            return render(
                request, "submit.html", {
                    "success": True,
                    "title": "一張卡片就此誕生!",
                    "content": "生成了一張卡片 %s 含有 %d 點" % (card.name, card.value),
                    "next_page": reverse('generate card'),
                })
    else:
        raise PermissionDenied
예제 #3
0
def test_get_cards_filter_today(test_client: TestClient, test_db_session: Session):
    new_stack = Stack(name="stack1")
    add_commit_refresh(test_db_session, new_stack)
    card_one_info = {
        "name": "card1",
        "stack_id": new_stack.id,
        "quality": 3,
        "prev_easiness": 2.5,
        "easiness": 2.36,
        "prev_interval": 1,
        "interval": 1,
        "prev_repetitions": 1,
        "repetitions": 2,
        "prev_review_date": str(date.today() - timedelta(days=1)),
        "review_date": str(date.today()),
    }
    card_two_info = {
        "name": "card2",
        "stack_id": new_stack.id,
        "quality": 3,
        "prev_easiness": 2.5,
        "easiness": 2.36,
        "prev_interval": 1,
        "interval": 6,
        "prev_repetitions": 2,
        "repetitions": 3,
        "prev_review_date": str(date.today() - timedelta(days=10)),
        "review_date": str(date.today() - timedelta(days=4)),
    }
    card_three_info = {
        "name": "card3",
        "stack_id": new_stack.id,
        "quality": 3,
        "prev_easiness": 2.5,
        "easiness": 2.36,
        "prev_interval": 1,
        "interval": 6,
        "prev_repetitions": 2,
        "repetitions": 3,
        "prev_review_date": str(date.today()),
        "review_date": str(date.today() + timedelta(days=1)),
    }
    card_one = Card(**card_one_info)
    card_two = Card(**card_two_info)
    card_three = Card(**card_three_info)
    add_commit_refresh(test_db_session, card_one, card_two, card_three)

    response = test_client.get("/cards?filter=today")
    assert response.status_code == 200
    data = response.json()
    # only card_one and card_two would be included
    assert len(data) == 2
    assert {"id": card_one.id, **card_one_info} in data
    assert {"id": card_two.id, **card_two_info} in data
    assert {"id": card_three.id, **card_three_info} not in data
예제 #4
0
def search():
    Set.reindex()
    Card.reindex()
    search_term = request.args.get('search_term')
    sets_query, sets_total = Set.search(search_term, 1, 5)
    cards_query, cards_total = Card.search(search_term, 1, 10)
    sets = sets_query.all()
    cards = cards_query.all()
    print(cards)
    return {
        'sets': [set.to_dict() for set in sets],
        'cards': [card.to_dict() for card in cards]
    }
예제 #5
0
파일: views.py 프로젝트: bobby1030/arcane
def gen(request):
    if request.user.has_perm('app.add_card'):
        # only teamleader can use
        if not request.POST:
            form = CardForm()
            return render(request, "card/generate.html", locals())
        else:
            form = CardForm(request.POST)
            if form.is_valid():
                with transaction.atomic():
                    card = Card()
                    card.name = form.cleaned_data["name"]
                    card.value = form.cleaned_data["value"]
                    card.long_desc = form.cleaned_data["long_desc"]
                    card.active = form.cleaned_data["active"]
                    card.issuer = request.user
                    card.save()
                    record = History(action=1, user=request.user, card=card)
                    record.save()
                return render(
                    request, "submit.html", {
                        "success": True,
                        "title": "一張卡片就此誕生!",
                        "content": "生成了一張卡片 %s 含有 %d 點" % (card.name, card.value),
                        "next_page": reverse('view card', args=[card.cid]),
                    })
            else:
                return render(request, "submit.html", {
                    "success": False,
                    "title": "產生卡片失敗",
                    "content": "要不要去戳戳系統管理員呢?"
                    "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)"
                })
    else:
        raise PermissionDenied
예제 #6
0
파일: views.py 프로젝트: azdkj532/arcane
def edit(request, id=None):
    if not request.user.is_staff:
        raise PermissionDenied
    else:
        try:
            user = User.objects.get(username=id)
        except ObjectDoesNotExist:
            return render(request, "submit.html", {"content":"<h1>Wrong user</h1><meta http-equiv=\"refresh\" content=\"3; url=/\">", "title":"錯誤!"}, status=404)
        if not is_player(user):
            return render(request, "submit.html", {"content":"<h1>Wrong user</h1><meta http-equiv=\"refresh\" content=\"3; url=/\">", "title":"錯誤!"}, status=404)
        else:
            if not request.POST:
                form = PlayerForm({"name": user.username, "value": card.value, "long_desc": card.long_desc, "active": card.active, "retrieved": card.retrieved, "modified_reason": ""})
                return render(request, "card/edit.html", locals())
            else:
                form = CardForm(request.POST)
                if form.is_valid():
                    card = Card()
                    card.name = form.cleaned_data["name"]
                    card.value = form.cleaned_data["value"]
                    card.long_desc = form.cleaned_data["long_desc"]
                    card.active = form.cleaned_data["active"]
                    card.modified_reason = form.cleaned_data["modified_reason"]
                    card.save()
                return render(request, "submit.html", {"content": "<h1>Submitted.</h1><meta http-equiv=\"refresh\" content=\"3; url=/card/" + card.cid + "\">"})
예제 #7
0
파일: views.py 프로젝트: m85091081/arcane
def gen(request):
    if request.user.is_staff:
        if not request.POST:
            form = CardForm()
            return render(request, "card/generate.html", locals())
        else:
            form = CardForm(request.POST)
            if form.is_valid():
                card = Card()
                card.name = form.cleaned_data["name"]
                card.value = form.cleaned_data["value"]
                card.long_desc = form.cleaned_data["long_desc"]
                card.active = form.cleaned_data["active"]
                card.issuer = request.user
                card.save()
                record = History(action=1, user=request.user, card=card)
                record.save()
            return render(
                request, "submit.html", {
                    "success": True,
                    "title": "一張卡片就此誕生!",
                    "content": "生成了一張卡片 %s 含有 %d 點" % (card.name, card.value),
                    "next_page": reverse('generate card'),
                })
    else:
        raise PermissionDenied
예제 #8
0
def booster_pack():
    req = request.json
    for card in req['cards']:
        new_card = Card(user_id=current_user.id, card_type=int(card))
        db.session.add(new_card)
    db.session.commit()
    return {'success': True}
예제 #9
0
def sign_up():
    """
    Creates a new user and logs them in
    """
    form = SignUpForm()
    form['csrf_token'].data = request.cookies['csrf_token']
    if form.validate_on_submit():
        user = User(username=form.data['username'],
                    email=form.data['email'],
                    password=form.data['password'],
                    free_currency=1000)
        db.session.add(user)
        db.session.commit()

        new_deck = Deck(user_id=user.to_dict()['id'],
                        name=f"{user.to_dict()['username']}'s deck")
        db.session.add(new_deck)
        db.session.commit()

        card_arr = random.choice(decks)
        for card in card_arr:
            new_card = Card(
                user_id=user.to_dict()['id'],
                card_type=card,
                deck_id=new_deck.to_dict_lite()['id'],
            )
            db.session.add(new_card)

        db.session.commit()

        login_user(user)
        return user.to_dict()
    return {'errors': validation_errors_to_error_messages(form.errors)}, 401
예제 #10
0
def seed_deck():
    tarot_cards = [
        Card(
            name=data['name'],
            deck=data['deck'],
            suit=data['suit'],
            value=data['value'],
            img=data['img'],
            description=data['description'],
            upright_keywords=data['uprightKeywords'],
            upright_general_meaning=data['uprightGeneralMeaning'],
            upright_genereal_quote=data['uprightGeneralQuote'],
            upright_career_keywords=data['uprightCareerKeywords'],
            upright_love_keywords=data['uprightLoveKeywords'],
            upright_finances_keywords=data['uprightFinancesKeywords'],
            upright_career_meaning=data['uprightCareerMeaning'],
            upright_love_meaning=data['uprightLoveMeaning'],
            upright_finances_meaning=data['uprightFinancesMeaning'],
            reversed_keywords=data['reversedKeywords'],
            reversed_general_meaning=data['reversedGeneralMeaning'],
            reversed_genereal_quote=data['reversedGeneralQuote'],
            reversed_career_keywords=data['reversedCareerKeywords'],
            reversed_love_keywords=data['reversedLoveKeywords'],
            reversed_finances_keywords=data['reversedFinancesKeywords'],
            reversed_career_meaning=data['reversedCareerMeaning'],
            reversed_love_meaning=data['reversedLoveMeaning'],
            reversed_finances_meaning=data['reversedFinancesMeaning'],
            astrology=data['astrology'],
            element=data['element'],
            zodiac=data['zodiac'],
        ) for data in tarot_card_data
    ]
    db.session.add_all(tarot_cards)
예제 #11
0
def create_card(project_id, username):
    project = Project.query.get_or_404(project_id)

    # Right now, status is being set to backlog because that's where the button is that leads to this route
    form = CardForm()
    if form.validate_on_submit():
        card = Card(title=form.title.data,
                    description=form.description.data,
                    author=project)
        db.session.add(card)
        db.session.commit()
        ident = card.id
        flash('You have successfully created a new card', 'success')
        socketio.emit('cardCreate', {
            'card_id': ident,
            'priority': 'black',
            'title': form.title.data,
            'project_id': project_id
        },
                      broadcast=True)
        return redirect(
            url_for('project',
                    project_id=project.id,
                    username=current_user.username))

    return render_template('create_card.html',
                           title='Create Card',
                           form=form,
                           legend='Create Card')
예제 #12
0
def test_card(app):
  card = Card(
    title='My card',
    description='Some awesome card',
  )

  assert card.title == 'My card'
  assert card.description == 'Some awesome card'
예제 #13
0
    def post(self):
        # Create Card
        data = parser.parse_args()
        title = data['title']
        description = data['description']
        owner_id = data['owner_id']

        try:
            new_card = CardModel(title=title,
                                 description=description,
                                 owner_id=uuid.UUID(owner_id))

            new_card.save()

            return {'card': marshal(new_card, permitted)}, HTTPStatus.CREATED
        except Exception as error:
            return {'message': str(error)}, HTTPStatus.INTERNAL_SERVER_ERROR
예제 #14
0
파일: views.py 프로젝트: Zekt/arcane
def gift(request):
    if user_permission(request.user) < 3:
        raise PermissionDenied
    if request.method == 'GET':
        return render(request, 'staff/gift.html', {"form": FastSendForm()})
    else:
        form = FastSendForm(request.POST)
        if form.is_valid():
            player = form.cleaned_data['player']
            card = Card()
            # hard code
            present = request.user.first_name
            if present == "":
                present = '祝福'
            with transaction.atomic():
                card.name = "來自 %s 的%s" % (request.user.last_name, present)
                card.value = form.cleaned_data['point']
                card.comment = form.cleaned_data['message']
                card.active = True
                card.retrieved = True
                card.issuer = request.user
                card.capturer = player
                card.save()
                record_reciever = History(
                    action=0xfeed, user=player.user, card=card,
                    comment="從 %s 收到一張卡片" % request.user.get_full_name())
                record_reciever.save()
                record_sender = History(
                    action=0xfeed, user=request.user, card=card,
                    comment="給了 %s (%s)" % (player.user.get_full_name(), player.user.username))
                record_sender.save()
            return render(
                request, "submit.html", {
                    "success": True,
                    "title": "成功發送卡片",
                    "content": "成功將卡片送給 %s 了!" % player.user.get_full_name(),
                })
        else:
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "要不要去戳戳系統管理員呢?"
                    "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)"
                })
예제 #15
0
def create_card():
    """
    写一个新的卡片
    把卡片绑定到卡集
    参数:
    卡片的问题
    卡片的答案
    卡片的类型
    卡集的id
    用户的手机号

    :return:
    """
    req_json = request.get_json()
    question = req_json.get("question")
    answer = req_json.get("answer")
    answer_html = req_json.get("answer_html")
    delta = req_json.get("delta")
    box_id = req_json.get("box_id")
    color = req_json.get("color")
    user_id = g.user_id  # 用于身份认证,或许可以缓存session验证或者token
    if not all([question, answer, box_id, color, delta,answer_html]):
        return jsonify(code=4000, msg="参数不完整")

    msg_data = question + "内容的过度" + answer
    access_token = g.access_token
    if msg_unsafe(access_token, msg_data):
        return jsonify(code=4010, msg="提交含有敏感内容")

    try:
        # 查找卡集
        box = Box.query.filter_by(id=box_id, user_id=user_id, is_active=True).first()
        if box is None:
            return jsonify(code=4002, msg="卡集不存在或者你不是卡集拥有者")

        delta = json.dumps(delta)  # 将对象转换为字符串存到数据库 在前端可以通过 JSON.parse(delta) 字符串转换为json对象

        # 创建卡片
        card = Card(question=question, answer=answer, color=color, delta=delta,answer_html=answer_html)
        # card = Card(question=question, answer=answer, color=color)
        box.cards.append(card)

        db.session.add(card)
        db.session.add(box)
        # 提交数据更改
        try:
            db.session.commit()
        except Exception as e:
            print(e)
            db.session.rollback()
            return jsonify(code=4003, msg="提交数据失败。数据库出现异常")

        return jsonify(code=200, msg="创建成功", card_id=card.id, card_question=card.question)
    except Exception as e:
        print(e)
        db.session.rollback()
        return jsonify(code=4004, msg="创建失误")
예제 #16
0
def test_update_card(test_client: TestClient, test_db_session: Session):
    new_stack = Stack(name="stack1")
    add_commit_refresh(test_db_session, new_stack)

    new_card = {
        "name": "card1",
        "stack_id": new_stack.id,
        "quality": 3,
        "prev_easiness": 2.5,
        "easiness": 2.36,
        "prev_interval": 1,
        "interval": 1,
        "prev_repetitions": 1,
        "repetitions": 2,
        "prev_review_date": "2021-01-01",
        "review_date": "2021-01-02",
    }
    new_card = Card(**new_card)
    add_commit_refresh(test_db_session, new_card)
    test_request_data = {
        "name": "new_card",
        "quality": 5,
        "prev_review_date": "2021-01-02"
    }

    response = test_client.patch(f"/cards/{new_card.id}", json=test_request_data)
    assert response.status_code == 200
    data = response.json()
    verify_resp_data_against_req_data(test_request_data, data)

    assert data["prev_easiness"] == 2.5
    assert data["prev_interval"] == 1
    assert data["prev_repetitions"] == 1
    assert data["prev_review_date"] == "2021-01-02"
    assert data["easiness"] == 2.6
    assert data["interval"] == 1
    assert data["repetitions"] == 2
    assert data["review_date"] == "2021-01-03"
    assert "id" in data
    card_id = data["id"]

    response = test_client.get(f"/cards/{card_id}")
    assert response.status_code == 200
    data = response.json()
    verify_resp_data_against_req_data(test_request_data, data)

    assert data["prev_easiness"] == 2.5
    assert data["prev_interval"] == 1
    assert data["prev_repetitions"] == 1
    assert data["prev_review_date"] == "2021-01-02"
    assert data["easiness"] == 2.6
    assert data["interval"] == 1
    assert data["repetitions"] == 2
    assert data["review_date"] == "2021-01-03"
    assert data["id"] == card_id
예제 #17
0
 def post(data):
     lane = Lane.objects.filter(id=ObjectId(data.get('lane_id'))).first()
     card = Card()
     card.title = data.get('title')
     card.description = data.get('description', None)
     card.lane = lane
     card.save()
     lane.update(add_to_set__cards=card)
     return card
예제 #18
0
def czar_select(text):
    player = Player.query.get(
        session['player']
    )

    if player.czar:
        old_czar = player.id

        player.game.stage = 'selecting'

        for p in player.game.players.order_by(func.random()):
            if not p.uuid == player.uuid:
                card_text = p.hand.filter(Card.playing).first().card.text

                if card_text == text:
                    p.points += 1
                    emit('round_win', (p.uuid, ), room=player.game.id)

                    break

        else:
            return

        point_board = {}

        for p in player.game.players.order_by(Player.id):
            p.hand.filter(Card.playing).delete(synchronize_session='fetch')
            p.czar = False

            point_board[p.uuid] = p.points

            while p.hand.count() < 8:
                c = Card(card=WhiteCards.query.order_by(func.random()).first(), hand=p)
                db.session.add(c)

        player.game.card = BlackCards.query.order_by(func.random()).first()

        new_czar = player.game.players.order_by(func.random()).first()

        while new_czar.id == old_czar:
            new_czar = player.game.players.order_by(func.random()).first()

        new_czar.czar = True

        db.session.commit()

        for p in player.game.players:
            p.ready = False
            print(p.nickname)
            cards = '\t'.join([x.card.text for x in p.hand.order_by(Card.id)])

            emit('refresh', (cards, new_czar.uuid, player.game.card.text, point_board, ), room=p.sid)

        db.session.commit()
예제 #19
0
def add_card():
    form = AddCard()
    if form.validate_on_submit():
        card = Card(type=1,
                    front=form.front.data,
                    back=form.back.data,
                    author=current_user)
        db.session.commit()
        flash('added card')
        return redirect(url_for('cards', username=current_user.username))
    return render_template('add.html', form=form)
예제 #20
0
def CreateCard(roomid):
    #Get all Squares
    allSquares = db.session.query(Square).all()
    s = []
    for curSquare in allSquares:
        s.append(curSquare.id)
    random.shuffle(s)
    randID = GetRandID()
    cr = Card(id=randID,s11=s[0],s12=s[1],s13=s[2],s14=s[3],s15=s[4],s21=s[5],s22=s[6],s23=s[7],s24=s[8],s25=s[9],s31=s[10],s32=s[11],s33=s[12],s34=s[13],s35=s[14],s41=s[15],s42=s[16],s43=s[17],s44=s[18],s45=s[19],s51=s[20],s52=s[21],s53=s[22],s54=s[23],s55=s[24])
    db.session.add(cr)
    db.session.commit()
    return cr
예제 #21
0
def cardform():
	form = AddCardForm()
	if form.validate_on_submit():
		card = Card(addressState=form.addressState.data,expMonth=form.expMonth.data, expYear=form.expYear.data,
			addressCity=form.addressCity.data,addressZip=form.addressZip.data,cvv=form.cvv.data, number=form.number.data)
		db.session.add(card)
		db.session.commit()
		flash ('Card was added succesfully!')
		# flash('Add requested for the card {}'.format(
		# 	form.number.data))
		return redirect(url_for('index'))
	return render_template('addCardForm.html',title='Add Card', form=form)
예제 #22
0
def card(card_id):
    if request.method == "GET":
        card = Card.query.get(card_id)
        return jsonify(card.to_dict())
        # return jsonify(card)

    elif request.method == "POST":
        if (card_id) == '':
            # No sanitization
            card = Card(request.form)
        else:
            card = Card.query.get(card_id)
            # No sanitization
            data = request.form
            card.json_data = json.dumps(request.form)
        card.save()
        return json.dumps({
            'success': True,
            'id': card.id
        }), 200, {
            'ContentType': 'application/json'
        }
예제 #23
0
def new_card():
    if request.method == "GET":
        return render_template("new.html")
    else:
        u = User.query.get(current_user.id)
        question = request.form["question"]
        topic = request.form["topic"]
        print("here")
        card = Card(question, topic, author=u)
        print("here2")
        db.session.add(card)
        db.session.commit()

        return redirect("/")
예제 #24
0
def seed_ai_decks():
    for d in decks:
        new_deck = Deck(
            user_id=1,
            name='Default Deck',
        )
        db.session.add(new_deck)
        db.session.commit()
        for card in d:
            new_card = Card(user_id=1,
                            card_type=card,
                            deck_id=new_deck.to_dict()['id'])
            db.session.add(new_card)
        db.session.commit()
예제 #25
0
def populate_customers():
	#This will populate the customers and the cards of them.
	data = [
(1, u'Ben', u'Ashby',u'+447845775449', u'5 Magna Close', u'AL51RH',123412341234121,2018,3,121,1999),
(2, u'Taran', u'Bola',  u'+447400832054', u'6 Winfield Place', u'LS23AB',123412341234122,2021,21,134,2005),
(3, u'Dan', u'Aves',  u'+447803849940', u'15 Beckett Garden', u'AL69JE',123412341234123,2019,6,156,2000),
(4, u'Matt', u'Cutts',  u'+447908858831', u'6 Alistair Drive', u'CH630LH',123412341234124,2020,3,987,1956),
(5, u'Till', u'System',  u'+447999999999', u'Osprey Cinema', u'LS2 9BE',123412341234125,2020,3,987,1927)
]
	for d in data:
		customer = Customer(customer_id=d[0], customer_f_name=d[1], customer_s_name=d[2],customer_dob=datetime.date(d[10],2,22),customer_mobile=d[3],customer_address=d[4], customer_postcode=d[5])
		customer.card.append(Card(card_number=encode(d[6]), card_expiry=encode(int(str(d[7]) + str(d[8]) )),card_cvv=encode(d[9])))
		db.session.add(customer)
	db.session.commit()
예제 #26
0
파일: views.py 프로젝트: m85091081/arcane
def gift(request):
    if request.method == 'GET':
        return render(request, 'staff/gift.html', {"form": FastSendForm()})
    else:
        form = FastSendForm(request.POST)
        if form.is_valid():
            player = form.cleaned_data['player']
            card = Card()
            card.name = "來自 %s 的祝福" % request.user.get_full_name()
            card.value = form.cleaned_data['point']
            card.comment = form.cleaned_data['message']
            card.active = True
            card.retrieved = True
            card.issuer = request.user
            card.capturer = player
            card.save()
            record_reciever = History(
                action=0xfeed, user=player.user, card=card,
                comment="從 %s 收到一張卡片" % request.user.get_full_name())
            record_reciever.save()
            record_sender = History(
                action=0xfeed, user=request.user, card=card,
                comment="給了 %s (%s)" % (player.user.get_full_name(), player.user.username))
            record_sender.save()
            return render(
                request, "submit.html", {
                    "success": True,
                    "title": "成功發送卡片",
                    "content": "成功將卡片送給 %s 了!" % player.user.get_full_name(),
                })
        else:
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "要不要去戳戳系統管理員呢?"
                })
예제 #27
0
def init_db(test_client):
    with test_client:
        db.create_all()

        u = User(username='******', email='*****@*****.**')
        u.set_password('password')
        d1 = Deck(deckname='Fall Out Boy songs', user=u)
        Card(term='This is side one.', definition='Flip me over.', deck=d1)
        Card(term='I know I am not your favorite record.',
             definition='But the songs you grow to like.',
             deck=d1)
        d2 = Deck(deckname='Feels Like This songs', user=u)
        Card(term='No more stuttering.',
             definition='Two hearts fluttering.',
             deck=d2)
        Card(term='This Narrow Gate.',
             definition='But by this grace, there is room for two.',
             deck=d2)
        db.session.add(u)
        db.session.commit()
        # TODO must admit I don't understand how yield is applicable, pytest.
        yield db
        # what does this fixture have in common with generators?
        db.drop_all()
예제 #28
0
파일: views.py 프로젝트: 2675694536/flask
def add_people(request):
    people = People()
    people.name = '后羿%d' % random.randrange(100)
    people.sex = '男'
    people.save()
    card = Card()
    card.num = random.randrange(100000, 200000)
    card.cid = people
    card.save()
    return HttpResponse('添加成功')
예제 #29
0
def create_card(
    client,
    creator=None,
    name="Test Card",
    description="Test description",
    image="yay.jpg",
):
    with client.application.test_request_context():
        if not creator:
            creator = create_admin(client)
        card = Card(
            name=name, description=description, image=image, creator=creator
        )
        db.session.add(card)
        db.session.commit()
        return card
예제 #30
0
파일: views.py 프로젝트: 2675694536/flask
def add_person(request):
    per = Person()
    per.name = '郭靖%d' % random.randrange(100)
    per.sex = '男'
    per.age = '%d' % random.randrange(18, 40)
    per.save()
    card = Card()
    card.num = '413016199701219876'
    card.pid = per
    card.save()
    return HttpResponse('数据关联成功')
예제 #31
0
def lite(request, tt=None):
    denomination = [32, 64, 128, 256, -128, -32, -64]
    if not request.user.has_perm('app.gen_card'):
        raise PermissionDenied
    if tt is not None:
        try:
            tt = int(tt)
        except:
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "我幫你綁好繩子了,"
                    "你要自己跳還是我推你跳呢?(本繩載重20g)"
                })
        if tt not in range(0, len(denomination)):
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "要不要去戳戳系統管理員呢?"
                    "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)"
                })
        with transaction.atomic():
            card = Card()
            present = request.user.first_name
            if present == "":
                present = '祝福'
            card.name = "來自 %s 的%s" % (request.user.last_name, present)
            card.value = denomination[tt]
            card.active = True
            card.retrieved = False
            card.issuer = request.user
            card.save()
            record = History(action=1, user=request.user, card=card)
            record.save()
        return redirect('view card', card.cid)
    else:
        return render(request, 'staff/lite.html', locals())
예제 #32
0
def index():
    form = CardForm()
    if form.validate_on_submit():
        score = Card(number=form.card.data,
                     user_id=current_user.id,
                     about=form.about.data,
                     type=form.type.data,
                     money=form.money.data,
                     time_end=form.time_end.data)
        if Card.query.filter_by(number=score.number).first():
            flash('Your number is not correct!')
        else:
            db.session.add(score)
            flash('Your number is correct!')
        db.session.commit()
        return redirect(url_for('index'))
    return render_template("index.html", title='New card', form=form)
예제 #33
0
def admin_add_card():
    check_admin()
    form = AddCardForm()
    if form.validate_on_submit():
        find_card = db.session.query(Card).filter_by(
            user_id=form.uid.data).first()
        find_user = db.session.query(User).filter_by(id=form.uid.data).first()
        if find_user is None:
            flash('Fail! No such user.')
        elif find_card is None:
            card = Card(user_id=form.uid.data, borrow_num=form.ceil.data)
            db.session.add(card)
            db.session.commit()
            flash('Succeed to add card for user {}'.format(form.uid.data))
        else:
            flash('The user already has a card!')
    return render_template('admin_add_card.html', form=form)
예제 #34
0
def newcard(boardid, listid):
    form = NewCardForm()
    if form.validate_on_submit():
        board = Board.query.filter_by(id=boardid).first_or_404()
        listx = List.query.filter_by(id=listid).first_or_404()
        card = Card(name=form.name.data,
                    desc=form.desc.data,
                    timestart=form.timestart.data,
                    deadline=form.deadline.data,
                    list_id=listx.id,
                    priority=form.priority.data.upper())
        listx.cards.append(card)
        db.session.add(card)
        db.session.commit()
        flash('New card created!')
        return redirect(url_for('showlist', boardid=boardid, listid=listid))
    return render_template('newcard.html', title='Create new card', form=form)
예제 #35
0
파일: card.py 프로젝트: HH-KIM/cardshare
def create_card():
    if request.method == "GET":
        return render_template("create.html")
    else:
        if request.form:

            title = request.form.get("title")
            content = request.form.get("content")
            receiver = request.form.get("receiver")
            writer = request.form.get("writer")
            img = request.files["img"]

            img_url = _s3_img_upload(img)

            card = Card(title, content, receiver, writer, img_url)
            db.session.add(card)
            db.session.commit()
        return render_template("test.html", img=img_url)
예제 #36
0
파일: views.py 프로젝트: azdkj532/arcane
def gen(request):
    if request.user.is_staff:
        if not request.POST:
            form = CardForm()
            return render(request, "card/generate.html", locals())
        else:
            form = CardForm(request.POST)
            if form.is_valid():
                card = Card()
                card.name = form.cleaned_data["name"]
                card.value = form.cleaned_data["value"]
                card.long_desc = form.cleaned_data["long_desc"]
                card.active = form.cleaned_data["active"]
                card.modified_reason = form.cleaned_data["modified_reason"]
                card.save()
            return render(
                request,
                "submit.html",
                {"content": '<h1>Submitted.</h1><meta http-equiv="refresh" content="3; url=/card/' + card.cid + '">'},
            )
    else:
        raise PermissionDenied
예제 #37
0
파일: views.py 프로젝트: Zekt/arcane
def lite(request, tt=None):
    denomination = [32, 64, 128, 256, -128, -32, -64]
    if user_permission(request.user) < 2:
        raise PermissionDenied
    if tt is not None:
        try:
            tt = int(tt)
        except:
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "我幫你綁好繩子了,"
                    "你要自己跳還是我推你跳呢?(本繩載重20g)"})
        if tt not in range(0, len(denomination)):
            return render(
                request, "submit.html", {
                    "success": False,
                    "title": "發送卡片失敗",
                    "content": "要不要去戳戳系統管理員呢?"
                    "(如果是POST奇怪的資料,可能會收到彈力繩喔ˊ_>ˋ)"
                })
        with transaction.atomic():
            card = Card()
            present = request.user.first_name
            if present == "":
                present = '祝福'
            card.name = "來自 %s 的%s" % (request.user.last_name, present)
            card.value = denomination[tt]
            card.active = True
            card.retrieved = False
            card.issuer = request.user
            card.save()
            record = History(action=1, user=request.user, card=card)
            record.save()
        return redirect('view card', card.cid)
    else:
        return render(request, 'staff/lite.html',locals())