Initial commit.
This commit is contained in:
116
lib/perl5/Selima/List/Accounting/Transacts.pm
Normal file
116
lib/perl5/Selima/List/Accounting/Transacts.pm
Normal file
@@ -0,0 +1,116 @@
|
||||
# Selima Website Content Management System
|
||||
# Transacts.pm: The accounting transaction list.
|
||||
|
||||
# Copyright (c) 2007-2018 imacat.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Author: imacat <imacat@mail.imacat.idv.tw>
|
||||
# First written: 2007-08-23
|
||||
|
||||
package Selima::List::Accounting::Transacts;
|
||||
use 5.008;
|
||||
use strict;
|
||||
use warnings;
|
||||
use base qw(Selima::List);
|
||||
|
||||
use Selima::AddGet;
|
||||
use Selima::DataVars qw(:requri);
|
||||
use Selima::ShortCut;
|
||||
|
||||
# new: Initialize the handler
|
||||
sub new : method {
|
||||
local ($_, %_);
|
||||
my ($self, $class);
|
||||
($class, @_) = @_;
|
||||
$_[1] = "accttrx" if !defined $_[1];
|
||||
$self = $class->SUPER::new(@_);
|
||||
# The page title
|
||||
$self->{"title"} = $self->{"is_called_form"}?
|
||||
C_("Select an Accounting Transaction"):
|
||||
C_("Manage Accounting Transactions");
|
||||
# The default sort order
|
||||
$self->{"DEFAULT_SORTBY"} = "-date,-ord";
|
||||
# Column labels
|
||||
$self->col_labels(
|
||||
"num" => C_("Number"),
|
||||
"note" => C_("Note"),
|
||||
);
|
||||
return $self;
|
||||
}
|
||||
|
||||
# html_newlink: Display a link to add a new item
|
||||
sub html_newlink : method {
|
||||
local ($_, %_);
|
||||
my ($self, $urle, $urli, $urlt, $prompt);
|
||||
$self = $_[0];
|
||||
|
||||
# No new item creation if it is a called form
|
||||
return if $self->{"is_called_form"};
|
||||
$_ = $REQUEST_FILEQS;
|
||||
# Remove list parameters
|
||||
$_ = rem_get_arg $_, "query", "sortby", "pageno", "form", "formcat", "formid", "statid";
|
||||
$_ = add_get_arg $_, "form", "new", DUP_OK;
|
||||
$urle = add_get_arg $_, "formsub", "expense", DUP_OK;
|
||||
$urli = add_get_arg $_, "formsub", "income", DUP_OK;
|
||||
$urlt = add_get_arg $_, "formsub", "trans", DUP_OK;
|
||||
$prompt = C_("<a href=\"[_1]\">Add a new cash expense transaction</a>, <a href=\"[_2]\">add a new cash income transaction</a> or <a href=\"[_3]\">add a new transfer transaction</a>.",
|
||||
h($urle), h($urli), h($urlt));
|
||||
|
||||
print << "EOT";
|
||||
<p>$prompt</p>
|
||||
|
||||
EOT
|
||||
return;
|
||||
}
|
||||
|
||||
# html_search: Display the search box
|
||||
sub html_search : method {
|
||||
# Run the parent method
|
||||
return $_[0]->SUPER::html_search(C_("Search for an accounting transaction:"));
|
||||
}
|
||||
|
||||
# liststat_message: Return the current list statistics message
|
||||
sub liststat_message : method {
|
||||
local ($_, %_);
|
||||
my $self;
|
||||
$self = $_[0];
|
||||
|
||||
# No record to list
|
||||
if ($self->{"total"} == 0) {
|
||||
# Inherit the empty list statistics message
|
||||
return $self->SUPER::liststat_message;
|
||||
# Fit in one page
|
||||
} elsif ($self->{"total"} <= $self->{"pagesize"}) {
|
||||
# Result comes from a query
|
||||
if (defined $self->{"query"}) {
|
||||
return C_("Your query found [*,_1,accounting transaction].", $self->{"total"});
|
||||
# List result
|
||||
} else {
|
||||
return C_("[*,_1,accounting transaction].", $self->{"total"});
|
||||
}
|
||||
# More than one page
|
||||
} else {
|
||||
# Result comes from a query
|
||||
if (defined $self->{"query"}) {
|
||||
return C_("Your query found [*,_1,accounting transaction], listing [#,_2] to [#,_3].",
|
||||
$self->{"total"}, $self->{"startno"}+1, $self->{"endno"}+1);
|
||||
# List result
|
||||
} else {
|
||||
return C_("[*,_1,accounting transaction], listing [#,_2] to [#,_3].",
|
||||
$self->{"total"}, $self->{"startno"}+1, $self->{"endno"}+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
Reference in New Issue
Block a user