Subversion Repositories oidfminutesapp

Compare Revisions

Rev 1 → Rev 2

trunk/root/logout.tt New file
0,0 → 1,8
 
<p>Log out</p>
 
<form method="POST">
<p>Are you sure?</p>
<p><input type="submit" name="confirm" value="Log Out"></p>
</form>
 
trunk/root/404.tt New file
0,0 → 1,8
<p>Not found.</p>
trunk/root/favicon.ico Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes : Name: svn:mime-type + application/octet-stream
trunk/root/home.tt New file
0,0 → 1,16
[% META title = "OIDF Minutes" %]
<p>This is the OIDFMinutes home template.</p>
<p>You are [% remote_ident %], or [% remote_user.name %]</p>
<table>
[% FOREACH team IN teams -%]
<tr>
<td>[% team.name %]</td>
<td>[% team.teamid %]</td>
<td>
[% FOREACH user IN team.members -%]
<div>[% user.name %]</div>
[% END -%]
</td>
</tr>
[% END -%]
</table>
trunk/root/login.tt New file
0,0 → 1,8
 
<p>Log in via OpenID</p>
 
<form method="POST">
<p><input class="openid" name="claimed_uri">
<input type="submit"></p>
</form>
 
trunk/t/01app.t New file
0,0 → 1,7
use strict;
use warnings;
use Test::More tests => 2;
 
BEGIN { use_ok 'Catalyst::Test', 'OIDFMinutes' }
 
ok( request('/')->is_success, 'Request should succeed' );
trunk/t/03podcoverage.t New file
0,0 → 1,9
use strict;
use warnings;
use Test::More;
 
eval "use Test::Pod::Coverage 1.04";
plan skip_all => 'Test::Pod::Coverage 1.04 required' if $@;
plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
 
all_pod_coverage_ok();
trunk/t/view_TT.t New file
0,0 → 1,6
use strict;
use warnings;
use Test::More tests => 1;
 
BEGIN { use_ok 'OIDFMinutes::View::TT' }
 
trunk/t/02pod.t New file
0,0 → 1,9
use strict;
use warnings;
use Test::More;
 
eval "use Test::Pod 1.14";
plan skip_all => 'Test::Pod 1.14 required' if $@;
plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
 
all_pod_files_ok();
trunk/t/model_DB.t New file
0,0 → 1,6
use strict;
use warnings;
use Test::More tests => 1;
 
BEGIN { use_ok 'OIDFMinutes::Model::DB' }
 
trunk/t/model_OIDFMinutesDB.t New file
0,0 → 1,6
use strict;
use warnings;
use Test::More tests => 1;
 
BEGIN { use_ok 'OIDFMinutes::Model::OIDFMinutesDB' }
 
trunk/script/oidfminutes_test.pl New file
0,0 → 1,54
#!/usr/bin/perl -w
 
use strict;
use warnings;
use Getopt::Long;
use Pod::Usage;
use FindBin;
use lib "$FindBin::Bin/../lib";
use Catalyst::Test 'OIDFMinutes';
 
my $help = 0;
 
GetOptions( 'help|?' => \$help );
 
pod2usage(1) if ( $help || !$ARGV[0] );
 
print request($ARGV[0])->content . "\n";
 
1;
 
=head1 NAME
 
oidfminutes_test.pl - Catalyst Test
 
=head1 SYNOPSIS
 
oidfminutes_test.pl [options] uri
 
Options:
-help display this help and exits
 
Examples:
oidfminutes_test.pl http://localhost/some_action
oidfminutes_test.pl /some_action
 
See also:
perldoc Catalyst::Manual
perldoc Catalyst::Manual::Intro
 
=head1 DESCRIPTION
 
Run a Catalyst action from the command line.
 
=head1 AUTHOR
 
Sebastian Riedel, C<sri@oook.de>
Maintained by the Catalyst Core Team.
 
=head1 COPYRIGHT
 
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
 
=cut
Property changes : Name: svn:executable + *
trunk/script/oidfminutes_fastcgi.pl New file
0,0 → 1,80
#!/usr/bin/perl -w
 
BEGIN { $ENV{CATALYST_ENGINE} ||= 'FastCGI' }
 
use strict;
use warnings;
use Getopt::Long;
use Pod::Usage;
use FindBin;
use lib "$FindBin::Bin/../lib";
use OIDFMinutes;
 
my $help = 0;
my ( $listen, $nproc, $pidfile, $manager, $detach, $keep_stderr );
 
GetOptions(
'help|?' => \$help,
'listen|l=s' => \$listen,
'nproc|n=i' => \$nproc,
'pidfile|p=s' => \$pidfile,
'manager|M=s' => \$manager,
'daemon|d' => \$detach,
'keeperr|e' => \$keep_stderr,
);
 
pod2usage(1) if $help;
 
OIDFMinutes->run(
$listen,
{ nproc => $nproc,
pidfile => $pidfile,
manager => $manager,
detach => $detach,
keep_stderr => $keep_stderr,
}
);
 
1;
 
=head1 NAME
 
oidfminutes_fastcgi.pl - Catalyst FastCGI
 
=head1 SYNOPSIS
 
oidfminutes_fastcgi.pl [options]
 
Options:
-? -help display this help and exits
-l -listen Socket path to listen on
(defaults to standard input)
can be HOST:PORT, :PORT or a
filesystem path
-n -nproc specify number of processes to keep
to serve requests (defaults to 1,
requires -listen)
-p -pidfile specify filename for pid file
(requires -listen)
-d -daemon daemonize (requires -listen)
-M -manager specify alternate process manager
(FCGI::ProcManager sub-class)
or empty string to disable
-e -keeperr send error messages to STDOUT, not
to the webserver
 
=head1 DESCRIPTION
 
Run a Catalyst application as fastcgi.
 
=head1 AUTHOR
 
Sebastian Riedel, C<sri@oook.de>
Maintained by the Catalyst Core Team.
 
=head1 COPYRIGHT
 
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
 
=cut
Property changes : Name: svn:executable + *
trunk/script/oidfminutes_cgi.pl New file
0,0 → 1,37
#!/usr/bin/perl -w
 
BEGIN { $ENV{CATALYST_ENGINE} ||= 'CGI' }
 
use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../lib";
use OIDFMinutes;
 
OIDFMinutes->run;
 
1;
 
=head1 NAME
 
oidfminutes_cgi.pl - Catalyst CGI
 
=head1 SYNOPSIS
 
See L<Catalyst::Manual>
 
=head1 DESCRIPTION
 
Run a Catalyst application as a cgi script.
 
=head1 AUTHOR
 
Sebastian Riedel, C<sri@oook.de>
 
=head1 COPYRIGHT
 
 
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
 
=cut
Property changes : Name: svn:executable + *
trunk/script/oidfminutes_create.pl New file
0,0 → 1,75
#!/usr/bin/perl -w
 
use strict;
use warnings;
use Getopt::Long;
use Pod::Usage;
use Catalyst::Helper;
 
my $force = 0;
my $mech = 0;
my $help = 0;
 
GetOptions(
'nonew|force' => \$force,
'mech|mechanize' => \$mech,
'help|?' => \$help
);
 
pod2usage(1) if ( $help || !$ARGV[0] );
 
my $helper = Catalyst::Helper->new( { '.newfiles' => !$force, mech => $mech } );
 
pod2usage(1) unless $helper->mk_component( 'OIDFMinutes', @ARGV );
 
1;
 
=head1 NAME
 
oidfminutes_create.pl - Create a new Catalyst Component
 
=head1 SYNOPSIS
 
oidfminutes_create.pl [options] model|view|controller name [helper] [options]
 
Options:
-force don't create a .new file where a file to be created exists
-mechanize use Test::WWW::Mechanize::Catalyst for tests if available
-help display this help and exits
 
Examples:
oidfminutes_create.pl controller My::Controller
oidfminutes_create.pl controller My::Controller BindLex
oidfminutes_create.pl -mechanize controller My::Controller
oidfminutes_create.pl view My::View
oidfminutes_create.pl view MyView TT
oidfminutes_create.pl view TT TT
oidfminutes_create.pl model My::Model
oidfminutes_create.pl model SomeDB DBIC::Schema MyApp::Schema create=dynamic\
dbi:SQLite:/tmp/my.db
oidfminutes_create.pl model AnotherDB DBIC::Schema MyApp::Schema create=static\
dbi:Pg:dbname=foo root 4321
 
See also:
perldoc Catalyst::Manual
perldoc Catalyst::Manual::Intro
 
=head1 DESCRIPTION
 
Create a new Catalyst Component.
 
Existing component files are not overwritten. If any of the component files
to be created already exist the file will be written with a '.new' suffix.
This behavior can be suppressed with the C<-force> option.
 
=head1 AUTHOR
 
Sebastian Riedel, C<sri@oook.de>
Maintained by the Catalyst Core Team.
 
=head1 COPYRIGHT
 
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
 
=cut
Property changes : Name: svn:executable + *
trunk/script/oidfminutes_server.pl New file
0,0 → 1,111
#!/usr/bin/perl -w
 
BEGIN {
$ENV{CATALYST_ENGINE} ||= 'HTTP';
$ENV{CATALYST_SCRIPT_GEN} = 30;
require Catalyst::Engine::HTTP;
}
 
use strict;
use warnings;
use Getopt::Long;
use Pod::Usage;
use FindBin;
use lib "$FindBin::Bin/../lib";
 
my $debug = 0;
my $fork = 0;
my $help = 0;
my $host = undef;
my $port = $ENV{OIDFMINUTES_PORT} || $ENV{CATALYST_PORT} || 3000;
my $keepalive = 0;
my $restart = $ENV{OIDFMINUTES_RELOAD} || $ENV{CATALYST_RELOAD} || 0;
my $restart_delay = 1;
my $restart_regex = '\.yml$|\.yaml$|\.pm$';
my $restart_directory = undef;
 
my @argv = @ARGV;
 
GetOptions(
'debug|d' => \$debug,
'fork' => \$fork,
'help|?' => \$help,
'host=s' => \$host,
'port=s' => \$port,
'keepalive|k' => \$keepalive,
'restart|r' => \$restart,
'restartdelay|rd=s' => \$restart_delay,
'restartregex|rr=s' => \$restart_regex,
'restartdirectory=s' => \$restart_directory,
);
 
pod2usage(1) if $help;
 
if ( $restart && $ENV{CATALYST_ENGINE} eq 'HTTP' ) {
$ENV{CATALYST_ENGINE} = 'HTTP::Restarter';
}
if ( $debug ) {
$ENV{CATALYST_DEBUG} = 1;
}
 
# This is require instead of use so that the above environment
# variables can be set at runtime.
require OIDFMinutes;
 
OIDFMinutes->run( $port, $host, {
argv => \@argv,
'fork' => $fork,
keepalive => $keepalive,
restart => $restart,
restart_delay => $restart_delay,
restart_regex => qr/$restart_regex/,
restart_directory => $restart_directory,
} );
 
1;
 
=head1 NAME
 
oidfminutes_server.pl - Catalyst Testserver
 
=head1 SYNOPSIS
 
oidfminutes_server.pl [options]
 
Options:
-d -debug force debug mode
-f -fork handle each request in a new process
(defaults to false)
-? -help display this help and exits
-host host (defaults to all)
-p -port port (defaults to 3000)
-k -keepalive enable keep-alive connections
-r -restart restart when files get modified
(defaults to false)
-rd -restartdelay delay between file checks
-rr -restartregex regex match files that trigger
a restart when modified
(defaults to '\.yml$|\.yaml$|\.pm$')
-restartdirectory the directory to search for
modified files
(defaults to '../')
 
See also:
perldoc Catalyst::Manual
perldoc Catalyst::Manual::Intro
 
=head1 DESCRIPTION
 
Run a Catalyst Testserver for this application.
 
=head1 AUTHOR
 
Sebastian Riedel, C<sri@oook.de>
Maintained by the Catalyst Core Team.
 
=head1 COPYRIGHT
 
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
 
=cut
Property changes : Name: svn:executable + *
trunk/lib/OIDFMinutes.pm New file
0,0 → 1,70
package OIDFMinutes;
 
use strict;
use warnings;
 
use Catalyst::Runtime '5.70';
 
# Set flags and add plugins for the application
#
# -Debug: activates the debug mode for very useful log messages
# ConfigLoader: will load the configuration from a YAML file in the
# application's home directory
# Static::Simple: will serve static files from the application's root
# directory
 
use Catalyst qw(
ConfigLoader
Static::Simple
StackTrace
Session
Session::Store::FastMmap
Session::State::Cookie
Authentication::OpenID
);
 
our $VERSION = '0.01';
 
# Configure the application.
#
# Note that settings in oidfminutes.yml (or other external
# configuration file that you set up manually) take precedence
# over this when using ConfigLoader. Thus configuration
# details given here can function as a default configuration,
# with a external configuration file acting as an override for
# local deployment.
 
__PACKAGE__->config( name => 'OIDFMinutes' );
 
# Start the application
__PACKAGE__->setup;
 
 
=head1 NAME
 
OIDFMinutes - Catalyst based application
 
=head1 SYNOPSIS
 
script/oidfminutes_server.pl
 
=head1 DESCRIPTION
 
[enter your description here]
 
=head1 SEE ALSO
 
L<OIDFMinutes::Controller::Root>, L<Catalyst>
 
=head1 AUTHOR
 
Martin Atkins,,,
 
=head1 LICENSE
 
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
 
=cut
 
1;
trunk/lib/OIDFMinutes/Model/DB.pm New file
0,0 → 1,50
package OIDFMinutes::Model::DB;
 
use strict;
use base 'Catalyst::Model::DBIC::Schema';
 
__PACKAGE__->config(
schema_class => 'OIDFMinutes::Schema',
connect_info => [
'dbi:mysql:oidfminutes',
'oidfminutes',
'oidfminutes',
{ AutoCommit => 1 },
],
);
 
sub fetch_user_by_ident {
my ($ident, $c) = @_;
 
my $ident_rs = $c->model('DB::UserIdent')->search({
ident => $ident,
});
 
my $user_rs = $ident_rs->search_related('user');
 
return $user_rs->next();
}
 
=head1 NAME
 
OIDFMinutes::Model::DB - Catalyst DBIC Schema Model
=head1 SYNOPSIS
 
See L<OIDFMinutes>
 
=head1 DESCRIPTION
 
L<Catalyst::Model::DBIC::Schema> Model using schema L<OIDFMinutes::Schema>
 
=head1 AUTHOR
 
Martin Atkins,,,
 
=head1 LICENSE
 
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
 
=cut
 
1;
trunk/lib/OIDFMinutes/Schema/Minutes.pm New file
0,0 → 1,37
package OIDFMinutes::Schema::Minutes;
 
use strict;
use warnings;
 
use base 'DBIx::Class';
 
__PACKAGE__->load_components("Core");
__PACKAGE__->table("minutes");
__PACKAGE__->add_columns(
"minutesid",
{ data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
"teamid",
{ data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
"meeting_date",
{ data_type => "DATE", default_value => undef, is_nullable => 0, size => 10 },
"autoapprove_date",
{ data_type => "DATE", default_value => undef, is_nullable => 1, size => 10 },
"status",
{ data_type => "ENUM", default_value => "new", is_nullable => 0, size => 8 },
"content",
{
data_type => "TEXT",
default_value => undef,
is_nullable => 0,
size => 65535,
},
);
__PACKAGE__->set_primary_key("minutesid");
 
 
# Created by DBIx::Class::Schema::Loader v0.04004 @ 2008-08-30 14:46:47
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:X4AfcmOuVZS+xIQBOA0ksQ
 
 
# You can replace this text with custom content, and it will be preserved on regeneration
1;
trunk/lib/OIDFMinutes/Schema/MinutesHistory.pm New file
0,0 → 1,35
package OIDFMinutes::Schema::MinutesHistory;
 
use strict;
use warnings;
 
use base 'DBIx::Class';
 
__PACKAGE__->load_components("Core");
__PACKAGE__->table("minutes_history");
__PACKAGE__->add_columns(
"actionid",
{ data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
"minutesid",
{ data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
"userid",
{ data_type => "INT", default_value => undef, is_nullable => 1, size => 10 },
"actiontime",
{
data_type => "DATETIME",
default_value => undef,
is_nullable => 0,
size => 19,
},
"action",
{ data_type => "ENUM", default_value => undef, is_nullable => 0, size => 7 },
);
__PACKAGE__->set_primary_key("actionid");
 
 
# Created by DBIx::Class::Schema::Loader v0.04004 @ 2008-08-30 14:46:47
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xfxSolFAzCUA3oK4n8q1qA
 
 
# You can replace this text with custom content, and it will be preserved on regeneration
1;
trunk/lib/OIDFMinutes/Schema/Team.pm New file
0,0 → 1,62
package OIDFMinutes::Schema::Team;
 
use strict;
use warnings;
 
use base 'DBIx::Class';
 
__PACKAGE__->load_components("Core");
__PACKAGE__->table("team");
__PACKAGE__->add_columns(
"teamid",
{ data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
"name",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 0,
size => 50,
},
"urlname",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 0,
size => 20,
},
"autoapprove_days",
{ data_type => "INT", default_value => undef, is_nullable => 1, size => 10 },
"draft_notifications_to",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 1,
size => 75,
},
"publish_notifications_to",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 1,
size => 75,
},
"send_notifications_as",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 0,
size => 150,
},
);
__PACKAGE__->set_primary_key("teamid");
__PACKAGE__->add_unique_constraint("urlname", ["urlname"]);
 
 
# Created by DBIx::Class::Schema::Loader v0.04004 @ 2008-08-30 14:46:47
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0DDIEG5dLlzaOehL1DZKVw
 
__PACKAGE__->has_many('minutes', 'OIDFMinutes::Schema::Minutes', 'teamid');
__PACKAGE__->has_many('memberships', 'OIDFMinutes::Schema::TeamMember', 'teamid');
__PACKAGE__->many_to_many('members', 'memberships', 'user');
 
1;
trunk/lib/OIDFMinutes/Schema/TeamMember.pm New file
0,0 → 1,27
package OIDFMinutes::Schema::TeamMember;
 
use strict;
use warnings;
 
use base 'DBIx::Class';
 
__PACKAGE__->load_components("Core");
__PACKAGE__->table("team_member");
__PACKAGE__->add_columns(
"teamid",
{ data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
"userid",
{ data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
"position",
{ data_type => "ENUM", default_value => "member", is_nullable => 0, size => 6 },
);
__PACKAGE__->set_primary_key("teamid", "userid");
 
 
# Created by DBIx::Class::Schema::Loader v0.04004 @ 2008-08-30 14:46:47
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:c0t3xdB2iTFfEE4pYcSndQ
 
__PACKAGE__->belongs_to('user', 'OIDFMinutes::Schema::User', 'userid');
__PACKAGE__->belongs_to('team', 'OIDFMinutes::Schema::Team', 'teamid');
 
1;
trunk/lib/OIDFMinutes/Schema/User.pm New file
0,0 → 1,39
package OIDFMinutes::Schema::User;
 
use strict;
use warnings;
 
use base 'DBIx::Class';
 
__PACKAGE__->load_components("Core");
__PACKAGE__->table("user");
__PACKAGE__->add_columns(
"userid",
{ data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
"name",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 0,
size => 75,
},
"email",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 0,
size => 75,
},
);
__PACKAGE__->set_primary_key("userid");
 
 
# Created by DBIx::Class::Schema::Loader v0.04004 @ 2008-08-30 14:46:47
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:L/OeuQtKYSUFuCqjoujnGw
 
 
__PACKAGE__->has_many('identifiers', 'OIDFMinutes::Schema::UserIdent', 'userid');
__PACKAGE__->has_many('team_memberships', 'OIDFMinutes::Schema::TeamMember', 'userid');
__PACKAGE__->many_to_many('teams', 'team_memberships', 'team');
 
1;
trunk/lib/OIDFMinutes/Schema/UserIdent.pm New file
0,0 → 1,30
package OIDFMinutes::Schema::UserIdent;
 
use strict;
use warnings;
 
use base 'DBIx::Class';
 
__PACKAGE__->load_components("Core");
__PACKAGE__->table("user_ident");
__PACKAGE__->add_columns(
"userid",
{ data_type => "INT", default_value => undef, is_nullable => 0, size => 10 },
"ident",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 0,
size => 255,
},
);
__PACKAGE__->set_primary_key("ident", "userid");
__PACKAGE__->add_unique_constraint("ident", ["ident"]);
 
 
# Created by DBIx::Class::Schema::Loader v0.04004 @ 2008-08-30 14:46:47
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:17CVWyMeg1wagTTb33RXpg
 
__PACKAGE__->belongs_to('user', 'OIDFMinutes::Schema::User', 'userid');
 
1;
trunk/lib/OIDFMinutes/Controller/Root.pm New file
0,0 → 1,104
package OIDFMinutes::Controller::Root;
 
use strict;
use warnings;
use base 'Catalyst::Controller';
 
#
# Sets the actions in this controller to be registered with no prefix
# so they function identically to actions created in MyApp.pm
#
__PACKAGE__->config->{namespace} = '';
 
=head1 NAME
 
OIDFMinutes::Controller::Root - Root Controller for OIDFMinutes
 
=head1 DESCRIPTION
 
[enter your description here]
 
=head1 METHODS
 
=cut
 
=head2 default
 
=cut
 
sub default : Private {
my ($self, $c) = @_;
 
$c->response->status(404);
$c->stash->{template} = "404.tt";
}
 
sub index : Private {
my ($self, $c) = @_;
 
$c->stash->{teams} = [$c->model('DB::Team')->all];
 
$c->stash->{template} = 'home.tt';
}
 
sub begin : Private {
my ($self, $c) = @_;
 
if (defined($c->session->{remote_ident})) {
$c->stash->{remote_ident} = $c->session->{remote_ident};
$c->stash->{remote_user} = OIDFMinutes::Model::DB::fetch_user_by_ident($c->session->{remote_ident}, $c);
}
}
 
sub login : Global {
my ($self, $c) = @_;
 
if ($c->authenticate_openid) {
$c->session->{remote_ident} = $c->req->{openid_identity}->url;
$c->res->redirect($c->req->base);
}
else {
if ($c->res->redirect) {
# Do something magic to make the redirect work.
# Don't know what this does, but btrott says to do it.
$c->req->action(undef);
}
else {
$c->stash->{template} = 'login.tt';
}
}
 
}
 
sub logout : Global {
my ($self, $c) = @_;
 
if ($c->req->method ne 'POST') {
$c->stash->{template} = 'logout.tt';
}
else {
delete $c->session->{remote_ident};
$c->res->redirect($c->req->base);
}
}
 
=head2 end
 
Attempt to render a view, if needed.
 
=cut
 
sub end : ActionClass('RenderView') {}
 
=head1 AUTHOR
 
Martin Atkins,,,
 
=head1 LICENSE
 
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
 
=cut
 
1;
trunk/lib/OIDFMinutes/View/TT.pm New file
0,0 → 1,31
package OIDFMinutes::View::TT;
 
use strict;
use base 'Catalyst::View::TT';
 
__PACKAGE__->config(TEMPLATE_EXTENSION => '.tt');
 
=head1 NAME
 
OIDFMinutes::View::TT - TT View for OIDFMinutes
 
=head1 DESCRIPTION
 
TT View for OIDFMinutes.
 
=head1 AUTHOR
 
=head1 SEE ALSO
 
L<OIDFMinutes>
 
Martin Atkins,,,
 
=head1 LICENSE
 
This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
 
=cut
 
1;
trunk/lib/OIDFMinutes/Schema.pm New file
0,0 → 1,16
package OIDFMinutes::Schema;
 
use strict;
use warnings;
 
use base 'DBIx::Class::Schema';
 
__PACKAGE__->load_classes;
 
 
# Created by DBIx::Class::Schema::Loader v0.04004 @ 2008-08-30 14:46:47
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CPBWQbRpV/2gYvZZMaRzhQ
 
 
# You can replace this text with custom content, and it will be preserved on regeneration
1;
trunk/Makefile.PL New file
0,0 → 1,16
use inc::Module::Install;
 
name 'OIDFMinutes';
all_from 'lib/OIDFMinutes.pm';
 
requires 'Catalyst::Runtime' => '5.7011';
requires 'Catalyst::Plugin::ConfigLoader';
requires 'Catalyst::Plugin::Static::Simple';
requires 'Catalyst::Action::RenderView';
requires 'YAML'; # This should reflect the config file format you've chosen
# See Catalyst::Plugin::ConfigLoader for supported formats
catalyst;
 
install_script glob('script/*.pl');
auto_install;
WriteAll;
trunk/Changes New file
0,0 → 1,4
This file documents the revision history for Perl extension OIDFMinutes.
 
0.01 2008-08-30 13:09:05
- initial revision, generated by Catalyst
trunk/oidfminutes.conf New file
0,0 → 1,2
Name OIDFMinutes
 
trunk/README New file
0,0 → 1,2
Run script/oidfminutes_server.pl to test the application.