Approval workflow copying #326

This commit is contained in:
Karel Pičman 2014-11-28 14:31:32 +01:00
parent f27e29f80c
commit 5eb8a0c462
15 changed files with 47 additions and 10 deletions

View File

@ -202,5 +202,17 @@ class DmsfWorkflow < ActiveRecord::Base
end
end
return false
end
end
def copy_to(project)
new_wf = self.dup
new_wf.name = "#{self.name}_#{project.identifier}"
new_wf.project_id = project.id
if new_wf.save
self.dmsf_workflow_steps.each do |step|
step.copy_to(new_wf)
end
end
return new_wf
end
end

View File

@ -1,6 +1,6 @@
# Redmine plugin for Document Management System "Features"
#
# Copyright (C) 2013 Karel Picman <karel.picman@kontron.com>
# Copyright (C) 2011-14 Karel Picman <karel.picman@kontron.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -56,4 +56,11 @@ class DmsfWorkflowStep < ActiveRecord::Base
end
end
end
def copy_to(workflow)
new_step = self.dup
new_step.dmsf_workflow_id = workflow.id
new_step.save
return new_step
end
end

View File

@ -1,7 +1,8 @@
<%# Redmine plugin for Document Management System "Features"
#
# Copyright (C) 2011 Vít Jonáš <vit.jonas@gmail.com>
# Copyright (C) 2012 Daniel Munn <dan.munn@munnster.co.uk>
# Copyright (C) 2011 Vít Jonáš <vit.jonas@gmail.com>
# Copyright (C) 2012 Daniel Munn <dan.munn@munnster.co.uk>
# Copyright (C) 2011-14 Karel Pičman <karel.picman@kontron.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -19,6 +20,7 @@
<% if @project.new_record? && @source_project %>
<p>
<label class="block"><%= check_box_tag 'only[]', 'dmsf', true %><%= l(:label_dmsf_plural, @source_project.dmsf_count) %></label>
<label class="block"><%= check_box_tag 'only[]', 'dmsf', true %> <%= l(:label_dmsf_plural, @source_project.dmsf_count) %></label>
<label class="block"><%= check_box_tag 'only[]', 'approval_workflows', true %> <%= l(:label_dmsf_workflow_plural_num, @source_project.dmsf_workflows.count) %></label>
</p>
<% end %>

View File

@ -224,6 +224,7 @@ cs:
field_label_dmsf_workflow: Schvalovací proces
field_label_dmsf_workflow_name: Approval workflow name
label_dmsf_workflow_plural: Schvalovací procesy
label_dmsf_workflow_plural_num: Schvalovací procesy (%{count})
label_dmsf_workflow_step: Krok
label_dmsf_workflow_step_plural: Kroky
label_dmsf_workflow_approval: Schválení

View File

@ -224,6 +224,7 @@ de:
field_label_dmsf_workflow: Genehmigungs-Workflow
field_label_dmsf_workflow_name: Genehmigungs-Workflow Name
label_dmsf_workflow_plural: Genehmigungs-Workflows
label_dmsf_workflow_plural_num: Genehmigungs-Workflows (%{count})
label_dmsf_workflow_step: Schritt
label_dmsf_workflow_step_plural: Schritte
label_dmsf_workflow_approval: Genehmigung

View File

@ -223,7 +223,8 @@ en:
label_dmsf_workflow_new: New approval workflow
field_label_dmsf_workflow: Approval Workflow
field_label_dmsf_workflow_name: Approval workflow name
label_dmsf_workflow_plural: Approval workflows
label_dmsf_workflow_plural: Approval workflows
label_dmsf_workflow_plural_num: Approval workflows (%{count})
label_dmsf_workflow_step: Step
label_dmsf_workflow_step_plural: Steps
label_dmsf_workflow_approval: Approval

View File

@ -224,6 +224,7 @@ es:
field_label_dmsf_workflow: Approval Workflow
field_label_dmsf_workflow_name: Approval workflow name
label_dmsf_workflow_plural: Approval workflows
label_dmsf_workflow_plural_num: Approval workflows (%{count})
label_dmsf_workflow_step: Step
label_dmsf_workflow_step_plural: Steps
label_dmsf_workflow_approval: Approval

View File

@ -224,6 +224,7 @@ fr:
field_label_dmsf_workflow: Flux de validation
field_label_dmsf_workflow_name: Nom du flux
label_dmsf_workflow_plural: Flux de validation
label_dmsf_workflow_plural_num: Flux de validation (%{count})
label_dmsf_workflow_step: Etape
label_dmsf_workflow_step_plural: Etapes
label_dmsf_workflow_approval: Approbation

View File

@ -224,6 +224,7 @@ ja:
field_label_dmsf_workflow: Approval Workflow
field_label_dmsf_workflow_name: Approval workflow name
label_dmsf_workflow_plural: Approval workflows
label_dmsf_workflow_plural_num: Approval workflows (%{count})
label_dmsf_workflow_step: Step
label_dmsf_workflow_step_plural: Steps
label_dmsf_workflow_approval: Approval

View File

@ -224,6 +224,7 @@ ru:
field_label_dmsf_workflow: Approval Workflow
field_label_dmsf_workflow_name: Approval workflow name
label_dmsf_workflow_plural: Approval workflows
label_dmsf_workflow_plural_num: Approval workflows (%{count})
label_dmsf_workflow_step: Step
label_dmsf_workflow_step_plural: Steps
label_dmsf_workflow_approval: Approval

View File

@ -224,6 +224,7 @@ sl:
field_label_dmsf_workflow: Approval Workflow
field_label_dmsf_workflow_name: Approval workflow name
label_dmsf_workflow_plural: Approval workflows
label_dmsf_workflow_plural_num: Approval workflows (%{count})
label_dmsf_workflow_step: Step
label_dmsf_workflow_step_plural: Steps
label_dmsf_workflow_approval: Approval

View File

@ -226,6 +226,7 @@
field_label_dmsf_workflow: 批准流程
field_label_dmsf_workflow_name: 批准流程名稱
label_dmsf_workflow_plural: 批准流程
label_dmsf_workflow_plural_num: 批准流程 (%{count})
label_dmsf_workflow_step: 步驟
label_dmsf_workflow_step_plural: 步驟
label_dmsf_workflow_approval: 批准

View File

@ -224,6 +224,7 @@ zh:
field_label_dmsf_workflow: Approval Workflow
field_label_dmsf_workflow_name: Approval workflow name
label_dmsf_workflow_plural: Approval workflows
label_dmsf_workflow_plural_num: Approval workflows (%{count})
label_dmsf_workflow_step: Step
label_dmsf_workflow_step_plural: Steps
label_dmsf_workflow_approval: Approval

View File

@ -1,6 +1,6 @@
# Redmine plugin for Document Management System "Features"
#
# Copyright (C) 2013 Karel Pičman <karel.picman@kontron.com>
# Copyright (C) 2011-14 Karel Pičman <karel.picman@kontron.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -31,4 +31,4 @@ module RedmineDmsf
end
end
end
end

View File

@ -61,7 +61,7 @@ module RedmineDmsf
project = project.is_a?(Project) ? project : Project.find(project)
to_be_copied = %w(dmsf)
to_be_copied = %w(dmsf, approval_workflows)
to_be_copied = to_be_copied & options[:only].to_a if options[:only].present?
if save
@ -88,6 +88,12 @@ module RedmineDmsf
l.copy_to(self, nil)
end
end
def copy_approval_workflows(project)
project.dmsf_workflows.each do |wf|
wf.copy_to self
end
end
end
end
@ -99,4 +105,4 @@ Rails.configuration.to_prepare do
unless Project.included_modules.include?(RedmineDmsf::Patches::ProjectPatch)
Project.send(:include, RedmineDmsf::Patches::ProjectPatch)
end
end
end