uploads: refactor /uploads/:id page for multi-file uploads.

This commit is contained in:
evazion
2022-02-13 16:55:26 -06:00
parent 229759cc72
commit bdf83d1ffd
12 changed files with 150 additions and 116 deletions

View File

@@ -2,7 +2,7 @@
class ApplicationController < ActionController::Base
include Pundit
helper_method :search_params
helper_method :search_params, :permitted_attributes
self.responder = ApplicationResponder

View File

@@ -65,7 +65,7 @@ class PostsController < ApplicationController
def create
@upload_media_asset = UploadMediaAsset.find(params[:upload_media_asset_id])
@post = authorize Post.new_from_upload(@upload_media_asset.upload, @upload_media_asset.media_asset, **permitted_attributes(Post).to_h.symbolize_keys)
@post = authorize Post.new_from_upload(@upload_media_asset, **permitted_attributes(Post).to_h.symbolize_keys)
@post.save_if_unique(:md5)
if @post.errors.none?

View File

@@ -39,14 +39,8 @@ class UploadsController < ApplicationController
def show
@upload = authorize Upload.find(params[:id])
@upload_media_asset = @upload.upload_media_assets.first
@media_asset = @upload_media_asset&.media_asset
@post = Post.new_from_upload(@upload, @media_asset, source: @upload.source, **permitted_attributes(Post).to_h.symbolize_keys)
@post.tag_string = "#{@post.tag_string} #{@upload.source_strategy&.artists.to_a.map(&:tag).map(&:name).join(" ")}".strip
@post.tag_string += " " if @post.tag_string.present?
if request.format.html? && @upload.is_completed? && @upload.media_assets.first&.post.present?
if request.format.html? && @upload.media_asset_count == 1 && @upload.media_assets.first&.post.present?
flash[:notice] = "Duplicate of post ##{@upload.media_assets.first.post.id}"
redirect_to @upload.media_assets.first.post
else