Merge pull request #35 from ZmagoD/zd_SCI_40

Edit canvas controller to work with experiments
This commit is contained in:
Zmago Devetak 2016-07-27 12:11:19 +02:00 committed by GitHub
commit c869db2506
14 changed files with 205 additions and 203 deletions

View file

@ -6,25 +6,25 @@ class CanvasController < ApplicationController
def edit
render partial: 'canvas/edit',
locals: { project: @project, my_modules: @my_modules },
locals: { experiment: @experiment, my_modules: @my_modules },
:content_type => 'text/html'
end
def full_zoom
render partial: 'canvas/full_zoom',
locals: { project: @project, my_modules: @my_modules },
locals: { experiment: @experiment, my_modules: @my_modules },
:content_type => 'text/html'
end
def medium_zoom
render partial: 'canvas/medium_zoom',
locals: { project: @project, my_modules: @my_modules },
locals: { experiment: @experiment, my_modules: @my_modules },
:content_type => 'text/html'
end
def small_zoom
render partial: 'canvas/small_zoom',
locals: { project: @project, my_modules: @my_modules },
locals: { experiment: @experiment, my_modules: @my_modules },
:content_type => 'text/html'
end
@ -33,7 +33,7 @@ class CanvasController < ApplicationController
# Make sure that remove parameter is valid
to_archive = []
if can_archive_modules(@project) and
if can_archive_modules(@experiment) and
update_params[:remove].present? then
to_archive = update_params[:remove].split(",")
unless to_archive.all? { |id| is_int? id }
@ -49,7 +49,7 @@ class CanvasController < ApplicationController
# Make sure connections parameter is valid
connections = []
if can_edit_connections(@project) and
if can_edit_connections(@experiment) and
update_params[:connections].present? then
conns = update_params[:connections].split(",")
unless conns.length % 2 == 0 and
@ -68,7 +68,7 @@ class CanvasController < ApplicationController
# Make sure positions parameter is valid
positions = Hash.new
if can_reposition_modules(@project) and
if can_reposition_modules(@experiment) and
update_params[:positions].present? then
poss = update_params[:positions].split(";")
center = ""
@ -104,7 +104,7 @@ class CanvasController < ApplicationController
# Make sure that to_add is an array of strings,
# as well as that positions for newly added modules exist
to_add = []
if can_create_modules(@project) and
if can_create_modules(@experiment) and
update_params[:add].present? and
update_params["add-names"].present? then
ids = update_params[:add].split(",")
@ -131,7 +131,7 @@ class CanvasController < ApplicationController
# Make sure rename parameter is valid
to_rename = Hash.new
if can_edit_modules(@project) and
if can_edit_modules(@experiment) and
update_params[:rename].present? then
begin
to_rename = JSON.parse(update_params[:rename])
@ -156,7 +156,7 @@ class CanvasController < ApplicationController
# Make sure that to_clone is an array of pairs,
# as well as that all IDs exist
to_clone = Hash.new
if can_clone_modules(@project) and
if can_clone_modules(@experiment) and
update_params[:cloned].present? then
clones = update_params[:cloned].split(";")
(clones.collect { |v| v.split(",") }).each do |val|
@ -177,7 +177,7 @@ class CanvasController < ApplicationController
end
module_groups = Hash.new
if can_edit_module_groups(@project) and
if can_edit_module_groups(@experiment) and
update_params["module-groups"].present? then
begin
module_groups = JSON.parse(update_params["module-groups"])
@ -200,7 +200,7 @@ class CanvasController < ApplicationController
end
# Call the "master" function to do all the updating for us
unless @project.update_canvas(
unless @experiment.update_canvas(
to_archive,
to_add,
to_rename,
@ -213,13 +213,13 @@ class CanvasController < ApplicationController
render_403 and return
end
# Save activities that modules were archived
#Save activities that modules were archived
to_archive.each do |module_id|
my_module = MyModule.find_by_id(module_id)
unless my_module.blank?
Activity.create(
type_of: :archive_module,
project: my_module.project,
project: my_module.experiment.project,
my_module: my_module,
user: current_user,
message: t(
@ -232,8 +232,8 @@ class CanvasController < ApplicationController
end
flash[:success] = t(
"projects.canvas.update.success_flash")
redirect_to canvas_project_path(@project)
"experiments.canvas.update.success_flash")
redirect_to canvas_experiment_path(@experiment)
end
private
@ -253,25 +253,25 @@ class CanvasController < ApplicationController
end
def load_vars
@project = Project.find_by_id(params[:id])
unless @project
@experiment = Experiment.find_by_id(params[:id])
unless @experiment
respond_to do |format|
format.html { render_404 and return }
format.any(:xml, :json, :js) { render(json: { redirect_url: not_found_url }, status: :not_found) and return }
end
end
@my_modules = @project.active_modules
@my_modules = @experiment.active_modules
end
def check_edit_canvas
unless can_edit_canvas(@project)
unless can_edit_canvas(@experiment)
render_403 and return
end
end
def check_view_canvas
unless can_view_project(@project)
unless can_view_experiment(@experiment)
render_403 and return
end
end

View file

@ -323,38 +323,38 @@ module PermissionHelper
# ---- WORKFLOW PERMISSIONS ----
def can_edit_canvas(project)
is_user_or_higher_of_project(project)
def can_edit_canvas(experiment)
is_user_or_higher_of_project(experiment.project)
end
def can_reposition_modules(project)
is_user_or_higher_of_project(project)
def can_reposition_modules(experiment)
is_user_or_higher_of_project(experiment.project)
end
def can_edit_connections(project)
is_user_or_higher_of_project(project)
def can_edit_connections(experiment)
is_user_or_higher_of_project(experiment.project)
end
# ---- MODULE PERMISSIONS ----
def can_create_modules(project)
is_user_or_higher_of_project(project)
def can_create_modules(experiment)
is_user_or_higher_of_project(experiment.project)
end
def can_edit_modules(project)
is_user_or_higher_of_project(project)
def can_edit_modules(experiment)
is_user_or_higher_of_project(experiment.project)
end
def can_edit_module_groups(project)
is_user_or_higher_of_project(project)
def can_edit_module_groups(experiment)
is_user_or_higher_of_project(experiment.project)
end
def can_clone_modules(project)
is_user_or_higher_of_project(project)
def can_clone_modules(experiment)
is_user_or_higher_of_project(experiment.project)
end
def can_archive_modules(project)
is_user_or_higher_of_project(project)
def can_archive_modules(experiment)
is_user_or_higher_of_project(experiment.project)
end
def can_view_module(my_module)

View file

@ -1,34 +1,34 @@
<div id="update-canvas"
data-can-create-modules="<%= can_create_modules(@project) ? "yes" : "no" %>"
data-can-edit-modules="<%= can_edit_modules(@project) ? "yes" : "no" %>"
data-can-edit-module-groups="<%= can_edit_module_groups(@project) ? "yes" : "no" %>"
data-can-clone-modules="<%= can_clone_modules(@project) ? "yes" : "no" %>"
data-can-delete-modules="<%= can_archive_modules(@project) ? "yes" : "no" %>"
data-can-reposition-modules="<%= can_reposition_modules(@project) ? "yes" : "no" %>"
data-can-edit-connections="<%= can_edit_connections(@project) ? "yes" : "no" %>"
data-unsaved-work-text="<%=t "projects.canvas.edit.unsaved_work" %>"
data-can-create-modules="<%= can_create_modules(@experiment) ? "yes" : "no" %>"
data-can-edit-modules="<%= can_edit_modules(@experiment) ? "yes" : "no" %>"
data-can-edit-module-groups="<%= can_edit_module_groups(@experiment) ? "yes" : "no" %>"
data-can-clone-modules="<%= can_clone_modules(@experiment) ? "yes" : "no" %>"
data-can-delete-modules="<%= can_archive_modules(@experiment) ? "yes" : "no" %>"
data-can-reposition-modules="<%= can_reposition_modules(@experiment) ? "yes" : "no" %>"
data-can-edit-connections="<%= can_edit_connections(@experiment) ? "yes" : "no" %>"
data-unsaved-work-text="<%=t "experiments.canvas.edit.unsaved_work" %>"
>
<%= bootstrap_form_tag url: canvas_project_url, method: "post" do |f| %>
<div class="btn-group" role="group">
<%= f.submit class: "btn btn-primary", id: "canvas-save" do %>
<span class="visibile-xs"><%= t("projects.canvas.edit.save_short") %></span>
<span class="hidden-xs"><%= t("projects.canvas.edit.save") %></span>
<span class="visibile-xs"><%= t("experiments.canvas.edit.save_short") %></span>
<span class="hidden-xs"><%= t("experiments.canvas.edit.save") %></span>
<% end %>
<%= link_to canvas_project_path(@project), type: "button", class: "btn btn-default cancel-edit-canvas" do %>
<span class="hidden-xs"><%= t("projects.canvas.edit.cancel") %></span>
<span class="hidden-xs"><%= t("experiments.canvas.edit.cancel") %></span>
<span class="glyphicon glyphicon-remove visible-xs" style="height: 16px;margin-top: 4px;">&nbsp;</span>
<% end %>
</div>
<% if can_create_modules(@project) %>
<% if can_create_modules(@experiment) %>
<%=link_to "", type: "button", class: "btn btn-default", id: "canvas-new-module" do %>
<span class="hbtn-default">
<span class="glyphicon glyphicon-credit-card"></span>
<%= t("projects.canvas.edit.new_module") %>
<%= t("experiments.canvas.edit.new_module") %>
</span>
<span class="hbtn-hover">
<span class="glyphicon glyphicon-credit-card"></span>
<em class="hidden-xs"><%= t("projects.canvas.edit.new_module_hover") %></em>
<span class="visible-xs-inline"><%= t("projects.canvas.edit.new_module") %></span>
<em class="hidden-xs"><%= t("experiments.canvas.edit.new_module_hover") %></em>
<span class="visible-xs-inline"><%= t("experiments.canvas.edit.new_module") %></span>
</span>
<% end %>
<% end %>
@ -42,47 +42,47 @@
<%= hidden_field_tag 'module-groups', '{}' %>
<% end %>
<span style="display: none;" id="dropdown-header-placeholder">
<%=t "projects.canvas.edit.options_header" %>
<%=t "experiments.canvas.edit.options_header" %>
</span>
<span style="display: none;" id="edit-link-placeholder">
<%=t "projects.canvas.edit.edit_module" %>
<%=t "experiments.canvas.edit.edit_module" %>
</span>
<span style="display: none;" id="edit-group-link-placeholder">
<%=t "projects.canvas.edit.edit_module_group" %>
<%=t "experiments.canvas.edit.edit_module_group" %>
</span>
<span style="display: none;" id="clone-link-placeholder">
<%=t "projects.canvas.edit.clone_module" %>
<%=t "experiments.canvas.edit.clone_module" %>
</span>
<span style="display: none;" id="clone-group-link-placeholder">
<%=t "projects.canvas.edit.clone_module_group" %>
<%=t "experiments.canvas.edit.clone_module_group" %>
</span>
<span style="display: none;" id="delete-link-placeholder">
<%=t "projects.canvas.edit.delete_module" %>
<%=t "experiments.canvas.edit.delete_module" %>
</span>
<span style="display: none;" id="delete-group-link-placeholder">
<%=t "projects.canvas.edit.delete_module_group" %>
<%=t "experiments.canvas.edit.delete_module_group" %>
</span>
<span style="display: none;" id="drag-connections-placeholder">
<%=t "projects.canvas.edit.drag_connections" %>
<%=t "experiments.canvas.edit.drag_connections" %>
</span>
</div>
<div id="diagram-container">
<div id="diagram" class="diagram">
<% my_modules.each do |my_module| %>
<%= render partial: "canvas/edit/my_module", locals: {project: @project, my_module: my_module} %>
<%= render partial: "canvas/edit/my_module", locals: {experiment: @experiment, my_module: my_module} %>
<% end %>
</div>
<% if can_create_modules(@project) %>
<%= render partial: "canvas/edit/modal/new_module", locals: {project: @project} %>
<% if can_create_modules(@experiment) %>
<%= render partial: "canvas/edit/modal/new_module", locals: {experiment: @experiment} %>
<% end %>
<% if can_edit_modules(@project) %>
<%= render partial: "canvas/edit/modal/edit_module", locals: {project: @project } %>
<% if can_edit_modules(@experiment) %>
<%= render partial: "canvas/edit/modal/edit_module", locals: {experiment: @experiment } %>
<% end %>
<% if can_edit_module_groups(@project) %>
<%= render partial: "canvas/edit/modal/edit_module_group", locals: {project: @project } %>
<% if can_edit_module_groups(@experiment) %>
<%= render partial: "canvas/edit/modal/edit_module_group", locals: {experiment: @experiment } %>
<% end %>
<% if can_archive_modules(@project) %>
<%= render partial: "canvas/edit/modal/delete_module", locals: {project: @project} %>
<%= render partial: "canvas/edit/modal/delete_module_group", locals: {project: @project} %>
<% if can_archive_modules(@experiment) %>
<%= render partial: "canvas/edit/modal/delete_module", locals: {experiment: @experiment} %>
<%= render partial: "canvas/edit/modal/delete_module_group", locals: {experiment: @experiment} %>
<% end %>

View file

@ -1,7 +1,7 @@
<div id="diagram-container">
<div id="diagram" class="diagram">
<% my_modules.each do |my_module| %>
<%= render partial: "canvas/full_zoom/my_module", locals: {project: project, my_module: my_module} %>
<%= render partial: "canvas/full_zoom/my_module", locals: {experiment: experiment, my_module: my_module} %>
<% end %>
</div>
</div>
@ -13,4 +13,4 @@
<%= render partial: "my_modules/modals/manage_due_date_modal" %>
<!-- Manage users modal -->
<%= render partial: "my_modules/modals/manage_users_modal" %>
<%= render partial: "my_modules/modals/manage_users_modal" %>

View file

@ -1,7 +1,7 @@
<div id="diagram-container">
<div id="diagram" class="diagram">
<% my_modules.each do |my_module| %>
<%= render partial: "canvas/medium_zoom/my_module", locals: {project: project, my_module: my_module} %>
<%= render partial: "canvas/medium_zoom/my_module", locals: {experiment: experiment, my_module: my_module} %>
<% end %>
</div>
</div>
</div>

View file

@ -1,7 +1,7 @@
<div id="diagram-container">
<div id="diagram" class="diagram">
<% my_modules.each do |my_module| %>
<%= render partial: "canvas/small_zoom/my_module", locals: {project: project, my_module: my_module} %>
<%= render partial: "canvas/small_zoom/my_module", locals: {experiment: experiment, my_module: my_module} %>
<% end %>
</div>
</div>
</div>

View file

@ -23,30 +23,30 @@
<li class="dropdown-header"><%= t('projects.index.options_header') %></li>
<% if can_edit_module(my_module) %>
<li>
<a class="edit-module" href="" data-module-id="<%= my_module.id %>"><%=t "projects.canvas.edit.edit_module" %></a>
<a class="edit-module" href="" data-module-id="<%= my_module.id %>"><%=t "experiments.canvas.edit.edit_module" %></a>
</li>
<% end %>
<% if can_edit_module_groups(my_module.project) %>
<% if can_edit_module_groups(my_module.experiment) %>
<li <%= 'style=display:none;' if my_module.my_module_group.blank? %>>
<a class="edit-module-group" href="" data-module-id="<%= my_module.id %>"><%=t "projects.canvas.edit.edit_module_group" %></a>
<a class="edit-module-group" href="" data-module-id="<%= my_module.id %>"><%=t "experiments.canvas.edit.edit_module_group" %></a>
</li>
<% end %>
<% if can_clone_modules(my_module.project) %>
<% if can_clone_modules(my_module.experiment) %>
<li>
<a class ="clone-module" href="" data-module-id="<%= my_module.id %>"><%=t "projects.canvas.edit.clone_module" %></a>
<a class ="clone-module" href="" data-module-id="<%= my_module.id %>"><%=t "experiments.canvas.edit.clone_module" %></a>
</li>
<li <%= 'style=display:none;' if my_module.my_module_group.blank? %>>
<a class ="clone-module-group" href="" data-module-id="<%= my_module.id %>"><%=t "projects.canvas.edit.clone_module_group" %></a>
<a class ="clone-module-group" href="" data-module-id="<%= my_module.id %>"><%=t "experiments.canvas.edit.clone_module_group" %></a>
</li>
<% end %>
<% if can_archive_module(my_module) %>
<li>
<a class="delete-module" href="" data-module-id="<%= my_module.id %>"><%=t "projects.canvas.edit.delete_module" %></a>
<a class="delete-module" href="" data-module-id="<%= my_module.id %>"><%=t "experiments.canvas.edit.delete_module" %></a>
</li>
<% end %>
<% if can_archive_modules(my_module.project) %>
<% if can_archive_modules(my_module.experiment) %>
<li <%= 'style=display:none;' if my_module.my_module_group.blank? %>>
<a class ="delete-module-group" href="" data-module-id="<%= my_module.id %>"><%=t "projects.canvas.edit.delete_module_group" %></a>
<a class ="delete-module-group" href="" data-module-id="<%= my_module.id %>"><%=t "experiments.canvas.edit.delete_module_group" %></a>
</li>
<% end %>
</ul>
@ -54,9 +54,9 @@
</div>
<% if can_edit_connections(my_module.project) %>
<% if can_edit_connections(my_module.experiment) %>
<div class="panel-body ep">
<%=t "projects.canvas.edit.drag_connections" %>
<%=t "experiments.canvas.edit.drag_connections" %>
</div>
<% end %>

View file

@ -3,16 +3,16 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="modal-delete-module-label"><%=t "projects.canvas.edit.modal_delete_module.title" %></h4>
<h4 class="modal-title" id="modal-delete-module-label"><%=t "experiments.canvas.edit.modal_delete_module.title" %></h4>
</div>
<div class="modal-body">
<span id="message-template" style="display: none;"><%=t "projects.canvas.edit.modal_delete_module.message" %></span>
<span id="message-template" style="display: none;"><%=t "experiments.canvas.edit.modal_delete_module.message" %></span>
<span id="delete-message"></span>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"><%=t "general.cancel" %></button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-action="confirm"><%=t "projects.canvas.edit.modal_delete_module.confirm" %></button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-action="confirm"><%=t "experiments.canvas.edit.modal_delete_module.confirm" %></button>
</div>
</div>
</div>
</div>
</div>

View file

@ -3,16 +3,16 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="modal-delete-module-group-label"><%=t "projects.canvas.edit.modal_delete_module_group.title" %></h4>
<h4 class="modal-title" id="modal-delete-module-group-label"><%=t "experiments.canvas.edit.modal_delete_module_group.title" %></h4>
</div>
<div class="modal-body">
<span id="message-template" style="display: none;"><%=t "projects.canvas.edit.modal_delete_module_group.message" %></span>
<span id="message-template" style="display: none;"><%=t "experiments.canvas.edit.modal_delete_module_group.message" %></span>
<span id="delete-message"></span>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"><%=t "general.cancel" %></button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-action="confirm"><%=t "projects.canvas.edit.modal_delete_module_group.confirm" %></button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-action="confirm"><%=t "experiments.canvas.edit.modal_delete_module_group.confirm" %></button>
</div>
</div>
</div>
</div>
</div>

View file

@ -3,26 +3,26 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="modal-edit-module-label"><%=t "projects.canvas.edit.modal_edit_module.title" %></h4>
<h4 class="modal-title" id="modal-edit-module-label"><%=t "experiments.canvas.edit.modal_edit_module.title" %></h4>
</div>
<div class="modal-body">
<span class="module-name-length-error" style="display: none;">
<%=t "projects.canvas.edit.modal_new_module.error_length" %>
<%=t "experiments.canvas.edit.modal_new_module.error_length" %>
</span>
<span class="module-name-invalid-error" style="display: none;">
<%=t "projects.canvas.edit.modal_new_module.error_invalid" %>
<%=t "experiments.canvas.edit.modal_new_module.error_invalid" %>
</span>
<span class="module-name-whitespaces-error" style="display: none;">
<%=t "projects.canvas.edit.modal_new_module.error_whitespaces" %>
<%=t "experiments.canvas.edit.modal_new_module.error_whitespaces" %>
</span>
<%= bootstrap_form_tag do |f| %>
<%= f.text_field t("projects.canvas.edit.modal_edit_module.name"), id: "edit-module-name-input" %>
<%= f.text_field t("experiments.canvas.edit.modal_edit_module.name"), id: "edit-module-name-input" %>
<% end %>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"><%=t "general.cancel" %></button>
<button type="button" class="btn btn-primary" data-action="confirm"><%=t "projects.canvas.edit.modal_edit_module.confirm" %></button>
<button type="button" class="btn btn-primary" data-action="confirm"><%=t "experiments.canvas.edit.modal_edit_module.confirm" %></button>
</div>
</div>
</div>
</div>
</div>

View file

@ -3,26 +3,26 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="modal-edit-module-group-label"><%=t "projects.canvas.edit.modal_edit_module_group.title" %></h4>
<h4 class="modal-title" id="modal-edit-module-group-label"><%=t "experiments.canvas.edit.modal_edit_module_group.title" %></h4>
</div>
<div class="modal-body">
<span class="module-name-length-error" style="display: none;">
<%=t "projects.canvas.edit.modal_new_module.error_length" %>
<%=t "experiments.canvas.edit.modal_new_module.error_length" %>
</span>
<span class="module-name-invalid-error" style="display: none;">
<%=t "projects.canvas.edit.modal_new_module.error_invalid" %>
<%=t "experiments.canvas.edit.modal_new_module.error_invalid" %>
</span>
<span class="module-name-whitespaces-error" style="display: none;">
<%=t "projects.canvas.edit.modal_new_module.error_whitespaces" %>
<%=t "experiments.canvas.edit.modal_new_module.error_whitespaces" %>
</span>
<%= bootstrap_form_tag do |f| %>
<%= f.text_field t("projects.canvas.edit.modal_edit_module_group.name"), id: "edit-module-group-name-input" %>
<%= f.text_field t("experiments.canvas.edit.modal_edit_module_group.name"), id: "edit-module-group-name-input" %>
<% end %>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"><%=t "general.cancel" %></button>
<button type="button" class="btn btn-primary" data-action="confirm"><%=t "projects.canvas.edit.modal_edit_module_group.confirm" %></button>
<button type="button" class="btn btn-primary" data-action="confirm"><%=t "experiments.canvas.edit.modal_edit_module_group.confirm" %></button>
</div>
</div>
</div>
</div>
</div>

View file

@ -3,25 +3,25 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="modal-new-module-label"><%=t "projects.canvas.edit.modal_new_module.title" %></h4>
<h4 class="modal-title" id="modal-new-module-label"><%=t "experiments.canvas.edit.modal_new_module.title" %></h4>
</div>
<div class="modal-body">
<span class="module-name-length-error" style="display: none;">
<%=t "projects.canvas.edit.modal_new_module.error_length" %>
<%=t "experiments.canvas.edit.modal_new_module.error_length" %>
</span>
<span class="module-name-invalid-error" style="display: none;">
<%=t "projects.canvas.edit.modal_new_module.error_invalid" %>
<%=t "experiments.canvas.edit.modal_new_module.error_invalid" %>
</span>
<span class="module-name-whitespaces-error" style="display: none;">
<%=t "projects.canvas.edit.modal_new_module.error_whitespaces" %>
<%=t "experiments.canvas.edit.modal_new_module.error_whitespaces" %>
</span>
<%= bootstrap_form_tag do |f| %>
<%= f.text_field t("projects.canvas.edit.modal_new_module.name"), placeholder: t("projects.canvas.edit.modal_new_module.name_placeholder"), id: "new-module-name-input" %>
<%= f.text_field t("experiments.canvas.edit.modal_new_module.name"), placeholder: t("experiments.canvas.edit.modal_new_module.name_placeholder"), id: "new-module-name-input" %>
<% end %>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"><%=t "general.cancel" %></button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-action="confirm"><%=t "projects.canvas.edit.modal_new_module.confirm" %></button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-action="confirm"><%=t "experiments.canvas.edit.modal_new_module.confirm" %></button>
</div>
</div>
</div>

View file

@ -32,7 +32,7 @@
<div class="panel-body">
<div class="row">
<div class="col-xs-6">
<%= link_to_if can_edit_module(my_module), t("projects.canvas.full_zoom.due_date"), due_date_my_module_path(my_module, format: :json), remote: true, class: "due-date-link" %>
<%= link_to_if can_edit_module(my_module), t("experiments.canvas.full_zoom.due_date"), due_date_my_module_path(my_module, format: :json), remote: true, class: "due-date-link" %>
</div>
<div class="col-xs-6">
<% if can_edit_module(my_module) %>

View file

@ -221,93 +221,6 @@ en:
error_flash: "Project <strong>%{name}</strong> not restored."
show:
head_title: "%{project}"
canvas:
head_title: "%{project} | Overview"
canvas_edit: "Edit workflow"
modal_manage_tags:
head_title: "Manage tags for"
subtitle: "Showing tags of task %{module}"
no_tags: "No tags!"
edit_tag: "Edit tag."
remove_tag: "Remove tag from task %{module}."
delete_tag: "Permanently delete tag from all tasks."
save_tag: "Save tag."
cancel_tag: "Cancel changes to the tag."
create: "Add tag"
create_new: "Create new tag"
edit:
new_module: "New task"
new_module_hover: "Drag me onto canvas"
save: "Save workflow"
save_short: "Save"
cancel: "Cancel"
unsaved_work: "Are you sure you want to leave this page? All unsaved data will be lost."
drag_connections: "Drag connection/s from here"
options_header: "Options"
edit_module: "Rename task"
edit_module_group: "Rename workflow"
clone_module: "Clone task"
clone_module_group: "Clone workflow"
delete_module: "Archive task"
delete_module_group: "Archive workflow"
modal_new_module:
title: "Add new task"
name: "Task name"
name_placeholder: "My task"
confirm: "Add task"
error_length: "Name must contain from 2 to 50 characters."
error_invalid: "Name contains invalid characters ('|')."
error_whitespaces: "Name cannot be blank."
modal_edit_module:
title: "Rename task"
name: "Task name"
confirm: "Rename task"
modal_edit_module_group:
title: "Rename workflow"
name: "Workflow name"
confirm: "Rename workflow"
modal_delete_module:
title: "Archive task"
confirm: "Archive task"
message: "Are you sure you wish to archive task %{module}? Task's samples and position will be removed."
modal_delete_module_group:
title: "Archive workflow"
confirm: "Archive workflow"
message: "Are you sure you wish to archive the workflow task %{module} belongs to? All workflow tasks' samples and positions will be removed."
popups:
info_tab: "Task info"
no_description: "This task has no description."
full_info: "Edit description"
users_tab: "Assigned users"
no_users: "This task has no assigned users."
manage_users: "Manage users"
module_user_join: "Joined on %{date}."
module_user_join_full: "%{user} joined on %{date} at %{time}."
activities_tab: "Activity"
no_activities: "No activities!"
more_activities: "All activities"
comments_tab: "Comments"
no_comments: "No comments!"
more_comments: "More Comments"
comment_placeholder: "Your Message"
new_comment: "New comment"
samples_tab: "Samples"
no_samples: "No samples!"
manage_samples: "Manage samples"
full_zoom:
due_date: "Due date"
no_due_date: "not set"
modal_manage_users:
modal_title: "Manage users for"
no_users: "No users"
user_join: "Joined on %{date}."
user_join_full: "%{user} joined on %{date} at %{time}."
create: "Add"
invite_users_link: "Invite users"
invite_users_details: "to team %{organization}."
contact_admins: "To invite additional users to team %{organization}, contact its administrator/s."
update:
success_flash: "Project successfully updated."
samples:
head_title: "%{project} | Sample library"
activities:
@ -464,6 +377,95 @@ en:
archived_on: "Archived on"
archived_on_title: "Task archived on %{date} at %{time}."
experiments:
canvas:
head_title: "%{project} | Overview"
canvas_edit: "Edit workflow"
modal_manage_tags:
head_title: "Manage tags for"
subtitle: "Showing tags of task %{module}"
no_tags: "No tags!"
edit_tag: "Edit tag."
remove_tag: "Remove tag from task %{module}."
delete_tag: "Permanently delete tag from all tasks."
save_tag: "Save tag."
cancel_tag: "Cancel changes to the tag."
create: "Add tag"
create_new: "Create new tag"
edit:
new_module: "New task"
new_module_hover: "Drag me onto canvas"
save: "Save workflow"
save_short: "Save"
cancel: "Cancel"
unsaved_work: "Are you sure you want to leave this page? All unsaved data will be lost."
drag_connections: "Drag connection/s from here"
options_header: "Options"
edit_module: "Rename task"
edit_module_group: "Rename workflow"
clone_module: "Clone task"
clone_module_group: "Clone workflow"
delete_module: "Archive task"
delete_module_group: "Archive workflow"
modal_new_module:
title: "Add new task"
name: "Task name"
name_placeholder: "My task"
confirm: "Add task"
error_length: "Name must contain from 2 to 50 characters."
error_invalid: "Name contains invalid characters ('|')."
error_whitespaces: "Name cannot be blank."
modal_edit_module:
title: "Rename task"
name: "Task name"
confirm: "Rename task"
modal_edit_module_group:
title: "Rename workflow"
name: "Workflow name"
confirm: "Rename workflow"
modal_delete_module:
title: "Archive task"
confirm: "Archive task"
message: "Are you sure you wish to archive task %{module}? Task's samples and position will be removed."
modal_delete_module_group:
title: "Archive workflow"
confirm: "Archive workflow"
message: "Are you sure you wish to archive the workflow task %{module} belongs to? All workflow tasks' samples and positions will be removed."
popups:
info_tab: "Task info"
no_description: "This task has no description."
full_info: "Edit description"
users_tab: "Assigned users"
no_users: "This task has no assigned users."
manage_users: "Manage users"
module_user_join: "Joined on %{date}."
module_user_join_full: "%{user} joined on %{date} at %{time}."
activities_tab: "Activity"
no_activities: "No activities!"
more_activities: "All activities"
comments_tab: "Comments"
no_comments: "No comments!"
more_comments: "More Comments"
comment_placeholder: "Your Message"
new_comment: "New comment"
samples_tab: "Samples"
no_samples: "No samples!"
manage_samples: "Manage samples"
full_zoom:
due_date: "Due date"
no_due_date: "not set"
modal_manage_users:
modal_title: "Manage users for"
no_users: "No users"
user_join: "Joined on %{date}."
user_join_full: "%{user} joined on %{date} at %{time}."
create: "Add"
invite_users_link: "Invite users"
invite_users_details: "to team %{organization}."
contact_admins: "To invite additional users to team %{organization}, contact its administrator/s."
update:
success_flash: "Project successfully updated."
user_organizations:
enums:
role: