diff --git a/app/controllers/chunks_controller.rb b/app/controllers/chunks_controller.rb index 1a291da370c3f79afbe8b8f5d09ffc0e6d701643..be663c6f83cc362d0027c3bd32f31a05e7120ccb 100644 --- a/app/controllers/chunks_controller.rb +++ b/app/controllers/chunks_controller.rb @@ -7,19 +7,26 @@ class ChunksController < ApplicationController def show chunk = resumable_chunk chunk_number - if File.exists?(chunk) - post_file_and_create_thumbnail @learning_object, resumable_filename if last_chunk? - #Let resumable.js know this chunk already exists - render :nothing => true, :status => 200 + unless valid_mime_type? + render :nothing => true, :status => 415 else - #Let resumable.js know this chunk doesnt exists and needs to be uploaded - render :nothing => true, :status => 404 + if File.exists?(chunk) + post_file_and_create_thumbnail @learning_object, resumable_filename if last_chunk? + #Let resumable.js know this chunk already exists + render :nothing => true, :status => 200 + else + #Let resumable.js know this chunk doesnt exists and needs to be uploaded + render :nothing => true, :status => 404 + end end - end - #POST /chunk def create + + unless valid_mime_type? + return render :nothing => true, :status => 415 + end + #chunk path based on the parameters chunk = resumable_chunk chunk_number @@ -101,6 +108,13 @@ class ChunksController < ApplicationController @learning_object = LearningObject.find chunks_params[:learning_object_id] end + def resumable_file_extension + File.extname(chunks_params[:resumableFilename])[1..-1] + end + + def valid_mime_type? + @learning_object.object_type.mime_types.map(&:extension).include? resumable_file_extension + end # Never trust parameters from the scary internet, only allow the white list through. def chunks_params params.permit(:file, :learning_object_id, :resumableIdentifier, :resumableFilename, :resumableChunkNumber, :resumableTotalChunks, :resumableChunkSize) diff --git a/app/helpers/learning_objects/builder_helper.rb b/app/helpers/learning_objects/builder_helper.rb new file mode 100644 index 0000000000000000000000000000000000000000..53f5cdc33a2640744b32f850a2b2b1c4a9ec0161 --- /dev/null +++ b/app/helpers/learning_objects/builder_helper.rb @@ -0,0 +1,5 @@ +module LearningObjects::BuilderHelper + def get_mime_types learning_object + @learning_object.object_type.mime_types.map(&:extension) + end +end \ No newline at end of file diff --git a/app/views/learning_objects/build/_file_upload_form.html.erb b/app/views/learning_objects/build/_file_upload_form.html.erb index 1be80ee18d85bb9cfdf1cebc979e39983eda368a..5c2314f2fedd8bfb2216df354eb1357d64c52abe 100644 --- a/app/views/learning_objects/build/_file_upload_form.html.erb +++ b/app/views/learning_objects/build/_file_upload_form.html.erb @@ -161,7 +161,7 @@ maxFiles: 3, simultaneousUploads: 4, chunkSize: 1024 * 256, - fileType: [] + fileType: <%= raw(get_mime_types @learning_object) %> }); var results = $('#results'), diff --git a/app/views/management/mime_types/_form.html.erb b/app/views/management/mime_types/_form.html.erb index 5b165af2ee1c132b746556c2b74f2cb197f4472c..ddafa69c442003bbba168e81380795a51e158796 100644 --- a/app/views/management/mime_types/_form.html.erb +++ b/app/views/management/mime_types/_form.html.erb @@ -13,7 +13,11 @@ <fieldset> <label class="ls-label col-md-6"> - <b class="ls-label-text">Extensões</b> + <b class="ls-label-text">Extensões  + <a style="text-decoration: none;" href="#" data-toggle="popover" title="Informação" data-trigger="hover" data-content="Inclua somente a extensão. Exemplo: 'jpg' e não '.jpg'"> + <i class="ls-ico-info"></i> + </a> + </b> <p>Digite o nome do tipo</p> <%= f.text_field :extension, {required: true} %> @@ -31,3 +35,8 @@ <%= link_to "Cancelar", management_mime_types_path,class: "ls-btn-danger"%> </div> <% end %> +<script> + $(document).ready(function(){ + $('[data-toggle="popover"]').popover(); + }); +</script> diff --git a/app/views/management/mime_types/index.html.erb b/app/views/management/mime_types/index.html.erb index 79f73dcdeeb9c1a770545e0af537469d1f20ded9..3ff644214786f3a057bc6831812d5524f1d38c4b 100644 --- a/app/views/management/mime_types/index.html.erb +++ b/app/views/management/mime_types/index.html.erb @@ -3,7 +3,7 @@ <table class="ls-table"> <thead> <tr> - <th>Nome</th> + <th>Extensão</th> <th>MimeType</th> <th></th> <th></th>