예제 #1
0
파일: app.py 프로젝트: blturley/demilich
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)
예제 #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/")
예제 #3
0
파일: views.py 프로젝트: tekton/SAMEngine
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))
예제 #4
0
파일: app.py 프로젝트: blturley/demilich
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)
예제 #5
0
파일: seed.py 프로젝트: blturley/demilich
                       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,