- my $prepared_letter = GetProcessedLetter(
- module => $module,
- letter_code => $letter_code,
- letter => $letter,
- branchcode => $branchcode,
- tables => $tables,
- substitute => $substitute,
- repeat => $repeat
- );
-
- return $prepared_letter;
-}
-
-=head2 GetProcessedLetter( %params )
-
- given a letter, with possible pre-processing do standard processing
- allows one to perform letter template processing beforehand
-
- %params hash:
- module => letter module, mandatory
- letter_code => letter code, mandatory
- letter => letter, mandatory
- branchcode => for letter selection, if missing default system letter taken
- tables => a hashref with table names as keys. Values are either:
- - a scalar - primary key value
- - an arrayref - primary key values
- - a hashref - full record
- substitute => custom substitution key/value pairs
- repeat => records to be substituted on consecutive lines:
- - an arrayref - tries to guess what needs substituting by
- taking remaining << >> tokensr; not recommended
- - a hashref token => @tables - replaces <token> << >> << >> </token>
- subtemplate for each @tables row; table is a hashref as above
- want_librarian => boolean, if set to true triggers librarian details
- substitution from the userenv
- Return value:
- letter fields hashref (title & content useful)
-
-=cut
-
-sub GetProcessedLetter {
- my %params = @_;
-
- my $module = $params{module} or croak "No module";
- my $letter_code = $params{letter_code} or croak "No letter_code";
- my $letter = $params{letter} or croak "No letter";
- my $branchcode = $params{branchcode} || '';