summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2014-12-23 12:19:30 -0800
committerIvan Kohler <ivan@freeside.biz>2014-12-23 12:19:30 -0800
commit2fc2924eeebcd3951cbf862da44729187f35ca8d (patch)
tree591fe1f2ed422dda11158c95d0f713d86a256cec
parent4d1538fc4294672a24d0abead9f9020677308f8f (diff)
parent9e77fe17c8a593f45ffd7df5b2611ae908c4345d (diff)
Merge branch 'master' of git.freeside.biz:/home/git/freeside
-rw-r--r--FS/FS/Conf.pm2
-rw-r--r--FS/FS/cdr/cx3.pm45
-rw-r--r--FS/FS/pay_batch/eft_canada.pm9
-rw-r--r--debian/control27
-rwxr-xr-xdebian/rules27
5 files changed, 77 insertions, 33 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index c88d3e7a4..90b11a047 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -3855,7 +3855,7 @@ and customer address. Include units.',
{
'key' => 'batchconfig-eft_canada',
'section' => 'billing',
- 'description' => 'Configuration for EFT Canada batching, four lines: 1. SFTP username, 2. SFTP password, 3. Transaction code, 4. Number of days to delay process date. If you are using separate per-agent batches (batch-spoolagent), you must set this option separately for each agent, as the global setting will be ignored.',
+ 'description' => 'Configuration for EFT Canada batching, five lines: 1. SFTP username, 2. SFTP password, 3. Business transaction code, 4. Personal transaction code, 5. Number of days to delay process date. If you are using separate per-agent batches (batch-spoolagent), you must set this option separately for each agent, as the global setting will be ignored.',
'type' => 'textarea',
'per_agent' => 1,
},
diff --git a/FS/FS/cdr/cx3.pm b/FS/FS/cdr/cx3.pm
index 8c848078a..a1e2e93c4 100644
--- a/FS/FS/cdr/cx3.pm
+++ b/FS/FS/cdr/cx3.pm
@@ -10,40 +10,33 @@ use Date::Parse;
%info = (
'name' => '3CX',
'weight' => 120,
- 'header' => 1,
'import_fields' => [
-sub {
- my ($cdr, $data, $conf, $param) = @_;
- $param->{skiprow} = 1 unless $data =~ 'CallDetail'; # skip non-detail records
+ sub {
+ my ($cdr, $data, $conf, $param) = @_;
+ $param->{skiprow} = 1 unless $data =~ /Call\s/ ; # skip non-detail records
}, # record type
- skip(2), # unknown, callid ( not unique )
- 'src', # source
- 'dst', # destination
-sub { my ($cdr, $calldate, $param) = @_;
-
- if ($calldate =~ /^(\d{2})\/(\d{2})\/(\d{4})\s*(\d{2}):(\d{2}):(\d{2})$/){
+ skip(1), # unknown, callid ( not unique )
+ sub { my ($cdr, $duration) = @_;
+
+ my ($hour,$min,$sec) = split(/:/,$duration);
+ $sec = sprintf ("%.0f", $sec);
+ $sec += $min * 60;
+ $sec += $hour * 60 * 60;
+ $cdr->set('billsec', $sec);
+
+ }, # duration
+ skip(1),
+ sub { my ($cdr, $calldate, $param) = @_;
$cdr->set('calldate', $calldate);
- my $tmp_date = "$2/$1/$3 $4:$5:$6";
-
- $tmp_date = str2time($tmp_date);
- $cdr->set('startdate', $tmp_date);
- }
}, #date
-sub { my ($cdr, $duration) = @_;
-
- my ($hour,$min,$sec) = split(/:/,$duration);
- $sec += $min * 60;
- $sec += $hour * 60 * 60;
- $sec = sprintf ("%.0f", $sec);
- $cdr->set('billsec', $sec);
-
-}, #duration
- skip(1), # unknown
- 'disposition', # call status
+ skip(4),
'accountcode', # AccountCode
+ skip(6),
+ 'src', # source
+ 'dst', # destination
],
);
diff --git a/FS/FS/pay_batch/eft_canada.pm b/FS/FS/pay_batch/eft_canada.pm
index 0c093214a..ab9e6a3b6 100644
--- a/FS/FS/pay_batch/eft_canada.pm
+++ b/FS/FS/pay_batch/eft_canada.pm
@@ -15,7 +15,7 @@ $name = 'eft_canada';
%import_info = ( filetype => 'NONE' ); # see FS/bin/freeside-eftca-download
-my ($trans_code, $process_date);
+my ($business_trans_code, $personal_trans_code, $trans_code, $process_date);
#ref http://gocanada.about.com/od/canadatravelplanner/a/canada_holidays.htm
my %holiday_yearly = (
@@ -66,7 +66,8 @@ my %holiday = (
@config = $conf->config('batchconfig-eft_canada');
}
# SFTP login, password, trans code, delay time
- ($trans_code) = $config[2];
+ ($business_trans_code) = $config[2];
+ ($personal_trans_code) = $config[3];
$process_date = time2str('%D', process_date($conf, $agentnum));
},
@@ -82,12 +83,14 @@ my %holiday = (
my $company = sprintf('%.64s', $cust_pay_batch->cust_main->company);
if ( $company ) {
push @fields, 'Business';
- push @fields, $company, ''
+ push @fields, $company, '';
+ $trans_code = $business_trans_code;
}
else {
push @fields, 'Personal';
push @fields, map { sprintf('%.64s', $_) }
$cust_pay_batch->first, $cust_pay_batch->last;
+ $trans_code = $personal_trans_code;
}
my ($account, $aba) = split('@', $cust_pay_batch->payinfo);
my($bankno, $branch);
diff --git a/debian/control b/debian/control
index 1b2573233..7917bad54 100644
--- a/debian/control
+++ b/debian/control
@@ -39,3 +39,30 @@ Description: Web interface for Freeside billing and trouble ticketing
Freeside is a web-based billing and trouble ticketing application.
.
This package provides the web interface for employees.
+
+Package: freeside-selfservice-lib
+Architecture: all
+Depends: libtext-template-perl,libbusiness-creditcard-perl,libhttp-browserdetect-perl,libhtml-parser-perl,libtie-ixhash-perl,libhtml-widgets-selectlayers-perl,libtimedate-perl,libnumber-format-perl,libsoap-lite-perl,libtext-csv-xs-perl,apache2-suexec-custom,apache2-mpm-worker
+Recommends:
+Description: Self-service portal for Freeside billing and trouble ticketing
+ Freeside is a web-based billing and trouble ticketing application.
+ .
+ This package provides the libraries needed for the self-service portal.
+
+Package: freeside-selfservice-ui
+Architecture: all
+Depends:
+Recommends: freeside-selfservice-lib
+Description: Self-service portal html/cgi filesfor Freeside billing and trouble ticketing
+ Freeside is a web-based billing and trouble ticketing application.
+ .
+ This package provides the html and cgi files needed for the self-service portal.
+
+Package: freeside-ng-selfservice
+Architecture: all
+Depends:
+Recommends:
+Description: Next Generation Self-service portal written in PHP using the XML-RPC API for Freeside billing and trouble ticketing
+ Freeside is a web-based billing and trouble ticketing application.
+ .
+ This package provides a self-service portal written in PHP using the XML-RPC API.
diff --git a/debian/rules b/debian/rules
index e640398e4..3754f8379 100755
--- a/debian/rules
+++ b/debian/rules
@@ -39,7 +39,7 @@ export FREESIDE_LOG = $(TMP)/usr/local/etc/freeside
export FREESIDE_LOCK = $(TMP)/usr/local/etc/freeside
export FREESIDE_CACHE = $(TMP)/usr/local/etc/freeside
export FREESIDE_EXPORT = $(TMP)/usr/local/etc/freeside
-export FREESIDE_SS = $(TMP)/usr/share/docs/freeside
+
export DIST_CONF = ${FREESIDE_CONF}/default_conf
#XXX own subdir?
@@ -94,7 +94,10 @@ build-stamp:
# Add commands to compile the package here
( cd FS/ && $(PERL) Makefile.PL INSTALLDIRS=vendor && $(MAKE) )
- $(MAKE) perl-modules
+ $(MAKE) perl-modules
+
+ ( cd fs_selfservice/FS-SelfService/ && $(PERL) Makefile.PL && $(MAKE) )
+
#install this for freeside-setup
install -d $(DIST_CONF)
install `ls -d conf/[a-z]* | grep -v CVS | grep -v '^conf/registries'` $(DIST_CONF)
@@ -202,6 +205,24 @@ install-stamp: build-stamp
" ${TMP}-lib/usr/bin/* \
${TMP}-webui/usr/local/etc/freeside/handler.pl
+ # Self-service
+
+ ( cd fs_selfservice/FS-SelfService/; $(MAKE) -e DESTDIR=${TMP}-selfservice-lib install )
+ install -d -o freeside -g freeside ${TMP}-selfservice-lib/usr/local/freeside
+ touch ${TMP}-selfservice-lib/usr/local/freeside/selfservice_socket
+ chown -R freeside ${TMP}-selfservice-lib/usr/local/freeside
+ chmod 600 ${TMP}-selfservice-lib/usr/local/freeside/selfservice_socket
+
+ install -d -o freeside -g freeside ${TMP}-selfservice-ui/var/www/
+ cp -R fs_selfservice/FS-SelfService/cgi ${TMP}-selfservice-ui/var/www/selfservice-DIST
+ chown freeside.freeside ${TMP}-selfservice-ui/var/www/selfservice-DIST/*.cgi ${TMP}-selfservice-ui/var/www/selfservice-DIST/*/*.cgi;
+ chmod 755 ${TMP}-selfservice-ui/var/www/selfservice-DIST/*.cgi ${TMP}-selfservice-ui/var/www/selfservice-DIST/*/*.cgi
+
+ # NG-selfservice
+
+ install -d ${TMP}-ng-selfservice/var/www/
+ cp -R ng_selfservice ${TMP}-ng-selfservice/var/www/ng_selfservice-DIST/
+
#RT Config
( cd rt; \
@@ -271,7 +292,7 @@ binary-indep: build install
dh_perl
dh_link
dh_compress
- dh_fixperms
+ dh_fixperms -X/var/www/selfservice-DIST -X/usr/local/freeside
dh_gencontrol
dh_md5sums
dh_builddeb