From 6542ffbc199a7a4e1d5cb55901e01a7f0e189c92 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Sat, 20 Feb 2021 21:19:15 +0100 Subject: [PATCH] Add JSON response for paste-uploads --- app/controllers/packages_controller.rb | 9 +++++++-- config/routes.rb | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index 3893178..9f2b96d 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -111,8 +111,13 @@ class PackagesController < ApplicationController # TODO # if @invalid_images… # ' #{image.image_file_name} (#{image.errors[:image].join(' and ')}) - - redirect_to package_path + + respond_to do |format| + format.html { redirect_to package_path } + # TODO: send all_errors back as JSON and make Javascript display it in #messages + format.json { render :json => true } + end + # render :details end diff --git a/config/routes.rb b/config/routes.rb index dc80088..1e9e56c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -27,8 +27,8 @@ Rails.application.routes.draw do # get 'package_reviews/:name' => 'packages#reviews', as: :package_reviews, name: /[^\/]+/ get 'upload', to: redirect('/packages'), as: :upload_legacy # legacy upload form post 'uploadfile' => 'packages#legacy_uploadfile', name: /[^\/]+/ - get 'upload/:name' => 'packages#upload', as: :upload, name: /[^\/]+/ - post 'upload/:name' => 'packages#upload_receive', as: :upload_receive, name: /[^\/]+/ + get 'upload/:name' => 'packages#upload', as: :upload + post 'upload/:name' => 'packages#upload_receive', as: :upload_receive # TODO: "get" is probably the wrong method to delete a screenshot get 'delete_screenshot/:id' => 'packages#delete_screenshot', as: :delete_screenshot patch 'update_screenshot_description/:id' => 'packages#update_screenshot_description', as: :update_screenshot_description