Ejemplo n.º 1
0
 /**
  * Duplicate an item
  */
 public function action_duplicate()
 {
     $class_name = $this->model;
     $message = \Lang::get('admin.messages.item_duplicate_success', array('resource' => $class_name::singular()));
     $success = true;
     try {
         $duplicate = \CMF::duplicateItem($class_name, $this->id);
     } catch (\Exception $e) {
         $message = $e->getMessage();
         $success = false;
     }
     $output = array('success' => $success, 'message' => $message);
     if (!empty($duplicate)) {
         $output['id'] = $duplicate->id;
         $output['label'] = $duplicate->display();
     }
     return $output;
 }
Ejemplo n.º 2
0
 /**
  * Given an ID, duplicates the form to edit an item.
  */
 public function action_duplicate($table_name, $id = null)
 {
     // Find class name and metadata
     $class_name = \Admin::getClassForTable($table_name);
     if ($class_name === false) {
         return $this->show404(null, "type");
     }
     // Set message etc
     $message = \Lang::get('admin.messages.item_duplicate_success', array('resource' => $class_name::singular()));
     $success = true;
     try {
         $duplicate = \CMF::duplicateItem($class_name, $id);
     } catch (\Exception $e) {
         $message = $e->getMessage();
         $success = false;
     }
     // Send user back
     \Session::set_flash('main_alert', array('attributes' => array('class' => $success ? 'alert-success' : 'alert-danger'), 'msg' => $message));
     $next = \Input::param('next', \Input::referrer("/admin/{$table_name}"));
     \Response::redirect($next);
 }