[TikiWiki-commits] [Git][tikiwiki/tiki][29.x] [ENH] Tabular imports option: ability to skip validation - useful when Tikies...
"Victor Emanouilov \(@kroky\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <68f0a6328baf3_2caeda5f811267@gitlab-sidekiq-low-urgency-cpu-bound-v2-56f86b7d78-n76rw.mail> |
Victor Emanouilov pushed to branch 29.x at Tiki Wiki CMS Groupware / Tiki
Commits:
eb766de1 by Victor Emanouilov at 2025-10-16T11:00:44+03:00
[ENH] Tabular imports option: ability to skip validation - useful when Tikies sync via API and validation actually hinders the sync
- - - - -
5 changed files:
- lib/core/Services/Tracker/TabularController.php
- lib/core/Tracker/Tabular/Manager.php
- lib/core/Tracker/Tabular/Schema.php
- lib/core/Tracker/Tabular/Writer/TrackerWriter.php
- templates/tabular/edit.tpl
Changes:
=====================================
lib/core/Services/Tracker/TabularController.php
=====================================
@@ -965,6 +965,7 @@ class Services_Tracker_TabularController
'import_transaction' => 0,
'bulk_import' => 0,
'skip_unmodified' => 0,
+ 'skip_validation' => 0,
'upload_max_filesize' => $uploadMaxFileSize
],
];
=====================================
lib/core/Tracker/Tabular/Manager.php
=====================================
@@ -50,6 +50,7 @@ class Manager
'import_transaction' => 0,
'bulk_import' => 0,
'skip_unmodified' => 0,
+ 'skip_validation' => 0,
'encoding' => '',
'format' => '',
'mapping' => '',
@@ -74,6 +75,7 @@ class Manager
'import_transaction' => (int)! empty($config['import_transaction']),
'bulk_import' => (int)! empty($config['bulk_import']),
'skip_unmodified' => (int)! empty($config['skip_unmodified']),
+ 'skip_validation' => (int)! empty($config['skip_validation']),
'encoding' => $config['encoding'] ?? '',
'format' => $config['format'] ?? '',
'mapping' => $config['mapping'] ?? '',
=====================================
lib/core/Tracker/Tabular/Schema.php
=====================================
@@ -93,6 +93,7 @@ class Schema
'import_transaction' => 0,
'bulk_import' => 0,
'skip_unmodified' => 0,
+ 'skip_validation' => 0,
'encoding' => '',
'format' => '',
], $config);
@@ -130,6 +131,11 @@ class Schema
return $this->config['skip_unmodified'];
}
+ public function isSkipValidation()
+ {
+ return $this->config['skip_validation'];
+ }
+
public function getEncoding()
{
return $this->config['encoding'] ?? '';
=====================================
lib/core/Tracker/Tabular/Writer/TrackerWriter.php
=====================================
@@ -38,7 +38,7 @@ class TrackerWriter
'itemId' => false,
'fields' => [],
'skip_sync' => $source instanceof \Tracker\Tabular\Source\ODBCSource,
- 'validate' => $source instanceof \Tracker\Tabular\Source\ODBCSource ? false : true, // ODBC sync needs saving no matter of validation errors
+ 'validate' => ($source instanceof \Tracker\Tabular\Source\ODBCSource || $schema->isSkipValidation()) ? false : true, // ODBC sync needs saving no matter of validation errors
];
foreach ($columns as $column) {
@@ -113,6 +113,9 @@ class TrackerWriter
}
}
$ids[] = $info['itemId'];
+ if ($schema->isSkipValidation()) {
+ return [];
+ }
return array_map(
function ($error) use ($line) {
return tr('Line %0:', $line + 1) . ' ' . $error;
=====================================
templates/tabular/edit.tpl
=====================================
@@ -667,6 +667,13 @@
{icon name=information}
</a>
</div>
+ <div class="form-check">
+ <input type="checkbox" class="form-check-input" name="config[skip_validation]" value="1" {if $config['skip_validation']} checked {/if}>
+ <label class="form-check-label">{tr}Skip Validation{/tr}</label>
+ <a class="tikihelp text-info" title="{tr}Skip Validation:{/tr} {tr}Tracker items that are created during import won't be validated against their rules like mandatory field checks. Use with caution.{/tr}">
+ {icon name=information}
+ </a>
+ </div>
</div>
<div class="col-sm-5">
<div class="form-check">
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/eb766de1ff07ad65ac3aaed047e2c0f388dcdac0
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/eb766de1ff07ad65ac3aaed047e2c0f388dcdac0
You're receiving this email because of your account on gitlab.com.
_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs