diff --git a/pillar/web/utils/forms.py b/pillar/web/utils/forms.py index 4325a4c2..9c06c9a4 100644 --- a/pillar/web/utils/forms.py +++ b/pillar/web/utils/forms.py @@ -80,6 +80,7 @@ class CustomFileSelectWidget(HiddenInput): button.append(u'' u'
' @@ -89,6 +90,7 @@ class CustomFileSelectWidget(HiddenInput): u'
' u''.format(url=upload_url, name=field.name, + slug=field.name.replace('oid', 'slug'), token=Markup.escape(current_user.id), file_format=Markup.escape(file_format_regex))) diff --git a/src/scripts/file_upload.js b/src/scripts/file_upload.js index 6dbd8012..4bb52e73 100644 --- a/src/scripts/file_upload.js +++ b/src/scripts/file_upload.js @@ -102,9 +102,13 @@ function setup_file_uploader(index, upload_element) { } $file_id_field.val(pillar_file_id); + var filename = data.files[0].name; + + // Set the slug based on the name, strip special characters + $('#' + $(this).attr('data-field-slug')).val(filename.replace(/[^0-9a-zA-Z]+/g, "")); + // Ugly workaround: If the asset has the default name, name it as the file if ($('.form-group.name .form-control').val() == 'New asset') { - var filename = data.files[0].name; $('.form-group.name .form-control').val(filename); $('.node-edit-title').html(filename); } diff --git a/src/scripts/tutti/6_jquery_extensions.js b/src/scripts/tutti/6_jquery_extensions.js index 90ed6f64..e5940b93 100644 --- a/src/scripts/tutti/6_jquery_extensions.js +++ b/src/scripts/tutti/6_jquery_extensions.js @@ -40,10 +40,11 @@ } /***** Attachment handling ******/ - var attrs = ['for', 'id', 'name', 'data-field-name']; + var attrs = ['for', 'id', 'name', 'data-field-name', 'data-field-slug']; function resetAttributeNames(section) { var tags = section.find('input, select, label, div, a'); var idx = section.index(); + tags.each(function () { var $this = $(this);