Skip to content

Commit 343f5eb

Browse files
committed
fix(views): errors;
- Fix delete errors. - Bring back upload form errors.
1 parent fdfa5d5 commit 343f5eb

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

ckanext/recombinant/views.py

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from ckan.logic import ValidationError, NotAuthorized
2727
from ckan.model.group import Group
2828
from ckan.authz import has_user_permission_for_group_or_org
29+
from ckan.common import session
2930

3031
from ckan.views.dataset import _get_package_type
3132

@@ -97,6 +98,7 @@ def upload(id: str) -> Response:
9798
owner_org=org['name'])
9899
except BadExcelData as e:
99100
h.flash_error(_(e.message))
101+
session['RECOMBINANT_ERRORS'] = _(e.message)
100102
return h.redirect_to('recombinant.preview_table',
101103
resource_name=resource_name,
102104
owner_org=org['name'])
@@ -121,15 +123,12 @@ def delete_records(id: str, resource_id: str) -> Union[str, Response]:
121123
dataset_type=pkg['type'], owner_org=org['name'])
122124

123125
def delete_error(err: str) -> str:
124-
# FIXME: should redirect to the preview_table page with passed extra vars...
125-
return render('recombinant/resource_edit.html',
126-
extra_vars={'delete_errors': [err],
127-
'dataset': dataset,
128-
'dataset_type': dataset['dataset_type'],
129-
'resource': res,
130-
'organization': org,
131-
'filters': filters,
132-
'action': 'edit'})
126+
session['RECOMBINANT_DELETE_ERRORS'] = err
127+
session['RECOMBINANT_FILTERS'] = filters
128+
return h.redirect_to(
129+
'recombinant.preview_table',
130+
resource_name=res['name'],
131+
owner_org=org['name'])
133132

134133
form_text = request.form.get('bulk-delete', '')
135134
if not form_text:
@@ -543,8 +542,7 @@ def resource_redirect(package_type: str, id: str, resource_id: str) -> Response:
543542

544543
@recombinant.route('/recombinant/<resource_name>/<owner_org>', methods=['GET', 'POST'])
545544
def preview_table(resource_name: str,
546-
owner_org: str,
547-
errors: Optional[Dict[str, Any]] = None) -> Union[str, Response]:
545+
owner_org: str) -> Union[str, Response]:
548546
if not g.user:
549547
return h.redirect_to('user.login')
550548

@@ -613,6 +611,10 @@ def preview_table(resource_name: str,
613611
else:
614612
r = None
615613

614+
errors = session.pop('RECOMBINANT_ERRORS', None)
615+
delete_errors = session.pop('RECOMBINANT_DELETE_ERRORS', None)
616+
filters = session.pop('RECOMBINANT_FILTERS', None)
617+
616618
return render('recombinant/resource_edit.html', extra_vars={
617619
'dataset': dataset,
618620
'dataset_type': chromo['dataset_type'],
@@ -621,6 +623,8 @@ def preview_table(resource_name: str,
621623
'resource': r,
622624
'organization': org,
623625
'errors': errors,
626+
'delete_errors': [delete_errors] if delete_errors else None,
627+
'filters': filters
624628
})
625629

626630

0 commit comments

Comments
 (0)