diff --git a/app/controllers/management/object_types_controller.rb b/app/controllers/management/object_types_controller.rb index d37292555b05bbfe5ed0819ec93355c8064ed164..8abc4fda32d868072cb2330c9abeb4c63c2923d3 100644 --- a/app/controllers/management/object_types_controller.rb +++ b/app/controllers/management/object_types_controller.rb @@ -15,12 +15,14 @@ class Management::ObjectTypesController < ManagementController # GET /management/object_types/1/edit def edit + end + # POST /management/object_types # POST /management/object_types.json def create - @object_type = ::ObjectType.new(object_type_params) + @object_type = ::ObjectType.new(sanitazed_params) respond_to do |format| if @object_type.save @@ -37,7 +39,7 @@ class Management::ObjectTypesController < ManagementController # PATCH/PUT /management/object_types/1.json def update respond_to do |format| - if @object_type.update(object_type_params) + if @object_type.update(sanitazed_params) format.html { redirect_to management_object_types_path, notice: 'Object type was successfully updated.' } format.json { render :show, status: :ok, location: management_object_types_path } else @@ -59,7 +61,7 @@ class Management::ObjectTypesController < ManagementController private - # get all the mime types + # Get all the mime types def get_mime_types @mime_types = MimeType.all end @@ -70,6 +72,18 @@ class Management::ObjectTypesController < ManagementController # Never trust parameters from the scary internet, only allow the white list through. def object_type_params - params.require(:object_type).permit(:name) + params.require(:object_type).permit(:name, mime_types: []) + end + + # Build mimetypes + def sanitazed_params + _params = object_type_params + _params[:mime_types] = [] + unless object_type_params[:mime_types].blank? + object_type_params[:mime_types].each do |mime_type| + _params[:mime_types] << MimeType.find(mime_type) + end + end + _params end end diff --git a/app/helpers/management/object_types_helper.rb b/app/helpers/management/object_types_helper.rb index 136947e491a79c1a576abf41d8833b78c302a2b5..19b4fe1383986675f5c274ad08a1d474dc5ff39a 100644 --- a/app/helpers/management/object_types_helper.rb +++ b/app/helpers/management/object_types_helper.rb @@ -2,4 +2,8 @@ module Management::ObjectTypesHelper def show_delete_button?(object_type) object_type.name =~ /outros/i ? false : true end + + def mime_types(mime_types = []) + mime_types.map { |mime_type| mime_type.extension }.reduce { |i, ext| i + ', '+ ext } + end end diff --git a/app/views/management/object_types/index.html.erb b/app/views/management/object_types/index.html.erb index 3a773e718333369ec426af882e74737bb7845df1..4f43721c78d17e96c6da59ae8aa86a44a54bd9b2 100644 --- a/app/views/management/object_types/index.html.erb +++ b/app/views/management/object_types/index.html.erb @@ -14,7 +14,7 @@ <% @object_types.each do |object_type| %> <tr> <td><%= object_type.name %></td> - <td><%= object_type.mime_types.to_a %></td> + <td><%= mime_types object_type.mime_types %></td> <td class="ls-txt-right ls-regroup"><%= link_to 'Editar', edit_management_object_type_path(object_type) %> <td> <% if show_delete_button? object_type %>