@@ -83,10 +83,10 @@ nl:
# version: "Version:"

# flag
#flag_for_review:
#flag_post_for_review:
#flag_for_review:
#flag_post_for_review:
#flag_post_placeholder:
#flag:
#flag:

# devise/sessions/new
login: Inloggen
@@ -161,6 +161,13 @@ nl:
work_phone: Telefoon (zakelijk)
cell_phone: Mobiel

# Priorities
# select_priority: Select Priority
# vip_priority: VIP
# high_priority: High
# normal_priority: Normal
# low_priority: Low

# User search results
users_found:
one: "1 gebruiker gevonden met de naam %{query}"
@@ -330,4 +337,4 @@ nl:
million: M
billion: B
trillion: T
quadrillion: Q
quadrillion: Q
@@ -83,10 +83,10 @@ pt:
version: "Versão:"

# flag
#flag_for_review:
#flag_post_for_review:
#flag_for_review:
#flag_post_for_review:
#flag_post_placeholder:
#flag:
#flag:

# devise/sessions/new
login: "Entrar"
@@ -161,6 +161,13 @@ pt:
work_phone: "trabalho"
cell_phone: "telemóvel"

# Priorities
# select_priority: Select Priority
# vip_priority: VIP
# high_priority: High
# normal_priority: Normal
# low_priority: Low

# User search results
users_found:
one: "1 utilizador encontrado com o nome %{query}"
@@ -330,4 +337,4 @@ pt:
million: M
billion: B
trillion: T
quadrillion: Q
quadrillion: Q
@@ -87,10 +87,10 @@ pt-br:
version: "Versão:"

# flag
#flag_for_review:
#flag_post_for_review:
#flag_for_review:
#flag_post_for_review:
#flag_post_placeholder:
#flag:
#flag:

# devise/sessions/new
login: "Autenticar"
@@ -184,6 +184,13 @@ pt-br:
work_phone: "trabalho"
cell_phone: "celular"

# Priorities
# select_priority: Select Priority
# vip_priority: VIP
# high_priority: High
# normal_priority: Normal
# low_priority: Low

# User search results
users_found:
one: "1 usuário encontrado com o nome %{query}"
@@ -445,4 +452,4 @@ pt-br:
million: M
billion: B
trillion: T
quadrillion: Q
quadrillion: Q
@@ -86,10 +86,10 @@ ru:
# version: "Version:"

# flag
#flag_for_review:
#flag_post_for_review:
#flag_for_review:
#flag_post_for_review:
#flag_post_placeholder:
#flag:
#flag:

# devise/sessions/new
login: "Войти"
@@ -165,6 +165,13 @@ ru:
work_phone: номер рабочего телефона
cell_phone: номер мобильного телефона

# Priorities
# select_priority: Select Priority
# vip_priority: VIP
# high_priority: High
# normal_priority: Normal
# low_priority: Low

# User search results
users_found:
zero: 'Пользователей не найдено'
@@ -79,10 +79,10 @@ sv:
get_your_copy: "Hämta din kopia på GitHub."

# flag
#flag_for_review:
#flag_post_for_review:
#flag_for_review:
#flag_post_for_review:
#flag_post_placeholder:
#flag:
#flag:

# devise/sessions/new
login: 'Logga in'
@@ -157,6 +157,13 @@ sv:
work_phone: arbete
cell_phone: mobil

# Priorities
# select_priority: Select Priority
# vip_priority: VIP
# high_priority: High
# normal_priority: Normal
# low_priority: Low

# User search results
users_found:
one: "Det finns en användare som heter %{query}"
@@ -83,10 +83,10 @@ tr:
# version: "Version:"

# flag
#flag_for_review:
#flag_post_for_review:
#flag_for_review:
#flag_post_for_review:
#flag_post_placeholder:
#flag:
#flag:

# devise/sessions/new
login: Giriş yap
@@ -161,6 +161,13 @@ tr:
work_phone: İş
cell_phone: Cep

# Priorities
# select_priority: Select Priority
# vip_priority: VIP
# high_priority: High
# normal_priority: Normal
# low_priority: Low

# User search results
users_found:
one: "%{query} isimli 1 kullanıcı bulundu"
@@ -331,4 +338,3 @@ tr:
billion: B
trillion: T
quadrillion: Q

@@ -83,10 +83,10 @@ zh-cn:
# version: "Version:"

# flag
#flag_for_review:
#flag_post_for_review:
#flag_for_review:
#flag_post_for_review:
#flag_post_placeholder:
#flag:
#flag:

# devise/sessions/new
login: 登录
@@ -161,6 +161,13 @@ zh-cn:
work_phone: 公司
cell_phone: 行动电话

# Priorities
# select_priority: Select Priority
# vip_priority: VIP
# high_priority: High
# normal_priority: Normal
# low_priority: Low

# User search results
users_found:
one: "已找到1位使用者 %{query}"
@@ -83,10 +83,10 @@ zh-tw:
# version: "Version:"

# flag
#flag_for_review:
#flag_post_for_review:
#flag_for_review:
#flag_post_for_review:
#flag_post_placeholder:
#flag:
#flag:

# devise/sessions/new
login: 登入
@@ -161,6 +161,13 @@ zh-tw:
work_phone: 公司
cell_phone: 行動電話

# Priorities
# select_priority: Select Priority
# vip_priority: VIP
# high_priority: High
# normal_priority: Normal
# low_priority: Low

# User search results
users_found:
one: "已找到1位使用者 %{query}"
@@ -0,0 +1,6 @@
class AddToUsers < ActiveRecord::Migration
def change
add_column :users, :priority, :string, default: 'normal'
add_index :users, :priority
end
end
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 20161204162759) do
ActiveRecord::Schema.define(version: 20170120154323) do

# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -44,6 +44,29 @@

add_index "attachinary_files", ["attachinariable_type", "attachinariable_id", "scope"], name: "by_scoped_parent", using: :btree

create_table "audits", force: :cascade do |t|
t.integer "auditable_id"
t.string "auditable_type"
t.integer "associated_id"
t.string "associated_type"
t.integer "user_id"
t.string "user_type"
t.string "username"
t.string "action"
t.text "audited_changes"
t.integer "version", default: 0
t.string "comment"
t.string "remote_address"
t.string "request_uuid"
t.datetime "created_at"
end

add_index "audits", ["associated_id", "associated_type"], name: "associated_index", using: :btree
add_index "audits", ["auditable_id", "auditable_type"], name: "auditable_index", using: :btree
add_index "audits", ["created_at"], name: "index_audits_on_created_at", using: :btree
add_index "audits", ["request_uuid"], name: "index_audits_on_request_uuid", using: :btree
add_index "audits", ["user_id", "user_type"], name: "user_index", using: :btree

create_table "categories", force: :cascade do |t|
t.string "name"
t.string "icon"
@@ -254,14 +277,14 @@
t.integer "assigned_ticket_count", default: 0
t.integer "topics_count", default: 0
t.boolean "active", default: true
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", 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.inet "current_sign_in_ip"
@@ -283,6 +306,7 @@
t.boolean "notify_on_public", default: false
t.boolean "notify_on_reply", default: false
t.string "account_number"
t.string "priority", default: "normal"
end

add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
@@ -292,6 +316,7 @@
add_index "users", ["notify_on_private"], name: "index_users_on_notify_on_private", using: :btree
add_index "users", ["notify_on_public"], name: "index_users_on_notify_on_public", using: :btree
add_index "users", ["notify_on_reply"], name: "index_users_on_notify_on_reply", using: :btree
add_index "users", ["priority"], name: "index_users_on_priority", using: :btree
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree

create_table "versions", force: :cascade do |t|
@@ -2,25 +2,117 @@ namespace :db do
desc "Create placeholder data for DB"
task :add_tickets => :environment do
require 'faker'
number_tickets = 1000

Forum.all.each do |f|
rand(10..20).times do
topic = f.topics.new
topic.name = Faker::Hacker.ingverb + " " + Faker::Hacker.noun
topic.user_id = rand(2..12)

topic.private = true
puts "Private Ticket Created!"

topic.save
rand(2..7).times do
post = topic.posts.new
post.body = Faker::Lorem.paragraphs(rand(2..5)).join('<br/><br/>')
post.user_id = rand(2..12)
post.save
puts "Post added to topic"
# Create back and forth private threads with support staff
f = Forum.find(1)
number_tickets.times.each_with_index do |item, index|

timeseed = rand(1..30)
Timecop.travel(Date.today-timeseed.days)

q = Faker::Hacker.ingverb + " " + Faker::Hacker.noun
question = build_question(q)

topic = f.topics.create!(
name: ticket_issue.split("|")[0],
user_id: User.where(admin: false).sample.id,
private: true,
assigned_user_id: User.where(admin: true).sample.id,
team_list: ticket_issue.split("|")[1]
)

# create first post in thread
post = topic.posts.create!(
body: Faker::Lorem.paragraphs(rand(2..5)).join('<br/><br/>'),
user_id: topic.user_id,
kind: 'first'
)
puts "Post added to topic"

Timecop.scale(120000)
rand(0..5).times do |i|
post = topic.posts.new
post.body = Faker::Lorem.paragraphs(rand(2..5)).join('<br/><br/>')
post.kind = 'reply'
if i.even?
post.user_id = topic.assigned_user_id
# could be note
else
post.user_id = topic.user_id
end
post.save
puts "Post added to topic"

end

#close message?
status = rand(1..5)
if status == 5
topic.current_status = "closed"
end
topic.save
Timecop.return
end

# Update pg search
PgSearch::Multisearch.rebuild(Topic)

puts 'All done'
end


def build_question(q="something")
[
"How do I use #{q}?",
"#{q} is not working!",
"Need Help!",
"Setting up #{q}",
"#{q} initial questions"
].sample
end

def issue
[
"was late|",
"is damaged|returns",
"never came|shipping",
"has something wrong with it|",
"was not delivered|shipping",
"is missing a part|",
"is the wrong color|"
].sample
end

def question
[
"update my billing information?|billing",
"change my credit card?|billing",
"request a refund?|",
"change my address?|",
"cancel my account?|"
].sample
end

def ticket_issue
[
"Order ##{Faker::Number.number(8)} #{issue}",
"My order for a '#{Faker::Commerce.product_name}' #{issue}",
"I ordered something from you guys and it #{issue}",
"Late order|shipping",
"Where is my order!?|",
"Missing parts|",
"No packing slip|shipping",
"what is your phone number?|",
"I need to return something|returns",
"Help!|",
"Do you have a store anywhere?|",
"How can I #{question}"
].sample
end

def company_type
%w(Inc. LLC. Partners .com Company).sample
end

end