X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FRequirementSpecPredefinedText.pm;h=00c86b47471492175b6476bc717b9ab05a3ccf59;hb=0a2fb69e21af67fdc5d162294c08b1847c9aa021;hp=5740250fffd0059bfcd7a93fc7b82993742fb477;hpb=e95a205ff485e881051db820f5abc627eeb4eacc;p=kivitendo-erp.git diff --git a/SL/Controller/RequirementSpecPredefinedText.pm b/SL/Controller/RequirementSpecPredefinedText.pm index 5740250ff..00c86b474 100644 --- a/SL/Controller/RequirementSpecPredefinedText.pm +++ b/SL/Controller/RequirementSpecPredefinedText.pm @@ -4,6 +4,8 @@ use strict; use parent qw(SL::Controller::Base); +use List::MoreUtils qw(none); + use SL::DB::RequirementSpecPredefinedText; use SL::Helper::Flash; use SL::Locale::String; @@ -14,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) ]); # @@ -24,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')); } @@ -80,6 +83,10 @@ sub check_auth { $::auth->assert('config'); } +sub setup { + $::request->layout->use_javascript("${_}.js") for qw(ckeditor/ckeditor ckeditor/adapters/jquery); +} + # # helpers # @@ -90,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;