summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2002-09-20 15:47:58 +0000
committerivan <ivan>2002-09-20 15:47:58 +0000
commit70a4b5227943108ce91c68e1c4e7509a9a6c33f9 (patch)
tree61d1b10f3a60777c4ae0a6738c1f3b890ea9e46b
parentb59cf43f0814ea4d484d4b09833dd3c2d493455f (diff)
add freeside-deluser, freeside-deloutsource and freeside-deloutsourceuser
-rw-r--r--FS/MANIFEST3
-rw-r--r--FS/bin/freeside-addoutsourceuser2
-rw-r--r--FS/bin/freeside-deloutsource11
-rw-r--r--FS/bin/freeside-deloutsourceuser6
-rw-r--r--FS/bin/freeside-deluser64
-rwxr-xr-xFS/bin/freeside-setup2
-rwxr-xr-xbin/populate-msgcat2
7 files changed, 87 insertions, 3 deletions
diff --git a/FS/MANIFEST b/FS/MANIFEST
index 3cf4c2ba3..24fef1748 100644
--- a/FS/MANIFEST
+++ b/FS/MANIFEST
@@ -9,8 +9,11 @@ bin/freeside-email
bin/freeside-queued
bin/freeside-addoutsource
bin/freeside-addoutsourceuser
+bin/freeside-deloutsource
+bin/freeside-deloutsourceuser
bin/freeside-apply-credits
bin/freeside-adduser
+bin/freeside-deluser
bin/freeside-setup
bin/freeside-setinvoice
bin/freeside-overdue
diff --git a/FS/bin/freeside-addoutsourceuser b/FS/bin/freeside-addoutsourceuser
index bbad8aa3f..180cd9399 100644
--- a/FS/bin/freeside-addoutsourceuser
+++ b/FS/bin/freeside-addoutsourceuser
@@ -11,5 +11,5 @@ freeside-adduser -h /usr/local/etc/freeside/htpasswd \
[ -e /usr/local/etc/freeside/dbdef.DBI:Pg:host=localhost\;dbname=$domain ] \
|| ( freeside-setup $username 2>/dev/null; \
- /home/ivan/freeside/bin/populate-msgcat $username; 2>/dev/null )
+ /home/ivan/freeside/bin/populate-msgcat $username )
diff --git a/FS/bin/freeside-deloutsource b/FS/bin/freeside-deloutsource
new file mode 100644
index 000000000..561853539
--- /dev/null
+++ b/FS/bin/freeside-deloutsource
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+domain=$1
+
+dropdb $domain && \
+rm -rf /usr/local/etc/freeside/conf.DBI:Pg:host=localhost\;dbname=$domain && \
+rm -rf /usr/local/etc/freeside/counters.DBI:Pg:host=localhost\;dbname=$domain && \
+rm -rf /usr/local/etc/freeside/cache.DBI:Pg:host=localhost\;dbname=$domain && \
+rm -rf /usr/local/etc/freeside/export.DBI:Pg:host=localhost\;dbname=$domain && \
+rm /usr/local/etc/freeside/dbdef.DBI:Pg:host=localhost\;dbname=$domain
+
diff --git a/FS/bin/freeside-deloutsourceuser b/FS/bin/freeside-deloutsourceuser
new file mode 100644
index 000000000..96871e50c
--- /dev/null
+++ b/FS/bin/freeside-deloutsourceuser
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+username=$1
+
+freeside-deluser -h /usr/local/etc/freeside/htpasswd $username 2>/dev/null
+
diff --git a/FS/bin/freeside-deluser b/FS/bin/freeside-deluser
new file mode 100644
index 000000000..57d6ce165
--- /dev/null
+++ b/FS/bin/freeside-deluser
@@ -0,0 +1,64 @@
+#!/usr/bin/perl -w
+
+use strict;
+use vars qw($opt_h);
+use Fcntl qw(:flock);
+use Getopt::Std;
+
+my $FREESIDE_CONF = "/usr/local/etc/freeside";
+
+getopts("h:");
+my $user = shift or die &usage;
+
+if ( $opt_h ) {
+ open(HTPASSWD,"<$opt_h")
+ and flock(HTPASSWD,LOCK_EX)
+ or die "can't open $opt_h: $!";
+ open(HTPASSWD_TMP,">$opt_h.tmp") or die "can't open $opt_h.tmp: $!";
+ while (<HTPASSWD>) {
+ print HTPASSWD_TMP $_ unless /^$user:/;
+ }
+ close HTPASSWD_TMP;
+ rename "$opt_h.tmp", "$opt_h" or die $!;
+ flock(HTPASSWD,LOCK_UN);
+ close HTPASSWD;
+}
+
+open(MAPSECRETS,"<$FREESIDE_CONF/mapsecrets")
+ and flock(MAPSECRETS,LOCK_EX)
+ or die "can't open $FREESIDE_CONF/mapsecrets: $!";
+open(MAPSECRETS_TMP,">>$FREESIDE_CONF/mapsecrets.tmp")
+ or die "can't open $FREESIDE_CONF/mapsecrets.tmp: $!";
+while (<MAPSECRETS>) {
+ print MAPSECRETS_TMP $_ unless /^$user\s/;
+}
+close MAPSECRETS_TMP;
+rename "$FREESIDE_CONF/mapsecrets.tmp", "$FREESIDE_CONF/mapsecrets" or die $!;
+flock(MAPSECRETS,LOCK_UN);
+close MAPSECRETS;
+
+sub usage {
+ die "Usage:\n\n freeside-deluser [ -h htpasswd_file ] username"
+}
+
+=head1 NAME
+
+freeside-deluser - Command line interface to add (freeside) users.
+
+=head1 SYNOPSIS
+
+ freeside-deluser [ -h htpasswd_file ] username
+
+=head1 DESCRIPTION
+
+Adds a user to the Freeside billing system. This is for adding users (internal
+sales/tech folks) to the web interface, not for adding customer accounts.
+
+ -h: Also delete from the given htpasswd filename
+
+=head1 SEE ALSO
+
+L<freeside-adduser>, L<htpasswd>(1), base Freeside documentation
+
+=cut
+
diff --git a/FS/bin/freeside-setup b/FS/bin/freeside-setup
index cb74e64c8..e8bb7ec62 100755
--- a/FS/bin/freeside-setup
+++ b/FS/bin/freeside-setup
@@ -7,7 +7,7 @@ use strict;
use vars qw($opt_s);
use Getopt::Std;
use DBI;
-use DBIx::DBSchema 0.20;
+use DBIx::DBSchema 0.21;
use DBIx::DBSchema::Table;
use DBIx::DBSchema::Column;
use DBIx::DBSchema::ColGroup::Unique;
diff --git a/bin/populate-msgcat b/bin/populate-msgcat
index f8e23cfa0..3b198f718 100755
--- a/bin/populate-msgcat
+++ b/bin/populate-msgcat
@@ -27,7 +27,7 @@ foreach my $msgcode ( keys %messages ) {
}
}
-print "Message catalog initialized sucessfully\n";
+#print "Message catalog initialized sucessfully\n";
sub messages {