(table, pk)
| 1064 | @app.route('/<table>/delete/<b64:pk>/', methods=['GET', 'POST']) |
| 1065 | @require_table |
| 1066 | def table_delete(table, pk): |
| 1067 | dataset = get_dataset() |
| 1068 | dataset.update_cache(table) |
| 1069 | model = dataset[table].model_class |
| 1070 | table_pk = model._meta.primary_key |
| 1071 | if not table_pk: |
| 1072 | flash('Table must have a primary key to perform delete.', 'danger') |
| 1073 | return redirect(url_for('table_content', table=table)) |
| 1074 | elif pk == '__uneditable__': |
| 1075 | flash('Could not encode primary key to perform delete.', 'danger') |
| 1076 | return redirect(url_for('table_content', table=table)) |
| 1077 | |
| 1078 | expr = decode_pk(model, pk) |
| 1079 | try: |
| 1080 | row = model.select().where(expr).dicts().get() |
| 1081 | except model.DoesNotExist: |
| 1082 | pk_repr = pk_display(table_pk, pk) |
| 1083 | flash('Could not fetch row with primary-key %s.' % str(pk_repr), 'danger') |
| 1084 | return redirect(url_for('table_content', table=table)) |
| 1085 | |
| 1086 | if request.method == 'POST': |
| 1087 | try: |
| 1088 | with dataset.transaction() as txn: |
| 1089 | n = model.delete().where(expr).execute() |
| 1090 | except Exception as exc: |
| 1091 | flash('Delete failed: %s' % exc, 'danger') |
| 1092 | app.logger.exception('Error attempting to delete row from %s.', table) |
| 1093 | else: |
| 1094 | flash('Successfully deleted %s record.' % n, 'success') |
| 1095 | return redirect_to_previous(table) |
| 1096 | |
| 1097 | return render_template( |
| 1098 | 'table_delete.html', |
| 1099 | model=model, |
| 1100 | pk=pk, |
| 1101 | row=row, |
| 1102 | table=table, |
| 1103 | table_pk=table_pk) |
| 1104 | |
| 1105 | @app.route('/<table>/query/', methods=['GET', 'POST']) |
| 1106 | @require_table |
nothing calls this directly
no test coverage detected