# frozen_string_literal: true class Posts::UploadersController < ApplicationController def update @post = Post.find(params[:post_id]) authorize! :manage, @post new_name = params[:username].presence @post.anonymous = params[:anonymous] if new_name != @post.user&.name # only do anything if changing uploader_changed = true if new_name.blank? @post.user = nil @post.anonymous = true else new_user = User.find_by('name = ? OR name = ?', new_name, new_name.unicode_normalize(:nfd)) if new_user @post.user = new_user else @error = t('posts.errors.nonexistent_user', user: new_name) uploader_changed = false end end if uploader_changed @post.ip = '127.0.1.1' end end @post.save! @post.update_index # HidableLogger.log(@post, 'Uploader changed', current_user.name) render partial: 'posts/uploader', layout: false end end