function performItemDeletion(Orm\Model $item, $successUrl) { $id = $item->get('id'); $item->delete(); $this->deleteImageFolder($id); $session = Session::instance(); $session->set($this->deletedKey, true); // Re-loads the page on success Response::redirect($successUrl); }
public function action_edit($id) { $partner = Model_Partner::find($id); /* @var $partner Model_Partner */ if (!$partner) { Response::redirect('/admin/404'); } $validationErrors = array(); $view = $this->setDefaultValiesToView('admin/partners/partners/edit.html.twig'); if (Input::post()) { if (Input::post('delete')) { $url = 'admin/partners'; $this->performItemDeletion($partner, $url); } if (Input::post('update')) { try { $validationErrors = $this->validateItem(); if ($validationErrors) { throw new Exception('Form validation failed'); } // Updates item $this->assignValuesFromPost($partner); // Adds terms and conditions foreach (self::$languages as $language) { // In case translation for current language is missing, copies EN translation by default if (Input::post('terms_' . $language)) { $partner->setTerms(Input::post('terms_' . $language), $language); } else { $partner->setTerms(Input::post('terms_en'), $language); } } $partner->save(); // Reloads page $session = Session::instance(); $session->set($this->updatedKey, true); Response::redirect('admin/partners/edit/' . $partner->get('id')); } catch (Exception $e) { Log::debug($e->getMessage()); $view->set('post', Input::post()); } } } $view->set('pageTitle', 'Edit Partner'); $view->set('partner', $partner); $view->set('countries', Model_Country::findAll(null, 'en')); $view->set('country', Model_Country::find($partner->get('country'))); $view->set('currencies', Model_Currency::find('all')); $view->set('validationErrors', $validationErrors); return $view; }