#!/bin/sh

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

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

. $curDir/dm_incl
. $curDir/dm_text

# ---------------------------------------------------------------------------- #
#
# Rename a drawing in the designer area; (owner = login)
#
# Parameters:
#           input : - drawing name old
#                   - drawing name new
#           output: - error code ("0": ok; "1"/"2": error)
#                   - path of old drawing directory or error message
#                   - path of new drawing directory
#                   - basename of new drawing directory
#
# Author : J. Schmidt, AP221, 11.91
#
# 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=2
if test $# -lt $nbParam
then
    (eval "echo $ParameterNotValid") > $RETURN_FILE
    exit 1
fi

# ---------------------------------------------------------------------------- #
# Set parameters to variables
# ---------------------------------------------------------------------------- #
drawNameOld=$1
drawNameNew=$2


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

# ---------------------------------------------------------------------------- #
# Exists old drawing ?
# ---------------------------------------------------------------------------- #
drawName=$drawNameOld
drawPath=$desPath"/"$drawName$DES_SUFF
if ( test ! -d $drawPath )
then
    (eval "echo $DrawingNotExists" ) > $RETURN_FILE
    exit 1
fi

# ---------------------------------------------------------------------------- #
# if old drawing is writable ?
# ---------------------------------------------------------------------------- #
if ( test ! -w $drawPath )
then
    (eval "echo $DrawingNotWritable" ) > $RETURN_FILE
    exit 1
fi

# ---------------------------------------------------------------------------- #
# Exists new drawing ?
# ---------------------------------------------------------------------------- #
drawName=$drawNameNew
drawPath=$desPath"/"$drawName$DES_SUFF
if ( test -d $drawPath )
then
    (eval "echo $DrawingExists" ) > $RETURN_FILE
    exit 1
fi

# ---------------------------------------------------------------------------- #
# Rename old to new
# ---------------------------------------------------------------------------- #
drawPathOld=$desPath"/"$drawNameOld$DES_SUFF
drawPathNew=$desPath"/"$drawNameNew$DES_SUFF
mv $drawPathOld $drawPathNew
cd $drawPathNew

nb=`echo $drawNameOld | awk -F'.' ' { print NF } '`
nb=`expr $nb + 1`
for i in `ls $drawNameOld.* | cut -s -f"$nb"-9 -d"."`
do
   mv $drawNameOld.$i $drawNameNew.$i
done

echo "0 $drawPathOld $drawPathNew $drawNameNew$DES_SUFF" > $RETURN_FILE
