Prevent disabling game detection without manually specifying games

This commit is contained in:
rubenwardy
2022-06-25 02:51:29 +01:00
parent e091bd6fb0
commit bfbab7ae9e
2 changed files with 17 additions and 10 deletions

View File

@@ -628,7 +628,7 @@ def similar(package):
class GameSupportForm(FlaskForm):
enable_support_detection = BooleanField(lazy_gettext("Enable support detection based on dependencies"))
enable_support_detection = BooleanField(lazy_gettext("Enable support detection based on dependencies (recommended)"), [Optional()])
supported = StringField(lazy_gettext("Supported games (Comma-separated)"), [Optional()])
unsupported = StringField(lazy_gettext("Unsupported games (Comma-separated)"), [Optional()])
submit = SubmitField(lazy_gettext("Save"))
@@ -645,6 +645,9 @@ def game_support(package):
if not (can_edit or package.checkPerm(current_user, Permission.APPROVE_NEW)):
abort(403)
force_game_detection = package.supported_games.filter(and_(
PackageGameSupport.confidence > 1, PackageGameSupport.supports == True)).count() == 0
form = GameSupportForm() if can_edit else None
if request.method == "GET":
form.enable_support_detection.data = package.enable_game_support_detection
@@ -665,8 +668,9 @@ def game_support(package):
next_url = package.getURL("packages.game_support")
if form.enable_support_detection.data != package.enable_game_support_detection:
package.enable_game_support_detection = form.enable_support_detection.data
enable_support_detection = form.enable_support_detection.data or force_game_detection
if enable_support_detection != package.enable_game_support_detection:
package.enable_game_support_detection = enable_support_detection
if package.enable_game_support_detection:
db.session.commit()
@@ -682,4 +686,5 @@ def game_support(package):
return redirect(next_url)
return render_template("packages/game_support.html", package=package, form=form,
force_game_detection=force_game_detection,
tabs=get_package_tabs(current_user, package), current_tab="game_support")