X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=courses%2Fedit_course.sh;h=3c0c54fc9dee25db23b6eb5fe0a4d5075865099e;hp=1841e056b00ffc5038b9c4751bf041dfb4edc1d5;hb=76c1e7bff1a8604ef2ef7da5d274d0db0e639139;hpb=5ab459e666f2526f671fe222cd1646a4e6798b27 diff --git a/courses/edit_course.sh b/courses/edit_course.sh index 1841e05..3c0c54f 100755 --- a/courses/edit_course.sh +++ b/courses/edit_course.sh @@ -1,6 +1,6 @@ -#!/bin/zsh +#!/bin/sh -# Copyright 2014 Paul Hänsch +# Copyright 2014, 2019, 2020 Paul Hänsch # # This file is part of Confetti. # @@ -17,6 +17,18 @@ # You should have received a copy of the GNU Affero General Public License # along with Confetti. If not, see . -course="${_GET[course]}" +locktimeout=900 +. "$_EXEC"/session_lock.sh -echo -n "Location: ?p=courses&edit=$course\n\n" +course="$(GET course |PATH)" +coursefile="$_DATA/ical/${course##*/}" + +if tempfile="$(SLOCK "$coursefile" "$locktimeout")"; then + REDIRECT "/courses/?e=${course}" +elif [ -f "$tempfile" ]; then + SET_COOKIE session message="SESSLOCK" + REDIRECT "/courses/#${course}" +else + SET_COOKIE session message="EDITLOCK" + REDIRECT "/courses/#${course}" +fi