wip
This commit is contained in:
parent
f8c03d6f5c
commit
692446b97b
@ -29,13 +29,15 @@ guard :minitest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
guard 'livereload' do
|
guard 'livereload' do
|
||||||
|
watch(%r{app/assets/.+\.(scss|css|js)})
|
||||||
watch(%r{app/views/.+\.(erb|haml|slim)$})
|
watch(%r{app/views/.+\.(erb|haml|slim)$})
|
||||||
|
watch(%r{app/controllers/.+\.rb})
|
||||||
watch(%r{app/helpers/.+\.rb})
|
watch(%r{app/helpers/.+\.rb})
|
||||||
watch(%r{public/.+\.(css|js|html)})
|
watch(%r{public/.+\.(css|js|html)})
|
||||||
watch(%r{config/locales/.+\.yml})
|
watch(%r{config/locales/.+\.yml})
|
||||||
|
|
||||||
# Rails Assets Pipeline
|
# Rails Assets Pipeline
|
||||||
watch(%r{(app|vendor)(/assets/\w+/(.+\.(css|js|html|png|jpg))).*}) do |m|
|
watch(%r{(app|vendor)(/assets/\w+/(.+\.(scss|css|js|html|png|jpg))).*}) do |m|
|
||||||
"/assets/#{m[3]}"
|
"/assets/#{m[3]}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -14,8 +14,6 @@ A simple api to send sms messages with [twillio](https://www.twilio.com/).
|
|||||||
|
|
||||||
## TODO
|
## TODO
|
||||||
|
|
||||||
* list parents
|
|
||||||
* list children
|
|
||||||
* lookup child
|
* lookup child
|
||||||
* lookup parent
|
* lookup parent
|
||||||
* lookup child by parent
|
* lookup child by parent
|
||||||
|
66
app/assets/stylesheets/main.scss
Normal file
66
app/assets/stylesheets/main.scss
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
// maybe this? => https://color.adobe.com/Theme-1-color-theme-6893131/edit/?copy=true
|
||||||
|
$white: #F2E8DF;
|
||||||
|
$light: #C7C9CD;
|
||||||
|
$grey: #8E969D;
|
||||||
|
$dark: #646267;
|
||||||
|
|
||||||
|
@mixin inline-ul {
|
||||||
|
display: inline-block;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
li {
|
||||||
|
display: inline-block;
|
||||||
|
float: left;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
a {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 15px;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
color: $dark;
|
||||||
|
background-color: $white;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 15px;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav {
|
||||||
|
@include inline-ul;
|
||||||
|
background-color: $dark;
|
||||||
|
color: $light;
|
||||||
|
margin: -15px -15px 15px;
|
||||||
|
width: calc(100% + 30px);
|
||||||
|
|
||||||
|
li {
|
||||||
|
&:hover {
|
||||||
|
background-color: $grey;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: $light;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub-nav {
|
||||||
|
@include inline-ul;
|
||||||
|
margin: -19px -15px 0;
|
||||||
|
a {
|
||||||
|
color: $dark;
|
||||||
|
&:hover {
|
||||||
|
background-color: $light;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -3,4 +3,6 @@ class ChildrenController < ApplicationController
|
|||||||
@children = Child.all.order(:last_name, :first_name)
|
@children = Child.all.order(:last_name, :first_name)
|
||||||
respond_with @children
|
respond_with @children
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def lookup; end
|
||||||
end
|
end
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
class DocsController < ApplicationController
|
class DocsController < ApplicationController
|
||||||
def index
|
def index
|
||||||
doc = {
|
@doc = {
|
||||||
name: "sms-pager-api",
|
name: "sms-pager-api",
|
||||||
documentation: "https://bitbucket.org/markamoser/sms-pager-api"
|
documentation: "https://bitbucket.org/markamoser/sms-pager-api"
|
||||||
}.to_json
|
}
|
||||||
|
respond_with @doc
|
||||||
render json: doc
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,2 +1,11 @@
|
|||||||
class PagesController < ApplicationController
|
class PagesController < ApplicationController
|
||||||
|
def index
|
||||||
|
@pages = Page.last_ten
|
||||||
|
respond_with @pages
|
||||||
|
end
|
||||||
|
|
||||||
|
def page; end
|
||||||
|
|
||||||
|
def send_page
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,2 +1,7 @@
|
|||||||
module ApplicationHelper
|
module ApplicationHelper
|
||||||
|
def page_link(person)
|
||||||
|
return if person.phone.blank?
|
||||||
|
|
||||||
|
link_to 'page', page_person_path(person)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
6
app/models/page.rb
Normal file
6
app/models/page.rb
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
class Page < ActiveRecord::Base
|
||||||
|
belongs_to :user, class_name: Person
|
||||||
|
belongs_to :person
|
||||||
|
|
||||||
|
scope :last_ten, -> { order(updated_at: :desc).limit(10) }
|
||||||
|
end
|
3
app/views/children/_sub_nav.html.haml
Normal file
3
app/views/children/_sub_nav.html.haml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
%ul.sub-nav
|
||||||
|
%li= link_to 'look up', lookup_child_path
|
||||||
|
|
@ -5,4 +5,4 @@
|
|||||||
%li= child.name
|
%li= child.name
|
||||||
%ul
|
%ul
|
||||||
- child.parents.each do |parent|
|
- child.parents.each do |parent|
|
||||||
%li #{parent.name}: #{number_to_phone parent.phone}
|
%li #{parent.name} #{page_link(parent)}
|
1
app/views/children/lookup.html.haml
Normal file
1
app/views/children/lookup.html.haml
Normal file
@ -0,0 +1 @@
|
|||||||
|
build search form here
|
4
app/views/docs/index.html.haml
Normal file
4
app/views/docs/index.html.haml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
%h2 Something helpful later
|
||||||
|
|
||||||
|
%p= raw( ap @doc )
|
||||||
|
|
18
app/views/layouts/_alerts.html.haml
Normal file
18
app/views/layouts/_alerts.html.haml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
- unless flash.empty?
|
||||||
|
- if flash[:notice].present?
|
||||||
|
.container{'data-id' => 'alertbox', 'data-alert' => 'auto-close'}
|
||||||
|
.row
|
||||||
|
.col-md-6.col-md-offset-3.col-xs-12
|
||||||
|
.alertbox
|
||||||
|
.alertbox.box_blue
|
||||||
|
.box_close{'data-id'=> 'alert-close'}
|
||||||
|
= flash[:notice]
|
||||||
|
|
||||||
|
- if flash[:alert].present?
|
||||||
|
.container{'data-id' => 'alertbox'}
|
||||||
|
.row
|
||||||
|
.col-md-6.col-md-offset-3.col-xs-12
|
||||||
|
.alertbox
|
||||||
|
.alertbox.box_red
|
||||||
|
.box_close{'data-id'=> 'alert-close'}
|
||||||
|
%b= flash[:alert]
|
0
app/views/layouts/_footer.html.haml
Normal file
0
app/views/layouts/_footer.html.haml
Normal file
7
app/views/layouts/_navigation.html.haml
Normal file
7
app/views/layouts/_navigation.html.haml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
%ul.nav
|
||||||
|
%li= link_to 'Home', root_path
|
||||||
|
%li= link_to 'Parents', list_parents_path
|
||||||
|
%li= link_to 'Children', list_children_path
|
||||||
|
%li= link_to 'Staff', list_staff_path
|
||||||
|
%li= link_to 'Users', list_users_path
|
||||||
|
%li= link_to 'Pages', list_pages_path
|
@ -6,5 +6,12 @@
|
|||||||
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
|
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
|
||||||
= javascript_include_tag 'application', 'data-turbolinks-track' => true
|
= javascript_include_tag 'application', 'data-turbolinks-track' => true
|
||||||
= csrf_meta_tags
|
= csrf_meta_tags
|
||||||
|
= yield :custom_head
|
||||||
%body
|
%body
|
||||||
|
= render partial: 'layouts/alerts'
|
||||||
|
= render partial: 'layouts/navigation'
|
||||||
|
= render partial: 'sub_nav' if lookup_context.find_all('sub_nav').any?
|
||||||
= yield
|
= yield
|
||||||
|
= render partial: 'layouts/footer'
|
||||||
|
= yield :modals
|
||||||
|
= yield :custom_scripts
|
||||||
|
5
app/views/pages/index.html.haml
Normal file
5
app/views/pages/index.html.haml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
%h1 Pages
|
||||||
|
|
||||||
|
- @pages.each do |page|
|
||||||
|
%ul
|
||||||
|
%li= raw(ap page)
|
2
app/views/pages/page.html.haml
Normal file
2
app/views/pages/page.html.haml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
%p send page form
|
||||||
|
%p active class on main navs
|
@ -1,13 +1,15 @@
|
|||||||
Rails.application.routes.draw do
|
Rails.application.routes.draw do
|
||||||
get 'parents', to: 'parents#index', as: :list_parents
|
get 'parents', to: 'parents#index', as: :list_parents
|
||||||
|
|
||||||
get 'children', to: 'children#index', as: :list_children
|
get 'children', to: 'children#index', as: :list_children
|
||||||
|
get 'children/lookup', to: 'children#lookup', as: :lookup_child
|
||||||
|
|
||||||
get 'staff', to: 'staff#index', as: :list_staff
|
get 'staff', to: 'staff#index', as: :list_staff
|
||||||
|
|
||||||
get 'users', to: 'users#index', as: :list_users
|
get 'users', to: 'users#index', as: :list_users
|
||||||
|
|
||||||
get 'pages', to: 'pages#index', as: :list_pages
|
get 'pages', to: 'pages#index', as: :list_pages
|
||||||
|
get 'page/:id', to: 'pages#page', as: :page_person
|
||||||
|
|
||||||
root to: 'docs#index'
|
root to: 'docs#index'
|
||||||
end
|
end
|
||||||
|
12
db/migrate/20150913220116_create_pages.rb
Normal file
12
db/migrate/20150913220116_create_pages.rb
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
class CreatePages < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
create_table :pages do |t|
|
||||||
|
t.integer :user_id
|
||||||
|
t.integer :person_id
|
||||||
|
t.string :phone
|
||||||
|
t.string :message
|
||||||
|
t.string :status
|
||||||
|
t.timestamps null: false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
104
test/fixtures/pages.yml
vendored
Normal file
104
test/fixtures/pages.yml
vendored
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
page01:
|
||||||
|
user: admin
|
||||||
|
person: sarah
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 5.days %>
|
||||||
|
updated_at: <%= Date.today - 5.days %>
|
||||||
|
page02:
|
||||||
|
user: admin
|
||||||
|
person: sarah
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'delivered'
|
||||||
|
created_at: <%= Date.today - 10.days %>
|
||||||
|
updated_at: <%= Date.today - 10.days %>
|
||||||
|
page03:
|
||||||
|
user: admin
|
||||||
|
person: marlin
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 0.days %>
|
||||||
|
updated_at: <%= Date.today - 0.days %>
|
||||||
|
page04:
|
||||||
|
user: admin
|
||||||
|
person: kimmy
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 1.days %>
|
||||||
|
updated_at: <%= Date.today - 1.days %>
|
||||||
|
page05:
|
||||||
|
user: admin
|
||||||
|
person: wanda
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Time to work!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 3.days %>
|
||||||
|
updated_at: <%= Date.today - 3.days %>
|
||||||
|
page06:
|
||||||
|
user: admin
|
||||||
|
person: basic
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 2.days %>
|
||||||
|
updated_at: <%= Date.today - 2.days %>
|
||||||
|
page07:
|
||||||
|
user: admin
|
||||||
|
person: sarah
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 8.days %>
|
||||||
|
updated_at: <%= Date.today - 8.days %>
|
||||||
|
page08:
|
||||||
|
user: admin
|
||||||
|
person: sarah
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 7.days %>
|
||||||
|
updated_at: <%= Date.today - 7.days %>
|
||||||
|
page09:
|
||||||
|
user: admin
|
||||||
|
person: sarah
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 1.days %>
|
||||||
|
updated_at: <%= Date.today - 1.days %>
|
||||||
|
page10:
|
||||||
|
user: admin
|
||||||
|
person: sarah
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 5.days %>
|
||||||
|
updated_at: <%= Date.today - 5.days %>
|
||||||
|
page11:
|
||||||
|
user: admin
|
||||||
|
person: sarah
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 5.days %>
|
||||||
|
updated_at: <%= Date.today - 5.days %>
|
||||||
|
page12:
|
||||||
|
user: admin
|
||||||
|
person: sarah
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 1.days %>
|
||||||
|
updated_at: <%= Date.today - 1.days %>
|
||||||
|
page13:
|
||||||
|
user: admin
|
||||||
|
person: sarah
|
||||||
|
phone: 5005550006
|
||||||
|
message: "Yo! Kid needs help!"
|
||||||
|
status: 'sent'
|
||||||
|
created_at: <%= Date.today - 25.days %>
|
||||||
|
updated_at: <%= Date.today - 25.days %>
|
18
test/models/page_test.rb
Normal file
18
test/models/page_test.rb
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
class PageTest < ActiveSupport::TestCase
|
||||||
|
def test_pages
|
||||||
|
pages = Page.all
|
||||||
|
|
||||||
|
assert pages.count > 10, "Fixture did not load"
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_last_10_order
|
||||||
|
pages = Page.last_ten
|
||||||
|
times = pages.map(&:updated_at)
|
||||||
|
|
||||||
|
assert_equal 10, times.count
|
||||||
|
assert_equal times.sort.reverse, times
|
||||||
|
assert times.last < times.first, 'Sort order should be descending'
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user