Noosfero/noosfero

View on GitHub
app/views/profile_editor/_change_identifier.html.erb

Summary

Maintainability
Test Coverage
<% 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!')) + '&nbsp;' +
                _("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 %>