diff --git a/html/user/bossa_job_finished.php b/html/user/bossa_job_finished.php new file mode 100644 index 0000000000..3ef0a82752 --- /dev/null +++ b/html/user/bossa_job_finished.php @@ -0,0 +1,54 @@ +. + +require_once("../inc/util.inc"); +require_once("../inc/bossa_db.inc"); +require_once("../inc/bossa_impl.inc"); + +$user = get_logged_in_user(); +$inst = BossaJobInst::lookup_id(get_int('bji')); +if (!$inst) { + error_page("No such job instance"); +} +if ($inst->user_id != $user->id) { + error_page("Bad user ID"); +} +if ($inst->finish_time) { + error_page("You already finished this job"); +} +$job = BossaJob::lookup_id($inst->job_id); +if (!$job) { + error_page("No such job"); +} + +$app = BossaApp::lookup_id($job->app_id); +$file = "../inc/$app->short_name.inc"; +require_once($file); + +{ + $trans = new BossaTransaction(); + + $now = time(); + $inst->update("finish_time=$now, timeout=0"); + + BossaUser::lookup($user); + job_finished($job, $inst, $user); + show_next_job($app, $user); +} + +?>