Skip to content

Allow uploading unsuccessful dataset, and export failed rows (For conversions)#8111

Draft
alesan99 wants to merge 12 commits into
mainfrom
conversions-wb
Draft

Allow uploading unsuccessful dataset, and export failed rows (For conversions)#8111
alesan99 wants to merge 12 commits into
mainfrom
conversions-wb

Conversation

@alesan99

@alesan99 alesan99 commented May 26, 2026

Copy link
Copy Markdown
Contributor

Fixes #8150

Gives the workbench the ability to ignore rows that fail when a dataset is being uploaded,
Failed rows are compiled into a csv and given to the user in a notification so that they may be addressed and uploaded separately.

TODO:

  • This should only be enabled in development instances. This should be implemented as an experimental preference in user preferences.

Checklist

  • Self-review the PR after opening it to make sure the changes look good and
    self-explanatory (or properly documented)
  • Add relevant issue to release milestone
  • Add pr to documentation list
  • Add automated tests

Testing instructions

@coderabbitai

coderabbitai Bot commented May 26, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 456b01a7-9fd2-48ad-8fef-6e064d25105e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch conversions-wb

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

if FORCE_UPLOAD:
failed_rows.append(row)
else:
cache = _cache
scopes=['collection'],
registry=apps
)
create_uniqueness_rule('Collectionobject', discipline=discipline, is_database_constraint=True, fields=['catalogNumber'], scopes=['collection'], registry=apps)
Collectionobjecttype,
Component,
)
from specifyweb.specify.models import Collection, Collectionobject, Collectionobjecttype
from specifyweb.specify.datamodel import datamodel
from specifyweb.middleware.general import serialize_django_obj
from specifyweb.backend.cache.thread import ThreadCache
from specifyweb.specify.models import Discipline
from specifyweb.specify.datamodel import datamodel
from specifyweb.middleware.general import serialize_django_obj
from specifyweb.backend.cache.thread import ThreadCache
from specifyweb.specify.models import Discipline
from specifyweb.specify.utils.specify_jar import specify_jar
from specifyweb.specify.views import login_maybe_required, openapi
from .app_resource import get_app_resource, FORM_RESOURCE_EXCLUDED_LST
from .remote_prefs import get_remote_prefs
from typing import Callable, Generator, Iterable, cast

from specifyweb.backend.cache.redis.connect import RedisConnection, RedisList
from specifyweb.backend.redis_cache.connect import RedisConnection, RedisList, RedisSet
from sqlalchemy import types

import specifyweb.backend.context.app_resource as app_resource
from specifyweb.backend.context.remote_prefs import get_remote_prefs
from django.conf import settings

from specifyweb.specify.models import Spauditlog, Spauditlogfield
from specifyweb.backend.context.remote_prefs import get_remote_prefs, get_global_prefs
containers = Splocalecontainer.objects.filter(name=table.lower())
for container in containers:
for (field_name, _, _) in fields:
items = Splocalecontaineritem.objects.filter(
from django.test import Client
import json

from specifyweb.backend.permissions.models import UserPolicy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 📋Back Log

Development

Successfully merging this pull request may close these issues.

Preference to ignore failed rows when uploading datasets in Workbench.

3 participants