#!/bin/sh

PATH=/bin:/usr/bin:$PATH; export PATH

curDir=`dirname $0`
procName=`basename $0`

. $curDir/dm_incl
. $curDir/dm_text
. $curDir/dm_remote

# ---------------------------------------------------------------------------- #
#
# List all drawings from the drawing directory in the designer area; designer = login
#
# Parametesr:
#           input : - designer
#           output: - error code ("0": ok; "1"/"2": error)
#                   - list of drawings
#
# Author : J. Schmidt, AP221, 04.92
#
# Achtung: Die Prozeduren koennen vom Anwender auf firmenspezifische
#          Gegebenheiten angepasst werden.
#          Bei solchen Aenderungen uebernimmt SNI jedoch keine Gewaehr-
#          leistung fuer den ordnungsgemaessen Ablauf der Prozeduren.
#          Fehler werden nur beruecksichtigt, wenn sie in den ausge-
#          lieferten Prozeduren nachvollzogen werden koennen.
#
# ---------------------------------------------------------------------------- #

set -e
# ---------------------------------------------------------------------------- #
# Set error if a command fails
# ---------------------------------------------------------------------------- #
if [ ! -w $RETURN_FILE ]
then
    touch $RETURN_FILE
    chmod 777 $RETURN_FILE
fi
(eval "echo $ErrCommand") > $RETURN_FILE

# ---------------------------------------------------------------------------- #
# Check parameters
# ---------------------------------------------------------------------------- #
nbParam=1
if test $# -lt $nbParam
then
    (eval "echo $ParameterNotValid") > $RETURN_FILE
    exit 1
fi

# ---------------------------------------------------------------------------- #
# Set parameters to variables
# ---------------------------------------------------------------------------- #
designer=$1

# ---------------------------------------------------------------------------- #
# Designer in user file
# ---------------------------------------------------------------------------- #
for i in `awk ' { print \$1 } ' $USER_FILE `
do
    if ( test "$i" = "$designer" ); then found=$YES; break; fi
done   

if ( test ! "$found" = $YES )
then
    (eval "echo $DesignerNotInUser") > $RETURN_FILE
    exit 1
fi

nb=`awk "{ if ( \"$designer\" == \\$1 ) print NF }" $USER_FILE`

# ---------------------------------------------------------------------------- #
# If local
# ---------------------------------------------------------------------------- #
if ( test $nb -eq 2 )
then
    userHome=`awk "{ if ( \"$designer\" == \\$1 ) print \\$2 } " $USER_FILE`
    desPath=$userHome"$DESIGNS_PATH"

    # ------------------------------------------------------------------------ #
    # Exists designer area ?
    # ------------------------------------------------------------------------ #
    if ( test ! -d $desPath )
    then
        (eval "echo $DesAreaNotExists") > $RETURN_FILE
        exit 1
    fi

    # ----------------------------------------------------------------------- #
    # Return 'ok' and list of drawings
    # ----------------------------------------------------------------------- #
    echo "0" > $RETURN_FILE
    cd $desPath
    ls -d *$DES_SUFF >> $RETURN_FILE 2> /dev/null

# ---------------------------------------------------------------------------- #
# else on host
# ---------------------------------------------------------------------------- #
else

    userNode=`awk "{ if ( \"$designer\" == \\$1 ) print \\$2 }" $USER_FILE`
    userHome=`awk "{ if ( \"$designer\" == \\$1 ) print \\$3 }" $USER_FILE`

    desPath=$userHome"$DESIGNS_PATH"

    # ------------------------------------------------------------------------ #
    # Exists designer area ?
    # ------------------------------------------------------------------------ #
    cmd="if ( test ! -d $desPath ); then echo 1; else echo 0; fi"
    ret=`$RSH $userNode $cmd`
    if ( test $ret -eq 1 )
    then
        (eval "echo $DesAreaNotExists") > $RETURN_FILE
        exit 1
    fi

    # ------------------------------------------------------------------------ #
    # Return 'ok' and list of drawings
    # ----------------------------------------------------------------------- #
    echo "0" > $RETURN_FILE
    cmd="cd $desPath; ls -d *$DES_SUFF"
    $RSH $userNode $cmd >> $RETURN_FILE 2> /dev/null
fi
