[Jifty-commit] r4500 - in apps/spensive: . lib/Spensive/Model
lib/Spensive/View
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Tue Nov 20 12:13:46 EST 2007
Author: jesse
Date: Tue Nov 20 12:13:37 2007
New Revision: 4500
Modified:
apps/spensive/ (props changed)
apps/spensive/lib/Spensive/Dispatcher.pm
apps/spensive/lib/Spensive/Model/Expense.pm
apps/spensive/lib/Spensive/View/Reports.pm
Log:
r67668 at pinglin (orig r7438): jesse | 2007-09-30 14:28:43 -0400
snapshot
Modified: apps/spensive/lib/Spensive/Dispatcher.pm
==============================================================================
--- apps/spensive/lib/Spensive/Dispatcher.pm (original)
+++ apps/spensive/lib/Spensive/Dispatcher.pm Tue Nov 20 12:13:37 2007
@@ -52,7 +52,7 @@
set( report => $report );
};
-on qr'/reports/(\d+)/(build|show)' => run { show 'reports/'.$2; };
+on qr'/reports/(\d+)/(build|show|print)' => run { show 'reports/'.$2; };
# Change a password
on '/prefs' => run {
Modified: apps/spensive/lib/Spensive/Model/Expense.pm
==============================================================================
--- apps/spensive/lib/Spensive/Model/Expense.pm (original)
+++ apps/spensive/lib/Spensive/Model/Expense.pm Tue Nov 20 12:13:37 2007
@@ -9,7 +9,7 @@
column title => type is 'text';
column description => type is 'text', render as 'Textarea';
- column date_incurred => type is 'datetime', default is defer { Jifty::DateTime->now }, render_as 'Date', filters are qw(Jifty::DBI::Filter::Date);;
+ column date_incurred => type is 'datetime', default is defer { Jifty::DateTime->now->ymd }, render_as 'Date', filters are qw(Jifty::DBI::Filter::Date);;
column incurred_by => references Spensive::Model::User;
column tags => type is 'text';
column local_cost => type is 'float';
Modified: apps/spensive/lib/Spensive/View/Reports.pm
==============================================================================
--- apps/spensive/lib/Spensive/View/Reports.pm (original)
+++ apps/spensive/lib/Spensive/View/Reports.pm Tue Nov 20 12:13:37 2007
@@ -454,7 +454,48 @@
};
+template printable_overview => page {};
+template printable_expense_appendix => page {};
+template 'print' => page {
+ my $self = shift;
+ my $report = get('report');
+ Jifty->handler->apache->content_type('application/pdf');
+
+ my @pages; # tempfiles
+
+ push @pages, $self->web_path_to_pdf('/reports/'.$report->id.'/printable_overview');
+
+ my $expenses = $report->expenses;
+ foreach my $expense (@{$expenses->items_array_ref}) {
+ my $attachments = $expense->attachments;
+
+ }
+
+ my $pdf_filename = assemble_pdfs(@pages);
+ outs_raw(File::Slurp::read_file($pdf_filename));
+
+
+};
+
+sub assemble_pdfs {
+
+}
+
+
+sub web_path_to_pdf {
+ my $self = shift;
+ my $url = shift;
+
+ my (undef, $tmpfile) = File::Temp::tempfile();
+
+ my @cmd = ('xvfb-run', 'xulrunner', Jifty::Util->absolute_path('tools/mozilla2ps/application.ini'), $url, $tmpfile);
+
+ system(@cmd) || die $!;
+ warn "PDFed to $tmpfile";
+ return $tmpfile;
+
+}
template 'pdf' => sub {
More information about the Jifty-commit
mailing list