Business-AU-Ledger

 view release on metacpan or  search on metacpan

lib/Business/AU/Ledger/View/Payment.pm  view on Meta::CPAN

package Business::AU::Ledger::View::Payment;

use Business::AU::Ledger::Util::Validate;

use Date::Simple;

use JSON::XS;

use Moose;

extends 'Business::AU::Ledger::View::Base';

has field_width => (is => 'rw', isa => 'HashRef');
has row_count   => (is => 'rw', isa => 'Int');

use namespace::autoclean;

our $VERSION = '0.88';

# -----------------------------------------------

sub BUILD
{
	my($self) = @_;

	$self -> field_width
	(
	 {
		 amount              => 12,
		 day                 =>  5, # For 'Total'.
		 gst_amount          => 12,
		 petty_cash_in       =>  7,
		 petty_cash_out      =>  7,
		 private_use_amount  => 10,
		 private_use_percent =>  6,
		 reference           => 10,
	 }
	);
	$self -> row_count(0);

} # End of BUILD;

# -----------------------------------------------

sub format
{
	my($self, $output) = @_;

	my($field);
	my($row, @row);

	for $row (@$output)
	{
		$field = $self -> format_fields($row);

		push @row, $field;
	}

	$self -> log(__PACKAGE__ . '. Leaving format');

	return [@row];

} # End of format.

# -----------------------------------------------

sub format_fields
{
	my($self, $default) = @_;
	$default            ||= {};

	# Ensure all fields, except menus, have defaults.

	for (qw/amount day error gst_amount petty_cash_in petty_cash_out private_use_amount private_use_percent reference timestamp/)
	{
		if (! defined $$default{$_})



( run in 2.647 seconds using v1.01-cache-2.11-cpan-744e820c463 )