#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package Support::Module::PageList;

use strict;
use warnings;
use Carp;

use lib '/app/tools/support/lib';
use Support::Module::PageSimple;
use Support::DB::Item::ModulePage;
use Support::Permission;

use lib '/app/tools/common/lib';
use Common::Assert;

use Common::FormObject;
use base 'Common::FormObject';

sub _init {
    my ( $self, %args ) = @_;

    my $moduleID     = $args{moduleID};
    my $restrictList = $args{restrictList};

    $self->SUPER::_init(%args);

    $self->{Page} = [];

    my $pages = Support::DB::Item::ModulePage->GetPages($moduleID);

    while ( $pages && $pages->hasNext() ) {
        my $pageData = $pages->next();
        push( @{ $self->{Page} }, new Support::Module::PageSimple( _dbItem => $pageData ) )
          if ( !$restrictList || Support::Permission->CanRead( page => $pageData->url ) );
    }

    return $self;
}

sub Pages {
    my $self = shift;
    return @{ $self->{Pages} };
}

1;
