voluntary 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/voluntary/application.js +1 -1
- data/app/assets/javascripts/voluntary/base.js.coffee +30 -1
- data/app/assets/stylesheets/voluntary/application.css +1 -0
- data/app/assets/stylesheets/voluntary/base.css.sass +1 -1
- data/app/controllers/areas_controller.rb +6 -5
- data/app/controllers/candidatures_controller.rb +15 -10
- data/app/controllers/concerns/voluntary/v1/base_controller.rb +95 -0
- data/app/controllers/devise_extensions/registrations_controller.rb +2 -2
- data/app/controllers/organizations_controller.rb +7 -6
- data/app/controllers/professions_controller.rb +6 -5
- data/app/controllers/projects_controller.rb +11 -6
- data/app/controllers/users_controller.rb +2 -2
- data/app/controllers/vacancies_controller.rb +14 -5
- data/app/controllers/voluntary/api/v1/api_controller.rb +9 -0
- data/app/controllers/voluntary/application_controller.rb +2 -66
- data/app/controllers/workflow/candidatures_controller.rb +1 -1
- data/app/controllers/workflow/products_controller.rb +7 -7
- data/app/controllers/workflow/stories_controller.rb +1 -1
- data/app/controllers/workflow/tasks_controller.rb +2 -2
- data/app/controllers/workflow/user/product/areas_controller.rb +2 -2
- data/app/controllers/workflow/user/projects_controller.rb +10 -2
- data/app/helpers/voluntary/application_helper.rb +79 -0
- data/app/helpers/voluntary/collection_helper.rb +45 -0
- data/app/helpers/voluntary/comments_helper.rb +13 -0
- data/app/helpers/voluntary/form_helper.rb +46 -0
- data/app/helpers/voluntary/language_helper.rb +17 -0
- data/app/helpers/voluntary/layout_helper.rb +42 -0
- data/app/helpers/voluntary/product_helper.rb +36 -0
- data/app/helpers/voluntary/show_helper.rb +67 -0
- data/app/helpers/voluntary/wizard_helper.rb +29 -0
- data/app/models/ability.rb +20 -4
- data/app/models/candidature.rb +10 -7
- data/app/models/column.rb +1 -0
- data/app/models/concerns/user/extensions.rb +5 -0
- data/app/models/concerns/user/listable.rb +10 -0
- data/app/models/list.rb +30 -0
- data/app/models/list_item.rb +22 -0
- data/app/models/organization.rb +1 -0
- data/app/models/page.rb +2 -1
- data/app/models/product.rb +3 -2
- data/app/models/project.rb +2 -2
- data/app/models/result.rb +1 -0
- data/app/models/role.rb +1 -1
- data/app/models/state_machines/candidature.rb +17 -1
- data/app/models/state_machines/story.rb +15 -2
- data/app/models/state_machines/task.rb +33 -0
- data/app/models/story.rb +3 -2
- data/app/models/task.rb +44 -6
- data/app/models/thing.rb +3 -0
- data/app/models/user.rb +15 -4
- data/app/models/vacancy.rb +7 -5
- data/app/presenters/resources/general/wizards/story/steps/setup_tasks_presenter.rb +1 -1
- data/app/presenters/shared/collection/table_presenter.rb +1 -1
- data/app/views/candidatures/index.html.erb +1 -1
- data/app/views/candidatures/show.html.erb +1 -1
- data/app/views/columns/_collection.html.erb +0 -0
- data/app/views/comments/_resource.html.erb +1 -1
- data/app/views/layouts/application.html.erb +12 -0
- data/app/views/layouts/shared/_navigation.html.erb +3 -3
- data/app/views/organizations/show.html.erb +0 -1
- data/app/views/products/index.html.erb +53 -4
- data/app/views/projects/_form.html.erb +1 -0
- data/app/views/projects/show.html.erb +2 -1
- data/app/views/shared/collection/_list.html.erb +1 -1
- data/app/views/shared/resource/_actions.html.erb +2 -2
- data/app/views/stories/_column_fields.html.erb +0 -0
- data/app/views/stories/_form.html.erb +1 -1
- data/app/views/stories/steps/_activate.html.erb +1 -1
- data/app/views/workflow/products/show.html.erb +1 -1
- data/app/views/workflow/project_owner/_candidatures.html.erb +2 -1
- data/app/views/workflow/tasks/_work_head.html.erb +1 -1
- data/app/views/workflow/tasks/steps/_complete.html.erb +6 -2
- data/app/views/workflow/tasks/steps/_review.html.erb +6 -2
- data/app/views/workflow/tasks/steps/_work.html.erb +4 -2
- data/app/views/workflow/user/product/areas/show.html.erb +0 -0
- data/app/views/workflow/user/projects/show.html.erb +0 -0
- data/config/initializers/devise.rb +2 -5
- data/config/initializers/filter_parameters_logging.rb +1 -0
- data/config/initializers/friendly_id.rb +88 -0
- data/config/initializers/wrap_parameters.rb +15 -0
- data/config/locales/general/en.yml +15 -9
- data/config/locales/resources/story/en.yml +1 -0
- data/config/routes.rb +9 -0
- data/config/routes/workflow.rb +15 -15
- data/db/migrate/20120907144853_create_schema.rb +1 -1
- data/db/migrate/20120922201955_create_mongo_db_documents.rb +1 -1
- data/db/migrate/20121004132105_create_professions.rb +1 -1
- data/db/migrate/20121006162913_add_public_attribute_to_roles.rb +20 -1
- data/db/migrate/20130817090734_create_lists.rb +33 -0
- data/db/migrate/20131018143613_replace_user_by_polymorphic_resource_in_candidatures.rb +46 -0
- data/db/migrate/20140307113214_add_user_id_to_organizations.rb +5 -0
- data/lib/api_constraints.rb +10 -0
- data/lib/applicat/mvc/model/tree.rb +1 -1
- data/lib/concerns/model/base_list_item.rb +30 -0
- data/lib/concerns/model/base_thing.rb +50 -0
- data/lib/db_seed.rb +15 -4
- data/lib/generators/voluntary/install/install_generator.rb +17 -16
- data/lib/generators/voluntary/install/templates/app/views/layouts/application.html.erb +17 -1
- data/lib/generators/voluntary/install/templates/config/main_navigation.rb +1 -260
- data/lib/generators/voluntary/install/templates/features/support/integration_sessions_controller.rb +1 -2
- data/lib/generators/voluntary/install/templates/spec/factories.rb +19 -0
- data/lib/generators/voluntary/install/templates/spec/support/mongo_database_cleaner.rb +14 -4
- data/lib/generators/voluntary/product_dummy/product_dummy_generator.rb +23 -17
- data/lib/generators/voluntary/product_dummy/templates/config/database.example.yml +1 -1
- data/lib/generators/voluntary/product_dummy/templates/dummy/spec/factories.rb +19 -0
- data/lib/generators/voluntary/product_dummy/templates/dummy/spec/spec_helper.rb +75 -0
- data/lib/generators/voluntary/product_dummy/templates/features/support/integration_sessions_controller.rb +1 -2
- data/lib/generators/voluntary/product_dummy/templates/spec/factories.rb +19 -0
- data/lib/voluntary.rb +10 -22
- data/lib/voluntary/engine.rb +27 -3
- data/lib/voluntary/navigation.rb +358 -0
- data/lib/voluntary/test/rspec_helpers/factories.rb +123 -0
- data/lib/voluntary/version.rb +1 -1
- data/vendor_extensions/active_model/naming.rb +1 -1
- metadata +526 -308
- data/app/helpers/application_helper.rb +0 -65
- data/app/helpers/collection_helper.rb +0 -35
- data/app/helpers/comments_helper.rb +0 -11
- data/app/helpers/form_helper.rb +0 -43
- data/app/helpers/language_helper.rb +0 -15
- data/app/helpers/layout_helper.rb +0 -39
- data/app/helpers/product_helper.rb +0 -34
- data/app/helpers/show_helper.rb +0 -65
- data/app/helpers/wizard_helper.rb +0 -27
- data/app/observers/candidature_observer.rb +0 -29
- data/app/observers/story_observer.rb +0 -6
- data/app/observers/task_observer.rb +0 -34
- data/lib/voluntary/helpers/application.rb +0 -69
- data/lib/voluntary/helpers/collection.rb +0 -35
- data/lib/voluntary/helpers/comments.rb +0 -15
- data/lib/voluntary/helpers/form.rb +0 -43
- data/lib/voluntary/helpers/language.rb +0 -19
- data/lib/voluntary/helpers/layout.rb +0 -28
- data/lib/voluntary/helpers/product.rb +0 -36
- data/lib/voluntary/helpers/show.rb +0 -69
- data/lib/voluntary/helpers/wizard.rb +0 -31
@@ -2,6 +2,7 @@
|
|
2
2
|
<%= render partial: 'shared/form/error_messages', locals: { resource: @project } %>
|
3
3
|
|
4
4
|
<div class="form-inputs">
|
5
|
+
<%= f.input :organization_id, collection: current_user.organizations %>
|
5
6
|
<%= f.input :product_id, collection: Product.all %>
|
6
7
|
<%= f.input :name %>
|
7
8
|
<%= f.input :text, input_html: {style: 'width: 500px; height:300px;'} %>
|
@@ -4,7 +4,8 @@
|
|
4
4
|
</h3>
|
5
5
|
|
6
6
|
<dl class="dl-horizontal">
|
7
|
-
|
7
|
+
<%= show_attribute(:product, title: t("attributes.product"), value: link_to(resource.product.name, product_path(resource.product))) if resource.product.present? %>
|
8
|
+
<%= show_associations :user, :organization, :areas %>
|
8
9
|
<%= show_actions %>
|
9
10
|
</dl>
|
10
11
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<th>
|
11
11
|
<% (columns.is_a?(Hash) ? columns.keys : columns).each do |column| %>
|
12
12
|
<strong><%= t(
|
13
|
-
"
|
13
|
+
"attributes.#{column}",
|
14
14
|
default: t("activerecord.attributes.#{type.singularize}.#{column}")
|
15
15
|
) %>:</strong>
|
16
16
|
|
@@ -9,8 +9,8 @@
|
|
9
9
|
<% if can? :destroy, resource %>
|
10
10
|
<li>
|
11
11
|
<%= link_to(
|
12
|
-
t('general.destroy'), resource, id: "#{resource.class.name.tableize.singularize}_#{resource.id}", method: :delete,
|
13
|
-
confirm: t('general.questions.are_you_sure'),
|
12
|
+
t('general.destroy'), polymorphic_or_resource_path(resource), id: "#{resource.class.name.tableize.singularize}_#{resource.id}", method: :delete,
|
13
|
+
data: { confirm: t('general.questions.are_you_sure') },
|
14
14
|
onclick: "delete_link('#{resource.class.name.tableize.singularize}_#{resource.id}'); return false;"
|
15
15
|
)
|
16
16
|
%>
|
File without changes
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= simple_form_for(@story, html: {class: 'form-vertical'}) do |f| %>
|
1
|
+
<%= simple_form_for(@story, url: @story.new_record? ? stories_path : story_path(@story), as: :story, html: {class: 'form-vertical'}) do |f| %>
|
2
2
|
<%= render partial: 'shared/form/error_messages', locals: { resource: @story } %>
|
3
3
|
|
4
4
|
<% unless @story.new_record? %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= simple_form_for(@story, html: {class: 'floating_form form-vertical'}) do |f| %>
|
1
|
+
<%= simple_form_for(@story, url: story_path(@story), as: :story, html: {class: 'floating_form form-vertical'}) do |f| %>
|
2
2
|
<%= render partial: 'shared/form/error_messages', locals: { resource: @story } %>
|
3
3
|
<% if step == :activate %>
|
4
4
|
<input type="hidden" name="next_step" value="1"/>
|
@@ -18,7 +18,8 @@
|
|
18
18
|
<%= render partial: 'shared/collection/table', locals: {
|
19
19
|
type: 'candidatures', collection: @candidatures[state],
|
20
20
|
columns: {
|
21
|
-
'project_id' => 'vacancy.project', 'vacancy_id' => '', 'name' => 'user.name',
|
21
|
+
'project_id' => 'vacancy.project', 'vacancy_id' => '', 'name' => 'user.name',
|
22
|
+
'resource_id' => ''
|
22
23
|
},
|
23
24
|
options: {show_title: false, append_new_link: false }
|
24
25
|
} %>
|
@@ -1,7 +1,11 @@
|
|
1
|
-
<%=
|
1
|
+
<%= render_product_specific_partial_if_available(
|
2
|
+
resource, 'workflow/tasks/work_head'
|
3
|
+
) %>
|
2
4
|
|
3
5
|
<%= simple_form_for(resource, url: update_task_workflow_user_index_path(resource), html: {class: 'form-horizontal'}) do |f| %>
|
4
|
-
<%=
|
6
|
+
<%= render_product_specific_partial_if_available(
|
7
|
+
resource, 'workflow/tasks/work_form', f: f, resource: resource
|
8
|
+
) %>
|
5
9
|
|
6
10
|
<div class="form-actions">
|
7
11
|
<%= f.button :submit %>
|
@@ -1,7 +1,11 @@
|
|
1
|
-
<%=
|
1
|
+
<%= render_product_specific_partial_if_available(
|
2
|
+
resource, 'workflow/tasks/work_head'
|
3
|
+
) %>
|
2
4
|
|
3
5
|
<%= simple_form_for(resource, url: update_task_workflow_user_index_path(resource), html: {class: 'form-horizontal'}) do |f| %>
|
4
|
-
<%=
|
6
|
+
<%= render_product_specific_partial_if_available(
|
7
|
+
resource, 'workflow/tasks/work_form', f: f, resource: resource
|
8
|
+
) %>
|
5
9
|
|
6
10
|
<div class="form-actions">
|
7
11
|
<%= f.button :submit %>
|
@@ -2,8 +2,10 @@
|
|
2
2
|
resource, 'workflow/tasks/work_head'
|
3
3
|
) %>
|
4
4
|
|
5
|
-
<%= simple_form_for(resource, url: update_task_workflow_user_index_path(resource), html: {class: 'form-horizontal'}) do |f| %>
|
6
|
-
<%=
|
5
|
+
<%= simple_form_for(resource, as: :task, url: update_task_workflow_user_index_path(resource), html: {class: 'form-horizontal'}) do |f| %>
|
6
|
+
<%= render_product_specific_partial_if_available(
|
7
|
+
resource, 'workflow/tasks/work_form', f: f, resource: resource
|
8
|
+
) %>
|
7
9
|
|
8
10
|
<div class="form-actions">
|
9
11
|
<%= f.button :submit %>
|
File without changes
|
File without changes
|
@@ -71,7 +71,7 @@ Devise.setup do |config|
|
|
71
71
|
# from others authentication tools as :clearance_sha1, :authlogic_sha512 (then
|
72
72
|
# you should set stretches above to 20 for default behavior) and :restful_authentication_sha1
|
73
73
|
# (then you should set stretches to 10, and copy REST_AUTH_SITE_KEY to pepper)
|
74
|
-
config.encryptor = :bcrypt
|
74
|
+
#config.encryptor = :bcrypt
|
75
75
|
|
76
76
|
# Setup a pepper to generate the encrypted password.
|
77
77
|
config.pepper = "065eb8798b181ff0ea2c5c16aee0ff8b70e04e2ee6bd6e08b49da46924223e39127d5335e466207d42bf2a045c12be5f90e92012a4f05f7fc6d9f3c875f4c95b"
|
@@ -136,10 +136,6 @@ Devise.setup do |config|
|
|
136
136
|
# change their passwords.
|
137
137
|
config.reset_password_within = 6.hours
|
138
138
|
|
139
|
-
# ==> Configuration for :token_authenticatable
|
140
|
-
# Defines name of the authentication token params key
|
141
|
-
config.token_authentication_key = :auth_token
|
142
|
-
|
143
139
|
# TODO: works at least for diaspora repository
|
144
140
|
#config.stateless_token = true
|
145
141
|
|
@@ -189,5 +185,6 @@ Devise.setup do |config|
|
|
189
185
|
# end
|
190
186
|
# manager.default_strategies(:scope => :user).unshift :twitter_oauth
|
191
187
|
# end
|
188
|
+
config.secret_key = '3c4cb1dfba4a47b762c39100e0aeaf377be5dc503304a13e94825eb07d922c493d268daabffed67826c1041269ee3168d2156862ab2d9691445d79ab051fc8be'
|
192
189
|
end
|
193
190
|
|
@@ -0,0 +1 @@
|
|
1
|
+
Rails.application.config.filter_parameters += [:password]
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# FriendlyId Global Configuration
|
2
|
+
#
|
3
|
+
# Use this to set up shared configuration options for your entire application.
|
4
|
+
# Any of the configuration options shown here can also be applied to single
|
5
|
+
# models by passing arguments to the `friendly_id` class method or defining
|
6
|
+
# methods in your model.
|
7
|
+
#
|
8
|
+
# To learn more, check out the guide:
|
9
|
+
#
|
10
|
+
# http://norman.github.io/friendly_id/file.Guide.html
|
11
|
+
|
12
|
+
FriendlyId.defaults do |config|
|
13
|
+
# ## Reserved Words
|
14
|
+
#
|
15
|
+
# Some words could conflict with Rails's routes when used as slugs, or are
|
16
|
+
# undesirable to allow as slugs. Edit this list as needed for your app.
|
17
|
+
config.use :reserved
|
18
|
+
|
19
|
+
config.reserved_words = %w(new edit index session login logout users admin
|
20
|
+
stylesheets assets javascripts images)
|
21
|
+
|
22
|
+
# ## Friendly Finders
|
23
|
+
#
|
24
|
+
# Uncomment this to use friendly finders in all models. By default, if
|
25
|
+
# you wish to find a record by its friendly id, you must do:
|
26
|
+
#
|
27
|
+
# MyModel.friendly.find('foo')
|
28
|
+
#
|
29
|
+
# If you uncomment this, you can do:
|
30
|
+
#
|
31
|
+
# MyModel.find('foo')
|
32
|
+
#
|
33
|
+
# This is significantly more convenient but may not be appropriate for
|
34
|
+
# all applications, so you must explicity opt-in to this behavior. You can
|
35
|
+
# always also configure it on a per-model basis if you prefer.
|
36
|
+
#
|
37
|
+
# Something else to consider is that using the :finders addon boosts
|
38
|
+
# performance because it will avoid Rails-internal code that makes runtime
|
39
|
+
# calls to `Module.extend`.
|
40
|
+
#
|
41
|
+
# config.use :finders
|
42
|
+
#
|
43
|
+
# ## Slugs
|
44
|
+
#
|
45
|
+
# Most applications will use the :slugged module everywhere. If you wish
|
46
|
+
# to do so, uncomment the following line.
|
47
|
+
#
|
48
|
+
# config.use :slugged
|
49
|
+
#
|
50
|
+
# By default, FriendlyId's :slugged addon expects the slug column to be named
|
51
|
+
# 'slug', but you can change it if you wish.
|
52
|
+
#
|
53
|
+
# config.slug_column = 'slug'
|
54
|
+
#
|
55
|
+
# When FriendlyId can not generate a unique ID from your base method, it appends
|
56
|
+
# a UUID, separated by a single dash. You can configure the character used as the
|
57
|
+
# separator. If you're upgrading from FriendlyId 4, you may wish to replace this
|
58
|
+
# with two dashes.
|
59
|
+
#
|
60
|
+
# config.sequence_separator = '-'
|
61
|
+
#
|
62
|
+
# ## Tips and Tricks
|
63
|
+
#
|
64
|
+
# ### Controlling when slugs are generated
|
65
|
+
#
|
66
|
+
# As of FriendlyId 5.0, new slugs are generated only when the slug field is
|
67
|
+
# nil, but you if you're using a column as your base method can change this
|
68
|
+
# behavior by overriding the `should_generate_new_friendly_id` method that
|
69
|
+
# FriendlyId adds to your model. The change below makes FriendlyId 5.0 behave
|
70
|
+
# more like 4.0.
|
71
|
+
#
|
72
|
+
# config.use Module.new {
|
73
|
+
# def should_generate_new_friendly_id?
|
74
|
+
# slug.blank? || <your_column_name_here>_changed?
|
75
|
+
# end
|
76
|
+
# }
|
77
|
+
#
|
78
|
+
# FriendlyId uses Rails's `parameterize` method to generate slugs, but for
|
79
|
+
# languages that don't use the Roman alphabet, that's not usually suffient. Here
|
80
|
+
# we use the Babosa library to transliterate Russian Cyrillic slugs to ASCII. If
|
81
|
+
# you use this, don't forget to add "babosa" to your Gemfile.
|
82
|
+
#
|
83
|
+
# config.use Module.new {
|
84
|
+
# def normalize_friendly_id(text)
|
85
|
+
# text.to_slug.normalize! :transliterations => [:russian, :latin]
|
86
|
+
# end
|
87
|
+
# }
|
88
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
#
|
3
|
+
# This file contains settings for ActionController::ParamsWrapper which
|
4
|
+
# is enabled by default.
|
5
|
+
|
6
|
+
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
7
|
+
ActiveSupport.on_load(:action_controller) do
|
8
|
+
include ActionController::ParamsWrapper
|
9
|
+
wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
|
10
|
+
end
|
11
|
+
|
12
|
+
# Disable root element in JSON by default.
|
13
|
+
ActiveSupport.on_load(:active_record) do
|
14
|
+
self.include_root_in_json = false
|
15
|
+
end
|
@@ -3,6 +3,8 @@ en:
|
|
3
3
|
index:
|
4
4
|
title: Home
|
5
5
|
new: New
|
6
|
+
denied: Denied
|
7
|
+
accepted: Accepted
|
6
8
|
edit: Edit
|
7
9
|
destroy: Destroy
|
8
10
|
remove: Remove
|
@@ -12,7 +14,7 @@ en:
|
|
12
14
|
list_action: Back to the overview
|
13
15
|
details: Details
|
14
16
|
form:
|
15
|
-
errors_count: '%{count} prohibited this
|
17
|
+
errors_count: '%{count} prohibited this object from being saved:'
|
16
18
|
successfully_created: Creation successful
|
17
19
|
successfully_updated: Update successful
|
18
20
|
destroyed: Resource destroyed successfully.
|
@@ -27,13 +29,24 @@ en:
|
|
27
29
|
not_found: Resource not found.
|
28
30
|
notifications:
|
29
31
|
event_successful: "%{event} successful."
|
30
|
-
|
32
|
+
|
33
|
+
attributes:
|
34
|
+
name: Name
|
35
|
+
text: Text
|
36
|
+
parent: Parent
|
37
|
+
project_id: Project
|
38
|
+
state: State
|
39
|
+
user_id: User
|
40
|
+
vacancy_id: Vacancy
|
41
|
+
roles: Roles
|
42
|
+
|
31
43
|
activerecord:
|
32
44
|
models:
|
33
45
|
area: Area
|
34
46
|
candidature: Candidature
|
35
47
|
comment: Comment
|
36
48
|
product: Product
|
49
|
+
organization: Organization
|
37
50
|
project: Project
|
38
51
|
result: Result
|
39
52
|
story: Story
|
@@ -42,13 +55,6 @@ en:
|
|
42
55
|
vacancy: Vacancy
|
43
56
|
|
44
57
|
attributes:
|
45
|
-
general:
|
46
|
-
name: Name
|
47
|
-
parent: Parent
|
48
|
-
project_id: Project
|
49
|
-
state: State
|
50
|
-
user_id: User
|
51
|
-
vacancy_id: Vacancy
|
52
58
|
comment:
|
53
59
|
name: Subject
|
54
60
|
vacancy:
|
data/config/routes.rb
CHANGED
@@ -37,6 +37,15 @@ Rails.application.routes.draw do
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
resources :organizations do
|
41
|
+
resources :projects
|
42
|
+
|
43
|
+
collection do
|
44
|
+
put :update_multiple
|
45
|
+
get :autocomplete
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
40
49
|
resources :projects do
|
41
50
|
resources :users, only: :index
|
42
51
|
resources :vacancies, only: [:index, :new]
|
data/config/routes/workflow.rb
CHANGED
@@ -1,34 +1,34 @@
|
|
1
|
-
|
1
|
+
get 'workflow' => 'workflow#index', as: :workflow
|
2
2
|
|
3
3
|
namespace 'workflow' do
|
4
4
|
resources :project_owner, only: :index do
|
5
5
|
collection do
|
6
|
-
|
6
|
+
get 'tasks/:id/edit' => 'tasks#edit', as: :edit_task
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
10
|
resources :user, only: :index do
|
11
11
|
collection do
|
12
|
-
|
13
|
-
|
12
|
+
get 'products/:id' => 'products#show', as: :product
|
13
|
+
get 'products/:product_id/areas/:id' => 'user/product/areas#show', as: :product_area
|
14
14
|
|
15
|
-
|
15
|
+
get 'projects/:id' => 'user/projects#show', as: :user_project
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
get 'stories/:story_id/tasks' => 'tasks#index', as: :tasks
|
18
|
+
get 'stories/:story_id/tasks/next' => 'tasks#next', as: :next_task
|
19
|
+
patch 'tasks/:id' => 'tasks#update', as: :update_task
|
20
|
+
get 'tasks/:id/edit' => 'tasks#edit', as: :edit_task
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
get 'tasks/:id/assign' => 'tasks#assign', as: :assign_task
|
23
|
+
get 'tasks/:id/review' => 'tasks#review', as: :review_task
|
24
|
+
get 'tasks/:id/unassign' => 'tasks#unassign', as: :unassign_task
|
25
|
+
get 'tasks/:id/complete' => 'tasks#complete', as: :complete_task
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
29
|
resources :vacancies, controller: 'vacancies', only: :index do
|
30
30
|
collection do
|
31
|
-
|
31
|
+
get '/' => 'vacancies#open', as: :open
|
32
32
|
|
33
33
|
get :autocomplete
|
34
34
|
|
@@ -41,7 +41,7 @@ namespace 'workflow' do
|
|
41
41
|
|
42
42
|
resources :candidatures, controller: 'candidatures', only: :index do
|
43
43
|
collection do
|
44
|
-
|
44
|
+
get '/' => 'candidatures#new', as: :new
|
45
45
|
|
46
46
|
get :autocomplete
|
47
47
|
|
@@ -1,6 +1,25 @@
|
|
1
1
|
class AddPublicAttributeToRoles < ActiveRecord::Migration
|
2
|
-
def
|
2
|
+
def up
|
3
3
|
add_column :roles, :public, :boolean, default: false
|
4
|
+
|
5
|
+
roles = []
|
6
|
+
|
7
|
+
Role.all.each do |role|
|
8
|
+
roles << [role.id, ['Project_owner', 'User'].include?(role.name)]
|
9
|
+
end
|
10
|
+
|
11
|
+
roles.each do |role|
|
12
|
+
Role.find(role.first).update_attribute(:public, role.second)
|
13
|
+
end
|
14
|
+
|
4
15
|
add_column :users, :main_role_id, :integer
|
16
|
+
|
17
|
+
user_role_id = Role.find_or_create_by(name: 'User').id
|
18
|
+
User.update_all main_role_id: user_role_id
|
19
|
+
end
|
20
|
+
|
21
|
+
def down
|
22
|
+
remove_column :roles, :public, :boolean
|
23
|
+
remove_column :users, :main_role_id, :integer
|
5
24
|
end
|
6
25
|
end
|