fix (potential) problems with empty file_extensions

This commit is contained in:
Karol
2023-02-06 22:29:48 +01:00
committed by Sebastian Serth
parent 93188ba04d
commit 90d713a1d4
4 changed files with 22 additions and 4 deletions

View File

@@ -264,7 +264,7 @@ $(document).on('turbolinks:load', function () {
var inferFileAttributes = function () {
$(document).on('change', 'input[type="file"]', function () {
var filename = $(this).val().split(/\\|\//g).pop();
var file_extension = '.' + filename.split('.')[1];
var file_extension = filename.includes('.') ? '.' + filename.split('.')[1] : '';
var file_type = findFileTypeByFileExtension(file_extension);
var name = filename.split('.')[0];
var parent = $(this).parents('li');

View File

@@ -26,7 +26,7 @@ class FileType < ApplicationRecord
validates :indent_size, presence: true, unless: :binary?
validates :name, presence: true
validates :renderable, inclusion: [true, false]
validates :file_extension, length: { minimum:0, allow_nil: false}
validates :file_extension, length: {minimum: 0, allow_nil: false}
%i[audio compressed csv excel image pdf powerpoint video word].each do |type|
define_method("#{type}?") do

View File

@@ -101,8 +101,8 @@ module ProformaService
end
def file_type(extension)
FileType.find_or_create_by(file_extension: extension.presence) do |file_type|
file_type.name = extension[1..]
FileType.find_or_create_by(file_extension: extension) do |file_type|
file_type.name = "Imported #{extension}"
file_type.user = @user
file_type.indent_size = 4
file_type.editor_mode = 'ace/mode/plain_text'