app/views/profile_editor/_change_identifier.html.erb
<% if @environment.enabled?(feature_name) %>
<script type="text/javascript">
function updateUrlField(name_field, id) {
url_field = $(id);
url_field.value = convToValidIdentifier(name_field.value, "-");
warn_value_change(url_field);
}
</script>
<% end %>
<% if @environment.enabled?(feature_name) %>
<script type="text/javascript">
function submit_button() {
return jQuery("#profile-data").find("input.submit")[0];
}
function warn_value_change() {
show_warning('profile-identifier-formitem', "identifier-change-confirmation");
disable_button(submit_button());
}
function confirm_change() {
enable_button(submit_button());
hide_warning('identifier-change-confirmation');
}
function no_change() {
jQuery("#profile_data_identifier").val(jQuery("#old_profile_identifier").val());
enable_button(submit_button());
hide_warning('identifier-change-confirmation');
}
</script>
<%= hidden_field_tag 'old_profile_identifier', @profile.identifier %>
<div id="profile-identifier-formitem">
<%= required labelled_form_field( _('Address'),
content_tag('code',
url_for(profile.url).gsub(/#{profile.identifier}$/, '').html_safe +
text_field(:profile_data, :identifier, :onchange => "warn_value_change()", :size => 25)
) +
content_tag('div',
content_tag('strong', _('WARNING!')) + ' ' +
_("You are about to change the address, and this will break external links to the homepage or to content inside it. Do you really want to change?") +
content_tag('div',
button_to_function(:ok, _("Yes"), "confirm_change()") + ' ' +
button_to_function(:cancel, _('No'), 'no_change()')
),
:id => 'identifier-change-confirmation',
:class => 'change-confirmation',
:style => 'display: none;'
)
)
%>
</div>
<% end %>