From b66a5d2934f942f38c6c9ba7559b2963e6a44bad Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Mon, 1 Jun 2020 18:51:45 -0400 Subject: [PATCH] Add editing group title --- lib/frenzy_web/controllers/group_controller.ex | 17 +++++++++++++++++ lib/frenzy_web/router.ex | 2 +- lib/frenzy_web/templates/group/edit.html.eex | 13 +++++++++++++ lib/frenzy_web/templates/group/show.html.eex | 6 ++++-- 4 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 lib/frenzy_web/templates/group/edit.html.eex diff --git a/lib/frenzy_web/controllers/group_controller.ex b/lib/frenzy_web/controllers/group_controller.ex index 337c121..fcde968 100644 --- a/lib/frenzy_web/controllers/group_controller.ex +++ b/lib/frenzy_web/controllers/group_controller.ex @@ -72,6 +72,23 @@ defmodule FrenzyWeb.GroupController do end end + def edit(conn, _params) do + group = conn.assigns[:group] + edit_changeset = Group.changeset(group, %{}) + + render(conn, "edit.html", %{ + group: group, + changeset: edit_changeset + }) + end + + def update(conn, %{"group" => group_params}) do + group = conn.assigns[:group] + changeset = Group.changeset(group, group_params) + {:ok, group} = Repo.update(changeset) + redirect(conn, to: Routes.group_path(Endpoint, :show, group.id)) + end + def delete(conn, _params) do group = conn.assigns[:group] diff --git a/lib/frenzy_web/router.ex b/lib/frenzy_web/router.ex index a4f33c1..bba11c3 100644 --- a/lib/frenzy_web/router.ex +++ b/lib/frenzy_web/router.ex @@ -47,7 +47,7 @@ defmodule FrenzyWeb.Router do post "/account/export", AccountController, :export get "/", GroupController, :index - resources "/groups", GroupController, except: [:edit, :update] + resources "/groups", GroupController resources "/feeds", FeedController, except: [:index, :new] post "/feeds/:id/refresh", FeedController, :refresh diff --git a/lib/frenzy_web/templates/group/edit.html.eex b/lib/frenzy_web/templates/group/edit.html.eex new file mode 100644 index 0000000..e4d4d5c --- /dev/null +++ b/lib/frenzy_web/templates/group/edit.html.eex @@ -0,0 +1,13 @@ +

Edit Group

+ +<%= form_for @changeset, Routes.group_path(@conn, :update, @group.id), fn f -> %> +
+ +
+ <%= text_input f, :title, class: "form-control" %> +
+
+
+ <%= submit "Update Group", class: "btn btn-primary" %> +
+<% end %> diff --git a/lib/frenzy_web/templates/group/show.html.eex b/lib/frenzy_web/templates/group/show.html.eex index c3ac5c7..5769d09 100644 --- a/lib/frenzy_web/templates/group/show.html.eex +++ b/lib/frenzy_web/templates/group/show.html.eex @@ -1,10 +1,11 @@

<%= @group.title %>

-<%= form_tag Routes.group_path(@conn, :delete, @group.id), method: :delete do %> +Edit Group +<%= form_tag Routes.group_path(@conn, :delete, @group.id), method: :delete, class: "d-inline" do %> <%= submit "Delete Group", class: "btn btn-danger" %> <% end %> -<%= form_for @create_feed_changeset, Routes.feed_path(@conn, :create), fn form -> %> +<%= form_for @create_feed_changeset, Routes.feed_path(@conn, :create), [class: "mt-2 mb-2"], fn form -> %> <%= hidden_input form, :group_id %>
<%= label form, :feed_url, "Feed URL", class: "col-sm-2 col-form-label" %> @@ -17,6 +18,7 @@
<% end %> +Read Articles

Feeds