From 7d53af64c17de69b859df579fe9782b722618151 Mon Sep 17 00:00:00 2001 From: evazion Date: Wed, 15 Jan 2020 13:18:25 -0600 Subject: [PATCH] favgroups: add create new option to add to favgroup dialog. Add option to create a new favgroup when the user opens the Add to Favgroup dialog and they don't have any favgroups yet. --- app/controllers/favorite_groups_controller.rb | 10 +------ .../_add_to_favgroup_dialog.html.erb | 30 ++++++++++++------- app/views/favorite_groups/create.js.erb | 1 + 3 files changed, 22 insertions(+), 19 deletions(-) create mode 100644 app/views/favorite_groups/create.js.erb diff --git a/app/controllers/favorite_groups_controller.rb b/app/controllers/favorite_groups_controller.rb index b7598a1be..2df12890f 100644 --- a/app/controllers/favorite_groups_controller.rb +++ b/app/controllers/favorite_groups_controller.rb @@ -21,15 +21,7 @@ class FavoriteGroupsController < ApplicationController def create @favorite_group = FavoriteGroup.create(favgroup_params) - respond_with(@favorite_group) do |format| - format.html do - if @favorite_group.errors.any? - render :action => "new" - else - redirect_to favorite_groups_path - end - end - end + respond_with(@favorite_group) end def edit diff --git a/app/views/favorite_groups/_add_to_favgroup_dialog.html.erb b/app/views/favorite_groups/_add_to_favgroup_dialog.html.erb index 48b35c55e..0f9586f6e 100644 --- a/app/views/favorite_groups/_add_to_favgroup_dialog.html.erb +++ b/app/views/favorite_groups/_add_to_favgroup_dialog.html.erb @@ -1,12 +1,22 @@ -

Select a favorite group to add this post to:

+<% if CurrentUser.favorite_groups.empty? %> +

Add this post to a new a favorite group (<%= link_to_wiki "help:favorite_groups" %>):

-<% CurrentUser.favorite_groups.each_with_index do |favgroup, i| %> -
- <%= i + 1 %>. - <%= link_to favgroup.name, - add_post_favorite_group_path(favgroup, :post_id => post.id, :format => :js), - :id => "add-to-favgroup-#{i + 1}", :class => "add-to-favgroup", - :method => :put, :remote => true, - :"data-shortcut" => (i + 1) % 10, :"data-shortcut-when" => ":visible" %> -
+ <%= edit_form_for(FavoriteGroup.new, html: { class: "one-line-form" }) do |f| %> + <%= f.input :name, as: :string, required: true, input_html: { style: "width: 20em" } %> + <%= f.input :post_ids, as: :hidden, input_html: { value: post.id } %> + <%= f.submit "Create" %> + <% end %> +<% else %> +

Select a favorite group to add this post to (<%= link_to_wiki "help:favorite_groups" %>):

+ + <% CurrentUser.favorite_groups.each_with_index do |favgroup, i| %> +
+ <%= i + 1 %>. + <%= link_to favgroup.name, + add_post_favorite_group_path(favgroup, post_id: post.id, format: :js), + id: "add-to-favgroup-#{i + 1}", class: "add-to-favgroup", method: :put, + remote: true, "data-shortcut": (i + 1) % 10, "data-shortcut-when": ":visible" + %> +
+ <% end %> <% end %> diff --git a/app/views/favorite_groups/create.js.erb b/app/views/favorite_groups/create.js.erb new file mode 100644 index 000000000..345366b9b --- /dev/null +++ b/app/views/favorite_groups/create.js.erb @@ -0,0 +1 @@ +location.reload();