From d34cfa55793d5864528cb2e8ea2b72f5de3b0e33 Mon Sep 17 00:00:00 2001 From: Matheus Agio Nerone <man13@inf.ufpr.br> Date: Tue, 22 Sep 2015 11:25:31 -0300 Subject: [PATCH] adding carousels controller --- .../javascripts/management/carousel.coffee | 3 + .../stylesheets/management/carousel.scss | 3 + .../management/carousel_controller.rb | 58 +++++++++++++++++++ app/helpers/management/carousel_helper.rb | 2 + .../management/carousel_controller_test.rb | 7 +++ 5 files changed, 73 insertions(+) create mode 100644 app/assets/javascripts/management/carousel.coffee create mode 100644 app/assets/stylesheets/management/carousel.scss create mode 100644 app/controllers/management/carousel_controller.rb create mode 100644 app/helpers/management/carousel_helper.rb create mode 100644 test/controllers/management/carousel_controller_test.rb diff --git a/app/assets/javascripts/management/carousel.coffee b/app/assets/javascripts/management/carousel.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/management/carousel.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/management/carousel.scss b/app/assets/stylesheets/management/carousel.scss new file mode 100644 index 00000000..89da7e10 --- /dev/null +++ b/app/assets/stylesheets/management/carousel.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the management/carousel controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/management/carousel_controller.rb b/app/controllers/management/carousel_controller.rb new file mode 100644 index 00000000..a840f3d4 --- /dev/null +++ b/app/controllers/management/carousel_controller.rb @@ -0,0 +1,58 @@ +class Management::CarouselController < ManagementController + before_action :set_carousel, only: [:show, :create, :update, :destroy] + + def index + @carousels = carousel_repository.all + end + + def show + end + + def new + @carousel = Carousel.new + end + + def create + @carousel = Carousel.new(carousel_params) + + respond_to do |format| + if @carousel.save + format.html { redirect_to management_carousel_path(@carousel), notice: "Carousel created!" } + else + format.html { render :new } + end + end + end + + def update + respond_to do |format| + if carousel_repository.update(@carousel, carousel_params) + format.html { redirect_to management_carousel_path(@carousel), notice: "Carousel updated!" } + else + format.html { render :edit } + end + end + end + + def destroy + carousel_repository.destroy @carousel + respond_to do |format| + format.html { redirect_to management_carousels_path, notice: "Carousel destroyed!" } + end + end + + private + + def carousel_repository + repository.for :carousel + end + + def set_carousel + @carousel = carousel_repository.find params[:id] + end + + def carousel_params + params.require(:carousel).permit(:title, :url, :image) + end + +end diff --git a/app/helpers/management/carousel_helper.rb b/app/helpers/management/carousel_helper.rb new file mode 100644 index 00000000..d764ece7 --- /dev/null +++ b/app/helpers/management/carousel_helper.rb @@ -0,0 +1,2 @@ +module Management::CarouselHelper +end diff --git a/test/controllers/management/carousel_controller_test.rb b/test/controllers/management/carousel_controller_test.rb new file mode 100644 index 00000000..5ef47df2 --- /dev/null +++ b/test/controllers/management/carousel_controller_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class Management::CarouselControllerTest < ActionController::TestCase + # test "the truth" do + # assert true + # end +end -- GitLab