Gantry
view release on metacpan or search on metacpan
lib/Gantry/Control/C/Pages.pm view on Meta::CPAN
$param{gw},
$param{gx} ) = dec2bin( eval{ $row->{group_perm} } );
}
# world permissions
if ( ( ! defined $param{wr} )
|| ( ! defined $param{ww} )
|| ( ! defined defined $param{wx} ) ) {
( $param{wr},
$param{ww},
$param{wx} ) = dec2bin( eval{ $row->{world_perm} } );
}
my @permissions = (
ht_table(),
ht_tr(),
ht_td( { 'class' => 'shd' }, 'Owner' ),
ht_td( { 'class' => 'shd' }, 'Group' ),
ht_td( { 'class' => 'shd' }, 'World' ),
ht_utr(),
ht_tr(),
ht_td( { 'class' => 'dta' },
ht_checkbox( 'ur', 1, $param{ur} ), 'Read', ht_br(),
ht_checkbox( 'uw', 1, $param{ux} ), 'Write', ht_br(),
ht_checkbox( 'ux', 1, $param{ux} ), 'Execute' ),
ht_td( { 'class' => 'dta' },
ht_checkbox( 'gr', 1, $param{gr} ), 'Read', ht_br(),
ht_checkbox( 'gw', 1, $param{gw} ), 'Write', ht_br(),
ht_checkbox( 'gx', 1, $param{gx} ), 'Execute' ),
ht_td( { 'class' => 'dta' },
ht_checkbox( 'wr', 1, $param{wr} ), 'Read', ht_br(),
ht_checkbox( 'ww', 1, $param{ww} ), 'Write', ht_br(),
ht_checkbox( 'wx', 1, $param{wx} ), 'Execute' ),
ht_utr(),
ht_utable() ,
);
# push groups to array
my @group_options;
foreach ( $AUTH_GROUPS->retrieve_all( { order_by => 'name' } ) ) {
push( @group_options, {
label => $_->name,
value => $_->id,
});
}
# push users to array
my @owner_options;
foreach ( $AUTH_USERS->retrieve_all(
{ order_by => 'last_name, first_name' } ) ) {
push( @owner_options, {
label => ( $_->last_name . ", " . $_->first_name ),
value => $_->id,
});
}
my $form = {
legend => $self->path_info =~ /edit/i ? 'Edit' : 'Add',
width => "400",
label_width => '40px',
row => $row,
fields => [
{ name => 'uri',
label => 'URI',
type => 'text',
is => 'varchar'
},
{ name => 'title',
label => 'Title',
type => 'text',
is => 'varchar',
},
{ name => 'owner_id',
label => 'Owner',
is => 'int4',
type => 'select',
options => \@owner_options
},
{ name => 'group_id',
label => 'Group',
is => 'int4',
type => 'select',
options => \@group_options
},
{ html => join( "\n", @permissions ),
optional => 1,
type => 'html',
is => 'varchar',
label => 'Permissions',
}
]
};
return( $form );
} # end form
sub site_links {
my $self = shift;
return( [
{ link => ($self->app_rootp . '/users'), label => 'Users' },
{ link => ($self->app_rootp . '/groups'), label => 'Groups' },
{ link => ($self->app_rootp . '/pages'), label => 'Pages' },
] );
}
# EOF
1;
__END__
=head1 NAME
Gantry::Control::C::Pages - Page based control adminstration.
=head1 SYNOPSIS
( run in 1.677 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )