diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 86887fdd..b1e95736 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -8,6 +8,7 @@ //= require jquery-ui //= require jquery_ujs //= require jquery.ui.selectmenu +//= require jquery.tagify //= require jquery.cookie //= require_tree . diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 777f3fc1..e170dc07 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -4,6 +4,7 @@ * the top of the compiled file, but it's generally better to create a new file per style scope. *= require jquery-ui/jquery-ui *= require jquery-ui/jquery.ui.selectmenu + *= require jquery-ui/jquery.tagify *= require_self *= require_tree . */ diff --git a/app/views/projects/_form.html.haml b/app/views/projects/_form.html.haml index 164f1d45..605a2f45 100644 --- a/app/views/projects/_form.html.haml +++ b/app/views/projects/_form.html.haml @@ -25,6 +25,11 @@ .left= f.label :code %cite.right http://yourserver/ %td= f.text_field :code, :placeholder => "example" + + %tr + %td= f.label :tag_list + %td= f.text_area :tag_list, :placeholder => "project tags", :style => "height:50px", :id => :tag_field + .field = f.label :description %br/ @@ -41,8 +46,20 @@ %h3.prepend-top Creating project & repository. Please wait for few minutes - else %h3.prepend-top Updating project & repository. Please wait for few minutes + :javascript $('.new_project, .edit_project').bind('ajax:before', function() { $(this).find(".form_content").hide(); $('.ajax_loader').show(); }); + +:javascript + $(function(){ + var tag_field = $('#tag_field').tagify(); + + $('form').submit( function() { + var tag_field = $('#tag_field') + tag_field.val( tag_field.tagify('serialize') ); + return true; + }); + }) diff --git a/db/schema.rb b/db/schema.rb index 13c4db0c..3d430f4c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20111027152724) do +ActiveRecord::Schema.define(:version => 20111101222453) do create_table "issues", :force => true do |t| t.string "title" @@ -68,6 +68,23 @@ ActiveRecord::Schema.define(:version => 20111027152724) do t.datetime "expires_at" end + create_table "taggings", :force => true do |t| + t.integer "tag_id" + t.integer "taggable_id" + t.string "taggable_type" + t.integer "tagger_id" + t.string "tagger_type" + t.string "context" + t.datetime "created_at" + end + + add_index "taggings", ["tag_id"], :name => "index_taggings_on_tag_id" + add_index "taggings", ["taggable_id", "taggable_type", "context"], :name => "index_taggings_on_taggable_id_and_taggable_type_and_context" + + create_table "tags", :force => true do |t| + t.string "name" + end + create_table "users", :force => true do |t| t.string "email", :default => "", :null => false t.string "encrypted_password", :limit => 128, :default => "", :null => false