voluntary 0.1.0.rc2 → 0.1.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YTM4ZjA2YmE0ZjA4MmE2ZDczNmJmNjdkODNhMjE2NjFjYWU1OTAzNg==
4
+ OWZiOTU2N2M1ZDk4NDk0OGMxZTVlMjQ1NzI0MGVkMTEwYTMyNjlmYw==
5
5
  data.tar.gz: !binary |-
6
- ZDlmNjBhZDgwNGUyZjQ2ZDdlODk2NDA1OGFmYTU5MTI2ZGFmZmE2OQ==
6
+ NjEwNjhkM2QzZjc2ZjBlZWM4YWM0MTJjZjhiYzhlMTJjZTY1MTI3MA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- YzUwYzRkN2E3Y2Q2OGJkOGZjZDAwZTZkYWZlNTFiNjg0NTNjNTkyZmRmMmZh
10
- YTY3MDcwMWM5YzM3MmM0ODJhYjZlOWZhMzllMjJjZTFiMWQ0NzY5MDllY2E0
11
- MGYyN2U4YjVmNzg0NjI4ZTY2NWVmZjM2MWUxYzg0NzMyNzg4MDg=
9
+ ODlmZTViN2FlZGU3Y2ZjYzBmZWQ0MjYzNzhhNjEyYTYxY2QxMzgwZWJmZDgx
10
+ NzA0M2RkMmMwMTZlNTgyZTI2YTM1MDI4NjgwNjQ2MTViNTRhOTE5Njc2YTRj
11
+ YzBjZDAyMmRiYjdkMzkyNjA3NjdiNGMxYmYwODljNjFhMGI2Mjc=
12
12
  data.tar.gz: !binary |-
13
- YjE1NzljM2NlZTI5MGRkYWNlMjNkMzkxOTlhOTkzZGY1ZTBiNmQ2MWJlNGMx
14
- YjM3N2UwZGUzYzUzYmQ5YmQ2OGRiYjljM2QyNzJjN2JiMjdkMzdiMWUwNWU1
15
- N2ZjOWM5NTgyMWRlYzM2MmM0ZTA1Nzg3YmM4ZThiZjBkNjc5Y2Q=
13
+ MmEyYzhhN2NlM2Q1ZGRmM2NmNTQwYTIzNDE4ZDIwNTYwODcwNGRhMGNiMDg0
14
+ ZmY1YzlkZmZmNTRiNzk3ZDg2NzliYmZkOTVjMGZmYzgwYzI1MTAxNmQwOTEy
15
+ ZWEwYWMxNWNkNmNmOGIzZTYyNmE5OTI1Zjc4OWQwZGZiOGMwYmQ=
data/README.rdoc CHANGED
@@ -12,7 +12,7 @@ Run this in your console:
12
12
 
13
13
  rvm --create use 1.9.3@your_crowdsourcing_platform_name
14
14
  gem update bundler
15
- gem install rails -v 3.2.13 --no-rdoc --no-ri
15
+ gem install rails -v 3.2.14 --no-rdoc --no-ri
16
16
  rails new your_crowdsourcing_platform_name
17
17
  cd your_crowdsourcing_platform_name
18
18
 
@@ -61,21 +61,23 @@ Run this in your console:
61
61
  cd voluntary_product_name
62
62
  rvm --create use --rvmrc 1.9.3@voluntary_product_name
63
63
  gem update bundler
64
- gem install rails --no-ri --no-rdoc
64
+ gem install rails --no-ri --no-rdoc -v=3.2.14
65
65
  cd ..
66
- rails plugin new voluntary_music_research --database=postgresql --skip-javascript --skip-test-unit --dummy-path=dummy --full
66
+ rails plugin new voluntary_product_name --database=postgresql --skip-javascript --skip-test-unit --dummy-path=dummy --full
67
67
  cd voluntary_product_name
68
- # Add voluntary gem as a dependency to gemspec.
69
- # Add development dependencies to gemspec, see voluntary_text_creation.
70
- bundle install
68
+ # Add voluntary gem as a dependency to gemspec ('0.1.0.rc2').
69
+ # add "require 'voluntary'" to lib/voluntary_product_name.rb
70
+ # Still needed?: Add development dependencies to dummy Gemfile, see voluntary_text_creation.
71
+ # bundle install
71
72
  cd dummy
72
- rails g voluntary:product_dummy # confirm all overwrite questions
73
+ # change config/boot.rb to require bundler through the else case mentioned here: https://github.com/volontariat/voluntary_classified_advertising/blob/master/dummy/config/boot.rb
74
+ # change database names to #{product_name}_#{environment} and customize user credentials in config/database.yml
75
+ rake db:create:all && rails g voluntary:product_dummy # confirm all overwrite questions
73
76
  # Add "gemspec path: File.expand_path(File.dirname(__FILE__) + '/../')" to the top of the dummy's Gemfile
74
77
  bundle install # if it hangs at Fetching source index stop it and deactivate gems until it works and add them back one by one
75
- >> migrations of voluntary and voluntary_* gems <<
76
- # database.yml erstellen
77
- # optional: bundle exec rake db:migrate
78
- # add "require 'voluntary'" to ../lib/voluntary_product_name.rb
78
+ rake railties:install:migrations
79
+ # change database names to #{product_name}_#{environment} and customize user credentials in config/mongoid.yml
80
+ rake db:migrate && rake db:test:clone_structure
79
81
  bundle exec rails s
80
82
 
81
83
  = License
@@ -19,6 +19,7 @@ class AreasController < ApplicationController
19
19
  def show
20
20
  @area = Area.find(params[:id])
21
21
  @areas = @area.children
22
+ @projects = @area.projects
22
23
  end
23
24
 
24
25
  def new
@@ -18,7 +18,6 @@ class UsersController < ApplicationController
18
18
  end
19
19
 
20
20
  def edit
21
- @presenter = Resources::User::FormPresenter.new(self.view_context, resource: resource)
22
21
  end
23
22
 
24
23
  def preferences
@@ -48,5 +47,6 @@ class UsersController < ApplicationController
48
47
 
49
48
  def find_resource
50
49
  @user = User.find(params[:id])
50
+ @presenter = Resources::User::FormPresenter.new(self.view_context, resource: resource)
51
51
  end
52
52
  end
@@ -86,7 +86,11 @@ class Voluntary::ApplicationController < ActionController::Base
86
86
  end
87
87
 
88
88
  def not_found(e)
89
- logger.info "not found (#{e.inspect})"
90
- redirect_to root_path, notice: t('general.exceptions.not_found')
89
+ if Rails.env.development?
90
+ raise e
91
+ else
92
+ logger.info "not found (#{e.inspect})"
93
+ redirect_to root_path, notice: t('general.exceptions.not_found')
94
+ end
91
95
  end
92
96
  end
@@ -1,6 +1,7 @@
1
1
  class Workflow::ProductsController < ApplicationController
2
2
  def show
3
3
  @stories = Product.stories(params[:id], current_user, params[:page])
4
+ @areas = Area.find_by_product_id(params[:id])
4
5
  @product = Product.find(params[:id]) unless params[:id] == 'no-name'
5
6
  end
6
7
  end
@@ -0,0 +1,7 @@
1
+ class Workflow::User::Product::AreasController < ApplicationController
2
+ def show
3
+ @area = Area.find(params[:id])
4
+ @areas = @area.children_for_product_id(params[:product_id])
5
+ @projects = @area.projects.for_product_id(params[:product_id])
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ class Workflow::User::ProjectsController < ApplicationController
2
+ def show
3
+ @project = Project.find(params[:id])
4
+ @stories = @project.stories.active.paginate(page: params[:page])
5
+ end
6
+ end
@@ -2,5 +2,6 @@ class Workflow::UserController < ApplicationController
2
2
  def index
3
3
  @assigned_tasks = Task.where(user_id: current_user.id, state: 'assigned')
4
4
  @completed_tasks = Task.complete.where(user_id: current_user.id)
5
+ @sidenav_links_count = 1
5
6
  end
6
7
  end
@@ -1,7 +1,7 @@
1
1
  module LayoutHelper
2
2
  def breadcrumbs
3
3
  result = render_navigation context: :main, renderer: :breadcrumbs_without_method_links, join_with: ' &gt; '
4
- result && result.split('<a').length > 2 ? result : ''
4
+ result = result && result.scan('<a').length > 1 ? result : ''
5
5
 
6
6
  if respond_to?(:resource) && resource.respond_to?(:ancestors)
7
7
  breadcrumbs_with_ancestors(result)
@@ -18,9 +18,10 @@ module LayoutHelper
18
18
  raw links.join(' &gt; ')
19
19
  end
20
20
 
21
- def sidenav
21
+ def sidenav(links_count = 2)
22
+ links_count ||= 2
22
23
  result = render_navigation context: :main, renderer: :twitter_sidenav, level: @twitter_sidenav_level
23
- result && result.split('<a').length > 2 ? result : ''
24
+ result && result.scan('<a').length >= links_count ? result : ''
24
25
  end
25
26
 
26
27
  def footer_navigation
data/app/models/area.rb CHANGED
@@ -14,6 +14,14 @@ class Area < ActiveRecord::Base
14
14
 
15
15
  friendly_id :name, :use => :slugged
16
16
 
17
+ def self.find_by_product_id(product_id)
18
+ roots.joins(:projects).merge(Project.for_product_id(product_id)).group('areas.id')
19
+ end
20
+
21
+ def children_for_product_id(product_id)
22
+ children.joins(:projects).merge(Project.for_product_id(product_id)).group('areas.id')
23
+ end
24
+
17
25
  def products
18
26
  end
19
27
  end
@@ -10,6 +10,12 @@ class Project < ActiveRecord::Base
10
10
  has_and_belongs_to_many :users
11
11
  has_and_belongs_to_many :areas
12
12
 
13
+ scope :for_product_id, ->(product_id) do
14
+ product_id = product_id.to_s
15
+ product_id = product_id == 'no-name' ? '' : product_id
16
+ where(product_id: product_id)
17
+ end
18
+
13
19
  accepts_nested_attributes_for :areas, allow_destroy: true
14
20
 
15
21
  validates :user_id, presence: true
@@ -9,4 +9,8 @@
9
9
 
10
10
  <%= render 'shared/collection/table',
11
11
  type: 'areas', collection: @areas, columns: ['name', 'users_count'], options: { area: { parent_id: @area.id } }
12
- %>
12
+ %>
13
+
14
+ <%= render 'shared/collection/table',
15
+ type: 'projects', collection: @projects, columns: ['name', 'product_id']
16
+ %>
@@ -30,7 +30,7 @@
30
30
  <%= yield %>
31
31
  </div>
32
32
  <div class="span3">
33
- <%= sidenav %>
33
+ <%= sidenav(@sidenav_links_count) %>
34
34
  </div>
35
35
  </div>
36
36
  </div>
@@ -1,34 +1,10 @@
1
1
  <h3><%= params[:id] == 'no-name' ? 'No Name' : @product.name %></h3>
2
2
 
3
- <% columns = ['name'] %>
3
+ <%= render 'shared/collection/table',
4
+ type: 'areas', collection: @areas, columns: {
5
+ 'name' => ->(resource) do
6
+ link_to resource.name, product_area_workflow_user_index_path(params[:id], resource)
7
+ end, 'users_count' => nil
8
+ }
9
+ %>
4
10
 
5
- <% if @stories.none? || @stories.select{|e| e.id.present? }.none? %>
6
- <p><%= I18n.t("stories.index.empty_collection")%></p>
7
- <% else %>
8
- <table class="table table-striped">
9
- <thead>
10
- <tr class="<%= cycle('odd', 'even') %>">
11
- <% columns.map{|c| c.gsub('_id', '')}.each do |column| %>
12
- <th><%= t("activerecord.attributes.story.#{column}") %></th>
13
- <% end %>
14
- <th></th>
15
- </tr>
16
- </thead>
17
- <tbody>
18
- <% @stories.select{|e| e.id.present? }.each do |resource| %>
19
- <tr class="<%= cycle('odd', 'even') %>">
20
- <% columns.each do |column| %>
21
- <td>
22
- <%= table_cell column, resource, columns.is_a?(Hash) ? columns[column] : nil %>
23
- </td>
24
- <% end %>
25
- <td>
26
- <%= link_to t('workflow.user.next_task'), next_task_workflow_user_index_path(resource) %>
27
- </td>
28
- </tr>
29
- <% end %>
30
- </tbody>
31
- </table>
32
- <% end %>
33
-
34
- <%= paginate @stories if self.respond_to? :paginate %>
@@ -0,0 +1,18 @@
1
+ <h3><%= params[:product_id] == 'no-name' ? 'No Name' : @product.name %></h3>
2
+
3
+ <%= render 'shared/collection/table',
4
+ type: 'areas', collection: @areas, columns: {
5
+ 'name' => ->(resource) do
6
+ link_to resource.name, product_area_workflow_user_index_path(params[:product_id], resource)
7
+ end, 'users_count' => nil
8
+ }
9
+ %>
10
+
11
+ <%= render 'shared/collection/table',
12
+ type: 'projects', collection: @projects, columns: {
13
+ 'name' => ->(resource) do
14
+ link_to resource.name, user_project_workflow_user_index_path(resource)
15
+ end
16
+ }
17
+ %>
18
+
@@ -0,0 +1,34 @@
1
+ <h3><%= @project.name %></h3>
2
+
3
+ <% columns = ['name'] %>
4
+
5
+ <% if @stories.none? || @stories.select{|e| e.id.present? }.none? %>
6
+ <p><%= I18n.t("stories.index.empty_collection")%></p>
7
+ <% else %>
8
+ <table class="table table-striped">
9
+ <thead>
10
+ <tr class="<%= cycle('odd', 'even') %>">
11
+ <% columns.map{|c| c.gsub('_id', '')}.each do |column| %>
12
+ <th><%= t("activerecord.attributes.story.#{column}") %></th>
13
+ <% end %>
14
+ <th></th>
15
+ </tr>
16
+ </thead>
17
+ <tbody>
18
+ <% @stories.select{|e| e.id.present? }.each do |resource| %>
19
+ <tr class="<%= cycle('odd', 'even') %>">
20
+ <% columns.each do |column| %>
21
+ <td>
22
+ <%= table_cell column, resource, columns.is_a?(Hash) ? columns[column] : nil %>
23
+ </td>
24
+ <% end %>
25
+ <td>
26
+ <%= link_to t('workflow.user.next_task'), next_task_workflow_user_index_path(resource) %>
27
+ </td>
28
+ </tr>
29
+ <% end %>
30
+ </tbody>
31
+ </table>
32
+ <% end %>
33
+
34
+ <%= will_paginate @stories %>
@@ -0,0 +1,53 @@
1
+ match 'workflow' => 'workflow#index', as: :workflow
2
+
3
+ namespace 'workflow' do
4
+ resources :project_owner, only: :index do
5
+ collection do
6
+ match 'tasks/:id/edit' => 'tasks#edit', as: :edit_task
7
+ end
8
+ end
9
+
10
+ resources :user, only: :index do
11
+ collection do
12
+ match 'products/:id' => 'products#show', as: :product
13
+ match 'products/:product_id/areas/:id' => 'user/product/areas#show', as: :product_area
14
+
15
+ match 'projects/:id' => 'user/projects#show', as: :user_project
16
+
17
+ match 'stories/:story_id/tasks' => 'tasks#index', as: :tasks
18
+ match 'stories/:story_id/tasks/next' => 'tasks#next', as: :next_task
19
+ put 'tasks/:id' => 'tasks#update', as: :update_task
20
+ match 'tasks/:id/edit' => 'tasks#edit', as: :edit_task
21
+
22
+ match 'tasks/:id/assign' => 'tasks#assign', as: :assign_task
23
+ match 'tasks/:id/review' => 'tasks#review', as: :review_task
24
+ match 'tasks/:id/unassign' => 'tasks#unassign', as: :unassign_task
25
+ match 'tasks/:id/complete' => 'tasks#complete', as: :complete_task
26
+ end
27
+ end
28
+
29
+ resources :vacancies, controller: 'vacancies', only: :index do
30
+ collection do
31
+ match '/' => 'vacancies#open', as: :open
32
+
33
+ get :autocomplete
34
+
35
+ get :open
36
+ get :recommended
37
+ get :denied
38
+ get :closed
39
+ end
40
+ end
41
+
42
+ resources :candidatures, controller: 'candidatures', only: :index do
43
+ collection do
44
+ match '/' => 'candidatures#new', as: :new
45
+
46
+ get :autocomplete
47
+
48
+ get :new
49
+ get :accepted
50
+ get :denied
51
+ end
52
+ end
53
+ end
data/config/routes.rb CHANGED
@@ -1,3 +1,11 @@
1
+ class ActionDispatch::Routing::Mapper
2
+ def draw(routes_name)
3
+ path = File.expand_path("routes/#{routes_name}.rb", File.dirname(__FILE__))
4
+
5
+ instance_eval(File.read(path))
6
+ end
7
+ end
8
+
1
9
  Rails.application.routes.draw do
2
10
  devise_for :users, controllers: {
3
11
  registrations: 'devise_extensions/registrations',
@@ -128,56 +136,8 @@ Rails.application.routes.draw do
128
136
  match 'preferences', via: [:get, :put]
129
137
  end
130
138
  end
131
-
132
- match 'workflow' => 'workflow#index', as: :workflow
133
-
134
- namespace 'workflow' do
135
- resources :project_owner, only: :index do
136
- collection do
137
- match 'tasks/:id/edit' => 'tasks#edit', as: :edit_task
138
- end
139
- end
140
-
141
- resources :user, only: :index do
142
- collection do
143
- match 'products/:id' => 'products#show', as: :product
144
- match 'stories/:story_id/tasks' => 'tasks#index', as: :tasks
145
- match 'stories/:story_id/tasks/next' => 'tasks#next', as: :next_task
146
- put 'tasks/:id' => 'tasks#update', as: :update_task
147
- match 'tasks/:id/edit' => 'tasks#edit', as: :edit_task
148
-
149
- match 'tasks/:id/assign' => 'tasks#assign', as: :assign_task
150
- match 'tasks/:id/review' => 'tasks#review', as: :review_task
151
- match 'tasks/:id/unassign' => 'tasks#unassign', as: :unassign_task
152
- match 'tasks/:id/complete' => 'tasks#complete', as: :complete_task
153
- end
154
- end
155
-
156
- resources :vacancies, controller: 'vacancies', only: :index do
157
- collection do
158
- match '/' => 'vacancies#open', as: :open
159
-
160
- get :autocomplete
161
-
162
- get :open
163
- get :recommended
164
- get :denied
165
- get :closed
166
- end
167
- end
168
-
169
- resources :candidatures, controller: 'candidatures', only: :index do
170
- collection do
171
- match '/' => 'candidatures#new', as: :new
172
-
173
- get :autocomplete
174
-
175
- get :new
176
- get :accepted
177
- get :denied
178
- end
179
- end
180
- end
139
+
140
+ draw :workflow
181
141
 
182
142
  resources :pages do
183
143
  collection do
@@ -1,5 +1,9 @@
1
+ require Rails.root.join('spec', 'support', 'mongo_database_cleaner')
2
+
1
3
  class CreateSchema < ActiveRecord::Migration
2
4
  def up
5
+ MongoDatabaseCleaner.clean
6
+
3
7
  create_table :users do |t|
4
8
  t.string :name
5
9
  t.string :slug
@@ -209,6 +213,8 @@ class CreateSchema < ActiveRecord::Migration
209
213
  add_index :friendly_id_slugs, :sluggable_id
210
214
  add_index :friendly_id_slugs, [:slug, :sluggable_type], :unique => true
211
215
  add_index :friendly_id_slugs, :sluggable_type
216
+
217
+ DbSeed.new.create_fixtures
212
218
  end
213
219
 
214
220
  def down
data/lib/db_seed.rb CHANGED
@@ -1,7 +1,12 @@
1
1
  require 'faker'
2
2
 
3
3
  class DbSeed
4
- USER_ROLES = {}
4
+ USER_ROLES = {
5
+ master: {},
6
+ admin: {},
7
+ project_owner: {},
8
+ user: {}
9
+ }
5
10
 
6
11
  attr_accessor :logger, :user_roles
7
12
 
@@ -23,6 +23,7 @@ module Voluntary
23
23
  gem 'acts_as_markup', git: 'git://github.com/vigetlabs/acts_as_markup.git'
24
24
  gem 'auto_html', git: 'git://github.com/Applicat/auto_html'
25
25
  gem 'recaptcha', require: 'recaptcha/rails'
26
+ gem "will_paginate", github: "mislav/will_paginate"
26
27
 
27
28
  # queue
28
29
 
@@ -22,12 +22,15 @@ module Voluntary
22
22
 
23
23
  # model
24
24
  gem 'settingslogic', git: 'https://github.com/binarylogic/settingslogic.git'
25
- gem 'acts-as-taggable-on', git: 'https://github.com/mbleigh/acts-as-taggable-on.git'
25
+
26
+ # TODO: check if we need edge version
27
+ #gem 'acts-as-taggable-on', git: 'https://github.com/mbleigh/acts-as-taggable-on.git'
26
28
 
27
29
  # view
28
30
  gem 'acts_as_markup', git: 'git://github.com/vigetlabs/acts_as_markup.git'
29
31
  gem 'auto_html', git: 'git://github.com/Applicat/auto_html'
30
32
  gem 'recaptcha', require: 'recaptcha/rails'
33
+ gem "will_paginate", github: "mislav/will_paginate"
31
34
 
32
35
  # queue
33
36
 
@@ -1,3 +1,3 @@
1
1
  module Voluntary
2
- VERSION = '0.1.0.rc2'
2
+ VERSION = '0.1.0.rc3'
3
3
  end
data/lib/voluntary.rb CHANGED
@@ -29,6 +29,7 @@ require 'simple_form'
29
29
  require 'country_select'
30
30
  require 'diffy'
31
31
  require 'will_paginate'
32
+ require 'will_paginate/mongoid'
32
33
  require 'client_side_validations'
33
34
  require 'gon'
34
35
  require 'carrierwave'
@@ -52,6 +53,7 @@ require 'simple-navigation-bootstrap'
52
53
  require 'faraday'
53
54
  require 'faraday_middleware'
54
55
  require 'sass-rails'
56
+ require 'sass'
55
57
  require 'coffee-rails'
56
58
  require 'handlebars_assets'
57
59
  require 'uglifier'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: voluntary
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.rc2
4
+ version: 0.1.0.rc3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mathias Gawlista
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-31 00:00:00.000000000 Z
11
+ date: 2013-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -112,16 +112,16 @@ dependencies:
112
112
  name: devise
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ! '>='
115
+ - - ~>
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: '2'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ! '>='
122
+ - - ~>
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: '2'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: cancan
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -322,16 +322,16 @@ dependencies:
322
322
  name: acts-as-taggable-on
323
323
  requirement: !ruby/object:Gem::Requirement
324
324
  requirements:
325
- - - ! '>='
325
+ - - '='
326
326
  - !ruby/object:Gem::Version
327
- version: '0'
327
+ version: 2.4.1
328
328
  type: :runtime
329
329
  prerelease: false
330
330
  version_requirements: !ruby/object:Gem::Requirement
331
331
  requirements:
332
- - - ! '>='
332
+ - - '='
333
333
  - !ruby/object:Gem::Version
334
- version: '0'
334
+ version: 2.4.1
335
335
  - !ruby/object:Gem::Dependency
336
336
  name: mongoid_slug
337
337
  requirement: !ruby/object:Gem::Requirement
@@ -696,6 +696,20 @@ dependencies:
696
696
  - - ! '>='
697
697
  - !ruby/object:Gem::Version
698
698
  version: '0'
699
+ - !ruby/object:Gem::Dependency
700
+ name: bootstrap-sass-rails
701
+ requirement: !ruby/object:Gem::Requirement
702
+ requirements:
703
+ - - ~>
704
+ - !ruby/object:Gem::Version
705
+ version: '2'
706
+ type: :runtime
707
+ prerelease: false
708
+ version_requirements: !ruby/object:Gem::Requirement
709
+ requirements:
710
+ - - ~>
711
+ - !ruby/object:Gem::Version
712
+ version: '2'
699
713
  - !ruby/object:Gem::Dependency
700
714
  name: auto_html
701
715
  requirement: !ruby/object:Gem::Requirement
@@ -836,6 +850,20 @@ dependencies:
836
850
  - - ! '>='
837
851
  - !ruby/object:Gem::Version
838
852
  version: '0'
853
+ - !ruby/object:Gem::Dependency
854
+ name: cucumber-rails
855
+ requirement: !ruby/object:Gem::Requirement
856
+ requirements:
857
+ - - '='
858
+ - !ruby/object:Gem::Version
859
+ version: 1.3.0
860
+ type: :development
861
+ prerelease: false
862
+ version_requirements: !ruby/object:Gem::Requirement
863
+ requirements:
864
+ - - '='
865
+ - !ruby/object:Gem::Version
866
+ version: 1.3.0
839
867
  - !ruby/object:Gem::Dependency
840
868
  name: cucumber-rails-training-wheels
841
869
  requirement: !ruby/object:Gem::Requirement
@@ -1111,6 +1139,8 @@ files:
1111
1139
  - app/controllers/workflow/project_owner_controller.rb
1112
1140
  - app/controllers/workflow/stories_controller.rb
1113
1141
  - app/controllers/workflow/tasks_controller.rb
1142
+ - app/controllers/workflow/user/product/areas_controller.rb
1143
+ - app/controllers/workflow/user/projects_controller.rb
1114
1144
  - app/controllers/workflow/user_controller.rb
1115
1145
  - app/controllers/workflow/vacancies_controller.rb
1116
1146
  - app/controllers/workflow_controller.rb
@@ -1258,6 +1288,8 @@ files:
1258
1288
  - app/views/workflow/tasks/steps/_work.html.erb
1259
1289
  - app/views/workflow/user/_tasks.html.erb
1260
1290
  - app/views/workflow/user/index.html.erb
1291
+ - app/views/workflow/user/product/areas/show.html.erb
1292
+ - app/views/workflow/user/projects/show.html.erb
1261
1293
  - config/initializers/1_initialize_app_config.rb
1262
1294
  - config/initializers/devise.rb
1263
1295
  - config/initializers/locale_settings.rb
@@ -1282,6 +1314,7 @@ files:
1282
1314
  - config/locales/resources/vacancy/en.yml
1283
1315
  - config/locales/simple_form.en.yml
1284
1316
  - config/locales/workflow/en.yml
1317
+ - config/routes/workflow.rb
1285
1318
  - config/routes.rb
1286
1319
  - db/migrate/20120907144853_create_schema.rb
1287
1320
  - db/migrate/20120911093743_remove_timestamps_from_habtm_tables.rb