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);