From 7dce6514fba5b3b9e2041781e7ed75c63483ebe4 Mon Sep 17 00:00:00 2001
From: Regis Houssin <regis@dolibarr.fr>
Date: Wed, 6 Jul 2005 15:28:01 +0000
Subject: [PATCH] Interface pour purger une demo

---
 misc/purgedemo/README            |   5 ++
 misc/purgedemo/purge-banque.sql  |  10 +++
 misc/purgedemo/purge-facture.sql |  17 ++++
 misc/purgedemo/purge-produit.sql |   4 +
 misc/purgedemo/purge-propale.sql |   6 ++
 misc/purgedemo/purge-societe.sql |  10 +++
 misc/purgedemo/purgebanque.sh    |  72 +++++++++++++++++
 misc/purgedemo/purgedemo.sh      | 131 +++++++++++++++++++++++++++++++
 misc/purgedemo/purgefacture.sh   |  76 ++++++++++++++++++
 misc/purgedemo/purgeproduit.sh   |  73 +++++++++++++++++
 misc/purgedemo/purgepropale.sh   |  76 ++++++++++++++++++
 misc/purgedemo/purgesociete.sh   |  73 +++++++++++++++++
 12 files changed, 553 insertions(+)
 create mode 100644 misc/purgedemo/README
 create mode 100644 misc/purgedemo/purge-banque.sql
 create mode 100644 misc/purgedemo/purge-facture.sql
 create mode 100644 misc/purgedemo/purge-produit.sql
 create mode 100644 misc/purgedemo/purge-propale.sql
 create mode 100644 misc/purgedemo/purge-societe.sql
 create mode 100644 misc/purgedemo/purgebanque.sh
 create mode 100644 misc/purgedemo/purgedemo.sh
 create mode 100644 misc/purgedemo/purgefacture.sh
 create mode 100644 misc/purgedemo/purgeproduit.sh
 create mode 100644 misc/purgedemo/purgepropale.sh
 create mode 100644 misc/purgedemo/purgesociete.sh

diff --git a/misc/purgedemo/README b/misc/purgedemo/README
new file mode 100644
index 00000000000..b23c3545f89
--- /dev/null
+++ b/misc/purgedemo/README
@@ -0,0 +1,5 @@
+purgedemo.sh purge les factures, les propales, les produits et les soci�t�s de la base de d�monstration
+faite un chmod 700 *.sh
+puis ./purgedemo.sh pour executer l'interface.
+
+l'installation du package "dialog" est indispensable.
diff --git a/misc/purgedemo/purge-banque.sql b/misc/purgedemo/purge-banque.sql
new file mode 100644
index 00000000000..8b91417128c
--- /dev/null
+++ b/misc/purgedemo/purge-banque.sql
@@ -0,0 +1,10 @@
+
+delete from llx_bank;
+
+delete from llx_bank_account;
+
+delete from llx_bank_categ;
+
+delete from llx_bank_class;
+
+delete from llx_bank_url;
diff --git a/misc/purgedemo/purge-facture.sql b/misc/purgedemo/purge-facture.sql
new file mode 100644
index 00000000000..c11317f266f
--- /dev/null
+++ b/misc/purgedemo/purge-facture.sql
@@ -0,0 +1,17 @@
+
+delete from llx_fa_pr;
+
+delete from llx_facturedet;
+
+delete from llx_facturedet_rec;
+
+delete from llx_facture_rec;
+
+delete from llx_facture_tva_sum;
+
+delete from llx_paiement_facture;
+
+delete from llx_paiement;
+
+delete from llx_facture;
+
diff --git a/misc/purgedemo/purge-produit.sql b/misc/purgedemo/purge-produit.sql
new file mode 100644
index 00000000000..b8f63b38cfe
--- /dev/null
+++ b/misc/purgedemo/purge-produit.sql
@@ -0,0 +1,4 @@
+
+delete from llx_product;
+
+delete from llx_product_price;
\ No newline at end of file
diff --git a/misc/purgedemo/purge-propale.sql b/misc/purgedemo/purge-propale.sql
new file mode 100644
index 00000000000..9994e242b88
--- /dev/null
+++ b/misc/purgedemo/purge-propale.sql
@@ -0,0 +1,6 @@
+
+delete from llx_propaldet;
+
+delete from llx_propal;
+
+delete from llx_co_pr;
diff --git a/misc/purgedemo/purge-societe.sql b/misc/purgedemo/purge-societe.sql
new file mode 100644
index 00000000000..409b55b7e9d
--- /dev/null
+++ b/misc/purgedemo/purge-societe.sql
@@ -0,0 +1,10 @@
+
+delete from llx_socpeople;
+
+delete from llx_societe_rib;
+
+delete from llx_societe_remise;
+
+delete from llx_societe_remise_except;
+
+delete from llx_societe;
diff --git a/misc/purgedemo/purgebanque.sh b/misc/purgedemo/purgebanque.sh
new file mode 100644
index 00000000000..c05a212720f
--- /dev/null
+++ b/misc/purgedemo/purgebanque.sh
@@ -0,0 +1,72 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+# Purge de la banque
+#
+#
+# si pas d'arguments pass�s on les demandes
+if [ ! -n "$1" ]; then
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des banques" --clear \
+				--inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		base=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des banques" --clear \
+				--inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		admin=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des banques" --clear \
+				--inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		passwd=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des banques" --clear \
+				--inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		docs=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+else
+	base=$1;
+	admin=$2;
+	passwd=$3;
+	docs=$4;
+fi
+echo "####### Suppression des banques #######"
+mysql -u$admin -p$passwd $base < purge-banque.sql
diff --git a/misc/purgedemo/purgedemo.sh b/misc/purgedemo/purgedemo.sh
new file mode 100644
index 00000000000..9b66ecf5210
--- /dev/null
+++ b/misc/purgedemo/purgedemo.sh
@@ -0,0 +1,131 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+#
+# ---------------------------- globales
+# ---------------------------- base mysql
+DIALOG=${DIALOG=dialog}
+fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+trap "rm -f $fichtemp" 0 1 2 5 15
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+valret=$?
+case $valret in
+  0)
+base=`cat $fichtemp`;;
+  1)
+exit;;
+  255)
+exit;;
+esac
+# ---------------------------- compte admin mysql
+DIALOG=${DIALOG=dialog}
+fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+trap "rm -f $fichtemp" 0 1 2 5 15
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+
+valret=$?
+
+case $valret in
+  0)
+admin=`cat $fichtemp`;;
+  1)
+exit;;
+  255)
+exit;;
+esac
+# ---------------------------- mot de passe admin mysql
+DIALOG=${DIALOG=dialog}
+fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+trap "rm -f $fichtemp" 0 1 2 5 15
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+
+valret=$?
+
+case $valret in
+  0)
+passwd=`cat $fichtemp`;;
+  1)
+exit;;
+  255)
+exit;;
+esac
+# ---------------------------- chemin d'acc�s du r�pertoire documents
+DIALOG=${DIALOG=dialog}
+fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+trap "rm -f $fichtemp" 0 1 2 5 15
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+
+valret=$?
+
+case $valret in
+  0)
+docs=`cat $fichtemp`;;
+  1)
+exit;;
+  255)
+exit;;
+esac
+# ---------------------------- confirmation
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "confirmez-vous ces informations ? \n base Mysql : '$base' \n compte admin : '$admin' \n mot de passe : '$passwd' \n r�pertoire documents : '$docs'" 15 40
+
+case $? in
+        0)      echo "Ok, d�but du processus...";;
+        1)      exit;;
+        255)    exit;;
+esac
+# ---------------------------- purge des propales
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "d�sirez-vous supprimer les propales ?" 10 30
+
+case $? in
+        0)      "./purgepropale.sh" $base $admin $passwd $docs;;
+        1)      void="";;
+        255)    exit;;
+esac
+# ---------------------------- purge des factures
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "d�sirez-vous supprimer les factures ?" 10 30
+
+case $? in
+        0)      "./purgefacture.sh" $base $admin $passwd $docs;;
+        1)      void="";;
+        255)    exit;;
+esac
+# ---------------------------- purge des soci�t�s
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "d�sirez-vous supprimer les soci�t�s (clients et fournisseurs) ?" 10 30
+
+case $? in
+        0)      "./purgesociete.sh" $base $admin $passwd $docs;;
+        1)      void="";;
+        255)    exit;;
+esac
+# ---------------------------- purge des produits
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "d�sirez-vous supprimer les produits ?" 10 30
+
+case $? in
+        0)      "./purgeproduit.sh" $base $admin $passwd $docs;;
+        1)      void="";;
+        255)    exit;;
+esac
+# ---------------------------- purge des banques
+DIALOG=${DIALOG=dialog}
+$DIALOG --title "Purge de Dolibarr" --clear \
+        --yesno "d�sirez-vous supprimer les banques ?" 10 30
+
+case $? in
+        0)      "./purgebanque.sh" $base $admin $passwd $docs;;
+        1)      void="";;
+        255)    exit;;
+esac
\ No newline at end of file
diff --git a/misc/purgedemo/purgefacture.sh b/misc/purgedemo/purgefacture.sh
new file mode 100644
index 00000000000..7efd4261a12
--- /dev/null
+++ b/misc/purgedemo/purgefacture.sh
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+# Purge des factures
+#
+#
+# si pas d'arguments pass�s on les demandes
+if [ ! -n "$1" ]; then
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des factures" --clear \
+				--inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		base=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des factures" --clear \
+				--inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		admin=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des factures" --clear \
+				--inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		passwd=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des factures" --clear \
+				--inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		docs=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+else
+	base=$1;
+	admin=$2;
+	passwd=$3;
+	docs=$4;
+fi
+echo "####### Suppression des factures #######"
+mysql -u$admin -p$passwd $base < purge-facture.sql
+rm -rf $docs/facture/*
+mkdir $docs/facture/images
+chmod 2755 $docs/facture/images
+chown www-data $docs/facture/images
diff --git a/misc/purgedemo/purgeproduit.sh b/misc/purgedemo/purgeproduit.sh
new file mode 100644
index 00000000000..de3ea67de15
--- /dev/null
+++ b/misc/purgedemo/purgeproduit.sh
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+# Purge des produits
+#
+#
+# si pas d'arguments pass�s on les demandes
+if [ ! -n "$1" ]; then
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des produits" --clear \
+				--inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		base=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des produits" --clear \
+				--inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		admin=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des produits" --clear \
+				--inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		passwd=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des produits" --clear \
+				--inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		docs=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+else
+	base=$1;
+	admin=$2;
+	passwd=$3;
+	docs=$4;
+fi
+echo "####### Suppression des produits #######"
+mysql -u$admin -p$passwd $base < purge-produit.sql
+rm -rf $docs/produit/*
diff --git a/misc/purgedemo/purgepropale.sh b/misc/purgedemo/purgepropale.sh
new file mode 100644
index 00000000000..6247d534bb5
--- /dev/null
+++ b/misc/purgedemo/purgepropale.sh
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+# Purge des propales
+#
+#
+# si pas d'arguments pass�s on les demandes
+if [ ! -n "$1" ]; then
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des propales" --clear \
+				--inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		base=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des propales" --clear \
+				--inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		admin=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des propales" --clear \
+				--inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		passwd=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des propales" --clear \
+				--inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		docs=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+else
+	base=$1;
+	admin=$2;
+	passwd=$3;
+	docs=$4;
+fi
+echo "####### Suppression des propales #######"
+mysql -u$admin -p$passwd $base < purge-propale.sql
+rm -rf $docs/propale/*
+mkdir $docs/propale/images
+chmod 2755 $docs/propale/images
+chown www-data $docs/propale/images
diff --git a/misc/purgedemo/purgesociete.sh b/misc/purgedemo/purgesociete.sh
new file mode 100644
index 00000000000..00fe892a544
--- /dev/null
+++ b/misc/purgedemo/purgesociete.sh
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# R�gis Houssin - regis.houssin@cap-networks.com
+# Purge des soci�t�s (clients et fournisseurs)
+#
+#
+# si pas d'arguments pass�s on les demandes
+if [ ! -n "$1" ]; then
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des soci�t�s (clients et fournisseurs)" --clear \
+				--inputbox "Nom de la base Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		base=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des soci�t�s (clients et fournisseurs)" --clear \
+				--inputbox "Compte Admin Mysql (ex: root):" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		admin=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des soci�t�s (clients et fournisseurs)" --clear \
+				--inputbox "Mot de passe du compte Admin Mysql :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		passwd=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+		DIALOG=${DIALOG=dialog}
+		fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
+		trap "rm -f $fichtemp" 0 1 2 5 15
+		$DIALOG --title "Suppression des soci�t�s (clients et fournisseurs)" --clear \
+				--inputbox "Chemin complet du r�pertoire documents (ex: /var/www/dolibarr/documents)- pas de / � la fin :" 16 51 2> $fichtemp
+		valret=$?
+		case $valret in
+		  0)
+		docs=`cat $fichtemp`;;
+		  1)
+		exit;;
+		  255)
+		exit;;
+		esac
+else
+	base=$1;
+	admin=$2;
+	passwd=$3;
+	docs=$4;
+fi
+echo "####### Suppression des soci�t�s (clients et fournisseurs) #######"
+mysql -u$admin -p$passwd $base < purge-societe.sql
+rm -rf $docs/societe/*
-- 
GitLab