Dashboard integrated but with errors

- authentication routes are glitchy
- custom devise views are not being displayed properly
- routing issues and custom fields for devise routes and models
This commit is contained in:
Okechi Onyeje 2017-01-19 15:42:49 -05:00
parent edfee4bc8a
commit 9d17166e8f
18 changed files with 175 additions and 36 deletions

4
Pearlception/.pryrc Normal file
View File

@ -0,0 +1,4 @@
if Rails.env.development? || Rails.env.test?
# This introduces the `table` statement
extend Hirb::Console
end

View File

@ -49,7 +49,21 @@ group :development do
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring' gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0' gem 'spring-watcher-listen', '~> 2.0.0'
gem 'awesome_rails_console'
gem 'hirb'
end end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
# Please clean up duplicated gems if any.
# Feel free to remove gems that you don't want to use or if they conflict with other gem dependencies. (you might need to update .pryrc also)
group :development, :test do
gem 'hirb'
gem 'hirb-unicode'
gem 'pry-byebug'
gem 'pry-stack_explorer'
end
group :development, :test do
end

View File

@ -39,9 +39,17 @@ GEM
minitest (~> 5.1) minitest (~> 5.1)
tzinfo (~> 1.1) tzinfo (~> 1.1)
arel (7.1.4) arel (7.1.4)
awesome_print (1.7.0)
awesome_rails_console (0.4.0)
awesome_print
pry-rails
railties
bcrypt (3.1.11) bcrypt (3.1.11)
binding_of_caller (0.7.2)
debug_inspector (>= 0.0.1)
builder (3.2.2) builder (3.2.2)
byebug (9.0.6) byebug (9.0.6)
coderay (1.1.1)
coffee-rails (4.2.1) coffee-rails (4.2.1)
coffee-script (>= 2.2.0) coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.2.x) railties (>= 4.0.0, < 5.2.x)
@ -62,6 +70,10 @@ GEM
ffi (1.9.14) ffi (1.9.14)
globalid (0.3.7) globalid (0.3.7)
activesupport (>= 4.1.0) activesupport (>= 4.1.0)
hirb (0.7.3)
hirb-unicode (0.0.5)
hirb (~> 0.5)
unicode-display_width (~> 0.1.1)
i18n (0.7.0) i18n (0.7.0)
jbuilder (2.6.1) jbuilder (2.6.1)
activesupport (>= 3.0.0, < 5.1) activesupport (>= 3.0.0, < 5.1)
@ -89,6 +101,18 @@ GEM
nokogiri (1.7.0) nokogiri (1.7.0)
mini_portile2 (~> 2.1.0) mini_portile2 (~> 2.1.0)
orm_adapter (0.5.0) orm_adapter (0.5.0)
pry (0.10.4)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
pry-byebug (3.4.2)
byebug (~> 9.0)
pry (~> 0.10)
pry-rails (0.3.4)
pry (>= 0.9.10)
pry-stack_explorer (0.4.9.2)
binding_of_caller (>= 0.7)
pry (>= 0.9.11)
puma (3.6.2) puma (3.6.2)
rack (2.0.1) rack (2.0.1)
rack-test (0.6.3) rack-test (0.6.3)
@ -129,6 +153,7 @@ GEM
sprockets (>= 2.8, < 4.0) sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0) sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3) tilt (>= 1.1, < 3)
slop (3.6.0)
spring (2.0.0) spring (2.0.0)
activesupport (>= 4.2) activesupport (>= 4.2)
spring-watcher-listen (2.0.1) spring-watcher-listen (2.0.1)
@ -151,6 +176,7 @@ GEM
thread_safe (~> 0.1) thread_safe (~> 0.1)
uglifier (3.0.4) uglifier (3.0.4)
execjs (>= 0.3.0, < 3) execjs (>= 0.3.0, < 3)
unicode-display_width (0.1.1)
warden (1.2.6) warden (1.2.6)
rack (>= 1.0) rack (>= 1.0)
web-console (3.4.0) web-console (3.4.0)
@ -166,14 +192,19 @@ PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
awesome_rails_console
bcrypt (~> 3.1.7) bcrypt (~> 3.1.7)
byebug byebug
coffee-rails (~> 4.2) coffee-rails (~> 4.2)
devise devise
hirb
hirb-unicode
jbuilder (~> 2.5) jbuilder (~> 2.5)
jquery-rails jquery-rails
listen (~> 3.0.5) listen (~> 3.0.5)
mysql2 (>= 0.3.18, < 0.5) mysql2 (>= 0.3.18, < 0.5)
pry-byebug
pry-stack_explorer
puma (~> 3.0) puma (~> 3.0)
rails (~> 5.0.1) rails (~> 5.0.1)
sass-rails (~> 5.0) sass-rails (~> 5.0)

View File

@ -0,0 +1,22 @@
//@import "bootstrap-sprockets";
@import "bootstrap";
/* mixins, variables, etc. */
$gray-medium-light: #eaeaea;
@mixin box_sizing {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
/* miscellaneous */
.debug_dump {
clear: both;
float: left;
width: 100%;
margin-top: 45px;
@include box_sizing;
}

View File

@ -1,7 +1,12 @@
class DashboardController < ApplicationController class DashboardController < ApplicationController
before_filter :deny_to_visitors
def index def index
end end
def deny_to_visitors
redirect_to "/signin" unless user_signed_in?
end
end end

View File

@ -1,5 +1,11 @@
class RegistrationsController < Devise::RegistrationsController class RegistrationsController < Devise::RegistrationsController
private include ApplicationHelper
protected
def create
super
binding.pry
end
def sign_up_params def sign_up_params
params.require(:user).permit(:company_id, :email, :password, :password_confirmation) params.require(:user).permit(:company_id, :email, :password, :password_confirmation)

View File

@ -1,2 +1,13 @@
module ApplicationHelper module ApplicationHelper
def resource_name
:user
end
def resource
@resource ||= User.new
end
def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
end end

View File

@ -1,6 +1,11 @@
class Oyster < ApplicationRecord class Oyster < ApplicationRecord
belongs_to :run belongs_to :run
Oyster.establish_connection(:"stats_#{Rails.env}") #Oyster.establish_connection(:"stats_#{Rails.env}")
Oyster.establish_connection(
:adapter => "mysql2",
:host => ENV['STATS_DB_URL'],
:username => ENV['STATS_DB_USER'],
:password => ENV['STATS_DB_PASS'],
:database => "main"
)
end end

View File

@ -1,3 +1,10 @@
class Result < ApplicationRecord class Result < ApplicationRecord
establish_connection(:"stats_#{Rails.env}") #establish_connection(:"stats_#{Rails.env}")
Result.establish_connection(
:adapter => "mysql2",
:host => ENV['STATS_DB_URL'],
:username => ENV['STATS_DB_USER'],
:password => ENV['STATS_DB_PASS'],
:database => "main"
)
end end

View File

@ -1,4 +1,12 @@
class Run < ApplicationRecord class Run < ApplicationRecord
has_many :oysters has_many :oysters
establish_connection(:"stats_#{Rails.env}") belongs_to :companies
# establish_connection(:"stats_#{Rails.env}")
Run.establish_connection(
:adapter => "mysql2",
:host => ENV['STATS_DB_URL'],
:username => ENV['STATS_DB_USER'],
:password => ENV['STATS_DB_PASS'],
:database => "main"
)
end end

View File

@ -1,4 +1,6 @@
class User < ApplicationRecord class User < ApplicationRecord
has_one :company
has_many :runs
# Include default devise modules. Others available are: # Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable # :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable, devise :database_authenticatable, :registerable,

View File

@ -14,10 +14,15 @@
</div> </div>
<div id="navbar" class="navbar-collapse collapse"> <div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right"> <ul class="nav navbar-nav navbar-right">
<li><a href="#">Dashboard</a></li> <!-- <li><a href="#">Dashboard</a></li> -->
<li><a href="#">Settings</a></li> <li><a href="#">Settings</a></li>
<li><a href="#">Profile</a></li> <li><a href="#">Profile</a></li>
<li><a href="#">Help</a></li> <li><a href="#">Help</a></li>
<li>
<%= link_to(destroy_user_session_path, class: 'logout-link', :method => :delete) do %>
<i class="fa fa-external-link"></i> Logout
<% end %>
</li>
</ul> </ul>
<form class="navbar-form navbar-right"> <form class="navbar-form navbar-right">
<input type="text" class="form-control" placeholder="Search..."> <input type="text" class="form-control" placeholder="Search...">
@ -35,7 +40,7 @@
<li><a href="#">Analytics</a></li> <li><a href="#">Analytics</a></li>
<li><a href="#">Export</a></li> <li><a href="#">Export</a></li>
</ul> </ul>
<ul class="nav nav-sidebar"> <!-- <ul class="nav nav-sidebar">
<li><a href="">Nav item</a></li> <li><a href="">Nav item</a></li>
<li><a href="">Nav item again</a></li> <li><a href="">Nav item again</a></li>
<li><a href="">One more nav</a></li> <li><a href="">One more nav</a></li>
@ -46,12 +51,12 @@
<li><a href="">Nav item again</a></li> <li><a href="">Nav item again</a></li>
<li><a href="">One more nav</a></li> <li><a href="">One more nav</a></li>
<li><a href="">Another nav item</a></li> <li><a href="">Another nav item</a></li>
</ul> </ul> -->
</div> </div>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<h1 class="page-header">Pearlception Dashboard</h1> <h1 class="page-header">Pearlception Dashboard</h1>
<div class="row placeholders"> <!-- <div class="row placeholders">
<div class="col-xs-6 col-sm-3 placeholder"> <div class="col-xs-6 col-sm-3 placeholder">
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" width="200" height="200" class="img-responsive" alt="Generic placeholder thumbnail"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" width="200" height="200" class="img-responsive" alt="Generic placeholder thumbnail">
<h4>Label</h4> <h4>Label</h4>
@ -72,7 +77,7 @@
<h4>Label</h4> <h4>Label</h4>
<span class="text-muted">Something else</span> <span class="text-muted">Something else</span>
</div> </div>
</div> </div> -->
<h2 class="sub-header">Recent Results</h2> <h2 class="sub-header">Recent Results</h2>
<div class="table-responsive"> <div class="table-responsive">

View File

@ -6,17 +6,17 @@
<%= javascript_include_tag "application", "data-turbolinks-track" => false %> <%= javascript_include_tag "application", "data-turbolinks-track" => false %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<%= yield %> <% if notice %>
<p class="alert alert-success" align="center"><%= notice %></p>
<% end %>
<% if alert %>
<p class="alert alert-danger" align="center"><%= alert %></p>
<% end %>
</head> </head>
<body> <body>
<% if notice %>
<p class="alert alert-success"><%= notice %></p>
<% end %>
<% if alert %>
<p class="alert alert-danger"><%= alert %></p>
<% end %>
<%= yield %> <%= yield %>
<%= debug(params) if Rails.env.development? %>
</body> </body>
</html> </html>

View File

@ -1,4 +1,4 @@
<h2>Log in</h2> <h2>Log</h2>
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %> <%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<div class="field"> <div class="field">

View File

@ -34,6 +34,12 @@ stats_test:
development: development:
<<: *default <<: *default
database: Pearlception_development database: Pearlception_development
username: <%= ENV['DEV_DB_USER'] %>
password: <%= ENV['DEV_DB_PASS'] %>
#host: <%= ENV['DEV_DB_URL'] %>
host: localhost
port: 3306
#database: main
# Warning: The database defined as "test" will be erased and # Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake". # re-generated from your development database when you run "rake".
@ -41,6 +47,12 @@ development:
test: test:
<<: *default <<: *default
database: Pearlception_test database: Pearlception_test
username: <%= ENV['DEV_DB_USER'] %>
password: <%= ENV['DEV_DB_PASS'] %>
#host: <%= ENV['DEV_DB_URL'] %>
host: localhost
port: 3306
#database: main
# As with config/secrets.yml, you never want to store sensitive information, # As with config/secrets.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is # like your database password, in your source code. If your source code is

View File

@ -1,7 +1,12 @@
Rails.application.routes.draw do Rails.application.routes.draw do
devise_for :users, :controllers => { registrations: 'registrations' }
root "dashboard#index" root "dashboard#index"
resources :runs resources :runs
devise_for :users, :controllers => {:registrations => 'registrations'}
devise_scope :users do
get 'signin' => 'registrations#new'
post 'signin' => 'registrations#create'
end
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end end

View File

@ -0,0 +1,5 @@
class ChangeCompanyIdTypeInUsers < ActiveRecord::Migration[5.0]
def change
change_column :users, :company_id, :integer, default: -1
end
end

View File

@ -10,8 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
<<<<<<< HEAD ActiveRecord::Schema.define(version: 20170119161737) do
ActiveRecord::Schema.define(version: 20170109174008) do
create_table "companies", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t| create_table "companies", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "company_name" t.string "company_name"
@ -24,6 +23,7 @@ ActiveRecord::Schema.define(version: 20170109174008) do
t.string "email", default: "", null: false t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false t.string "encrypted_password", default: "", null: false
t.integer "company_id", null: false t.integer "company_id", null: false
t.boolean "admin", default: false, null: false
t.string "reset_password_token" t.string "reset_password_token"
t.datetime "reset_password_sent_at" t.datetime "reset_password_sent_at"
t.datetime "remember_created_at" t.datetime "remember_created_at"
@ -37,8 +37,5 @@ ActiveRecord::Schema.define(version: 20170109174008) do
t.index ["email"], name: "index_users_on_email", unique: true, using: :btree t.index ["email"], name: "index_users_on_email", unique: true, using: :btree
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
end end
=======
ActiveRecord::Schema.define(version: 0) do
>>>>>>> master
end end