replace datasheet deletion; add viewdatasheet

This commit is contained in:
2015-07-10 09:56:31 +03:00
parent ffad7df9a3
commit 2085dc90fc
2 changed files with 43 additions and 18 deletions

View File

@@ -29,7 +29,7 @@
if [ ! -e config.cfg ]; then echo "Missing config.cfg file. Edit and rename config.cfg.sample"; exit 1; fi
source config.cfg
ACTION="$1" # adduser, changepw, listusers, userdetail, deluser, sizeall, sizeuser
ACTION="$1" # adduser, changepw, listusers, userdetail, deluser, sizeall, sizeuser, viewdata
USER="$2"
PASS="$3"
@@ -39,7 +39,7 @@ NOTESTMP=.Notes.txt.tmp
## FUNCTIONS
function checkaction {
REGEX="^adduser$|^changepw$|^listusers$|^userdetail$|^deluser$|^sizeall$|^sizeuser$"
REGEX="^adduser$|^changepw$|^listusers$|^userdetail$|^deluser$|^sizeall$|^sizeuser$|^viewdata$"
if [[ $1 =~ $REGEX ]]; then
echo "true"
else
@@ -167,19 +167,6 @@ if [ "$ACTION" == "changepw" ]; then
mailsend "Email password changed" \
"An Email account password has been changed." \
"User: $USER | New Password: $PASS"
# Update datasheet (delete entry in Email section)
LEAD='## > EMAIL'
TAIL='## < EMAIL'
# Extract Mail part | exclude LEAD and TAIL | delete user
sed -n "/$LEAD/,/$TAIL/ p" $NOTES | grep -v "$LEAD\|$TAIL" | sed "/User:[ \t]*$USER$/,+2d" > $NOTESTMP
# Put edited part in between $LEAD and $TAIL again
sed -i "/$LEAD/,/$TAIL/{ /$LEAD/{p; r $NOTESTMP
}; /$TAIL/p; d }" $NOTES
#rm $NOTESTMP
fi
fi # /changepw
@@ -206,6 +193,17 @@ if [ "$ACTION" == "sizeall" ]; then
fi # /sizeall
# # # # #
# VIEW DATASHEET
# # # # #
if [ "$ACTION" == "viewdata" ]; then
echo "Extracting data sheet..."
echo
cat $NOTES
fi # /viewdata
# # # # #
# SIZE USER
# # # # #
@@ -248,8 +246,24 @@ if [ "$ACTION" == "deluser" ]; then
vdeluser "$USER"
mailsend "Email account deleted" \
"An Email account has been deleted." \
"User: $USER"
if [ $? == 0 ]; then
# Send infomail
mailsend "Email account deleted" \
"An Email account has been deleted." \
"User: $USER"
# Update datasheet (delete entry in Email section)
LEAD='## > EMAIL'
TAIL='## < EMAIL'
# Extract Mail part | exclude LEAD and TAIL | delete user
sed -n "/$LEAD/,/$TAIL/ p" $NOTES | grep -v "$LEAD\|$TAIL" | sed "/User:[ \t]*$USER$/,+2d" > $NOTESTMP
# Put edited part in between $LEAD and $TAIL again
sed -i "/$LEAD/,/$TAIL/{ /$LEAD/{p; r $NOTESTMP
}; /$TAIL/p; d }" $NOTES
rm $NOTESTMP
fi
fi # /deluser