在烧瓶管理中,在保存新记录时添加确认提示



我们的用户在各种烧瓶页面中都有常见的CRUD操作。

对于一个场景,创建操作可能是一个密集的过程,需要执行大量的域逻辑,有时项目是意外创建的。

我们的用户现在希望在单击">保存"按钮时添加一个简单的">您确定要创建此帐户吗?"提示。下一个响应只是按钮。

目前还不清楚如何添加这一点——我们是否遗漏了一些显而易见的东西?

覆盖特定视图的Flask Admin创建模板,并向表单的onSubmit事件添加JavaScript确认。将confirm添加到提交事件将处理三个提交按钮;'保存"、"保存并添加另一个"one_answers"保存并继续"。

例如:

class UserView(ModelView):
create_template = 'create_user.html'
# ...

在/templates/admin文件夹中添加html文件"create_user.html":

{% extends 'admin/model/create.html' %}
{% block tail %}
{{ super() }}
<script src="{{ admin_static.url(filename='admin/js/helpers.js', v='1.0.0') }}" type="text/javascript"></script>
<script>
(function ($) {
$('form:first').on('submit', function() {
return faHelpers.safeConfirm('{{ _gettext('Are you sure you want to save this record?') }}');
});
})(jQuery);
</script>
{% endblock %}

请注意,Flask Admin 1.5.3中有一个错误,发行版中缺少helpers.js,您需要添加safeConfirm函数。

{% extends 'admin/model/create.html' %}
{% block tail %}
{{ super() }}
<script>
(function ($) {
function safeConfirm(msg) {
try {
var isconfirmed = confirm(msg);
if (isconfirmed == true) {
return true;
}
else {
return false;
}
}
catch (err) {
return false;
}
}
$('form:first').on('submit', function () {    
return safeConfirm('{{ _gettext('Are you sure you want to save this record?') }}');
});
})(jQuery);
</script>
{% endblock %}

最新更新