diff options
| author | Stan Hu <stanhu@gmail.com> | 2016-01-09 19:30:34 +0000 |
|---|---|---|
| committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-02-02 11:25:44 -0200 |
| commit | d20e75a8d80c2828336cd22897ea6868d666f8a5 (patch) | |
| tree | 9cbf725ad1b523ab0c8d94261d4a02a0677ca450 /app/controllers/admin | |
| parent | 6cffcb05882b0d3c4a02f9acf21806e25ea09ec3 (diff) | |
| download | gitlab-ce-d20e75a8d80c2828336cd22897ea6868d666f8a5.tar.gz | |
Support Akismet spam checking for creation of issues via API
Currently any spam detected by Akismet by non-members via API will be logged
in a separate table in the admin page.
Closes #5612
Diffstat (limited to 'app/controllers/admin')
| -rw-r--r-- | app/controllers/admin/application_settings_controller.rb | 2 | ||||
| -rw-r--r-- | app/controllers/admin/spam_logs_controller.rb | 33 |
2 files changed, 35 insertions, 0 deletions
diff --git a/app/controllers/admin/application_settings_controller.rb b/app/controllers/admin/application_settings_controller.rb index 9943745208e..1515086b16d 100644 --- a/app/controllers/admin/application_settings_controller.rb +++ b/app/controllers/admin/application_settings_controller.rb @@ -79,6 +79,8 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController :recaptcha_private_key, :sentry_enabled, :sentry_dsn, + :akismet_enabled, + :akismet_api_key, restricted_visibility_levels: [], import_sources: [] ) diff --git a/app/controllers/admin/spam_logs_controller.rb b/app/controllers/admin/spam_logs_controller.rb new file mode 100644 index 00000000000..69f94dd3ba8 --- /dev/null +++ b/app/controllers/admin/spam_logs_controller.rb @@ -0,0 +1,33 @@ +class Admin::SpamLogsController < Admin::ApplicationController + before_action :set_spam_log, only: [:destroy] + + def index + @spam_logs = SpamLog.order(created_at: :desc).page(params[:page]) + end + + def destroy + @spam_log.destroy + message = 'Spam log was successfully destroyed.' + + if params[:remove_user] + username = @spam_log.user.username + @spam_log.user.destroy + message = "User #{username} was successfully destroyed." + end + + respond_to do |format| + format.json { render json: '{}' } + format.html { redirect_to admin_spam_logs_path, notice: message } + end + end + + private + + def set_spam_log + @spam_log = SpamLog.find(params[:id]) + end + + def spam_log_params + params[:spam_log] + end +end |
