Beispiel #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)
Beispiel #2
0
def post(request):
    """process post page

	judge user's authenticate status and save valid post"""

    if request.user.is_authenticated():
        form = PostForm()
        if request.method == "POST":
            form = PostForm(request.POST.copy())
            if form.valid():
                poster = request.user
                title = form.cleaned_data["title"]
                content = form.cleaned_data["content"]
                bonus = form.cleaned_data["bonus"]
                post = Ability(
                    abilityNAME=title,
                    abilityDESCRIBE=content,
                    logDATE=datetime.datetime.now(),
                    rpREQUIRED=bonus,
                    abilityRAISER=poster,
                )
                post.save()
                return HttpResponseRedirect("/")
        form = PostForm()
        return render_to_response("sells/post.html", {"form": form})
    return HttpResponseRedirect("/accounts/login/")
Beispiel #3
0
def AbilityNew(request):
    print "new ability"
    form = AbilityForm()
    ability = Ability()
    if request.POST:
        form = AbilityForm(request.POST, instance=ability)
        new_ability = form.save()
        print "now redirect to " + str(new_ability)
        return redirect('characters.views.AbilityShow', new_ability.id)
    else:
        character = request.GET.get("character", 0)
        if character != 0:
            try:
                print character
                c = BaseCharacter.objects.get(pk=character)
                ability.character = c
                form = AbilityForm(instance=ability)
            except:
                pass
        else:
            pass
    return render_to_response("ability/new.html", {"form": form}, context_instance=RequestContext(request))
Beispiel #4
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)
Beispiel #5
0
                       notes = "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Est, distinctio! Deleniti delectus harum blanditiis suscipit dolorem quam officiis id odit, qui alias, corrupti esse dolores libero at culpa itaque eveniet.", 
                       is_dead = False,  
                       hirelings = "Mr.Friendly", 
                       pets_minions = "Buhbuh", 
                       user_id = user1.id)

db.session.add_all([character1, character2])

db.session.commit()

ability1 = Ability(name = "Faerie Fire",
                   image_url = "static/spell01.png",
                   damage = "1D6",
                   damage_type = "fire",
                   description = "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Est, distinctio! Deleniti delectus harum blanditiis suscipit dolorem quam officiis id odit, qui alias, corrupti esse dolores libero at culpa itaque eveniet.",
                   ability_range = "20 feet",
                   effect_area = "straight line",
                   min_level = "2",
                   is_spell = True,
                   school = "Destruction",
                   notes = "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Est, distinctio! Deleniti delectus harum blanditiis suscipit dolorem quam officiis id odit, qui alias, corrupti esse dolores libero at culpa itaque eveniet.",
                   character_id = character1.id)

ability2 = Ability(name = "Athletics",
                   image_url = "static/spell01.png",
                   damage = "N/A",
                   damage_type = "physical",
                   description = "Lorem ipsum dolor sit, amet consectetur adipisicing elit. Est, distinctio! Deleniti delectus harum blanditiis suscipit dolorem quam officiis id odit, qui alias, corrupti esse dolores libero at culpa itaque eveniet.",
                   ability_range = "N/A",
                   effect_area = "self",
                   min_level = "1",
                   is_spell = False,