/**
  * 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);
 }