diff --git a/app/assets/stylesheets/application.tailwind.css b/app/assets/stylesheets/application.tailwind.css index 54deb8e7..e8202bb0 100644 --- a/app/assets/stylesheets/application.tailwind.css +++ b/app/assets/stylesheets/application.tailwind.css @@ -48,6 +48,10 @@ @apply disabled:opacity-50; } + .form-field__radio { + @apply text-gray-900; + } + .form-field__submit { @apply w-full p-3 text-center text-white bg-black rounded-lg hover:bg-gray-700; } diff --git a/app/controllers/settings/hostings_controller.rb b/app/controllers/settings/hostings_controller.rb index 7d3a6639..2bae3b56 100644 --- a/app/controllers/settings/hostings_controller.rb +++ b/app/controllers/settings/hostings_controller.rb @@ -13,7 +13,7 @@ class Settings::HostingsController < ApplicationController redirect_to settings_hosting_path, notice: t(".success") else flash.now[:error] = @errors.first.message - render :edit, status: :unprocessable_entity + render :show, status: :unprocessable_entity end end @@ -29,7 +29,7 @@ class Settings::HostingsController < ApplicationController end end - if hosting_params[:upgrades_mode] == "auto" && hosting_params[:render_deploy_hook].blank? + if hosting_params[:upgrades_mode] != "manual" && hosting_params[:render_deploy_hook].blank? @errors.add(:render_deploy_hook, t("settings.hostings.update.render_deploy_hook_error")) end @@ -37,7 +37,13 @@ class Settings::HostingsController < ApplicationController end def hosting_params - params.require(:setting).permit(:render_deploy_hook, :upgrades_mode, :upgrades_target) + permitted_params = params.require(:setting).permit(:render_deploy_hook, :upgrades_mode) + + result = {} + result[:upgrades_mode] = permitted_params[:upgrades_mode] == "manual" ? "manual" : "auto" if permitted_params.key?(:upgrades_mode) + result[:render_deploy_hook] = permitted_params[:render_deploy_hook] if permitted_params.key?(:render_deploy_hook) + result[:upgrades_target] = permitted_params[:upgrades_mode] unless permitted_params[:upgrades_mode] == "manual" if permitted_params.key?(:upgrades_mode) + result end def verify_hosting_mode diff --git a/app/helpers/application_form_builder.rb b/app/helpers/application_form_builder.rb index 397367f0..61366cc9 100644 --- a/app/helpers/application_form_builder.rb +++ b/app/helpers/application_form_builder.rb @@ -56,6 +56,11 @@ class ApplicationFormBuilder < ActionView::Helpers::FormBuilder end end + def radio_button(method, tag_value, options = {}) + default_options = { class: "form-field__radio" } + merged_options = default_options.merge(options) + super(method, tag_value, merged_options) + end def grouped_select(method, grouped_choices, options = {}, html_options = {}) default_options = { class: "form-field__input" } diff --git a/app/javascript/controllers/auto_submit_form_controller.js b/app/javascript/controllers/auto_submit_form_controller.js index 4d470f91..56eb9fd2 100644 --- a/app/javascript/controllers/auto_submit_form_controller.js +++ b/app/javascript/controllers/auto_submit_form_controller.js @@ -10,13 +10,17 @@ export default class extends Controller { connect() { this.autoTargets.forEach((element) => { - element.addEventListener(this.triggerEventValue, this.handleInput); + const event = + element.dataset.autosubmitTriggerEvent || this.triggerEventValue; + element.addEventListener(event, this.handleInput); }); } disconnect() { this.autoTargets.forEach((element) => { - element.removeEventListener(this.triggerEventValue, this.handleInput); + const event = + element.dataset.autosubmitTriggerEvent || this.triggerEventValue; + element.removeEventListener(event, this.handleInput); }); } diff --git a/app/views/accounts/index.html.erb b/app/views/accounts/index.html.erb index c14d2aa3..c1b42f35 100644 --- a/app/views/accounts/index.html.erb +++ b/app/views/accounts/index.html.erb @@ -59,7 +59,7 @@ <% end %>
You must fill this in so your app can trigger upgrades when Maybe releases upgrades. Learn more about deploy hooks and how they work in the <%= link_to "Render documentation", "https://docs.render.com/docs/deploy-hooks", target: "_blank", rel: "noopener noreferrer", class: "text-blue-500 hover:underline" %>.
- <%= form.url_field :render_deploy_hook, label: "Render Deploy Hook", placeholder: "https://api.render.com/deploy/srv-xyz...", value: Setting.render_deploy_hook %> -This setting controls how often your self hosted app will update and what method it uses to do so.
-<%= t(".upgrades.description") %>
+<%= t(".render_deploy_hook_description") %>
+ <%= form.url_field :render_deploy_hook, label: t(".render_deploy_hook_label"), placeholder: t(".render_deploy_hook_placeholder"), value: Setting.render_deploy_hook, data: { "auto-submit-form-target" => "auto" } %> +<%= t(".smtp_settings.description") %>
+<%= t(".smtp_settings.send_test_email") %>
+<%= t(".smtp_settings.send_test_email_description") %>
+