def gameaccount_edit(request, account_id=None): """Edit an existing game account or create a new one.""" gameaccount = None if account_id is not None: gameaccount = GameAccount.query.get(account_id) if gameaccount is None: raise NotFound() form = EditGameAccountForm(request.user, gameaccount) if request.method == 'POST': if 'cancel' in request.form: return form.redirect('account/gameaccounts') elif request.form.get('delete') and gameaccount: return redirect_to('account/gameaccounts/delete', account_id=account_id) elif form.validate(request.form): if gameaccount is None: gameaccount = form.make_gameaccount() msg = _('The game account %s was registered successfully.') icon = 'add' else: form.save_changes() msg = _('The game account %s was updated successfully.') icon = 'info' account_flash(msg % (escape(gameaccount.account)), icon) db.commit() if 'save_and_continue' in request.form: return redirect_to('account/gameaccounts/edit', account_id=gameaccount.id) return redirect_to('account/gameaccounts') return render_account_response('account/gameaccount_edit.html', 'gameaccounts', form=form.as_widget())
def acc_delete_gameaccount(request, account_id): """Delete an InGame Account from user-account panel""" gameaccount = GameAccount.query.get(account_id) if gameaccount is None: raise NotFound() form = DeleteGameAccountForm(gameaccount) if gameaccount.user != request.user: raise Forbidden() if request.method == 'POST': if request.form.get('cancel'): return form.redirect('account/gameaccounts') elif request.form.get('confirm') and form.validate(request.form): accountname = str(gameaccount.account) form.delete_account() db.commit() account_flash(_('The game account %s was deleted successfully') % accountname, 'remove') return redirect_to('account/gameaccounts') return render_account_response('account/gameaccount_delete.html', 'gameaccounts', form=form.as_widget())