Bug fixes and improved handling of event editor.
This commit is contained in:
@@ -40,24 +40,20 @@ def enemy_edit(enemy_id: int):
|
||||
form_title="Edit Enemy",
|
||||
post_url=f"/enemy/{enemy_id}/edit",
|
||||
)
|
||||
db = orm.new_session()
|
||||
enemy = db.query(Enemy).get(enemy_id)
|
||||
form = forms.EnemyForm()
|
||||
|
||||
if request.method == "GET":
|
||||
db = orm.new_session()
|
||||
enemy = db.query(Enemy).filter(Enemy.id == enemy_id).first()
|
||||
|
||||
form = forms.EnemyForm()
|
||||
form.season_id.data = enemy.season_id if enemy.season_id else -1
|
||||
form.name.data = enemy.name
|
||||
form.is_boss.data = enemy.boss
|
||||
form.enemy_id.data = enemy_id
|
||||
|
||||
model.form_title = f'Edit Enemy "{enemy.name}"'
|
||||
return render_template("generic_form.html", model=model, form=form)
|
||||
else:
|
||||
form = forms.EnemyForm()
|
||||
if form.validate_on_submit():
|
||||
db = orm.new_session()
|
||||
enemy = db.query(Enemy).filter(Enemy.id == enemy_id).first()
|
||||
if not enemy:
|
||||
enemy = Enemy()
|
||||
db.add(enemy)
|
||||
|
||||
@@ -86,4 +86,4 @@ def episode_edit(season_id: int, episode_id: int):
|
||||
if errors:
|
||||
model.errors = {"Error saving episode": [errors]}
|
||||
return render_template("generic_form.html", model=model, form=form)
|
||||
return redirect(url_for("episode_detail", season_id=season_id, episode_id=episode_id))
|
||||
return redirect(url_for("episode_detail", season_id=season.id, episode_id=episode.id))
|
||||
|
||||
@@ -60,6 +60,7 @@ def event_new(s_id: int, ep_id: int):
|
||||
form = forms.EventForm()
|
||||
form.episode_id.data = ep_id
|
||||
form.enemy.choices = choices.enemy_choice_for_season(s_id)
|
||||
form.player.choices = choices.player_choice_for_episode(episode)
|
||||
form.event_type.data = EventType.Death.value
|
||||
|
||||
Penalty = namedtuple("Penalty", ["penalty_id", "player_id", "player", "drink"])
|
||||
|
||||
@@ -26,27 +26,26 @@ def player_edit(player_id: int):
|
||||
form_title=f"Edit Player",
|
||||
post_url=f"/player/{player_id}/edit",
|
||||
)
|
||||
db = orm.new_session()
|
||||
player = db.query(Player).filter(Player.id == player_id).first()
|
||||
form = forms.PlayerForm()
|
||||
|
||||
# Edit Existing Player
|
||||
if request.method == "GET":
|
||||
db = orm.new_session()
|
||||
player = db.query(Player).filter(Player.id == player_id).first()
|
||||
|
||||
form = forms.PlayerForm()
|
||||
form.player_id.data = player.id
|
||||
form.anonymize.data = player.anon
|
||||
form.real_name.data = player.real_name
|
||||
form.alias.data = player.alias
|
||||
form.hex_id.data = player.hex_id
|
||||
|
||||
model.form_title = f'Edit Player "{player.name}"'
|
||||
return render_template("generic_form.html", model=model, form=form)
|
||||
|
||||
# Save POSTed data
|
||||
else:
|
||||
form = forms.PlayerForm()
|
||||
if form.validate_on_submit():
|
||||
db = orm.new_session()
|
||||
player = db.query(Player).filter(Player.id == player_id).first()
|
||||
if not player:
|
||||
player = Player()
|
||||
db.add(player)
|
||||
player.populate_from_form(form)
|
||||
db.commit()
|
||||
return redirect("/player")
|
||||
|
||||
Reference in New Issue
Block a user