diff --git a/app/assets/javascripts/ad_banner/banner_preview.js b/app/assets/javascripts/ad_banner/banner_preview.js index ca3ff01..69075aa 100644 --- a/app/assets/javascripts/ad_banner/banner_preview.js +++ b/app/assets/javascripts/ad_banner/banner_preview.js @@ -60,7 +60,7 @@ $(function() { bannerSpeed = null, bannerW = null, bannerH = null, - $preview = $('#pageslide .preview'); + $preview = $('.main-forms .preview'); $(".ad_banner_ad_fx").change(function () { var suckIE = false; diff --git a/app/controllers/admin/ad_banners_controller.rb b/app/controllers/admin/ad_banners_controller.rb index d00343f..395f6a4 100644 --- a/app/controllers/admin/ad_banners_controller.rb +++ b/app/controllers/admin/ad_banners_controller.rb @@ -2,56 +2,62 @@ class Admin::AdBannersController < OrbitAdminController before_action ->(module_app = @app_title) { set_variables module_app } def index + @table_fields = ["ad_banner.banner", :title, :category] + @categories = @module_app.categories.enabled + @filter_fields = filter_fields(@categories, []) + @filter_fields.delete(:status) + @filter_fields.delete(:tags) @banners = Banner.all - @categories = @module_app.categories.enabled.collect{|c|[c.title, c.id]} + .order_by(sort) + .with_categories(filters("category")) + + @banners = search_data(@banners,[:title]).page(params[:page]).per(6) + if request.xhr? + render :partial => "index_table" + end end def show - @ad_banners = Banner.all - @active = Banner.find(params[:id]) - render :action => 'index' + @banner = Banner.find(params[:id]) + @images = @banner.ad_images.desc(:created_at).page(params[:page]).per(10) + @table_fields = [:banner, :title, "ad_banner.duration", :link] end def new + user_has_rights = (current_user.is_admin? ? true : (current_user.is_manager?(@module_app) ? true : current_user.is_manager_with_role?(@module_app) ? true : false)) rescue false @ad_banner = Banner.new - render layout: false + render_401 if !user_has_rights end def create - @ad_banner = Banner.new(banner_params) - if @ad_banner.save - redirect_to admin_ad_banners_url - else - @ad_banner = Banner.new(params[:ad_banner]) - render :new - end + ad_banner = Banner.new(banner_params) + ad_banner.save + redirect_to admin_ad_banners_url end def edit + user_has_rights = (current_user.is_admin? ? true : (current_user.is_manager?(@module_app) ? true : current_user.is_manager_with_role?(@module_app) ? true : false)) rescue false @ad_banner = Banner.find(params[:id]) - render layout: false + render_401 if !user_has_rights end def update - @ad_banner = Banner.find(params[:id]) - if @ad_banner.update_attributes(banner_params) - redirect_to admin_ad_banners_url, :status => 303 - else - render :edit - end + ad_banner = Banner.find(params[:id]) + ad_banner.update_attributes(banner_params) + redirect_to params[:referer_url] end def destroy - @ad_banner = Banner.find(params[:id]) - @ad_banner.destroy - redirect_to admin_ad_banners_url + ad_banner = Banner.find(params[:id]) + ad_banner.destroy + redirect_to admin_ad_banners_path(:page => params[:page]) end private # Never trust parameters from the scary internet, only allow the white list through. def banner_params - params.require(:ad_banner).permit! + params.require(:banner).permit! end end diff --git a/app/controllers/admin/ad_images_controller.rb b/app/controllers/admin/ad_images_controller.rb index 4639b1a..b590eb4 100644 --- a/app/controllers/admin/ad_images_controller.rb +++ b/app/controllers/admin/ad_images_controller.rb @@ -11,7 +11,7 @@ class Admin::AdImagesController < Admin::AdBannersController def edit @ad_image = AdImage.find(params[:id]) - if can_edit_or_delete?(@ad_image) + if can_edit_or_delete?(@ad_image.banner) @ad_banner = @ad_image.banner else render_401 @@ -19,41 +19,33 @@ class Admin::AdImagesController < Admin::AdBannersController end def update - @ad_image = AdImage.find(params[:id]) - if @ad_image.update_attributes(ad_image_params) - redirect_to params['referer_url'] - else - @ad_banners = Banner.all - @tags = @module_app.tags || [] - render action: :edit - end + ad_image = AdImage.find(params[:id]) + ad_image.update_attributes(ad_image_params) + redirect_to params[:referer_url] end def new @ad_image = AdImage.new - @ad_banner = Banner.find(params[:banner]) - @tags = @module_app.tags || [] - - @ad_image.postdate = Date.today + @ad_banner = Banner.find(params[:banner_id]) + if can_edit_or_delete?(@ad_banner) + @tags = @module_app.tags || [] + @ad_image.postdate = Date.today + else + render_401 + end end def create @ad_image = AdImage.new(ad_image_params) - if @ad_image.save - redirect_to params['referer_url'] - else - @ad_banners = Banner.all - @tags = @module_app.tags || [] - @ad_image = AdImage.new(ad_image_params) - render action: :new - end + @ad_image.save + redirect_to params[:referer_url] end def destroy - @ad_image = AdImage.find params[:id] - if @ad_image.destroy - redirect_to admin_ad_banners_url - end + ad_image = AdImage.find params[:id] + banner = ad_image.banner + ad_image.destroy + redirect_to admin_ad_banner_path(banner.id, :page => params[:page]) end private diff --git a/app/views/admin/ad_banners/_form.html.erb b/app/views/admin/ad_banners/_form.html.erb index 3c6ab08..ced0b6e 100644 --- a/app/views/admin/ad_banners/_form.html.erb +++ b/app/views/admin/ad_banners/_form.html.erb @@ -1,29 +1,96 @@ -<%#= flash_messages %> -<%#= f.error_messages %> +<% content_for :page_specific_css do %> + <%= stylesheet_link_tag "lib/main-forms" %> + <%= stylesheet_link_tag "lib/fileupload" %> +<% end %> +<% content_for :page_specific_javascript do %> + <%= javascript_include_tag "lib/bootstrap-fileupload" %> + <%= javascript_include_tag "lib/bootstrap-datetimepicker" %> + <%= javascript_include_tag "lib/datetimepicker/datetimepicker.js" %> + <%= javascript_include_tag "lib/module-area" %> + <%= javascript_include_tag "validator" %> + <%= javascript_include_tag "cycle2" %> + <%= javascript_include_tag "ad_banner/banner_preview" %> +<% end %> -<%= f.label :title, t('ad_banner.banner_name') %> -<%= f.text_field :title, class: 'input-large', placeholder: t('ad_banner.banner_name'), id: 'name' %> -<%= t('ad_banner.name_only_english') %> + + +