#!%TCLSH%

#
# Script pour supprimer un groupe
#
# Appel par : script grpsuppr
#
# Paramtres (formulaire ou URL) :
#	- groupe : nom du groupe
#
# Historique
#   2003/06/03 : pda/jean : cration
#   2003/06/27 : pda      : utilisation de cgi-exec
#   2007/12/04 : pda/jean : intgration dans webdns
#

set conf(homeurl)	%HOMEURL%

#
# Chemins utiliss par les scripts
#

set conf(pkg)		%PKGTCL%
set conf(lib)		%DESTDIR%/lib
set conf(libauth)	$conf(lib)/libauth.tcl

#
# Dfinition des noms des pages " trous"
#

set conf(err)		$conf(lib)/erreur.html
set conf(page)		$conf(lib)/actionok.html

#
# Quelques paramtres du script
#

set conf(auth)		%AUTH%
set conf(nologin)	%NOLOGIN%
set conf(admin)		%GRPROOT%

set conf(form)          {
	{groupe		1 1}
}

#
# Les outils du parfait concepteur de pages Web dynamiques...
#

lappend auto_path $conf(pkg)
package require webapp
package require pgsql

#
# On y va !
#

# ::webapp::cgidebug ; exit

source $conf(libauth)

##############################################################################
# Programme principal
##############################################################################

proc main {} {
    global conf

    #
    # Initialisation
    #

    init-auth $conf(nologin) $conf(auth) $conf(admin) $conf(err) $conf(form) ftab login

    set groupe [lindex $ftab(groupe) 0]

    #
    # Vrifier les informations du groupe
    #

    if {! [auth-lsgroup tabgrp]} then {
	::webapp::error-exit $conf(err) "Rcupration des groupes impossible."
    }

    if {! [info exists tabgrp($groupe)]} then {
	::webapp::error-exit $conf(err) \
	    "Groupe '$groupe' inexistant. Suppression refuse."
    }

    set nusers [llength [lindex $tabgrp($groupe) 1]]
    if {$nusers > 0} then {
	::webapp::error-exit $conf(err) \
	"Le groupe '$groupe' contient $nusers membre(s). Suppression refuse."
    }

    #
    # Supprimer le groupe de la base
    #

    if {! [auth-delgroup $groupe msg]} then {
	::webapp::error-exit $conf(err) $msg
    }

    #
    # Indiquer le succs de l'action effectue
    #

    set action "de suppression du groupe '$groupe'"

    #
    # Sortie du rsultat
    #

    ::webapp::send html [::webapp::file-subst $conf(page) \
				[list \
					[list %TITREACTION% $action] \
					[list %COMPLEMENT% ""] \
				    ] \
			    ]

    #
    # Dconnexion de la base
    #

    end-auth
}

::webapp::cgi-exec main %DEBUG%
