diff --git a/app/controllers/practices_controller.rb b/app/controllers/practices_controller.rb index 88cb4ea0636..711c34b6f8f 100644 --- a/app/controllers/practices_controller.rb +++ b/app/controllers/practices_controller.rb @@ -3,14 +3,17 @@ class PracticesController < ApplicationController before_action :set_practice, only: %w(show edit update destroy) def index - case current_user.major - when :programmer - @practices = Practice.for_programmer - when :designer - @practices = Practice.for_designer - else - @practices = Practice.all - end + @practices = + if current_user.job.present? + case current_user.job + when :programmer + Practice.for_programmer + when :designer + Practice.for_designer + end + else + Practice.all + end end def show @@ -48,7 +51,7 @@ def destroy private def practice_params - params.require(:practice).permit(:title, :description, :aim) + params.require(:practice).permit(:title, :description, :target) end def set_practice diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 4401a6fae61..182a645c81f 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -50,7 +50,7 @@ def user_params :email, :password, :password_cofirmation, - :major + :job ) end diff --git a/app/decorators/practice_decorator.rb b/app/decorators/practice_decorator.rb index bc42c90bb3b..686d19ae092 100644 --- a/app/decorators/practice_decorator.rb +++ b/app/decorators/practice_decorator.rb @@ -14,12 +14,16 @@ def learning_status(user_id) end def for - t('for', aim: t(self.aim)) + t('for', target: t(self.target)) end private def btn_group - { 'unstarted' => 'btn', 'active' => 'btn btn-info', 'complete' => 'btn btn-success' } + { + 'unstarted' => 'btn', + 'active' => 'btn btn-info', + 'complete' => 'btn btn-success' + }.freeze end def generate_button(status, btn_name, btn_class) diff --git a/app/models/practice.rb b/app/models/practice.rb index e7c7ff9e234..d4e9ef2e208 100644 --- a/app/models/practice.rb +++ b/app/models/practice.rb @@ -1,10 +1,11 @@ class Practice < ActiveRecord::Base include RankedModel ranks :row_order - as_enum :aim, [:everyone, :programmer, :designer] + as_enum :target, [:everyone, :programmer, :designer] has_many :learnings validates :title, presence: true validates :description, presence: true - scope :for_programmer, ->{ where.not(aim_cd: Practice.designer) } - scope :for_designer, ->{ where.not(aim_cd: Practice.programmer) } + + scope :for_programmer, ->{ where.not(target_cd: Practice.designer) } + scope :for_designer, ->{ where.not(target_cd: Practice.programmer) } end diff --git a/app/models/user.rb b/app/models/user.rb index 4ae884b6195..8a1e1d77443 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,5 +1,5 @@ class User < ActiveRecord::Base - as_enum :major, [:programmer, :designer] + as_enum :job, [:programmer, :designer] authenticates_with_sorcery! has_many :learnings diff --git a/app/views/practices/_form.html.haml b/app/views/practices/_form.html.haml index 8eb46ead937..967e8b6c975 100644 --- a/app/views/practices/_form.html.haml +++ b/app/views/practices/_form.html.haml @@ -3,5 +3,5 @@ = error_messages_for :practice = f.input :title, input_html: { class: 'input-block-level' } = f.input :description, input_html: { class: 'input-block-level', rows: 20 } - = f.input :aim, collection: Practice.aims_for_select + = f.input :target, collection: Practice.targets_for_select = f.submit nil, class: 'btn btn-primary' diff --git a/app/views/users/_form.html.haml b/app/views/users/_form.html.haml index c635b391a57..4cdf7895b31 100644 --- a/app/views/users/_form.html.haml +++ b/app/views/users/_form.html.haml @@ -7,5 +7,5 @@ = f.input :email, hint: false, placeholder: t('helpers.label.user.email') = f.input :password, hint: false, placeholder: t('helpers.label.user.password') = f.input :password_confirmation, hint: false, placeholder: t('helpers.label.user.password_confirmation') - = f.input :major, collection: User.majors_for_select + = f.input :job, collection: User.jobs_for_select = f.submit nil, class: 'btn btn-large' diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml index ecfaf98cb46..20fadf817e8 100644 --- a/app/views/users/show.html.haml +++ b/app/views/users/show.html.haml @@ -1,4 +1,4 @@ .icon= gravatar_tag @user, size: 100 %p= @user.login_name %p= @user.full_name -%p= t(@user.major) +%p= t(@user.job) diff --git a/config/locales/ja.yml b/config/locales/ja.yml index e32d97bb3b6..7319097b459 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -337,4 +337,4 @@ ja: user_was_successfully_updated: "ユーザーを更新しました。" practice_was_successfully_updated: "ユーザーを更新しました。" complete: '完了' - for: '%{aim}向け' + for: '%{target} 課題' diff --git a/db/migrate/20130315065106_add_columns_to_users_and_practices.rb b/db/migrate/20130315065106_add_columns_to_users_and_practices.rb index 34c5187bf6c..47c1ba37d3c 100644 --- a/db/migrate/20130315065106_add_columns_to_users_and_practices.rb +++ b/db/migrate/20130315065106_add_columns_to_users_and_practices.rb @@ -1,6 +1,6 @@ class AddColumnsToUsersAndPractices < ActiveRecord::Migration def change - add_column :practices, :aim_cd, :integer, null: false, default: 0 - add_column :users, :major_cd, :integer + add_column :practices, :target_cd, :integer, null: false, default: 0 + add_column :users, :job_cd, :integer end end diff --git a/db/schema.rb b/db/schema.rb index f4fe40bfec8..522633375f1 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -26,7 +26,7 @@ t.text "description" t.datetime "created_at" t.datetime "updated_at" - t.integer "aim_cd", default: 0, null: false + t.integer "target_cd", default: 0, null: false t.integer "row_order" end @@ -41,7 +41,7 @@ t.datetime "remember_me_token_expires_at" t.string "first_name" t.string "last_name" - t.integer "major_cd" + t.integer "job_cd" end add_index "users", ["remember_me_token"], name: "index_users_on_remember_me_token" diff --git a/db/seeds.rb b/db/seeds.rb index 099f09f44d6..643960381ca 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -12,7 +12,7 @@ email: 'komagata@gmail.com', password: 'testtest', password_confirmation: 'testtest', - major_cd: 0 + job_cd: 0 ) User.create!( @@ -22,7 +22,7 @@ email: 'machidanohimitsu@gmail.com', password: 'testtest', password_confirmation: 'testtest', - major_cd: 1 + job_cd: 1 ) import_fixture 'practices'