minerva 0.1.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +28 -0
- data/Rakefile +32 -0
- data/app/assets/config/minerva_manifest.js +2 -0
- data/app/assets/javascripts/minerva/application.js +15 -0
- data/app/assets/javascripts/minerva/assignments.js +2 -0
- data/app/assets/javascripts/minerva/interfaces.js +2 -0
- data/app/assets/javascripts/minerva/states.js +2 -0
- data/app/assets/javascripts/minerva/statuses.js +2 -0
- data/app/assets/javascripts/minerva/workflows.js +2 -0
- data/app/assets/stylesheets/minerva/application.css +15 -0
- data/app/assets/stylesheets/minerva/assignments.css +4 -0
- data/app/assets/stylesheets/minerva/interfaces.css +4 -0
- data/app/assets/stylesheets/minerva/states.css +4 -0
- data/app/assets/stylesheets/minerva/statuses.css +4 -0
- data/app/assets/stylesheets/minerva/workflows.css +4 -0
- data/app/assets/stylesheets/scaffold.css +80 -0
- data/app/controllers/minerva/application_controller.rb +5 -0
- data/app/controllers/minerva/assignments_controller.rb +62 -0
- data/app/controllers/minerva/interfaces_controller.rb +62 -0
- data/app/controllers/minerva/states_controller.rb +62 -0
- data/app/controllers/minerva/statuses_controller.rb +62 -0
- data/app/controllers/minerva/workflows_controller.rb +62 -0
- data/app/helpers/minerva/application_helper.rb +4 -0
- data/app/helpers/minerva/assignments_helper.rb +4 -0
- data/app/helpers/minerva/interfaces_helper.rb +4 -0
- data/app/helpers/minerva/states_helper.rb +4 -0
- data/app/helpers/minerva/statuses_helper.rb +4 -0
- data/app/helpers/minerva/workflows_helper.rb +4 -0
- data/app/jobs/minerva/application_job.rb +4 -0
- data/app/mailers/minerva/application_mailer.rb +6 -0
- data/app/models/minerva/application_record.rb +5 -0
- data/app/models/minerva/assignment.rb +5 -0
- data/app/models/minerva/interface.rb +4 -0
- data/app/models/minerva/project.rb +5 -0
- data/app/models/minerva/role.rb +5 -0
- data/app/models/minerva/state.rb +19 -0
- data/app/models/minerva/status.rb +4 -0
- data/app/models/minerva/user.rb +5 -0
- data/app/models/minerva/work.rb +5 -0
- data/app/models/minerva/workflow.rb +6 -0
- data/app/views/layouts/minerva/application.html.erb +16 -0
- data/app/views/minerva/assignments/_form.html.erb +32 -0
- data/app/views/minerva/assignments/edit.html.erb +6 -0
- data/app/views/minerva/assignments/index.html.erb +31 -0
- data/app/views/minerva/assignments/new.html.erb +5 -0
- data/app/views/minerva/assignments/show.html.erb +19 -0
- data/app/views/minerva/interfaces/_form.html.erb +27 -0
- data/app/views/minerva/interfaces/edit.html.erb +6 -0
- data/app/views/minerva/interfaces/index.html.erb +29 -0
- data/app/views/minerva/interfaces/new.html.erb +5 -0
- data/app/views/minerva/interfaces/show.html.erb +14 -0
- data/app/views/minerva/states/_form.html.erb +47 -0
- data/app/views/minerva/states/edit.html.erb +6 -0
- data/app/views/minerva/states/index.html.erb +35 -0
- data/app/views/minerva/states/new.html.erb +5 -0
- data/app/views/minerva/states/show.html.erb +33 -0
- data/app/views/minerva/statuses/_form.html.erb +22 -0
- data/app/views/minerva/statuses/edit.html.erb +6 -0
- data/app/views/minerva/statuses/index.html.erb +27 -0
- data/app/views/minerva/statuses/new.html.erb +5 -0
- data/app/views/minerva/statuses/show.html.erb +9 -0
- data/app/views/minerva/workflows/_form.html.erb +42 -0
- data/app/views/minerva/workflows/edit.html.erb +6 -0
- data/app/views/minerva/workflows/index.html.erb +35 -0
- data/app/views/minerva/workflows/new.html.erb +5 -0
- data/app/views/minerva/workflows/show.html.erb +29 -0
- data/config/initializers/minerva.rb +0 -0
- data/config/routes.rb +7 -0
- data/db/migrate/20181218183254_create_minerva_workflows.rb +15 -0
- data/db/migrate/20181218183524_create_minerva_statuses.rb +9 -0
- data/db/migrate/20181218183615_create_minerva_interfaces.rb +10 -0
- data/db/migrate/20181218183728_create_minerva_assignments.rb +11 -0
- data/db/migrate/20181218183815_create_minerva_states.rb +18 -0
- data/db/migrate/20190103213703_create_minerva_users.rb +8 -0
- data/db/migrate/20190103213722_create_minerva_projects.rb +8 -0
- data/db/migrate/20190103213731_create_minerva_works.rb +8 -0
- data/db/migrate/20190103213735_create_minerva_roles.rb +8 -0
- data/db/migrate/20190107164913_add_auid_to_project.rb +5 -0
- data/db/migrate/20190107164934_add_auid_to_role.rb +5 -0
- data/db/migrate/20190107164940_add_auid_to_user.rb +5 -0
- data/db/migrate/20190107164946_add_auid_to_work.rb +5 -0
- data/db/migrate/20190107171954_add_index_to_auid.rb +8 -0
- data/db/migrate/20190107173209_change_auid_to_not_null.rb +8 -0
- data/lib/minerva/engine.rb +5 -0
- data/lib/minerva/version.rb +3 -0
- data/lib/minerva.rb +4 -0
- data/lib/tasks/minerva_tasks.rake +4 -0
- metadata +232 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
module Minerva
|
2
|
+
class State < ApplicationRecord
|
3
|
+
|
4
|
+
belongs_to :assignment
|
5
|
+
belongs_to :status
|
6
|
+
belongs_to :role
|
7
|
+
belongs_to :work
|
8
|
+
belongs_to :user
|
9
|
+
|
10
|
+
belongs_to :creator, class_name: "Minerva::User"
|
11
|
+
|
12
|
+
before_destroy { |record| raise ActiveRecord::ReadOnlyRecord }
|
13
|
+
|
14
|
+
def readonly?
|
15
|
+
# allow the creation, you can also use a more complex condition to allow updates under certain conditions
|
16
|
+
new_record? ? false : true
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Minerva</title>
|
5
|
+
<%= csrf_meta_tags %>
|
6
|
+
<%= csp_meta_tag %>
|
7
|
+
|
8
|
+
<%= stylesheet_link_tag "minerva/application", media: "all" %>
|
9
|
+
<%= javascript_include_tag "minerva/application" %>
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
|
13
|
+
<%= yield %>
|
14
|
+
|
15
|
+
</body>
|
16
|
+
</html>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<%= form_with(model: assignment, local: true) do |form| %>
|
2
|
+
<% if assignment.errors.any? %>
|
3
|
+
<div id="error_explanation">
|
4
|
+
<h2><%= pluralize(assignment.errors.count, "error") %> prohibited this assignment from being saved:</h2>
|
5
|
+
|
6
|
+
<ul>
|
7
|
+
<% assignment.errors.full_messages.each do |message| %>
|
8
|
+
<li><%= message %></li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<div class="field">
|
15
|
+
<%= form.label :title %>
|
16
|
+
<%= form.text_field :title %>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="field">
|
20
|
+
<%= form.label :interface_id %>
|
21
|
+
<%= form.text_field :interface_id %>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="field">
|
25
|
+
<%= form.label :automated %>
|
26
|
+
<%= form.check_box :automated %>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<div class="actions">
|
30
|
+
<%= form.submit %>
|
31
|
+
</div>
|
32
|
+
<% end %>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<h1>Assignments</h1>
|
4
|
+
|
5
|
+
<table>
|
6
|
+
<thead>
|
7
|
+
<tr>
|
8
|
+
<th>Title</th>
|
9
|
+
<th>Interface</th>
|
10
|
+
<th>Automated</th>
|
11
|
+
<th colspan="3"></th>
|
12
|
+
</tr>
|
13
|
+
</thead>
|
14
|
+
|
15
|
+
<tbody>
|
16
|
+
<% @assignments.each do |assignment| %>
|
17
|
+
<tr>
|
18
|
+
<td><%= assignment.title %></td>
|
19
|
+
<td><%= assignment.interface %></td>
|
20
|
+
<td><%= assignment.automated %></td>
|
21
|
+
<td><%= link_to 'Show', assignment %></td>
|
22
|
+
<td><%= link_to 'Edit', edit_assignment_path(assignment) %></td>
|
23
|
+
<td><%= link_to 'Destroy', assignment, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
24
|
+
</tr>
|
25
|
+
<% end %>
|
26
|
+
</tbody>
|
27
|
+
</table>
|
28
|
+
|
29
|
+
<br>
|
30
|
+
|
31
|
+
<%= link_to 'New Assignment', new_assignment_path %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<p>
|
4
|
+
<strong>Title:</strong>
|
5
|
+
<%= @assignment.title %>
|
6
|
+
</p>
|
7
|
+
|
8
|
+
<p>
|
9
|
+
<strong>Interface:</strong>
|
10
|
+
<%= @assignment.interface %>
|
11
|
+
</p>
|
12
|
+
|
13
|
+
<p>
|
14
|
+
<strong>Automated:</strong>
|
15
|
+
<%= @assignment.automated %>
|
16
|
+
</p>
|
17
|
+
|
18
|
+
<%= link_to 'Edit', edit_assignment_path(@assignment) %> |
|
19
|
+
<%= link_to 'Back', assignments_path %>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<%= form_with(model: interface, local: true) do |form| %>
|
2
|
+
<% if interface.errors.any? %>
|
3
|
+
<div id="error_explanation">
|
4
|
+
<h2><%= pluralize(interface.errors.count, "error") %> prohibited this interface from being saved:</h2>
|
5
|
+
|
6
|
+
<ul>
|
7
|
+
<% interface.errors.full_messages.each do |message| %>
|
8
|
+
<li><%= message %></li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<div class="field">
|
15
|
+
<%= form.label :title %>
|
16
|
+
<%= form.text_field :title %>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="field">
|
20
|
+
<%= form.label :code_point %>
|
21
|
+
<%= form.text_field :code_point %>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="actions">
|
25
|
+
<%= form.submit %>
|
26
|
+
</div>
|
27
|
+
<% end %>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<h1>Interfaces</h1>
|
4
|
+
|
5
|
+
<table>
|
6
|
+
<thead>
|
7
|
+
<tr>
|
8
|
+
<th>Title</th>
|
9
|
+
<th>Code point</th>
|
10
|
+
<th colspan="3"></th>
|
11
|
+
</tr>
|
12
|
+
</thead>
|
13
|
+
|
14
|
+
<tbody>
|
15
|
+
<% @interfaces.each do |interface| %>
|
16
|
+
<tr>
|
17
|
+
<td><%= interface.title %></td>
|
18
|
+
<td><%= interface.code_point %></td>
|
19
|
+
<td><%= link_to 'Show', interface %></td>
|
20
|
+
<td><%= link_to 'Edit', edit_interface_path(interface) %></td>
|
21
|
+
<td><%= link_to 'Destroy', interface, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
22
|
+
</tr>
|
23
|
+
<% end %>
|
24
|
+
</tbody>
|
25
|
+
</table>
|
26
|
+
|
27
|
+
<br>
|
28
|
+
|
29
|
+
<%= link_to 'New Interface', new_interface_path %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<p>
|
4
|
+
<strong>Title:</strong>
|
5
|
+
<%= @interface.title %>
|
6
|
+
</p>
|
7
|
+
|
8
|
+
<p>
|
9
|
+
<strong>Code point:</strong>
|
10
|
+
<%= @interface.code_point %>
|
11
|
+
</p>
|
12
|
+
|
13
|
+
<%= link_to 'Edit', edit_interface_path(@interface) %> |
|
14
|
+
<%= link_to 'Back', interfaces_path %>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<%= form_with(model: state, local: true) do |form| %>
|
2
|
+
<% if state.errors.any? %>
|
3
|
+
<div id="error_explanation">
|
4
|
+
<h2><%= pluralize(state.errors.count, "error") %> prohibited this state from being saved:</h2>
|
5
|
+
|
6
|
+
<ul>
|
7
|
+
<% state.errors.full_messages.each do |message| %>
|
8
|
+
<li><%= message %></li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<div class="field">
|
15
|
+
<%= form.label :creator_id %>
|
16
|
+
<%= form.number_field :creator_id %>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="field">
|
20
|
+
<%= form.label :user_id %>
|
21
|
+
<%= form.number_field :user_id %>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="field">
|
25
|
+
<%= form.label :role_id %>
|
26
|
+
<%= form.number_field :role_id %>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<div class="field">
|
30
|
+
<%= form.label :work_id %>
|
31
|
+
<%= form.number_field :work_id %>
|
32
|
+
</div>
|
33
|
+
|
34
|
+
<div class="field">
|
35
|
+
<%= form.label :assignment_id %>
|
36
|
+
<%= form.text_field :assignment_id %>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<div class="field">
|
40
|
+
<%= form.label :status_id %>
|
41
|
+
<%= form.text_field :status_id %>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<div class="actions">
|
45
|
+
<%= form.submit %>
|
46
|
+
</div>
|
47
|
+
<% end %>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<h1>States</h1>
|
4
|
+
|
5
|
+
<table>
|
6
|
+
<thead>
|
7
|
+
<tr>
|
8
|
+
<th>Creator</th>
|
9
|
+
<th>User</th>
|
10
|
+
<th>Role</th>
|
11
|
+
<th>Work</th>
|
12
|
+
<th>Assignment</th>
|
13
|
+
<th>Status</th>
|
14
|
+
<th colspan="3"></th>
|
15
|
+
</tr>
|
16
|
+
</thead>
|
17
|
+
|
18
|
+
<tbody>
|
19
|
+
<% @states.each do |state| %>
|
20
|
+
<tr>
|
21
|
+
<td><%= state.creator_id %></td>
|
22
|
+
<td><%= state.user_id %></td>
|
23
|
+
<td><%= state.role_id %></td>
|
24
|
+
<td><%= state.work_id %></td>
|
25
|
+
<td><%= state.assignment %></td>
|
26
|
+
<td><%= state.status %></td>
|
27
|
+
<td><%= link_to 'Show', state %></td>
|
28
|
+
</tr>
|
29
|
+
<% end %>
|
30
|
+
</tbody>
|
31
|
+
</table>
|
32
|
+
|
33
|
+
<br>
|
34
|
+
|
35
|
+
<%= link_to 'New State', new_state_path %>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<p>
|
4
|
+
<strong>Creator:</strong>
|
5
|
+
<%= @state.creator_id %>
|
6
|
+
</p>
|
7
|
+
|
8
|
+
<p>
|
9
|
+
<strong>User:</strong>
|
10
|
+
<%= @state.user_id %>
|
11
|
+
</p>
|
12
|
+
|
13
|
+
<p>
|
14
|
+
<strong>Role:</strong>
|
15
|
+
<%= @state.role_id %>
|
16
|
+
</p>
|
17
|
+
|
18
|
+
<p>
|
19
|
+
<strong>Work:</strong>
|
20
|
+
<%= @state.work_id %>
|
21
|
+
</p>
|
22
|
+
|
23
|
+
<p>
|
24
|
+
<strong>Assignment:</strong>
|
25
|
+
<%= @state.assignment %>
|
26
|
+
</p>
|
27
|
+
|
28
|
+
<p>
|
29
|
+
<strong>Status:</strong>
|
30
|
+
<%= @state.status %>
|
31
|
+
</p>
|
32
|
+
|
33
|
+
<%= link_to 'Back', states_path %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<%= form_with(model: status, local: true) do |form| %>
|
2
|
+
<% if status.errors.any? %>
|
3
|
+
<div id="error_explanation">
|
4
|
+
<h2><%= pluralize(status.errors.count, "error") %> prohibited this status from being saved:</h2>
|
5
|
+
|
6
|
+
<ul>
|
7
|
+
<% status.errors.full_messages.each do |message| %>
|
8
|
+
<li><%= message %></li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<div class="field">
|
15
|
+
<%= form.label :title %>
|
16
|
+
<%= form.text_field :title %>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="actions">
|
20
|
+
<%= form.submit %>
|
21
|
+
</div>
|
22
|
+
<% end %>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<h1>Statuses</h1>
|
4
|
+
|
5
|
+
<table>
|
6
|
+
<thead>
|
7
|
+
<tr>
|
8
|
+
<th>Title</th>
|
9
|
+
<th colspan="3"></th>
|
10
|
+
</tr>
|
11
|
+
</thead>
|
12
|
+
|
13
|
+
<tbody>
|
14
|
+
<% @statuses.each do |status| %>
|
15
|
+
<tr>
|
16
|
+
<td><%= status.title %></td>
|
17
|
+
<td><%= link_to 'Show', status %></td>
|
18
|
+
<td><%= link_to 'Edit', edit_status_path(status) %></td>
|
19
|
+
<td><%= link_to 'Destroy', status, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
20
|
+
</tr>
|
21
|
+
<% end %>
|
22
|
+
</tbody>
|
23
|
+
</table>
|
24
|
+
|
25
|
+
<br>
|
26
|
+
|
27
|
+
<%= link_to 'New Status', new_status_path %>
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<%= form_with(model: workflow, local: true) do |form| %>
|
2
|
+
<% if workflow.errors.any? %>
|
3
|
+
<div id="error_explanation">
|
4
|
+
<h2><%= pluralize(workflow.errors.count, "error") %> prohibited this workflow from being saved:</h2>
|
5
|
+
|
6
|
+
<ul>
|
7
|
+
<% workflow.errors.full_messages.each do |message| %>
|
8
|
+
<li><%= message %></li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<div class="field">
|
15
|
+
<%= form.label :creator_id %>
|
16
|
+
<%= form.number_field :creator_id %>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="field">
|
20
|
+
<%= form.label :project_id %>
|
21
|
+
<%= form.number_field :project_id %>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div class="field">
|
25
|
+
<%= form.label :task_list %>
|
26
|
+
<%= form.text_area :task_list %>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<div class="field">
|
30
|
+
<%= form.label :title %>
|
31
|
+
<%= form.text_field :title %>
|
32
|
+
</div>
|
33
|
+
|
34
|
+
<div class="field">
|
35
|
+
<%= form.label :ordered %>
|
36
|
+
<%= form.check_box :ordered %>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<div class="actions">
|
40
|
+
<%= form.submit %>
|
41
|
+
</div>
|
42
|
+
<% end %>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<h1>Workflows</h1>
|
4
|
+
|
5
|
+
<table>
|
6
|
+
<thead>
|
7
|
+
<tr>
|
8
|
+
<th>Creator</th>
|
9
|
+
<th>Project</th>
|
10
|
+
<th>Task list</th>
|
11
|
+
<th>Title</th>
|
12
|
+
<th>Ordered</th>
|
13
|
+
<th colspan="3"></th>
|
14
|
+
</tr>
|
15
|
+
</thead>
|
16
|
+
|
17
|
+
<tbody>
|
18
|
+
<% @workflows.each do |workflow| %>
|
19
|
+
<tr>
|
20
|
+
<td><%= workflow.creator_id %></td>
|
21
|
+
<td><%= workflow.project_id %></td>
|
22
|
+
<td><%= workflow.task_list %></td>
|
23
|
+
<td><%= workflow.title %></td>
|
24
|
+
<td><%= workflow.ordered %></td>
|
25
|
+
<td><%= link_to 'Show', workflow %></td>
|
26
|
+
<td><%= link_to 'Edit', edit_workflow_path(workflow) %></td>
|
27
|
+
<td><%= link_to 'Destroy', workflow, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
28
|
+
</tr>
|
29
|
+
<% end %>
|
30
|
+
</tbody>
|
31
|
+
</table>
|
32
|
+
|
33
|
+
<br>
|
34
|
+
|
35
|
+
<%= link_to 'New Workflow', new_workflow_path %>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<p>
|
4
|
+
<strong>Creator:</strong>
|
5
|
+
<%= @workflow.creator_id %>
|
6
|
+
</p>
|
7
|
+
|
8
|
+
<p>
|
9
|
+
<strong>Project:</strong>
|
10
|
+
<%= @workflow.project_id %>
|
11
|
+
</p>
|
12
|
+
|
13
|
+
<p>
|
14
|
+
<strong>Task list:</strong>
|
15
|
+
<%= @workflow.task_list %>
|
16
|
+
</p>
|
17
|
+
|
18
|
+
<p>
|
19
|
+
<strong>Title:</strong>
|
20
|
+
<%= @workflow.title %>
|
21
|
+
</p>
|
22
|
+
|
23
|
+
<p>
|
24
|
+
<strong>Ordered:</strong>
|
25
|
+
<%= @workflow.ordered %>
|
26
|
+
</p>
|
27
|
+
|
28
|
+
<%= link_to 'Edit', edit_workflow_path(@workflow) %> |
|
29
|
+
<%= link_to 'Back', workflows_path %>
|
File without changes
|
data/config/routes.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
class CreateMinervaWorkflows < ActiveRecord::Migration[5.2]
|
2
|
+
def change
|
3
|
+
create_table :minerva_workflows do |t|
|
4
|
+
t.integer :creator_id
|
5
|
+
t.integer :project_id
|
6
|
+
t.text :task_list
|
7
|
+
t.string :title
|
8
|
+
t.boolean :ordered
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
add_index :minerva_workflows, :creator_id
|
13
|
+
add_index :minerva_workflows, :project_id
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateMinervaStates < ActiveRecord::Migration[5.2]
|
2
|
+
def change
|
3
|
+
create_table :minerva_states do |t|
|
4
|
+
t.integer :creator_id
|
5
|
+
t.integer :user_id
|
6
|
+
t.integer :role_id
|
7
|
+
t.integer :work_id
|
8
|
+
t.references :assignment, foreign_key: true
|
9
|
+
t.references :status, foreign_key: true
|
10
|
+
|
11
|
+
t.timestamps
|
12
|
+
end
|
13
|
+
add_index :minerva_states, :creator_id
|
14
|
+
add_index :minerva_states, :user_id
|
15
|
+
add_index :minerva_states, :role_id
|
16
|
+
add_index :minerva_states, :work_id
|
17
|
+
end
|
18
|
+
end
|