jobshop 0.0.4.2p4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -3
  3. data/app/assets/javascripts/jobshop/application.js +14 -1
  4. data/app/assets/stylesheets/jobshop/application.scss +250 -42
  5. data/app/assets/stylesheets/jobshop/breakpoints.scss +35 -0
  6. data/app/builders/jobshop/builder.rb +34 -0
  7. data/app/controllers/concerns/registration_token_validation.rb +8 -6
  8. data/app/controllers/jobshop/pages_controller.rb +11 -4
  9. data/app/controllers/jobshop/{sites → teams}/registrations_controller.rb +1 -2
  10. data/app/controllers/jobshop/{sites_controller.rb → teams_controller.rb} +1 -1
  11. data/app/helpers/jobshop/application_helper.rb +5 -0
  12. data/app/models/jobshop/dashboard.rb +5 -0
  13. data/app/models/jobshop/registration.rb +9 -7
  14. data/app/models/jobshop/{site.rb → team.rb} +2 -1
  15. data/app/models/jobshop/user.rb +2 -1
  16. data/app/views/devise/confirmations/new.html.haml +10 -0
  17. data/app/views/devise/mailer/confirmation_instructions.html.haml +4 -0
  18. data/app/views/devise/mailer/password_change.html.haml +3 -0
  19. data/app/views/devise/mailer/reset_password_instructions.html.haml +6 -0
  20. data/app/views/devise/mailer/unlock_instructions.html.haml +5 -0
  21. data/app/views/devise/passwords/edit.html.haml +19 -0
  22. data/app/views/devise/passwords/new.html.haml +10 -0
  23. data/app/views/devise/registrations/edit.html.haml +31 -0
  24. data/app/views/devise/registrations/new.html.haml +21 -0
  25. data/app/views/devise/sessions/new.html.haml +14 -0
  26. data/app/views/devise/shared/_links.html.haml +19 -0
  27. data/app/views/devise/unlocks/new.html.haml +10 -0
  28. data/app/views/jobshop/dashboards/show.html.haml +140 -1
  29. data/app/views/jobshop/pages/index.html.haml +6 -11
  30. data/app/views/jobshop/teams/registrations/new.html.haml +26 -0
  31. data/app/views/layouts/jobshop/application.html.haml +7 -6
  32. data/config/initializers/devise.rb +1 -1
  33. data/config/routes.rb +2 -2
  34. data/db/migrate/20160417210218_create_jobshop_dashboards.rb +15 -0
  35. data/db/migrate/20160425062447_rename_site_to_team.rb +30 -0
  36. data/lib/generators/jobshop/team/USAGE +7 -0
  37. data/lib/generators/jobshop/{site/site_generator.rb → team/team_generator.rb} +8 -8
  38. data/lib/jobshop/engine.rb +1 -1
  39. data/lib/jobshop/version.rb +4 -3
  40. data/lib/tasks/jobshop_tasks.rake +20 -4
  41. metadata +44 -36
  42. data/app/assets/stylesheets/jobshop/generics.scss +0 -25
  43. data/app/assets/stylesheets/jobshop/material-icons.scss +0 -24
  44. data/app/assets/stylesheets/jobshop/site/configuration.scss +0 -3
  45. data/app/views/jobshop/sites/registrations/new.html.haml +0 -30
  46. data/lib/generators/jobshop/site/USAGE +0 -8
@@ -3,19 +3,26 @@ require_dependency "jobshop/application_controller"
3
3
  module Jobshop
4
4
  class PagesController < ApplicationController
5
5
  def show
6
- page = valid_page? ? [ template: current_page ]
6
+ args = valid_page? ? [ template: page ]
7
7
  : [ file: "public/404.html", status: :not_found ]
8
- render(*page)
8
+ render(*args)
9
9
  end
10
10
 
11
11
  private
12
12
 
13
13
  def valid_page?
14
- lookup_context.template_exists?(current_page)
14
+ lookup_context.template_exists?(page)
15
15
  end
16
16
 
17
- def current_page
17
+ def page
18
18
  "jobshop/pages/#{params[:page]}"
19
19
  end
20
+
21
+ def layout
22
+ case params[:page]
23
+ when "index"
24
+ :modal
25
+ end
26
+ end
20
27
  end
21
28
  end
@@ -1,12 +1,11 @@
1
1
  require_dependency "jobshop/application_controller"
2
2
 
3
3
  module Jobshop
4
- class Sites::RegistrationsController < ApplicationController
4
+ class Teams::RegistrationsController < ApplicationController
5
5
  include RegistrationTokenValidation
6
6
 
7
7
  def new
8
8
  @registration = Jobshop::Registration.new(params)
9
- authenticate_user! if @registration.site.owner
10
9
  end
11
10
 
12
11
  def create
@@ -1,6 +1,6 @@
1
1
  require_dependency "jobshop/application_controller"
2
2
 
3
3
  module Jobshop
4
- class SitesController < ApplicationController
4
+ class TeamsController < ApplicationController
5
5
  end
6
6
  end
@@ -1,4 +1,9 @@
1
1
  module Jobshop
2
2
  module ApplicationHelper
3
+ def body_class
4
+ @body_class ||= if params.has_key?(:page)
5
+ "static-#{params[:page]}"
6
+ end
7
+ end
3
8
  end
4
9
  end
@@ -0,0 +1,5 @@
1
+ module Jobshop
2
+ class Dashboard < ApplicationRecord
3
+ belongs_to :team
4
+ end
5
+ end
@@ -1,9 +1,9 @@
1
1
  module Jobshop
2
2
  class Registration < VirtualRecord
3
- memo_attr(:user) { site.users.build(user_params) }
4
- memo_attr(:site) {
5
- record = Jobshop::Site.find(params[:site_id])
6
- record.assign_attributes(site_params)
3
+ memo_attr(:user) { team.users.build(user_params) }
4
+ memo_attr(:team) {
5
+ record = Jobshop::Team.find(params[:team_id])
6
+ record.assign_attributes(team_params)
7
7
  record
8
8
  }
9
9
 
@@ -12,7 +12,9 @@ module Jobshop
12
12
 
13
13
  result = ActiveRecord::Base.transaction do
14
14
  user.save!
15
- site.update!(owner: user)
15
+ team.update!(owner: user,
16
+ registration_token: nil,
17
+ registration_token_sent_at: nil)
16
18
  end
17
19
 
18
20
  result != false
@@ -24,9 +26,9 @@ module Jobshop
24
26
  params.fetch(:registration, ActionController::Parameters.new)
25
27
  end
26
28
 
27
- def site_params
29
+ def team_params
28
30
  registration_params.fetch(
29
- :site, ActionController::Parameters.new).permit(:name)
31
+ :team, ActionController::Parameters.new).permit(:name)
30
32
  end
31
33
 
32
34
  def user_params
@@ -1,7 +1,8 @@
1
1
  module Jobshop
2
- class Site < ApplicationRecord
2
+ class Team < ApplicationRecord
3
3
  belongs_to :owner, class_name: "Jobshop::User"
4
4
  has_many :users, class_name: "Jobshop::User"
5
+ has_one :default_dashboard, class_name: "Jobshop::Dashboard"
5
6
 
6
7
  def generate_registration_token
7
8
  raw, encrypted = Devise.token_generator.generate(
@@ -4,7 +4,8 @@ module Jobshop
4
4
  # :confirmable, :lockable, :timeoutable and :omniauthable
5
5
  devise :database_authenticatable, :recoverable, :rememberable, :validatable
6
6
 
7
- belongs_to :site
7
+ belongs_to :team
8
+ has_one :default_dashboard, class_name: "Jobshop::Dashboard", through: :team
8
9
 
9
10
  validates_uniqueness_of :email
10
11
  end
@@ -0,0 +1,10 @@
1
+ %h2 Resend confirmation instructions
2
+ = form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f|
3
+ = devise_error_messages!
4
+ .field
5
+ = f.label :email
6
+ %br/
7
+ = f.email_field :email, autofocus: true, value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email)
8
+ .actions
9
+ = f.submit "Resend confirmation instructions"
10
+ = render "devise/shared/links"
@@ -0,0 +1,4 @@
1
+ %p
2
+ Welcome #{@email}!
3
+ %p You can confirm your account email through the link below:
4
+ %p= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token)
@@ -0,0 +1,3 @@
1
+ %p
2
+ Hello #{@resource.email}!
3
+ %p We're contacting you to notify you that your password has been changed.
@@ -0,0 +1,6 @@
1
+ %p
2
+ Hello #{@resource.email}!
3
+ %p Someone has requested a link to change your password. You can do this through the link below.
4
+ %p= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token)
5
+ %p If you didn't request this, please ignore this email.
6
+ %p Your password won't change until you access the link above and create a new one.
@@ -0,0 +1,5 @@
1
+ %p
2
+ Hello #{@resource.email}!
3
+ %p Your account has been locked due to an excessive number of unsuccessful sign in attempts.
4
+ %p Click the link below to unlock your account:
5
+ %p= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @token)
@@ -0,0 +1,19 @@
1
+ %h2 Change your password
2
+ = form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
3
+ = devise_error_messages!
4
+ = f.hidden_field :reset_password_token
5
+ .field
6
+ = f.label :password, "New password"
7
+ %br/
8
+ - if @minimum_password_length
9
+ %em
10
+ (#{@minimum_password_length} characters minimum)
11
+ %br/
12
+ = f.password_field :password, autofocus: true, autocomplete: "off"
13
+ .field
14
+ = f.label :password_confirmation, "Confirm new password"
15
+ %br/
16
+ = f.password_field :password_confirmation, autocomplete: "off"
17
+ .actions
18
+ = f.submit "Change my password"
19
+ = render "devise/shared/links"
@@ -0,0 +1,10 @@
1
+ %h2 Forgot your password?
2
+ = form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
3
+ = devise_error_messages!
4
+ .field
5
+ = f.label :email
6
+ %br/
7
+ = f.email_field :email, autofocus: true
8
+ .actions
9
+ = f.submit "Send me reset password instructions"
10
+ = render "devise/shared/links"
@@ -0,0 +1,31 @@
1
+ %h2
2
+ Edit #{resource_name.to_s.humanize}
3
+ = form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f|
4
+ = devise_error_messages!
5
+ .field
6
+ = f.label :email
7
+ %br/
8
+ = f.email_field :email, autofocus: true
9
+ - if devise_mapping.confirmable? && resource.pending_reconfirmation?
10
+ %div
11
+ Currently waiting confirmation for: #{resource.unconfirmed_email}
12
+ .field
13
+ = f.label :password
14
+ %i (leave blank if you don't want to change it)
15
+ %br/
16
+ = f.password_field :password, autocomplete: "off"
17
+ .field
18
+ = f.label :password_confirmation
19
+ %br/
20
+ = f.password_field :password_confirmation, autocomplete: "off"
21
+ .field
22
+ = f.label :current_password
23
+ %i (we need your current password to confirm your changes)
24
+ %br/
25
+ = f.password_field :current_password, autocomplete: "off"
26
+ .actions
27
+ = f.submit "Update"
28
+ %h3 Cancel my account
29
+ %p
30
+ Unhappy? #{button_to "Cancel my account", registration_path(resource_name), data: { confirm: "Are you sure?" }, method: :delete}
31
+ = link_to "Back", :back
@@ -0,0 +1,21 @@
1
+ %h2 Sign up
2
+ = form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
3
+ = devise_error_messages!
4
+ .field
5
+ = f.label :email
6
+ %br/
7
+ = f.email_field :email, autofocus: true
8
+ .field
9
+ = f.label :password
10
+ - if @minimum_password_length
11
+ %em
12
+ (#{@minimum_password_length} characters minimum)
13
+ %br/
14
+ = f.password_field :password, autocomplete: "off"
15
+ .field
16
+ = f.label :password_confirmation
17
+ %br/
18
+ = f.password_field :password_confirmation, autocomplete: "off"
19
+ .actions
20
+ = f.submit "Sign up"
21
+ = render "devise/shared/links"
@@ -0,0 +1,14 @@
1
+ %div(class="session-layout")
2
+ %main
3
+ %div#sign-in
4
+ = form_for(resource, builder: Jobshop::Builder, as: resource_name, url: session_path(resource_name)) do |f|
5
+ .mdl-card__title
6
+ %object.logo{ type: "image/svg+xml", data: image_path("jobshop/logo.svg") }
7
+
8
+ .mdl-card__supporting-text
9
+ %div= f.email_field(:email)
10
+ %div= f.password_field(:password)
11
+
12
+ .mdl-card__actions
13
+ %div= f.check_box :remember_me, "Remember me?"
14
+ %div= f.button "Log in", class: "mdl-js-ripple-effect"
@@ -0,0 +1,19 @@
1
+ - if controller_name != 'sessions'
2
+ = link_to "Log in", new_session_path(resource_name)
3
+ %br/
4
+ - if devise_mapping.registerable? && controller_name != 'registrations'
5
+ = link_to "Sign up", new_registration_path(resource_name)
6
+ %br/
7
+ - if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations'
8
+ = link_to "Forgot your password?", new_password_path(resource_name)
9
+ %br/
10
+ - if devise_mapping.confirmable? && controller_name != 'confirmations'
11
+ = link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name)
12
+ %br/
13
+ - if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks'
14
+ = link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name)
15
+ %br/
16
+ - if devise_mapping.omniauthable?
17
+ - resource_class.omniauth_providers.each do |provider|
18
+ = link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider)
19
+ %br/
@@ -0,0 +1,10 @@
1
+ %h2 Resend unlock instructions
2
+ = form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f|
3
+ = devise_error_messages!
4
+ .field
5
+ = f.label :email
6
+ %br/
7
+ = f.email_field :email, autofocus: true
8
+ .actions
9
+ = f.submit "Resend unlock instructions"
10
+ = render "devise/shared/links"
@@ -1 +1,140 @@
1
- %h1 Welcome aboard!
1
+ %div(class="demo-layout mdl-layout mdl-js-layout mdl-layout--fixed-drawer mdl-layout--fixed-header")
2
+ %header(class="demo-header mdl-layout__header mdl-color--grey-100 mdl-color-text--grey-600")
3
+ %div(class="mdl-layout__header-row")
4
+ %span(class="mdl-layout-title") Home
5
+ %div(class="mdl-layout-spacer")
6
+ %div(class="mdl-textfield mdl-js-textfield mdl-textfield--expandable")
7
+ %label(class="mdl-button mdl-js-button mdl-button--icon" for="search")
8
+ %i(class="material-icons") search
9
+ %div(class="mdl-textfield__expandable-holder")
10
+ %input(class="mdl-textfield__input" type="text" id="search")
11
+ %label(class="mdl-textfield__label" for="search") Enter your query...
12
+ %button(class="mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--icon" id="hdrbtn")
13
+ %i(class="material-icons") more_vert
14
+ %ul(class="mdl-menu mdl-js-menu mdl-js-ripple-effect mdl-menu--bottom-right" for="hdrbtn")
15
+ %li(class="mdl-menu__item")= link_to("About", about_path)
16
+ %li(class="mdl-menu__item") Contact
17
+ %li(class="mdl-menu__item") Legal information
18
+ %div(class="demo-drawer mdl-layout__drawer mdl-color--blue-grey-900 mdl-color-text--indigo-50")
19
+ %header(class="demo-drawer-header")
20
+ %i(class="material-icons" style="font-size: 48px;") person
21
+ //%img(class="demo-avatar" src="images/user.jpg")
22
+ %div(class="demo-avatar-dropdown")
23
+ %span= current_user.email
24
+ %div(class="mdl-layout-spacer")
25
+ %button(id="accbtn" class="mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--icon")
26
+ %i(class="material-icons" role="presentation") arrow_drop_down
27
+ %span(class="visuallyhidden") User Actions
28
+ %ul(class="mdl-menu mdl-menu--bottom-right mdl-js-menu mdl-js-ripple-effect" for="accbtn")
29
+ %li(class="mdl-menu__item")
30
+ %a(href="#{destroy_user_session_path}" data-method="delete") Sign out
31
+ %nav(class="demo-navigation mdl-navigation mdl-color--blue-grey-800")
32
+ %a(class="mdl-navigation__link" href="")
33
+ %i(class="mdl-color-text--blue-grey-400 material-icons" role="presentation") home
34
+ Home
35
+ %a(class="mdl-navigation__link" href="")
36
+ %i(class="mdl-color-text--blue-grey-400 material-icons" role="presentation") flag
37
+ Updates
38
+ %div(class="mdl-layout-spacer")
39
+ %a(class="mdl-navigation__link" href="")
40
+ %i(class="mdl-color-text--blue-grey-400 material-icons" role="presentation") help_outline
41
+ Help
42
+
43
+ %main(class="mdl-layout__content mdl-color--grey-100")
44
+ %div(class="mdl-grid demo-content")
45
+ %div(class="demo-charts mdl-color--white mdl-shadow--2dp mdl-cell mdl-cell--12-col mdl-grid")
46
+ %svg(fill="currentColor" width="200px" height="200px" viewBox="0 0 1 1" class="demo-chart mdl-cell mdl-cell--4-col mdl-cell--3-col-desktop")
47
+ %use(xlink:href="#piechart" mask="url(#piemask)")
48
+ %text(x="0.5" y="0.5" font-family="Roboto" font-size="0.3" fill="#888" text-anchor="middle" dy="0.1")
49
+ 82
50
+ %tspan(font-size="0.2" dy="-0.07") %
51
+ %svg(fill="currentColor" width="200px" height="200px" viewBox="0 0 1 1" class="demo-chart mdl-cell mdl-cell--4-col mdl-cell--3-col-desktop")
52
+ %use(xlink:href="#piechart" mask="url(#piemask)")
53
+ %text(x="0.5" y="0.5" font-family="Roboto" font-size="0.3" fill="#888" text-anchor="middle" dy="0.1")
54
+ 82
55
+ %tspan(dy="-0.07" font-size="0.2") %
56
+ %svg(fill="currentColor" width="200px" height="200px" viewBox="0 0 1 1" class="demo-chart mdl-cell mdl-cell--4-col mdl-cell--3-col-desktop")
57
+ %use(xlink:href="#piechart" mask="url(#piemask)")
58
+ %text(x="0.5" y="0.5" font-family="Roboto" font-size="0.3" fill="#888" text-anchor="middle" dy="0.1")
59
+ 82
60
+ %tspan(dy="-0.07" font-size="0.2") %
61
+ %svg(fill="currentColor" width="200px" height="200px" viewBox="0 0 1 1" class="demo-chart mdl-cell mdl-cell--4-col mdl-cell--3-col-desktop")
62
+ %use(xlink:href="#piechart" mask="url(#piemask)")
63
+ %text(x="0.5" y="0.5" font-family="Roboto" font-size="0.3" fill="#888" text-anchor="middle" dy="0.1")
64
+ 82
65
+ %tspan(dy="-0.07" font-size="0.2") %
66
+ %div(class="mdl-shadow--2dp mdl-color--white mdl-cell mdl-cell--8-col")
67
+ %h2 Welcome aboard.
68
+ %div(class="demo-graphs mdl-shadow--2dp mdl-color--white mdl-cell mdl-cell--8-col")
69
+ %svg(fill="currentColor" viewBox="0 0 500 250" class="demo-graph")
70
+ %use(xlink:href="#chart")
71
+ %svg(fill="currentColor" viewBox="0 0 500 250" class="demo-graph")
72
+ %use(xlink:href="#chart")
73
+ %div(class="demo-cards mdl-cell mdl-cell--4-col mdl-cell--8-col-tablet mdl-grid mdl-grid--no-spacing")
74
+ %div(class="demo-options mdl-card mdl-color--orange-500 mdl-shadow--2dp mdl-cell mdl-cell--4-col mdl-cell--3-col-tablet mdl-cell--12-col-desktop")
75
+ %div(class="mdl-card__supporting-text mdl-color-text--blue-grey-50")
76
+ %h3 View options
77
+ %ul
78
+ %li
79
+ %label(for="chkbox1" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect")
80
+ %input(type="checkbox" id="chkbox1" class="mdl-checkbox__input")
81
+ %span(class="mdl-checkbox__label") Identify key people
82
+ %li
83
+ %label(for="chkbox2" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect")
84
+ %input(type="checkbox" id="chkbox2" class="mdl-checkbox__input")
85
+ %span(class="mdl-checkbox__label") Identify key places
86
+ %li
87
+ %label(for="chkbox3" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect")
88
+ %input(type="checkbox" id="chkbox3" class="mdl-checkbox__input")
89
+ %span(class="mdl-checkbox__label") Identify key things
90
+ %li
91
+ %label(for="chkbox4" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect")
92
+ %input(type="checkbox" id="chkbox4" class="mdl-checkbox__input")
93
+ %span(class="mdl-checkbox__label") Make something!
94
+ %div(class="mdl-card__actions mdl-card--border")
95
+ %a(href="#" class="mdl-button mdl-js-button mdl-js-ripple-effect mdl-color-text--blue-grey-50") Lets get started!
96
+ %div(class="mdl-layout-spacer")
97
+ %i(class="material-icons") location_on
98
+ %div(class="demo-separator mdl-cell--1-col")
99
+ %div(class="demo-updates mdl-card mdl-shadow--2dp mdl-cell mdl-cell--4-col mdl-cell--4-col-tablet mdl-cell--12-col-desktop")
100
+ %div(class="mdl-card__title mdl-card--expand mdl-color--teal-300")
101
+ %h2(class="mdl-card__title-text") Updates
102
+ %div(class="mdl-card__supporting-text mdl-color-text--grey-600")
103
+ Non dolore elit adipisicing ea reprehenderit consectetur culpa.
104
+ %div(class="mdl-card__actions mdl-card--border")
105
+ %a(href="#" class="mdl-button mdl-js-button mdl-js-ripple-effect") Read More
106
+
107
+ %svg(style="position: fixed; left: -1000px; height: -1000px;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink")
108
+ %defs
109
+ %mask(id="piemask" maskContentUnits="objectBoundingBox")
110
+ %circle(cx="0.5" cy="0.5" fill="white" r="0.49")
111
+ %circle(cx="0.5" cy="0.5" fill="black" r="0.40")
112
+ %g(id="piechart")
113
+ %circle(cx="0.5" cy="0.5" r="0.5")
114
+ %path(d="M 0.5 0.5 0.5 0 A 0.5 0.5 0 0 1 0.95 0.28 z" fill="rgba(255, 255, 255, 0.75)" stroke="none")
115
+ %svg(version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 500 250" style="position: fixed; left: -1000px; height: -1000px;")
116
+ %defs
117
+ %g(id="chart")
118
+ %g(id="Gridlines")
119
+ %line(fill="#888888" stroke="#888888" stroke-miterlimit="10" x1="0" y1="27.3" x2="468.3" y2="27.3")
120
+ %line(fill="#888888" stroke="#888888" stroke-miterlimit="10" x1="0" y1="66.7" x2="468.3" y2="66.7")
121
+ %line(fill="#888888" stroke="#888888" stroke-miterlimit="10" x1="0" y1="105.3" x2="468.3" y2="105.3")
122
+ %line(fill="#888888" stroke="#888888" stroke-miterlimit="10" x1="0" y1="144.7" x2="468.3" y2="144.7")
123
+ %line(fill="#888888" stroke="#888888" stroke-miterlimit="10" x1="0" y1="184.3" x2="468.3" y2="184.3")
124
+ %g(id="Numbers")
125
+ %text(transform="matrix(1 0 0 1 485 29.3333)" fill="#888888" font-family="'Roboto'" font-size="9") 500
126
+ %text(transform="matrix(1 0 0 1 485 69)" fill="#888888" font-family="'Roboto'" font-size="9") 400
127
+ %text(transform="matrix(1 0 0 1 485 109.3333)" fill="#888888" font-family="'Roboto'" font-size="9") 300
128
+ %text(transform="matrix(1 0 0 1 485 149)" fill="#888888" font-family="'Roboto'" font-size="9") 200
129
+ %text(transform="matrix(1 0 0 1 485 188.3333)" fill="#888888" font-family="'Roboto'" font-size="9") 100
130
+ %text(transform="matrix(1 0 0 1 0 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9") 1
131
+ %text(transform="matrix(1 0 0 1 78 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9") 2
132
+ %text(transform="matrix(1 0 0 1 154.6667 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9") 3
133
+ %text(transform="matrix(1 0 0 1 232.1667 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9") 4
134
+ %text(transform="matrix(1 0 0 1 309 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9") 5
135
+ %text(transform="matrix(1 0 0 1 386.6667 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9") 6
136
+ %text(transform="matrix(1 0 0 1 464.3333 249.0003)" fill="#888888" font-family="'Roboto'" font-size="9") 7
137
+ %g(id="Layer_5")
138
+ %polygon(opacity="0.36" stroke-miterlimit="10" points="0,223.3 48,138.5 154.7,169 211,88.5 294.5,80.5 380,165.2 437,75.5 469.5,223.3")
139
+ %g(id="Layer_4")
140
+ %polygon(stroke-miterlimit="10" points="469.3,222.7 1,222.7 48.7,166.7 155.7,188.3 212,132.7 296.7,128 380.7,184.3 436.7,125")
@@ -1,11 +1,6 @@
1
- = content_for(:data_slug){ "index" }
2
-
3
- %header
4
- %object.logo{ type: "image/svg+xml", data: image_path("jobshop/logo.svg") }
5
-
6
- %main
7
- %section{ class: "card hoverable bubble" }
8
- .card-content
9
- %p.sub-head.center
10
- Powered By
11
- %b Jobshop
1
+ %div.layout
2
+ %header
3
+ %div
4
+ %span(class="mdl-layout-title") Jobshop
5
+ %main
6
+ %object.logo{ type: "image/svg+xml", data: image_path("jobshop/logo.svg") }