From c1faf413057de7b10da8cf39d1a0248f13b9b34f Mon Sep 17 00:00:00 2001 From: pixeldesu Date: Fri, 19 Jun 2015 14:46:23 +0200 Subject: [PATCH] added translator badge to profiles --- app/controllers/ajax/moderation_controller.rb | 2 +- app/views/user/_modal_privileges.html.haml | 1 + app/views/user/_profile_info.html.haml | 4 + .../20150619123121_add_translator_to_users.rb | 5 + db/schema.rb | 103 ++++++++++++++---- 5 files changed, 94 insertions(+), 21 deletions(-) create mode 100644 db/migrate/20150619123121_add_translator_to_users.rb diff --git a/app/controllers/ajax/moderation_controller.rb b/app/controllers/ajax/moderation_controller.rb index d0ca6629..636c1650 100644 --- a/app/controllers/ajax/moderation_controller.rb +++ b/app/controllers/ajax/moderation_controller.rb @@ -164,7 +164,7 @@ class Ajax::ModerationController < ApplicationController target_user = User.find_by_screen_name(params[:user]) @message = I18n.t('messages.moderation.privilege.nope') - return unless %w(blogger supporter moderator admin contributor).include? params[:type].downcase + return unless %w(blogger supporter moderator admin contributor translator).include? params[:type].downcase if %w(supporter moderator admin).include?(params[:type].downcase) and !current_user.admin? @status = :nopriv diff --git a/app/views/user/_modal_privileges.html.haml b/app/views/user/_modal_privileges.html.haml index ae9988cf..351e030c 100644 --- a/app/views/user/_modal_privileges.html.haml +++ b/app/views/user/_modal_privileges.html.haml @@ -10,6 +10,7 @@ %ul.list-group.groups--list = render 'user/modal_privileges_item', privilege: 'blogger', description: t('views.modal.privilege.blogger'), user: @user = render 'user/modal_privileges_item', privilege: 'contributor', description: t('views.modal.privilege.contributor'), user: @user + = render 'user/modal_privileges_item', privilege: 'translator', description: t('views.modal.privilege.translator'), user: @user - if current_user.admin? = render 'user/modal_privileges_item', privilege: 'supporter', description: t('views.modal.privilege.supporter'), user: @user = render 'user/modal_privileges_item', privilege: 'moderator', description: t('views.modal.privilege.moderator'),user: @user diff --git a/app/views/user/_profile_info.html.haml b/app/views/user/_profile_info.html.haml index 7e96f469..14f37e10 100644 --- a/app/views/user/_profile_info.html.haml +++ b/app/views/user/_profile_info.html.haml @@ -20,6 +20,10 @@ .profile--panel-badge.panel-badge-info %i.fa.fa-pencil = t 'views.user.title.blogger' + - if @user.translator? + .profile--panel-badge.panel-badge-info + %i.fa.fa-globe + = t 'views.user.title.translator' - if @user.banned? .profile--panel-badge.panel-badge-default %i.fa.fa-ban diff --git a/db/migrate/20150619123121_add_translator_to_users.rb b/db/migrate/20150619123121_add_translator_to_users.rb new file mode 100644 index 00000000..a772755c --- /dev/null +++ b/db/migrate/20150619123121_add_translator_to_users.rb @@ -0,0 +1,5 @@ +class AddTranslatorToUsers < ActiveRecord::Migration + def change + add_column :users, :translator, :boolean + end +end diff --git a/db/schema.rb b/db/schema.rb index a2d647b9..8396d6eb 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150508144336) do +ActiveRecord::Schema.define(version: 20150619123121) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -19,11 +19,12 @@ ActiveRecord::Schema.define(version: 20150508144336) do create_table "answers", force: :cascade do |t| t.text "content" t.integer "question_id" - t.integer "comment_count", default: 0, null: false + t.integer "comment_count", default: 0, null: false t.integer "user_id" t.datetime "created_at" t.datetime "updated_at" - t.integer "smile_count", default: 0, null: false + t.integer "smile_count", default: 0, null: false + t.boolean "nsfw", default: false end add_index "answers", ["user_id", "created_at"], name: "index_answers_on_user_id_and_created_at", using: :btree @@ -113,6 +114,60 @@ ActiveRecord::Schema.define(version: 20150508144336) do t.datetime "updated_at" end + create_table "oauth_access_grants", force: :cascade do |t| + t.integer "resource_owner_id", null: false + t.integer "application_id", null: false + t.string "token", null: false + t.integer "expires_in", null: false + t.text "redirect_uri", null: false + t.datetime "created_at", null: false + t.datetime "revoked_at" + t.string "scopes" + end + + add_index "oauth_access_grants", ["token"], name: "index_oauth_access_grants_on_token", unique: true, using: :btree + + create_table "oauth_access_tokens", force: :cascade do |t| + t.integer "resource_owner_id" + t.integer "application_id" + t.string "token", null: false + t.string "refresh_token" + t.integer "expires_in" + t.datetime "revoked_at" + t.datetime "created_at", null: false + t.string "scopes" + end + + add_index "oauth_access_tokens", ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true, using: :btree + add_index "oauth_access_tokens", ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id", using: :btree + add_index "oauth_access_tokens", ["token"], name: "index_oauth_access_tokens_on_token", unique: true, using: :btree + + create_table "oauth_applications", force: :cascade do |t| + t.string "name", null: false + t.string "uid", null: false + t.string "secret", null: false + t.text "redirect_uri", null: false + t.string "scopes", default: "", null: false + t.datetime "created_at" + t.datetime "updated_at" + t.integer "owner_id" + t.string "owner_type" + t.string "description" + t.string "icon_file_name" + t.string "icon_content_type" + t.integer "icon_file_size" + t.datetime "icon_updated_at" + t.integer "crop_x" + t.integer "crop_y" + t.integer "crop_w" + t.integer "crop_h" + t.boolean "icon_processing" + end + + add_index "oauth_applications", ["name"], name: "index_oauth_applications_on_name", unique: true, using: :btree + add_index "oauth_applications", ["owner_id", "owner_type"], name: "index_oauth_applications_on_owner_id_and_owner_type", using: :btree + add_index "oauth_applications", ["uid"], name: "index_oauth_applications_on_uid", unique: true, using: :btree + create_table "questions", force: :cascade do |t| t.string "content" t.boolean "author_is_anonymous" @@ -121,7 +176,8 @@ ActiveRecord::Schema.define(version: 20150508144336) do t.integer "user_id" t.datetime "created_at" t.datetime "updated_at" - t.integer "answer_count", default: 0, null: false + t.integer "answer_count", default: 0, null: false + t.boolean "nsfw", default: false end add_index "questions", ["user_id", "created_at"], name: "index_questions_on_user_id_and_created_at", using: :btree @@ -178,12 +234,12 @@ ActiveRecord::Schema.define(version: 20150508144336) do end create_table "users", force: :cascade do |t| - t.string "email", default: "", null: false - t.string "encrypted_password", default: "", null: false + t.string "email", default: "", null: false + t.string "encrypted_password", default: "", null: false t.string "reset_password_token" t.datetime "reset_password_sent_at" t.datetime "remember_created_at" - t.integer "sign_in_count", default: 0, null: false + t.integer "sign_in_count", default: 0, null: false t.datetime "current_sign_in_at" t.datetime "last_sign_in_at" t.string "current_sign_in_ip" @@ -191,19 +247,19 @@ ActiveRecord::Schema.define(version: 20150508144336) do t.datetime "created_at" t.datetime "updated_at" t.string "screen_name" - t.integer "friend_count", default: 0, null: false - t.integer "follower_count", default: 0, null: false - t.integer "asked_count", default: 0, null: false - t.integer "answered_count", default: 0, null: false - t.integer "commented_count", default: 0, null: false + t.integer "friend_count", default: 0, null: false + t.integer "follower_count", default: 0, null: false + t.integer "asked_count", default: 0, null: false + t.integer "answered_count", default: 0, null: false + t.integer "commented_count", default: 0, null: false t.string "display_name" - t.integer "smiled_count", default: 0, null: false - t.boolean "admin", default: false, null: false - t.string "motivation_header", default: "", null: false - t.string "website", default: "", null: false - t.string "location", default: "", null: false - t.text "bio", default: "", null: false - t.boolean "moderator", default: false, null: false + t.integer "smiled_count", default: 0, null: false + t.boolean "admin", default: false, null: false + t.string "motivation_header", default: "", null: false + t.string "website", default: "", null: false + t.string "location", default: "", null: false + t.text "bio", default: "", null: false + t.boolean "moderator", default: false, null: false t.string "profile_picture_file_name" t.string "profile_picture_content_type" t.integer "profile_picture_file_size" @@ -220,10 +276,13 @@ ActiveRecord::Schema.define(version: 20150508144336) do t.boolean "privacy_show_in_search", default: true t.boolean "permanently_banned", default: false t.boolean "blogger", default: false + t.boolean "nsfw", default: false + t.boolean "show_nsfw", default: false + t.boolean "privacy_allow_nsfw_questions", default: true t.boolean "contributor", default: false t.string "ban_reason" t.datetime "banned_until" - t.integer "comment_smiled_count", default: 0, null: false + t.integer "comment_smiled_count", default: 0, null: false t.string "profile_header_file_name" t.string "profile_header_content_type" t.integer "profile_header_file_size" @@ -233,6 +292,10 @@ ActiveRecord::Schema.define(version: 20150508144336) do t.integer "crop_h_y" t.integer "crop_h_w" t.integer "crop_h_h" + t.string "socket_key", default: "" + t.datetime "socket_key_expiry", default: '0001-01-01 00:00:00' + t.string "locale" + t.boolean "translator" end add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree