Ejemplo n.º 1
0
def process_new_ability_form(char_id):
    """Add new ability to database."""
    form = AddAbilityForm()
    if form.validate_on_submit():

        new_ability = Ability(name=form.name.data,
                              image_url=form.image_url.data,
                              damage=form.damage.data,
                              damage_type=form.damage_type.data,
                              description=form.description.data,
                              ability_range=form.ability_range.data,
                              effect_area=form.effect_area.data,
                              min_level=form.min_level.data,
                              is_spell=form.is_spell.data,
                              school=form.school.data,
                              notes=form.notes.data,
                              character_id=char_id)

        db.session.add(new_ability)

        db.session.commit()

        serial_ability = new_ability.serialize()

        return (jsonify(serial_ability), 200)

    errors = {"errors": form.errors}
    return jsonify(errors)
Ejemplo n.º 2
0
def copy_item():
    """Copy item to other character."""

    if not g.user:
        return (jsonify("error: login"), 403)

    args = request.args

    charid = args["charid"]
    itemid = args["itemid"]
    itemtype = args["itemtype"]

    item = None
    newitem = None

    character = Character.query.get(charid)

    if character.user_id != g.user.id:
        if not g.user:
            return (jsonify("error: login"), 403)

    if itemtype == "ability":
        item = Ability.query.get(itemid)
        newitem = Ability(name=item.name,
                          image_url=item.image_url,
                          damage=item.damage,
                          damage_type=item.damage_type,
                          description=item.description,
                          ability_range=item.ability_range,
                          effect_area=item.effect_area,
                          min_level=item.min_level,
                          is_spell=item.is_spell,
                          school=item.school,
                          notes=item.notes,
                          character_id=character.id)
    elif itemtype == "weapon":
        item = Weapon.query.get(itemid)
        newitem = Weapon(name=item.name,
                         image_url=item.image_url,
                         weapon_type=item.weapon_type,
                         damage=item.damage,
                         damage_type=item.damage_type,
                         weapon_range=item.weapon_range,
                         description=item.description,
                         weight=item.weight,
                         condition=item.condition,
                         rarity=item.rarity,
                         notes=item.notes,
                         is_equipped=item.is_equipped,
                         character_id=character.id)
    else:
        item = Item.query.get(itemid)
        newitem = Item(name=item.name,
                       image_url=item.image_url,
                       description=item.description,
                       weight=item.weight,
                       is_wearable=item.is_wearable,
                       armor_class=item.armor_class,
                       condition=item.condition,
                       rarity=item.rarity,
                       quantity=item.quantity,
                       notes=item.notes,
                       is_equipped=item.is_equipped,
                       character_id=character.id)

    db.session.add(newitem)
    db.session.commit()

    return (jsonify(newitem.serialize()), 200)