From 6f623dbab577c186bcfa0b57b9830b59ee21fef1 Mon Sep 17 00:00:00 2001 From: Vokhmin Alexey V Date: Fri, 14 Dec 2012 19:14:33 +0400 Subject: [PATCH] #785: udd user to ProductBuildList, and etc changes --- .../api/v1/build_lists_controller.rb | 1 + .../product_build_lists_controller.rb | 1 + app/models/product_build_list.rb | 4 +- .../product_build_lists/show.html.haml | 1 + .../locales/models/product_build_list.en.yml | 1 + .../locales/models/product_build_list.ru.yml | 1 + ...14145009_add_user_to_product_build_list.rb | 5 + db/schema.rb | 117 +++++++++--------- 8 files changed, 72 insertions(+), 59 deletions(-) create mode 100644 db/migrate/20121214145009_add_user_to_product_build_list.rb diff --git a/app/controllers/api/v1/build_lists_controller.rb b/app/controllers/api/v1/build_lists_controller.rb index 91e8ce058..6d9889357 100644 --- a/app/controllers/api/v1/build_lists_controller.rb +++ b/app/controllers/api/v1/build_lists_controller.rb @@ -26,6 +26,7 @@ class Api::V1::BuildListsController < Api::V1::BaseController @build_list.user = current_user @build_list.priority = current_user.build_priority # User builds more priority than mass rebuild with zero priority + @build_list.new_core = BuildList.has_access_to_new_core?(current_user) && bl_params[:new_core] == '1' if @build_list.save render :action => 'show' diff --git a/app/controllers/platforms/product_build_lists_controller.rb b/app/controllers/platforms/product_build_lists_controller.rb index c41dce55d..e5b6b6c45 100644 --- a/app/controllers/platforms/product_build_lists_controller.rb +++ b/app/controllers/platforms/product_build_lists_controller.rb @@ -44,6 +44,7 @@ class Platforms::ProductBuildListsController < Platforms::BaseController def create pbl = @product.product_build_lists.new params[:product_build_list] pbl.project = @product.project + pbl.user = current_user pbl.base_url = "http://#{request.host_with_port}" if pbl.save diff --git a/app/models/product_build_list.rb b/app/models/product_build_list.rb index c89b57786..bde196506 100644 --- a/app/models/product_build_list.rb +++ b/app/models/product_build_list.rb @@ -31,6 +31,7 @@ class ProductBuildList < ActiveRecord::Base belongs_to :product belongs_to :project belongs_to :arch + belongs_to :user validates :product_id, @@ -146,7 +147,8 @@ class ProductBuildList < ActiveRecord::Base :time_living => time_living, :main_script => main_script, :arch => arch.name, - :distrib_type => product.platform.distrib_type + :distrib_type => product.platform.distrib_type, + :user => {:uname => user.uname, :email => user.email} } end diff --git a/app/views/platforms/product_build_lists/show.html.haml b/app/views/platforms/product_build_lists/show.html.haml index d3f52459c..c23f6b923 100644 --- a/app/views/platforms/product_build_lists/show.html.haml +++ b/app/views/platforms/product_build_lists/show.html.haml @@ -10,6 +10,7 @@ = render 'show_field', :key => :id, :value => pbl.id = render 'show_field', :key => :status, :value => pbl.human_status += render 'show_field', :key => :user, :value => link_to(pbl.user.try(:fullname), pbl.user) = render 'show_field', :key => :product, :value => link_to(pbl.product.name, platform_product_path(platform, product)) diff --git a/config/locales/models/product_build_list.en.yml b/config/locales/models/product_build_list.en.yml index 945bdaaec..e554e1d57 100644 --- a/config/locales/models/product_build_list.en.yml +++ b/config/locales/models/product_build_list.en.yml @@ -31,6 +31,7 @@ en: attributes: product_build_list: id: Id + user: User product: Product container_path: Container status: Status diff --git a/config/locales/models/product_build_list.ru.yml b/config/locales/models/product_build_list.ru.yml index a6efbd419..d593aa3f4 100644 --- a/config/locales/models/product_build_list.ru.yml +++ b/config/locales/models/product_build_list.ru.yml @@ -31,6 +31,7 @@ ru: attributes: product_build_list: id: Id + user: Пользователь product: Продукт container_path: Контейнер status: Статус diff --git a/db/migrate/20121214145009_add_user_to_product_build_list.rb b/db/migrate/20121214145009_add_user_to_product_build_list.rb new file mode 100644 index 000000000..daaef5242 --- /dev/null +++ b/db/migrate/20121214145009_add_user_to_product_build_list.rb @@ -0,0 +1,5 @@ +class AddUserToProductBuildList < ActiveRecord::Migration + def change + add_column :product_build_lists, :user_id, :integer + end +end diff --git a/db/schema.rb b/db/schema.rb index 81f5cc892..cf6ffe34e 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,14 +11,14 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20121211132948) do +ActiveRecord::Schema.define(:version => 20121214145009) do create_table "activity_feeds", :force => true do |t| t.integer "user_id", :null => false t.string "kind" t.text "data" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" end create_table "advisories", :force => true do |t| @@ -53,8 +53,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do create_table "arches", :force => true do |t| t.string "name", :null => false - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" end add_index "arches", ["name"], :name => "index_arches_on_name", :unique => true @@ -63,8 +63,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.integer "user_id" t.string "provider" t.string "uid" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" end add_index "authentications", ["provider", "uid"], :name => "index_authentications_on_provider_and_uid", :unique => true @@ -75,8 +75,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.integer "level" t.integer "status" t.integer "build_list_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.string "version" end @@ -110,8 +110,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.integer "project_id" t.integer "arch_id" t.datetime "notified_at" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.boolean "is_circle", :default => false t.text "additional_repos" t.string "name" @@ -145,8 +145,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.string "commentable_type" t.integer "user_id" t.text "body" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.decimal "commentable_id", :precision => 50, :scale => 0 t.integer "project_id" t.text "data" @@ -164,8 +164,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.string "controller" t.string "action" t.text "message" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" end create_table "flash_notifies", :force => true do |t| @@ -179,8 +179,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do create_table "groups", :force => true do |t| t.integer "owner_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.string "uname" t.integer "own_projects_count", :default => 0, :null => false t.text "description" @@ -197,8 +197,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.string "title" t.text "body" t.string "status", :default => "open" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.integer "user_id" t.datetime "closed_at" t.integer "closed_by" @@ -260,14 +260,14 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.string "description" t.string "name", :null => false t.integer "parent_platform_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.boolean "released", :default => false, :null => false t.integer "owner_id" t.string "owner_type" t.string "visibility", :default => "open", :null => false t.string "platform_type", :default => "main", :null => false - t.string "distrib_type" + t.string "distrib_type", :null => false end add_index "platforms", ["name"], :name => "index_platforms_on_name", :unique => true, :case_sensitive => false @@ -276,16 +276,16 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.integer "platform_id" t.string "login" t.string "password" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.integer "user_id" end create_table "product_build_lists", :force => true do |t| t.integer "product_id" - t.integer "status", :default => 3, :null => false - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.integer "status", :default => 2, :null => false + t.datetime "created_at" + t.datetime "updated_at" t.integer "project_id" t.string "project_version" t.string "commit_hash" @@ -294,6 +294,7 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.text "results" t.integer "arch_id" t.integer "time_living" + t.integer "user_id" end add_index "product_build_lists", ["product_id"], :name => "index_product_build_lists_on_product_id" @@ -301,8 +302,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do create_table "products", :force => true do |t| t.string "name", :null => false t.integer "platform_id", :null => false - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.text "description" t.integer "project_id" t.string "params" @@ -315,8 +316,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.string "name" t.string "version" t.datetime "file_mtime" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.integer "platform_id" end @@ -325,27 +326,27 @@ ActiveRecord::Schema.define(:version => 20121211132948) do create_table "project_to_repositories", :force => true do |t| t.integer "project_id" t.integer "repository_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" end add_index "project_to_repositories", ["repository_id", "project_id"], :name => "index_project_to_repositories_on_repository_id_and_project_id", :unique => true create_table "projects", :force => true do |t| t.string "name" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.integer "owner_id" t.string "owner_type" t.string "visibility", :default => "open" t.text "description" t.string "ancestry" t.boolean "has_issues", :default => true - t.boolean "has_wiki", :default => false t.string "srpm_file_name" - t.string "srpm_content_type" t.integer "srpm_file_size" t.datetime "srpm_updated_at" + t.string "srpm_content_type" + t.boolean "has_wiki", :default => false t.string "default_branch", :default => "master" t.boolean "is_package", :default => true, :null => false t.integer "average_build_time", :default => 0, :null => false @@ -375,8 +376,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.string "token" t.boolean "approved", :default => false t.boolean "rejected", :default => false - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.string "interest" t.text "more" t.string "language" @@ -390,16 +391,16 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.string "actor_type" t.integer "target_id" t.string "target_type" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.string "role" end create_table "repositories", :force => true do |t| t.string "description", :null => false t.integer "platform_id", :null => false - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.string "name", :null => false t.boolean "publish_without_qa", :default => true end @@ -413,8 +414,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.boolean "new_comment_reply", :default => true t.boolean "new_issue", :default => true t.boolean "issue_assign", :default => true - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.boolean "new_comment_commit_owner", :default => true t.boolean "new_comment_commit_repo_owner", :default => true t.boolean "new_comment_commit_commentor", :default => true @@ -425,8 +426,8 @@ ActiveRecord::Schema.define(:version => 20121211132948) do create_table "subscribes", :force => true do |t| t.string "subscribeable_type" t.integer "user_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.boolean "status", :default => true t.integer "project_id" t.decimal "subscribeable_id", :precision => 50, :scale => 0 @@ -434,21 +435,18 @@ ActiveRecord::Schema.define(:version => 20121211132948) do create_table "users", :force => true do |t| t.string "name" - t.string "email", :default => "", :null => false - t.string "encrypted_password", :default => "", :null => false + t.string "email", :default => "", :null => false + t.string "encrypted_password", :limit => 128, :default => "", :null => false t.string "reset_password_token" t.datetime "reset_password_sent_at" t.datetime "remember_created_at" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at" + t.datetime "updated_at" t.text "ssh_key" t.string "uname" t.string "role" - t.string "language", :default => "en" - t.integer "own_projects_count", :default => 0, :null => false - t.string "confirmation_token" - t.datetime "confirmed_at" - t.datetime "confirmation_sent_at" + t.string "language", :default => "en" + t.integer "own_projects_count", :default => 0, :null => false t.text "professional_experience" t.string "site" t.string "company" @@ -457,11 +455,14 @@ ActiveRecord::Schema.define(:version => 20121211132948) do t.string "avatar_content_type" t.integer "avatar_file_size" t.datetime "avatar_updated_at" - t.integer "failed_attempts", :default => 0 + t.integer "failed_attempts", :default => 0 t.string "unlock_token" t.datetime "locked_at" + t.string "confirmation_token" + t.datetime "confirmed_at" + t.datetime "confirmation_sent_at" t.string "authentication_token" - t.integer "build_priority", :default => 50 + t.integer "build_priority", :default => 50 end add_index "users", ["authentication_token"], :name => "index_users_on_authentication_token"