parent
0dffec6f58
commit
3a3a48e267
@ -0,0 +1,5 @@ |
||||
class JournalizeSchedulingMode < ActiveRecord::Migration[6.0] |
||||
def change |
||||
add_column :work_package_journals, :schedule_manually, :boolean, default: false |
||||
end |
||||
end |
@ -0,0 +1,36 @@ |
||||
#-- copyright |
||||
# OpenProject is an open source project management software. |
||||
# Copyright (C) 2012-2020 the OpenProject GmbH |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License version 3. |
||||
# |
||||
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
# Copyright (C) 2010-2013 the ChiliProject Team |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License |
||||
# as published by the Free Software Foundation; either version 2 |
||||
# of the License, or (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
# |
||||
# See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
|
||||
class OpenProject::JournalFormatter::ScheduleManually < JournalFormatter::Base |
||||
def render(key, values, options = { no_html: false }) |
||||
label_text = options[:no_html] ? label(key) : content_tag('strong', label(key)) |
||||
activated_text = values.last ? I18n.t('scheduling.activated') : I18n.t('scheduling.deactivated') |
||||
|
||||
I18n.t(:text_journal_label_value, label: label_text, value: activated_text) |
||||
end |
||||
end |
@ -0,0 +1,61 @@ |
||||
#-- copyright |
||||
# OpenProject is an open source project management software. |
||||
# Copyright (C) 2012-2020 the OpenProject GmbH |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License version 3. |
||||
# |
||||
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
# Copyright (C) 2010-2013 the ChiliProject Team |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License |
||||
# as published by the Free Software Foundation; either version 2 |
||||
# of the License, or (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
# |
||||
# See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
|
||||
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb') |
||||
|
||||
describe OpenProject::JournalFormatter::ScheduleManually do |
||||
let(:klass) { described_class } |
||||
let(:id) { 1 } |
||||
let(:journal) do |
||||
OpenStruct.new(id: id, journable: WorkPackage.new) |
||||
end |
||||
let(:instance) { klass.new(journal) } |
||||
let(:key) { 'schedule_manually' } |
||||
|
||||
describe '#render' do |
||||
describe 'with the first value being true, and the second false' do |
||||
let(:expected) do |
||||
I18n.t(:text_journal_label_value, |
||||
label: "<strong>Manual scheduling</strong>", |
||||
value: 'deactivated') |
||||
end |
||||
|
||||
it { expect(instance.render(key, [true, false])).to eq(expected) } |
||||
end |
||||
|
||||
describe 'with the first value being false, and the second true' do |
||||
let(:expected) do |
||||
I18n.t(:text_journal_label_value, |
||||
label: "<strong>Manual scheduling</strong>", |
||||
value: 'activated') |
||||
end |
||||
|
||||
it { expect(instance.render(key, [false, true])).to eq(expected) } |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue