diff --git a/rhodecode/apps/repository/views/repo_pull_requests.py b/rhodecode/apps/repository/views/repo_pull_requests.py index 01d7c257..8c71c007 100644 --- a/rhodecode/apps/repository/views/repo_pull_requests.py +++ b/rhodecode/apps/repository/views/repo_pull_requests.py @@ -968,6 +968,9 @@ class RepoPullRequestsView(RepoAppView, DataGridAppView): close_branch_before_merging_key = "rhodecode_%s_close_branch_before_merging" % source_repo.repo_type c.repo_close_branch_before_merging = self._get_repo_setting(source_repo, close_branch_before_merging_key) + # Get security scan setting for pre-checking the checkbox + c.pr_security_scan_enabled = self._get_repo_setting(source_repo, "rhodecode_pr_security_scan_enabled", False) + return self._get_template_context(c) @LoginRequired() diff --git a/rhodecode/model/forms.py b/rhodecode/model/forms.py index 6c2ebe7c..69915d53 100644 --- a/rhodecode/model/forms.py +++ b/rhodecode/model/forms.py @@ -443,6 +443,7 @@ class _BaseVcsSettingsForm(formencode.Schema): rhodecode_pr_merge_enabled = v.StringBoolean(if_missing=False) rhodecode_auto_merge_enabled = v.StringBoolean(if_missing=False) rhodecode_use_outdated_comments = v.StringBoolean(if_missing=False) + rhodecode_pr_security_scan_enabled = v.StringBoolean(if_missing=False) # hg extensions_largefiles = v.StringBoolean(if_missing=False) diff --git a/rhodecode/model/settings.py b/rhodecode/model/settings.py index 43aad79b..59863017 100644 --- a/rhodecode/model/settings.py +++ b/rhodecode/model/settings.py @@ -456,6 +456,7 @@ class VcsSettingsModel: "use_outdated_comments", "pr_merge_enabled", "auto_merge_enabled", + "pr_security_scan_enabled", "hg_use_rebase_for_merging", "hg_close_branch_before_merging", "hg_merge_strategy_selector", diff --git a/rhodecode/templates/base/vcs_settings.mako b/rhodecode/templates/base/vcs_settings.mako index 58d58645..8a6d671c 100644 --- a/rhodecode/templates/base/vcs_settings.mako +++ b/rhodecode/templates/base/vcs_settings.mako @@ -261,6 +261,24 @@
${_('When enabled, the target branch field will be automatically populated when creating pull requests. Disable this to prevent expensive diff calculations on repositories with many divergent branches.')}
+ + %if c.rhodecode_edition_id != 'EE': +
+ + +
+
+ ${_('This feature is available in RhodeCode EE edition only. Contact {sales_email} to obtain a trial license.').format(sales_email='sales@rhodecode.com')|n} +
+ %else: +
+ ${h.checkbox('rhodecode_pr_security_scan_enabled' + suffix, 'True', **kwargs)} + +
+
+ ${_('When enabled, the security scan checkbox will be pre-selected when creating pull requests. This scans the PR diff for exposed secrets and credentials.')} +
+ %endif % endif diff --git a/rhodecode/templates/pullrequests/pullrequest.mako b/rhodecode/templates/pullrequests/pullrequest.mako index 50f76cfd..1ea1b7db 100644 --- a/rhodecode/templates/pullrequests/pullrequest.mako +++ b/rhodecode/templates/pullrequests/pullrequest.mako @@ -232,7 +232,7 @@ % if c.rhodecode_edition_id == 'EE':
- ${h.checkbox('run_security_audit', checked=False, value=True)} + ${h.checkbox('run_security_audit', checked=c.pr_security_scan_enabled, value=True)}