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.']);
     }
 }