locales-Lauf en
[kivitendo-erp.git] / SL / Presenter / RequirementSpec.pm
index b8a202d..33746df 100644 (file)
@@ -2,23 +2,27 @@ package SL::Presenter::RequirementSpec;
 
 use strict;
 
-use parent qw(Exporter);
+use SL::Presenter::EscapedText qw(escape is_escaped);
 
 use Exporter qw(import);
-our @EXPORT = qw(requirement_spec_text_block_jstree_data);
+our @EXPORT_OK = qw(requirement_spec);
 
 use Carp;
 
-use SL::JSON;
+sub requirement_spec {
+  my ($requirement_spec, %params) = @_;
 
-sub requirement_spec_text_block_jstree_data {
-  my ($self, $text_block, %params) = @_;
+  $params{display} ||= 'inline';
 
-  return {
-    data     => $text_block->title || '',
-    metadata => { id =>         $text_block->id, type => 'textblock' },
-    attr     => { id => "tb-" . $text_block->id, href => $params{href} || '#' },
-  };
+  croak "Unknown display type '$params{display}'" unless $params{display} =~ m/^(?:inline|table-cell)$/;
+
+  my $text = join '', (
+    $params{no_link} ? '' : '<a href="controller.pl?action=RequirementSpec/show&amp;id=' . escape($requirement_spec->id) . '">',
+    escape($requirement_spec->id),
+    $params{no_link} ? '' : '</a>',
+  );
+
+  is_escaped($text);
 }
 
 1;