/** * Deletes an import from the history. */ public function actionDelete() { // Get history id $history = craft()->request->getParam('id'); // Get history $model = Import_HistoryRecord::model()->findById($history); // Notify user craft()->userSession->setNotice(Craft::t('The import history of {file} has been deleted.', array('file' => $model->file))); // Set criteria $criteria = new \CDbCriteria(); $criteria->condition = 'historyId = :history_id'; $criteria->params = array(':history_id' => $history); // Delete attached logs Import_LogRecord::model()->deleteAll($criteria); // Delete history $model->delete(); // Redirect to history $this->redirect('import/history'); }
/** * Show a specific log item. * * @param int $history * * @return array */ public function showLog($history) { // Set criteria $criteria = new \CDbCriteria(); $criteria->condition = 'historyId = :history_id'; $criteria->params = array(':history_id' => $history); // Get errors $errors = array(); $logs = Import_LogRecord::model()->findAll($criteria); foreach ($logs as $log) { $errors[$log['line']] = $log['errors']; } // Get total rows $model = Import_HistoryRecord::model()->findById($history); $total = array(); if ($model) { $rows = $model->rows; // Make "total" list for ($i = 2; $i <= $rows + 1; $i++) { $total[$i] = isset($errors[$i]) ? $errors[$i] : array(Craft::t('None')); } } return $total; }
/** * @codeCoverageIgnore * * @param \CDbCriteria $criteria * * @return Import_LogRecord[] */ protected function findAllLogs(\CDbCriteria $criteria) { return Import_LogRecord::model()->findAll($criteria); }