Exemple #1
0
 public function put_paintings_edit($painting_id)
 {
     $input = Input::all();
     if (!empty($input['hidden-tags'])) {
         $input['tags'] = explode(',', $input['hidden-tags']);
     }
     try {
         $validator = new Services\Dashboard\Paintings\Add\Validator($input);
         $validator->publish();
     } catch (ValidateException $errors) {
         return Redirect::to(URL::to_route('dashboard.paintings.edit', array('painting_id' => $painting_id)))->with_input()->with_errors($errors->get());
     }
     $errors = new Laravel\Messages();
     $painting = Painting::find($painting_id);
     if ($painting) {
         if (!empty($input['painting_image']) && $input['painting_image']['error'] == 4) {
             $upload_success = true;
             $image_path = $painting->image_path;
         } else {
             $extension = File::extension($input['painting_image']['name']);
             $directory = path('public') . 'uploads/paintings/' . sha1($input['name']);
             $filename = "original.{$extension}";
             $upload_success = ImageUtils::upload('painting_image', $directory, $filename);
             $image_path = URL::base() . '/uploads/paintings/' . sha1($input['name']);
         }
         if ($upload_success) {
             $painting->name = $input['name'];
             $painting->dimensions = $input['dimensions'];
             $painting->type = $input['type'];
             $painting->painter = $input['painter'];
             $painting->year = $input['year'];
             $painting->comment = $input['comment'];
             $painting->image_path = $image_path;
             if ($painting->save()) {
                 if (!empty($input['tags'])) {
                     $painting->tag($input['tags']);
                 }
                 return Redirect::to(URL::to_route('dashboard.paintings'))->with('status_success', __('application.painting_updated'));
             } else {
                 $errors->add('errors', __('application.generic_error'));
                 return Redirect::to(URL::to_route('dashboard.paintings.edit', array('painting_id' => $painting_id)))->with_input()->with_errors($errors);
             }
         } else {
             $errors->add('errors', __('application.generic_error'));
             return Redirect::to(URL::to_route('dashboard.paintings.edit', array('painting_id' => $painting->id)))->with_input()->with_errors($errors);
         }
     } else {
         return Response::error(404);
     }
 }