voluntary 0.1.0.rc2 → 0.1.0.rc3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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