X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FRequirementSpecPredefinedText.pm;h=00c86b47471492175b6476bc717b9ab05a3ccf59;hb=95fde3c0a3871b0b9a4d9feaa10ae24b88bbb006;hp=6aebc8614c9c53c39b2115f63d27c5a7bc86c26b;hpb=c45b8d02a52b00efe282e14e55cf5c464066eb01;p=kivitendo-erp.git diff --git a/SL/Controller/RequirementSpecPredefinedText.pm b/SL/Controller/RequirementSpecPredefinedText.pm index 6aebc8614..00c86b474 100644 --- a/SL/Controller/RequirementSpecPredefinedText.pm +++ b/SL/Controller/RequirementSpecPredefinedText.pm @@ -4,8 +4,9 @@ use strict; use parent qw(SL::Controller::Base); +use List::MoreUtils qw(none); + use SL::DB::RequirementSpecPredefinedText; -use SL::DB::Language; use SL::Helper::Flash; use SL::Locale::String; @@ -15,6 +16,7 @@ use Rose::Object::MakeMethods::Generic ); __PACKAGE__->run_before('check_auth'); +__PACKAGE__->run_before('setup'); __PACKAGE__->run_before('load_requirement_spec_predefined_text', only => [ qw(edit update destroy) ]); # @@ -25,14 +27,14 @@ sub action_list { my ($self) = @_; $self->render('requirement_spec_predefined_text/list', - title => t8('Predefined Texts'), + title => t8('Pre-defined Texts'), REQUIREMENT_SPEC_PREDEFINED_TEXTS => SL::DB::Manager::RequirementSpecPredefinedText->get_all_sorted); } sub action_new { my ($self) = @_; - $self->{requirement_spec_predefined_text} = SL::DB::RequirementSpecPredefinedText->new; + $self->{requirement_spec_predefined_text} = SL::DB::RequirementSpecPredefinedText->new(useable_for_text_blocks => 1); $self->render('requirement_spec_predefined_text/form', title => t8('Create a new predefined text')); } @@ -81,6 +83,10 @@ sub check_auth { $::auth->assert('config'); } +sub setup { + $::request->layout->use_javascript("${_}.js") for qw(ckeditor/ckeditor ckeditor/adapters/jquery); +} + # # helpers # @@ -91,6 +97,13 @@ sub create_or_update { my $params = delete($::form->{requirement_spec_predefined_text}) || { }; my $title = $is_new ? t8('Create a new predefined text') : t8('Edit predefined text'); + # Force presence of booleans for the useable_* flags. + my @useable_flags = qw(text_blocks sections); + $params->{"useable_for_${_}"} = !!$params->{"useable_for_${_}"} for @useable_flags; + + # Force usage for text blocks if none of the check boxes are marked. + $params->{useable_for_text_blocks} = 1 if none { $params->{"useable_for_${_}"} } @useable_flags; + $self->{requirement_spec_predefined_text}->assign_attributes(%{ $params }); my @errors = $self->{requirement_spec_predefined_text}->validate;