81 |
my $model; |
my $model; |
82 |
warn "Creating columns for model $objectClass\n"; |
warn "Creating columns for model $objectClass\n"; |
83 |
|
|
84 |
$methods .= qq/\n=head2 $objectClass\n=cut\n\n/; |
my $aliases = qq/\n=head1 $objectClass helper methods\n=cut\n\n/; |
85 |
|
|
86 |
sub entry { |
sub entry { |
87 |
my ( $e, $add ) = @_; |
my ( $e, $add ) = @_; |
90 |
warn "WARNING: column $name found again, skipping...\n"; |
warn "WARNING: column $name found again, skipping...\n"; |
91 |
return ''; |
return ''; |
92 |
} |
} |
93 |
$methods .= qq/sub $_ { \$_[0]->$name }\n/ foreach @{$_->{aliases}}; |
$aliases .= qq/sub $_ { \$_[0]->$name }\n/ foreach @{$_->{aliases}}; |
94 |
my $out = qq/\tcolumn $name =>\n\t\tlabel is _('$_->{desc}')/; |
my $out = qq/\tcolumn $name =>\n\t\tlabel is _('$_->{desc}')/; |
95 |
# $out .= qq/,\n\t\t# single-value/ if $_->{'single-value'}; |
# $out .= qq/,\n\t\t# single-value/ if $_->{'single-value'}; |
96 |
# $out .= qq/,\n\t\tfilters are qw(A3C::Filter::Array)/ unless $_->{'single-value'}; |
# $out .= qq/,\n\t\tfilters are qw(A3C::Filter::Array)/ unless $_->{'single-value'}; |
118 |
} $schema->may( $objectClass ); |
} $schema->may( $objectClass ); |
119 |
$model .= qq/\t# $objectClass may:\n\n$may\n/ if $may; |
$model .= qq/\t# $objectClass may:\n\n$may\n/ if $may; |
120 |
|
|
121 |
|
$methods .= $aliases unless $aliases; |
122 |
|
|
123 |
return $model; |
return $model; |
124 |
} |
} |
125 |
|
|
134 |
|
|
135 |
$methods |
$methods |
136 |
|
|
137 |
=head ACL |
=head2 ACL |
138 |
|
|
139 |
We use L<A3C::DefaultACL> for access control |
We use L<A3C::DefaultACL> for access control |
140 |
|
|