fix inheritence for BSE::DummyArticle
[bse.git] / site / cgi-bin / modules / BSE / DummyArticle.pm
1 package BSE::DummyArticle;
2 use strict;
3 use base 'BSE::TB::SiteCommon';
4 use base 'BSE::FormatterBase';
5 use BSE::TB::Articles;
6 use base 'BSE::MetaOwnerBase';
7
8 our $VERSION = "1.007";
9
10 sub images {
11   return;
12 }
13
14 sub files {
15   return;
16 }
17
18 {
19   for my $name (BSE::TB::Article->columns) {
20     eval "sub $name { \$_[0]{$name} }";
21   }
22 }
23
24 sub restricted_method {
25   return 0;
26 }
27
28 sub section {
29   $_[0];
30 }
31
32 sub is_descendant_of {
33   0;
34 }
35
36 sub parent {
37   return;
38 }
39
40 sub is_dynamic {
41   1;
42 }
43
44 sub is_step_ancestor {
45   0;
46 }
47
48 sub menu_ancestors {
49   return;
50 }
51
52 sub should_index {
53   1;
54 }
55
56 sub tags {
57   ();
58 }
59
60 sub has_tags {
61   0;
62 }
63
64 sub meta_owner_type {
65   'bse_article';
66 }
67
68 sub meta_meta_cfg_section {
69   "global article metadata";
70 }
71
72 sub meta_meta_cfg_prefix {
73   "article metadata";
74 }
75
76 sub metafields {
77   my ($self, $cfg) = @_;
78
79   $cfg ||= BSE::Cfg->single;
80
81   my %metanames = map { $_ => 1 } $self->metanames;
82
83   require BSE::ArticleMetaMeta;
84   my @fields = grep $metanames{$_->name} || $_->cond($self), BSE::ArticleMetaMeta->all_metametadata($cfg);
85
86   return ( @fields );
87 }
88
89
90 1;