PageRenderTime 1305ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/app/controllers/admin/google_adwords_controller.rb

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