added checkbox to not stop on error
This commit is contained in:
parent
cd749730a4
commit
0cc31a4391
|
@ -43,6 +43,7 @@ class Importer {
|
|||
|
||||
const SESSION_KEY_TASKS = 'import_tasks';
|
||||
const SESSION_KEY_COUNT = 'import_count';
|
||||
const SESSION_KEY_STOP_ON_ERROR = 'import_stop_on_error';
|
||||
const STATUS = 'status';
|
||||
const PROGRESS = 'progress';
|
||||
const DATA = 'data';
|
||||
|
@ -118,6 +119,7 @@ class Importer {
|
|||
public function doImport() {
|
||||
$data = '';
|
||||
$tasks = &$_SESSION[Importer::SESSION_KEY_TASKS];
|
||||
$stopOnError = $_SESSION[Importer::SESSION_KEY_STOP_ON_ERROR];
|
||||
// check if any actions are needed at all
|
||||
if (empty($tasks)) {
|
||||
return $this->getStatus($data);
|
||||
|
@ -129,7 +131,12 @@ class Importer {
|
|||
$data .= $task->run();
|
||||
}
|
||||
catch (LAMException $e) {
|
||||
return $this->stopImport($data, $e);
|
||||
if ($stopOnError) {
|
||||
return $this->stopImport($data, $e);
|
||||
}
|
||||
else {
|
||||
$data .= Importer::formatMessage('ERROR', $e->getTitle(), $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
return $this->getStatus($data);
|
||||
|
|
|
@ -74,6 +74,9 @@ if (isset($_SESSION[Importer::SESSION_KEY_TASKS])) {
|
|||
if (isset($_SESSION[Importer::SESSION_KEY_COUNT])) {
|
||||
unset($_SESSION[Importer::SESSION_KEY_COUNT]);
|
||||
}
|
||||
if (isset($_SESSION[Importer::SESSION_KEY_STOP_ON_ERROR])) {
|
||||
unset($_SESSION[Importer::SESSION_KEY_STOP_ON_ERROR]);
|
||||
}
|
||||
|
||||
include '../../lib/adminHeader.inc';
|
||||
$tabindex = 1;
|
||||
|
@ -142,6 +145,7 @@ function printImportTabContent(&$tabindex) {
|
|||
$container->addVerticalSpacer('1rem');
|
||||
$container->add(new htmlResponsiveInputFileUpload('file', _('File'), '750'), 12);
|
||||
$container->add(new htmlResponsiveInputTextarea('text', '', '60', '20', _('LDIF data'), '750'), 12);
|
||||
$container->add(new \htmlResponsiveInputCheckbox('noStop', false, _('Don\'t stop on errors')), 12);
|
||||
|
||||
$container->addVerticalSpacer('3rem');
|
||||
$button = new htmlButton('submitImport', _('Submit'));
|
||||
|
@ -222,6 +226,7 @@ function checkImportData() {
|
|||
$tasks = $importer->getTasks($lines);
|
||||
$_SESSION[Importer::SESSION_KEY_TASKS] = $tasks;
|
||||
$_SESSION[Importer::SESSION_KEY_COUNT] = sizeof($tasks);
|
||||
$_SESSION[Importer::SESSION_KEY_STOP_ON_ERROR] = (!isset($_POST['noStop']) || ($_POST['noStop'] != 'on'));
|
||||
}
|
||||
|
||||
include '../../lib/adminFooter.inc';
|
||||
|
|
Loading…
Reference in New Issue