From bed4047e65e512e25b2b8222299bb697f451c25e Mon Sep 17 00:00:00 2001
From: man13 <man13@inf.ufpr.br>
Date: Thu, 10 Mar 2016 11:47:25 -0300
Subject: [PATCH] adding select2 to form

Signed-off-by: man13 <man13@inf.ufpr.br>
---
 .../management/object_types_controller.rb     | 22 ++++++++++++-------
 app/views/layouts/management.html.erb         |  2 ++
 .../management/object_types/_form.html.erb    | 19 ++++++++++++++++
 3 files changed, 35 insertions(+), 8 deletions(-)

diff --git a/app/controllers/management/object_types_controller.rb b/app/controllers/management/object_types_controller.rb
index ec60f7a6..d3729255 100644
--- a/app/controllers/management/object_types_controller.rb
+++ b/app/controllers/management/object_types_controller.rb
@@ -1,5 +1,6 @@
 class Management::ObjectTypesController < ManagementController
   before_action :set_management_object_type, only: [:edit, :update, :destroy]
+  before_action :get_mime_types, only: [:new, :edit]
 
   # GET /management/object_types
   # GET /management/object_types.json
@@ -57,13 +58,18 @@ class Management::ObjectTypesController < ManagementController
   end
 
   private
-    # Use callbacks to share common setup or constraints between actions.
-    def set_management_object_type
-      @object_type = ObjectType.find(params[:id])
-    end
 
-    # Never trust parameters from the scary internet, only allow the white list through.
-    def object_type_params
-      params.require(:object_type).permit(:name)
-    end
+  # get all the mime types
+  def get_mime_types
+    @mime_types = MimeType.all
+  end
+  # Use callbacks to share common setup or constraints between actions.
+  def set_management_object_type
+    @object_type = ObjectType.find(params[:id])
+  end
+
+  # Never trust parameters from the scary internet, only allow the white list through.
+  def object_type_params
+    params.require(:object_type).permit(:name)
+  end
 end
diff --git a/app/views/layouts/management.html.erb b/app/views/layouts/management.html.erb
index 5a31b893..62fe8eeb 100644
--- a/app/views/layouts/management.html.erb
+++ b/app/views/layouts/management.html.erb
@@ -12,6 +12,8 @@
   <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
   <meta name="description" content="Insira aqui a descrição da página.">
 
+  <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.2/css/select2.min.css" rel="stylesheet" />
+  <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.2/js/select2.min.js"></script>
   <link rel="icon" sizes="192x192" href="<%= image_url 'ico-boilerplate.png' %>">
   <link rel="apple-touch-icon" href="<%= image_url 'ico-boilerplate.png' %>">
 </head>
diff --git a/app/views/management/object_types/_form.html.erb b/app/views/management/object_types/_form.html.erb
index 0bd6667d..6c3a9499 100644
--- a/app/views/management/object_types/_form.html.erb
+++ b/app/views/management/object_types/_form.html.erb
@@ -12,12 +12,25 @@
     <% end %>
 
     <fieldset>
+
       <label class="ls-label col-md-6">
         <b class="ls-label-text">Nome</b>
 
         <p>Digite o nome do tipo</p>
         <%= f.text_field :name, {required: true} %>
       </label>
+
+      <label class="ls-label col-md-6">
+        <b class="ls-label-text">MimeTypes</b>
+
+        <p>Selecione os mimetypes</p><br>
+        <select id='mimeTypes' name="object_type[mime_types][]" multiple>
+          <%= @mime_types.each do |t| %>
+              <option value='<%= t.id %>'><%= t.extension %></option>
+          <% end %>
+        </select>
+      </label>
+
     </fieldset>
 
     <div class="ls-actions-btn">
@@ -25,3 +38,9 @@
       <%= link_to "Cancelar", management_object_types_path,class: "ls-btn-danger"%>
     </div>
 <% end %>
+<script>
+  $("#mimeTypes").select2({
+    placeholder: "MimeTypes",
+    width: '100%'
+  });
+</script>
\ No newline at end of file
-- 
GitLab