.appendTo($linkSection);
$("<div>")
- .attr("class", "form-check form-group")
+ .attr("class", "form-check mb-3")
.appendTo($form)
.append(
$("<label>")
.appendTo($imageSection);
$("<div>")
- .attr("class", "form-group form-check")
+ .attr("class", "mb-3 form-check")
.appendTo($form)
.append(
$("<label>")
<%= f.password_field :pass_crypt, :value => "", :autocomplete => "new-password" %>
<%= f.password_field :pass_crypt_confirmation, :value => "", :autocomplete => "new-password" %>
- <fieldset class="form-group">
+ <fieldset class="mb-3">
<label for="user_auth_provider" class="form-label"><%= t(".external auth") %></label>
<div class="row">
<%= f.select(:auth_provider, Auth.providers, :hide_label => true, :wrapper => { :class => "col-auto mb-0" }) %>
<small class="form-text text-muted">(<a href="<%= t ".openid.link" %>" target="_new"><%= t ".openid.link text" %></a>)</small>
</fieldset>
- <div class="form-group">
+ <div class="mb-3">
<label class="form-label"><%= t ".public editing.heading" %></label>
<span class="form-text text-muted">
<% if current_user.data_public? %>
</span>
</div>
- <div class="form-group">
+ <div class="mb-3">
<label class="form-label"><%= t ".contributor terms.heading" %></label>
<span class="form-text text-muted">
<% if current_user.terms_agreed? %>
<% if current_user %>
<% unless @changeset.open? %>
<form action="#" class="mb-3">
- <div class="form-group">
+ <div class="mb-3">
<textarea class="form-control" name="text" cols="40" rows="5"></textarea>
</div>
<div>
<form action="#">
<input type="hidden" name="lon" autocomplete="off">
<input type="hidden" name="lat" autocomplete="off">
- <div class="form-group">
+ <div class="mb-3">
<textarea class="form-control" name="text" cols="40" rows="10" maxlength="2000" placeholder="<%= t("javascripts.notes.new.advice") %>"></textarea>
</div>
<div class="buttons clearfix">
<% if @note.status == "open" %>
<% if current_user -%>
<form action="#">
- <div class="form-group">
+ <div class="mb-3">
<textarea class="form-control" name="text" cols="40" rows="5" maxlength="2000"></textarea>
</div>
<div class="btn-wrapper">
<%= form_tag(issues_path, :method => :get) do %>
<div class="row gx-1">
- <div class="form-group col-md-auto">
+ <div class="mb-3 col-md-auto">
<%= select_tag :status,
options_for_select(Issue.aasm.states.map(&:name).map { |state| [t(".states.#{state}"), state] }, params[:status]),
:include_blank => t(".select_status"),
:data => { :behavior => "category_dropdown" },
:class => "form-select" %>
</div>
- <div class="form-group col-md-auto">
+ <div class="mb-3 col-md-auto">
<%= select_tag :issue_type,
options_for_select(@issue_types, params[:issue_type]),
:include_blank => t(".select_type"),
:data => { :behavior => "category_dropdown" },
:class => "form-select" %>
</div>
- <div class="form-group col-md">
+ <div class="mb-3 col-md">
<%= text_field_tag :search_by_user,
params[:search_by_user],
:placeholder => t(".reported_user"),
:autocomplete => "on",
:class => "form-control" %>
</div>
- <div class="form-group col-md-auto">
+ <div class="mb-3 col-md-auto">
<%= select_tag :last_updated_by,
options_for_select(@users.all.collect { |f| [f.display_name, f.id] } << [t(".not_updated"), "nil"], params[:last_updated_by]),
:include_blank => t(".select_last_updated_by"),
:data => { :behavior => "category_dropdown" },
:class => "form-select" %>
</div>
- <div class="form-group col-md-auto">
+ <div class="mb-3 col-md-auto">
<%= submit_tag t(".search"), :name => nil, :class => "btn btn-primary" %>
</div>
</div>
<%= f.text_field :url %>
<%= f.text_field :callback_url %>
<%= f.text_field :support_url %>
-<div class='form-group'>
+<div class='mb-3'>
<p><%= t ".requests" %></p>
<% ClientApplication.all_permissions.each do |perm| %>
<%= f.check_box perm %>
<%= bootstrap_form_for current_user, :url => { :action => :update }, :html => { :multipart => true, :autocomplete => :off } do |f| %>
<%= f.richtext_field :description, :cols => 80, :rows => 20 %>
- <fieldset class="form-group">
+ <fieldset class="mb-3">
<%= f.label t(".image") %>
<div class="row">
<div class="col-sm-2">
<hr>
<div id="loginForm">
- <div class="form-group">
+ <div class="mb-3">
<label class="form-label"><%= t ".with external" %></label>
<ul class='list-unstyled' id="login_auth_buttons">
</ul>
<%= form_tag(auth_path(:provider => "openid"), :id => "openid_login_form") do %>
- <div id='login_openid_url' class="form-group">
+ <div id='login_openid_url' class="mb-3">
<label for='openid_url' class="form-label"><%= t ".openid_html", :logo => openid_logo %></label>
<%= hidden_field_tag("referer", params[:referer], :autocomplete => "off") %>
<%= text_field_tag("openid_url", "", :tabindex => 3, :autocomplete => "on", :class => "openid_url form-control") %>
</div>
<div id="export_commit">
- <div class="form-group d-flex">
+ <div class="mb-3 d-flex">
<%= submit_tag t(".export_button"), :class => "btn btn-primary mx-auto" %>
</div>
</div>
</p>
<%= bootstrap_form_for :revoke, :url => { :action => "revoke" } do |f| %>
- <div class="form-group">
+ <div class="mb-3">
<div class="form-check">
<%= check_box_tag "confirm", "yes", false, { :class => "form-check-input" } %>
<%= label_tag "confirm", t(".confirm"), { :class => "form-check-label" } %>
<%= f.text_field :display_name, :help => t(".display name description"), :tabindex => 3 %>
- <fieldset class="form-group" id="auth_field">
+ <fieldset class="mb-3" id="auth_field">
<label for="user_auth_provider" class="form-label"><%= t(".external auth") %></label>
<div class="row">
<%= f.select(:auth_provider, Auth.providers, :default => "", :hide_label => true, :wrapper => { :class => "col-auto mb-0" }, :tabindex => 4) %>
<label class="form-label">
<%= t ".legale_select" %>
</label>
- <div class="form-group">
+ <div class="mb-3">
<% [%w[france FR], %w[italy IT], %w[rest_of_world GB]].each do |name, legale| %>
<div class="form-check form-check-inline">
<%= radio_button_tag "legale", legale, @legale == legale, :data => { :url => url_for(:legale => legale) }, :class => "form-check-input" %>
:translations => "https://www.osmfoundation.org/wiki/License/Contributor_Terms/Informal_Translations" %>
</p>
</div>
- <div class="form-group">
+ <div class="mb-3">
<div class="form-check">
<%= check_box_tag "read_ct", "1", false, :class => "form-check-input" %>
<label for="read_ct" class="form-check-label">
</h4>
<p class="text-muted"><%= t ".tou_explain_html", :tou_link => link_to(t("layouts.tou"), "https://wiki.osmfoundation.org/wiki/Terms_of_Use", :target => :new) %></p>
- <div class="form-group">
+ <div class="mb-3">
<div class="form-check">
<%= check_box_tag "read_tou", "1", false, :class => "form-check-input" %>
<label for="read_tou" class="form-check-label">
<%= hidden_field_tag("referer", h(params[:referer])) unless params[:referer].nil? %>
- <div class="form-group">
+ <div class="mb-3">
<%= submit_tag("Continue", :name => "continue", :id => "continue", :disabled => true, :class => "btn btn-primary") %>
<%= submit_tag("Cancel", :name => "decline", :id => "decline", :class => "btn btn-outline-secondary") %>
</div>
- <div class="form-group">
+ <div class="mb-3">
<div class="form-check">
<%= check_box("user", "consider_pd", :class => "form-check-input") %>
<label for="user_consider_pd" class="form-check-label">
assert_response :success
assert_template :edit
assert_select ".notice", false
- assert_select "form#accountForm > div.form-group > input.is-invalid#user_display_name"
+ assert_select "form#accountForm > div > input.is-invalid#user_display_name"
# Changing name to one that exists should fail, regardless of case
new_attributes = user.attributes.dup.merge(:display_name => create(:user).display_name.upcase)
assert_response :success
assert_template :edit
assert_select ".notice", false
- assert_select "form#accountForm > div.form-group > input.is-invalid#user_display_name"
+ assert_select "form#accountForm > div > input.is-invalid#user_display_name"
# Changing name to one that doesn't exist should work
new_attributes = user.attributes.dup.merge(:display_name => "new tester")
assert_response :success
assert_template :edit
assert_select ".notice", /^User information updated successfully/
- assert_select "form#accountForm > div.form-group > input#user_display_name[value=?]", "new tester"
+ assert_select "form#accountForm > div > input#user_display_name[value=?]", "new tester"
# Record the change of name
user.display_name = "new tester"
assert_response :success
assert_template :edit
assert_select ".notice", false
- assert_select "form#accountForm > div.form-group > input.is-invalid#user_new_email"
+ assert_select "form#accountForm > div > input.is-invalid#user_new_email"
# Changing email to one that exists should fail, regardless of case
user.new_email = create(:user).email.upcase
assert_response :success
assert_template :edit
assert_select ".notice", false
- assert_select "form#accountForm > div.form-group > input.is-invalid#user_new_email"
+ assert_select "form#accountForm > div > input.is-invalid#user_new_email"
# Changing email to one that doesn't exist should work
user.new_email = "new_tester@example.com"
assert_response :success
assert_template :edit
assert_select ".notice", /^User information updated successfully/
- assert_select "form#accountForm > div.form-group > input#user_new_email[value=?]", user.new_email
+ assert_select "form#accountForm > div > input#user_new_email[value=?]", user.new_email
email = ActionMailer::Base.deliveries.first
assert_equal 1, email.to.count
assert_equal user.new_email, email.to.first
assert_template :edit
assert_select ".notice", false
assert_select ".error", true
- assert_select "form > div.form-group > select#user_preferred_editor > option[selected]", false
+ assert_select "form > div > select#user_preferred_editor > option[selected]", false
# Changing to a valid editor should work
user.preferred_editor = "id"
assert_template :show
assert_select ".notice", /^Profile updated./
get edit_profile_path
- assert_select "form > fieldset.form-group > div > div.col-sm-10 > div.form-check > input[name=avatar_action][checked][value=?]", "keep"
+ assert_select "form > fieldset > div > div.col-sm-10 > div.form-check > input[name=avatar_action][checked][value=?]", "keep"
# Changing to a gravatar image should work
put profile_path, :params => { :avatar_action => "gravatar", :user => { :description => user.description } }
assert_template :show
assert_select ".notice", /^Profile updated./
get edit_profile_path
- assert_select "form > fieldset.form-group > div > div.col-sm-10 > div.form-group > div.form-check > input[name=avatar_action][checked][value=?]", "gravatar"
+ assert_select "form > fieldset > div > div.col-sm-10 > div > div.form-check > input[name=avatar_action][checked][value=?]", "gravatar"
# Removing the image should work
put profile_path, :params => { :avatar_action => "delete", :user => { :description => user.description } }
assert_template :show
assert_select ".notice", /^Profile updated./
get edit_profile_path
- assert_select "form > fieldset.form-group > div > div.col-sm-10 > div.form-check > input[name=avatar_action][checked]", false
- assert_select "form > fieldset.form-group > div > div.col-sm-10 > div.form-group > div.form-check > input[name=avatar_action][checked]", false
+ assert_select "form > fieldset > div > div.col-sm-10 > div > input[name=avatar_action][checked]", false
+ assert_select "form > fieldset > div > div.col-sm-10 > div > div.form-check > input[name=avatar_action][checked]", false
end
end
assert_response :success
assert_template "new"
- assert_select "form > div.form-group > input.is-invalid#user_email"
+ assert_select "form > div > input.is-invalid#user_email"
end
def test_save_duplicate_email
assert_response :success
assert_template "new"
- assert_select "form > div.form-group > input.is-invalid#user_email"
+ assert_select "form > div > input.is-invalid#user_email"
end
def test_save_duplicate_email_uppercase
assert_response :success
assert_template "new"
- assert_select "form > div.form-group > input.is-invalid#user_email"
+ assert_select "form > div > input.is-invalid#user_email"
end
def test_save_duplicate_name
assert_response :success
assert_template "new"
- assert_select "form > div.form-group > input.is-invalid#user_display_name"
+ assert_select "form > div > input.is-invalid#user_display_name"
end
def test_save_duplicate_name_uppercase
assert_response :success
assert_template "new"
- assert_select "form > div.form-group > input.is-invalid#user_display_name"
+ assert_select "form > div > input.is-invalid#user_display_name"
end
def test_save_blocked_domain
assert_template "users/new"
assert_equal locale.to_s, response.headers["Content-Language"]
assert_select "form"
- assert_select "form > div.form-group > input.is-invalid#user_email"
+ assert_select "form > div > input.is-invalid#user_email"
assert_no_missing_translations
end
end
end
assert_response :success
assert_template "users/new"
- assert_select "form > div.form-group > input.is-invalid#user_display_name"
+ assert_select "form > div > input.is-invalid#user_display_name"
assert_no_missing_translations
end
end