about summary refs log tree commit diff stats
path: root/app/controllers/admin
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2018-07-03 13:58:57 -0400
committerKelly Rauchenberger <fefferburbia@gmail.com>2018-07-03 14:01:41 -0400
commit8e15dbd73035c2a2198a2828a20ddcebe0739823 (patch)
treef93ada8d2c3c06e8cf1908bf5b0e22b1b54dd956 /app/controllers/admin
parent49b11f2864f75bcfb8d0d01439939ed68aa90b8f (diff)
downloadthoughts-8e15dbd73035c2a2198a2828a20ddcebe0739823.tar.gz
thoughts-8e15dbd73035c2a2198a2828a20ddcebe0739823.tar.bz2
thoughts-8e15dbd73035c2a2198a2828a20ddcebe0739823.zip
Implemented streams
Currently there are no links to the pages for editing stream updates, and the admin panel for managing streams could probably have a better look & feel, but here's some basic working functionality.

refs #8
Diffstat (limited to 'app/controllers/admin')
-rw-r--r--app/controllers/admin/streams_controller.rb52
-rw-r--r--app/controllers/admin/updates_controller.rb52
2 files changed, 104 insertions, 0 deletions
diff --git a/app/controllers/admin/streams_controller.rb b/app/controllers/admin/streams_controller.rb new file mode 100644 index 0000000..86dec06 --- /dev/null +++ b/app/controllers/admin/streams_controller.rb
@@ -0,0 +1,52 @@
1class Admin::StreamsController < Admin::AdminController
2 before_action :set_section
3
4 def index
5 @streams = Stream.order(created_at: :desc)
6 end
7
8 def new
9 @stream = Stream.new
10 end
11
12 def create
13 @stream = Stream.new(stream_params)
14
15 if @stream.save
16 flash.notice = "Stream created successfully!"
17
18 render :edit
19 else
20 flash.alert = "Error creating stream."
21
22 render :new
23 end
24 end
25
26 def edit
27 @stream = Stream.find(params[:id])
28 end
29
30 def update
31 @stream = Stream.find(params[:id])
32
33 if @stream.update_attributes(stream_params)
34 flash.notice = "Stream updated successfully!"
35 else
36 flash.alert = "Error updating stream."
37 end
38
39 render :edit
40 end
41
42 private
43
44 def stream_params
45 params.require(:stream).permit(:title, :body, :slug, records_attributes: [:description, :_destroy])
46 end
47
48 def set_section
49 @section = "streams"
50 end
51
52end
diff --git a/app/controllers/admin/updates_controller.rb b/app/controllers/admin/updates_controller.rb new file mode 100644 index 0000000..9bf9caf --- /dev/null +++ b/app/controllers/admin/updates_controller.rb
@@ -0,0 +1,52 @@
1class Admin::UpdatesController < Admin::AdminController
2 before_action :set_section
3
4 def new
5 @stream = Stream.find(params[:stream_id])
6 @update = @stream.updates.build
7 end
8
9 def create
10 @stream = Stream.find(params[:stream_id])
11 @update = @stream.updates.build(update_params)
12
13 if @update.save
14 flash.notice = "Update created successfully!"
15
16 render :edit
17 else
18 flash.alert = "Error creating update."
19
20 render :new
21 end
22 end
23
24 def edit
25 @stream = Stream.find(params[:stream_id])
26 @update = Update.find(params[:id])
27 end
28
29 def update
30 @stream = Stream.find(params[:stream_id])
31 @update = Update.find(params[:id])
32
33 if @update.update_attributes(update_params)
34 flash.notice = "Update updated successfully!"
35 else
36 flash.alert = "Error updating update."
37 end
38
39 render :edit
40 end
41
42 private
43
44 def update_params
45 params.require(:update).permit(:body, records_attributes: [:description, :_destroy])
46 end
47
48 def set_section
49 @section = "streams"
50 end
51
52end