diff --git a/Dockerfile b/Dockerfile index 6faeffe5..d17e68ca 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,10 +17,25 @@ RUN apt-get update && apt-get install -y yarn netcat RUN mkdir /app/log -COPY . /app/ +COPY COPYING /app/ +COPY config /app/config/ COPY config/database.docker.yml /app/config/database.yml COPY config/site.docker.yml /app/config/site.yml +COPY bin /app/bin/ +COPY script /app/script/ +COPY public /app/public/ +COPY vendor /app/vendor/ + +COPY .yardopts /app/ +COPY Rakefile /app/ +COPY config.ru /app/ +COPY docker-entrypoint.sh /app/ + +COPY lib /app/lib/ +COPY app /app/app/ +COPY db /app/db/ + RUN RAILS_ENV=production bundle exec rake assets:precompile ENTRYPOINT ["/app/docker-entrypoint.sh"] diff --git a/app/controllers/data_controller.rb b/app/controllers/data_controller.rb index e9893f16..610ae047 100644 --- a/app/controllers/data_controller.rb +++ b/app/controllers/data_controller.rb @@ -62,12 +62,16 @@ class DataController < ApplicationController flash[:notice] = t 'data.import.projects_count', count: count when 'todos' count = Todo.import path_and_file, params, current_user - flash[:notice] = t 'data.import.todos.count', count: count + if !count + flash[:error] = t('data.import.errors.no_context') + else + flash[:notice] = t 'data.import.todos_count', count: count + end else flash[:error] = t('data.import.errors.invalid_destination') end rescue Exception => e - flash[:error] = t 'data.import.invalid_destination', e: e + flash[:error] = t 'data.import.errors.invalid_destination', e: e end File.delete(path_and_file) redirect_to import_data_path diff --git a/app/models/todo.rb b/app/models/todo.rb index c97f3ade..acfe032f 100644 --- a/app/models/todo.rb +++ b/app/models/todo.rb @@ -353,6 +353,7 @@ class Todo < ApplicationRecord def self.import(filename, params, user) default_context = user.contexts.order('id').first + return false if default_context.nil? count = 0 CSV.foreach(filename, headers: true) do |row| diff --git a/config/locales/en.yml b/config/locales/en.yml index 983aee73..67613cee 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -207,6 +207,7 @@ en: invalid_csv: "Invalid CSV: could not read headers: %{e}" save_error: "Could not save uploaded CSV (%{path_and_file}). Can Tracks write\ \ to the upload directory? %{e}" + no_context: No default context could be found map_title: Map fields to be imported header: Importing data submit: Import diff --git a/public/uploads/csv/.keep b/public/uploads/csv/.keep new file mode 100644 index 00000000..e69de29b