From cbaa5840c3999316bc8802517b657e1443202509 Mon Sep 17 00:00:00 2001 From: Julian Seidenberg Date: Fri, 4 Sep 2009 00:31:08 +0000 Subject: [PATCH] ENHANCEMENT: added option to truncate (clear) database table before importing a new CSV file with CSVBulkerLoader and ModelAdmin. git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@85709 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- code/ModelAdmin.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/ModelAdmin.php b/code/ModelAdmin.php index 3a67e8c3..4910e855 100644 --- a/code/ModelAdmin.php +++ b/code/ModelAdmin.php @@ -451,6 +451,7 @@ class ModelAdmin_CollectionController extends Controller { ))->renderWith('ModelAdmin_ImportSpec'); $fields->push(new LiteralField("SpecFor{$modelName}", $specHTML)); + $fields->push(new CheckboxField('EmptyBeforeImport', 'Clear Database before import', true)); $actions = new FieldSet( new FormAction('import', _t('ModelAdmin.IMPORT', 'Import from CSV')) @@ -495,6 +496,11 @@ class ModelAdmin_CollectionController extends Controller { } $results = $loader->load($_FILES['_CsvFile']['tmp_name']); + if (!empty($data['EmptyBeforeImport']) && $data['EmptyBeforeImport']) { //clear database before import + $results = $loader->load($_FILES['_CsvFile']['tmp_name'], '512M', true); + } else { //normal import without clearing + $results = $loader->load($_FILES['_CsvFile']['tmp_name']); + } $message = ''; if($results->CreatedCount()) $message .= sprintf(