projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
e5742a8
)
fix multiple-agent virtualization properly for these reports
author
ivan
<ivan>
Thu, 13 Jul 2006 03:54:07 +0000
(
03:54
+0000)
committer
ivan
<ivan>
Thu, 13 Jul 2006 03:54:07 +0000
(
03:54
+0000)
FS/FS/Report/Table/Monthly.pm
patch
|
blob
|
history
httemplate/search/cust_credit.html
patch
|
blob
|
history
httemplate/search/cust_pay.cgi
patch
|
blob
|
history
httemplate/search/report_receivables.cgi
patch
|
blob
|
history
diff --git
a/FS/FS/Report/Table/Monthly.pm
b/FS/FS/Report/Table/Monthly.pm
index
1b7e93a
..
145f2a8
100644
(file)
--- a/
FS/FS/Report/Table/Monthly.pm
+++ b/
FS/FS/Report/Table/Monthly.pm
@@
-5,6
+5,7
@@
use vars qw( @ISA $expenses_kludge );
use Time::Local;
use FS::UID qw( dbh );
use FS::Report::Table;
use Time::Local;
use FS::UID qw( dbh );
use FS::Report::Table;
+use FS::CurrentUser;
@ISA = qw( FS::Report::Table );
@ISA = qw( FS::Report::Table );
@@
-215,7
+216,7
@@
sub credits {
);
}
);
}
-#these should be auto-generated
+#these should be auto-generated
or $AUTOLOADed or something
sub invoiced_12mo {
my( $self, $speriod, $eperiod, $agentnum ) = @_;
$speriod = $self->_subtract_11mo($speriod);
sub invoiced_12mo {
my( $self, $speriod, $eperiod, $agentnum ) = @_;
$speriod = $self->_subtract_11mo($speriod);
@@
-330,9
+331,16
@@
sub suspended { #suspended
sub in_time_period_and_agent {
my( $self, $speriod, $eperiod, $agentnum ) = splice(@_, 0, 4);
my $table = @_ ? shift().'.' : '';
sub in_time_period_and_agent {
my( $self, $speriod, $eperiod, $agentnum ) = splice(@_, 0, 4);
my $table = @_ ? shift().'.' : '';
+
my $sql = "${table}_date >= $speriod AND ${table}_date < $eperiod";
my $sql = "${table}_date >= $speriod AND ${table}_date < $eperiod";
+
+ #agent selection
$sql .= " AND agentnum = $agentnum"
if $agentnum;
$sql .= " AND agentnum = $agentnum"
if $agentnum;
+
+ #agent virtualization
+ $sql .= ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql;
+
$sql;
}
$sql;
}
diff --git
a/httemplate/search/cust_credit.html
b/httemplate/search/cust_credit.html
index
279d682
..
eb78db5
100755
(executable)
--- a/
httemplate/search/cust_credit.html
+++ b/
httemplate/search/cust_credit.html
@@
-36,9
+36,10
@@
push @search, " _date < $1 ";
}
push @search, " _date < $1 ";
}
- my $where = scalar(@search)
- ? 'WHERE '. join(' AND ', @search)
- : '';
+ #here is the agent virtualization
+ push @search, $FS::CurrentUser::CurrentUser->agentnums_sql;
+
+ my $where = 'WHERE '. join(' AND ', @search);
my $count_query = 'SELECT COUNT(*), SUM(amount) '.
'FROM cust_credit LEFT JOIN cust_main USING ( custnum ) '.
my $count_query = 'SELECT COUNT(*), SUM(amount) '.
'FROM cust_credit LEFT JOIN cust_main USING ( custnum ) '.
diff --git
a/httemplate/search/cust_pay.cgi
b/httemplate/search/cust_pay.cgi
index
99ffc3d
..
0247b0b
100755
(executable)
--- a/
httemplate/search/cust_pay.cgi
+++ b/
httemplate/search/cust_pay.cgi
@@
-96,10
+96,10
@@
die "unknown search magic: ". $cgi->param('magic');
}
die "unknown search magic: ". $cgi->param('magic');
}
- my $search = '';
- if ( @search ) {
- $search = ' WHERE '. join(' AND ', @search);
- }
+ #here is the agent virtualization
+ push @search, $FS::CurrentUser::CurrentUser->agentnums_sql;
+
+ my $search = ' WHERE '. join(' AND ', @search);
$count_query = "SELECT COUNT(*), SUM(paid) ".
"FROM cust_pay LEFT JOIN cust_main USING ( custnum )".
$count_query = "SELECT COUNT(*), SUM(paid) ".
"FROM cust_pay LEFT JOIN cust_main USING ( custnum )".
@@
-125,14
+125,16
@@
$cgi->param('payby') =~ /^(\w+)$/ or die "illegal payby";
my $payby = $1;
$cgi->param('payby') =~ /^(\w+)$/ or die "illegal payby";
my $payby = $1;
- $count_query = "SELECT COUNT(*), SUM(paid) FROM cust_pay ".
- "WHERE payinfo = '$payinfo' AND payby = '$payby'";
+ $count_query = "SELECT COUNT(*), SUM(paid) FROM cust_pay".
+ " WHERE payinfo = '$payinfo' AND payby = '$payby'".
+ " AND ". $FS::CurrentUser::CurrentUser->agentnums_sql;
$sql_query = {
'table' => 'cust_pay',
'hashref' => { 'payinfo' => $payinfo,
'payby' => $payby },
$sql_query = {
'table' => 'cust_pay',
'hashref' => { 'payinfo' => $payinfo,
'payby' => $payby },
- 'extra_sql' => "ORDER BY _date",
+ 'extra_sql' => $FS::CurrentUser::CurrentUser->agentnums_sql.
+ " ORDER BY _date",
};
}
};
}
diff --git
a/httemplate/search/report_receivables.cgi
b/httemplate/search/report_receivables.cgi
index
ac94e1a
..
c1a239f
100755
(executable)
--- a/
httemplate/search/report_receivables.cgi
+++ b/
httemplate/search/report_receivables.cgi
@@
-92,6
+92,9
@@
END
$where .= " AND agentnum = '$agentnum' ";
}
$where .= " AND agentnum = '$agentnum' ";
}
+ #here is the agent virtualization
+ $where .= ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql;
+
my $count_sql = "select count(*) from cust_main $where";
my $sql_query = {
my $count_sql = "select count(*) from cust_main $where";
my $sql_query = {