public function postSubmitExpense() { $user = \User::getUser(); if (!$user->hasAccess('contractor')) { return \Response::json(['type' => 'danger', 'message' => 'Only contractors can submit a timesheet']); } $_hash = new Hash(); $_hash = $_hash->getHasher(); $job = \Job::findJobById($_hash->decode(trim(\Input::get('job')))); if (!$job) { return \Response::json(['type' => 'danger', 'message' => 'Sorry, that job does not longer exists in our database.']); } $data = json_decode(\Input::get('data'), true); $file = isset($_FILES['file']) ? $_FILES['file'] : null; try { $timesheet = \Contractor::submitExpense($job, $data, $file); return \Response::json(['type' => 'success', 'message' => 'Your expense data has been submitted.']); } catch (\Exception $e) { return \Response::json(['type' => 'danger', 'message' => env('APP_DEBUG') ? $e->getMessage() : 'Error, please contact webmaster.']); } }