/**
  * @Route("/project/edit", name="project/edit")
  * @Access("portfolio: manage portfolio")
  * @Request({"id": "int"})
  */
 public function editAction($id = 0)
 {
     try {
         if (!($project = Project::where(compact('id'))->first())) {
             if ($id) {
                 App::abort(404, __('Invalid project id.'));
             }
             $module = App::module('bixie/portfolio');
             $project = Project::create(['data' => [], 'image' => ['teaser' => [], 'main' => []], 'tags' => [], 'status' => 1, 'date' => new \DateTime()]);
             $project->set('markdown', $module->config('markdown'));
         }
         return ['$view' => ['title' => $id ? __('Edit project') : __('Add project'), 'name' => 'bixie/portfolio/admin/project.php'], '$data' => ['statuses' => Project::getStatuses(), 'config' => App::module('bixie/portfolio')->config(), 'project' => $project, 'tags' => Project::allTags()], 'project' => $project];
     } catch (\Exception $e) {
         App::message()->error($e->getMessage());
         return App::redirect('@portfolio/post');
     }
 }