PageRenderTime 1359ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/app/controllers/admin/google_analytics_tracks_controller.rb

https://gitlab.com/slice-group/speakers-web
Ruby | 92 lines | 66 code | 16 blank | 10 comment | 4 complexity | f9b14e1fb52077987a0e46a107fec01d MD5 | raw file
  1. module Admin
  2. # GoogleAnalyticsTracksController
  3. class GoogleAnalyticsTracksController < AdminController
  4. before_action :set_ga_track, only: [:show, :edit, :update, :destroy]
  5. before_action :show_history, only: [:index]
  6. # GET /google_analytics_tracks
  7. def index
  8. @q = GoogleAnalyticsTrack.ransack(params[:q])
  9. google_analytics_tracks = @q.result(distinct: true)
  10. @objects = google_analytics_tracks.page(@current_page)
  11. @total = google_analytics_tracks.size
  12. if !@objects.first_page? && @objects.size.zero?
  13. redirect_to(
  14. google_analytics_tracks_path(
  15. page: @current_page.to_i.pred,
  16. search: @query)
  17. )
  18. end
  19. end
  20. # GET /google_analytics_tracks/1
  21. def show
  22. end
  23. # GET /google_analytics_tracks/new
  24. def new
  25. @google_analytics_track = GoogleAnalyticsTrack.new
  26. end
  27. # GET /google_analytics_tracks/1/edit
  28. def edit
  29. end
  30. # POST /google_analytics_tracks
  31. def create
  32. @google_analytics_track =
  33. GoogleAnalyticsTrack.new(google_analytics_track_params)
  34. if @google_analytics_track.save
  35. redirect(@google_analytics_track, params)
  36. else
  37. render :new
  38. end
  39. end
  40. # PATCH/PUT /google_analytics_tracks/1
  41. def update
  42. if @google_analytics_track.update(google_analytics_track_params)
  43. redirect(@google_analytics_track, params)
  44. else
  45. render :edit
  46. end
  47. end
  48. # DELETE /google_analytics_tracks/1
  49. def destroy
  50. @google_analytics_track.destroy
  51. redirect_to(
  52. admin_google_analytics_tracks_path,
  53. notice: actions_messages(@google_analytics_track)
  54. )
  55. end
  56. def destroy_multiple
  57. GoogleAnalyticsTrack.destroy redefine_ids(params[:multiple_ids])
  58. redirect_to(
  59. admin_google_analytics_tracks_path(page: @current_page, search: @query),
  60. notice: actions_messages(GoogleAnalyticsTrack.new)
  61. )
  62. end
  63. private
  64. # Use callbacks to share common setup or constraints between actions.
  65. def set_ga_track
  66. @google_analytics_track = GoogleAnalyticsTrack.find(params[:id])
  67. end
  68. # Only allow a trusted parameter "white list" through.
  69. def google_analytics_track_params
  70. params.require(:google_analytics_track).permit(:name, :tracking_id, :url)
  71. end
  72. def show_history
  73. get_history(GoogleAnalyticsTrack)
  74. end
  75. end
  76. end