Grab Student Work

From CDOT Wiki
Revision as of 09:58, 22 June 2011 by Msaul (talk | contribs) (Created page with ' #!/bin/bash # grab.bash # Author: Murray Saul # Date Created: November 17, 2010 # Date Modified: June 3, 2011 # Purpose: To allow ce admin to "grab" Sunday School wor…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
#!/bin/bash

# grab.bash

# Author: Murray Saul
# Date Created: November 17, 2010
# Date Modified: June 3, 2011

# Purpose: To allow ce admin to "grab" Sunday School work
#          to be placed on USB device to take home. Copy of
#          word also placed on "Sunday_School" directory for
#          extra backup...

# Determine USB device Name

# Prompt for user account

zenity --info --text "WELCOME TO GRAB WORK!\n\nThis program will allow instructors to \"grab\" student work on the computer lab. The instructor then has the option to remove \"grabbed\" work, and to  automatically copy work on the instructor's USB stick.\n\nPlease click OK to continue."

zenity --info --text "PLEASE INSERT YOUR USB STICK INTO THE SERVER.\n\nAfter you have inserted your USB device, then click OK to continue."

sleep 3

set $(ls /media | sed "s/ /_/g" | sed "s/^/FALSE &/") > /dev/null

content=$*

usbChoice=$(zenity --title "Select USB Device" --list  --text "Please select your USB device:" --radiolist  --column "Pick" --column "USB Name" $content)

usbDriveName="$(echo $usbChoice | sed "s/_/ /g")"

dateStamp=$(date +"%d_%B_%y")
timeStamp=$(date +"%H_%M_%S_%p")

cd /media
pwd
cd "${usbDriveName}"

mkdir -p churchLab/$dateStamp/$timeStamp 2> /dev/null
mkdir -p /home/teacher/churchLab/$dateStamp/$timeStamp 2> /dev/null
sudo chown teacher:teacher /home/teacher/churchLab/$dateStamp/$timeStamp

cd churchLab/$dateStamp/$timeStamp

account=$(zenity --height 250 --text "Select Computer Accounts to \"Grab Work\" From:" --list --checklist --column "" --column "Computer Account" FALSE jamm FALSE studio )

set $(echo $account | tr '|' ' ') > /dev/null

for x
do

   # Prompt for application to yank for each account

    application=$(zenity --height 350 --text "Select applications to grab for\naccount called \"$x\":" --list --checklist --column ""  --column "Application" FALSE tuxpaintings FALSE wordProcessing  FALSE slideShows )
set $(echo $application | tr '|' ' ') > /dev/null

  for y
  do
    for ((z=1;z<=7;z++))
    do

     if [ "$y" = "tuxpaintings" ]
     then
         cp /home/$x$z/.tuxpaint/saved/* . 2> /dev/null
         cp /home/$x$z/.tuxpaint/saved/* /home/teacher/Desktop/churchLab/$dateStamp/$timeStamp 2> /dev/null
     fi
     if [ "$y" = "wordProcessing" ]
     then
         cp /home/$x$z/Documents/*.doc . 2> /dev/null
         cp /home/$x$z/Documents/*.doc /home/teacher/Desktop/churchLab/$dateStamp/$timeStamp 2> /dev/null
         cp /home/$x$z/Documents/*.odt . 2> /dev/null
         cp /home/$x$z/Documents/*.odt /home/teacher/Desktop/churchLab/$dateStamp/$timeStamp 2> /dev/null
         cp /home/$x$z/Documents/*.pdf . 2> /dev/null
         cp /home/$x$z/Documents/*.pdf /home/teacher/Desktop/churchLab/$dateStamp/$timeStamp 2> /dev/null
     fi
     if [ "$y" = "slideShows" ]
     then
         cp /home/$x$z/Documents/*.odp . 2> /dev/null
         cp /home/$x$z/Documents/*.odp /home/teacher/Desktop/churchLab/$dateStamp/$timeStamp 2> /dev/null
         cp /home/$x$z/Documents/*.ppt . 2> /dev/null
         cp /home/$x$z/Documents/*.ppt /home/teacher/Desktop/churchLab/$dateStamp/$timeStamp 2> /dev/null
     fi
   done     
   chown teacher:teacher ./*
   if zenity --question --text "Do you want to delete all $y that you \"grabbed\"?"
   then
     for ((z=1;z<=7;z++))
     do
       if [ "$y" = "tuxpaintings" ]
       then
         rm /home/$x$z/.tuxpaint/saved/*  2> /dev/null
       fi
       if [ "$y" = "wordProcessing" ]
       then
         rm /home/$x$z/Documents/*.doc  2> /dev/null
         rm /home/$x$z/Documents/*.odt  2> /dev/null
         rm /home/$x$z/Documents/*.pdf  2> /dev/null
       fi
       if [ "$y" = "slideShows" ]
       then
         rm /home/$x$z/Documents/*.odp  2> /dev/null
         rm /home/$x$z/Documents/*.ppt  2> /dev/null
       fi
     done     
   fi



 done

done


zenity --info --text "GRAB COMPLETED!\n\nPlease verify that you properly "grabbed" this work by checking the date and timestamp subfolders contained in the churchLab Desktop folder.\n\nPlease safely remove your USB storage device now...\n\nHave a nice day... and thank you for using GRAB WORK!\n\n"