From b4f5a0b04b7642ad8a902fe6194f56886c979ff9 Mon Sep 17 00:00:00 2001 From: Rueshyna Date: Thu, 8 Nov 2012 01:24:01 +0800 Subject: [PATCH] all of user can get json of gallery from outside --- .../gallery/back_end/albums_controller.rb | 348 +++++++++--------- .../built_in_modules/gallery/config/routes.rb | 96 +++-- 2 files changed, 224 insertions(+), 220 deletions(-) diff --git a/vendor/built_in_modules/gallery/app/controllers/panel/gallery/back_end/albums_controller.rb b/vendor/built_in_modules/gallery/app/controllers/panel/gallery/back_end/albums_controller.rb index 59c251a40..0c2034599 100644 --- a/vendor/built_in_modules/gallery/app/controllers/panel/gallery/back_end/albums_controller.rb +++ b/vendor/built_in_modules/gallery/app/controllers/panel/gallery/back_end/albums_controller.rb @@ -1,185 +1,191 @@ class Panel::Gallery::BackEnd::AlbumsController < OrbitBackendController -include AdminHelper - - # before_filter :force_order_for_visitor,:only=>[:index] - before_filter :force_order_for_user#,:except => [:index] + include AdminHelper - def index - if is_manager? || is_admin? || is_sub_manager? - @authenticated = true #turn this value to false for view only - else - @authenticated = false - end - @categorylist = GalleryCategory.all - @cid = params['cat'] - @tags = GalleryTag.all - end + before_filter :force_order_for_user, :except => [:index,:imgs] - def show - if is_manager? || is_admin? || is_sub_manager? - @authenticated = true #turn this value to false for view only - else - @authenticated = false - end - @album = GalleryAlbum.find(params[:id]) - @tags = GalleryTag.all - end + def index + if is_manager? || is_admin? || is_sub_manager? + @authenticated = true #turn this value to false for view only + else + @authenticated = false + end + @categorylist = GalleryCategory.all + @cid = params['cat'] + @tags = GalleryTag.all + end - def new - if is_manager? || is_admin? - @categorylist = GalleryCategory.all - elsif is_sub_manager? - @categorylist = GalleryCategory.authed_for_user(current_user,"new_album") - end - @album = GalleryAlbum.new - render :layout => false - end + def show + if is_manager? || is_admin? || is_sub_manager? + @authenticated = true #turn this value to false for view only + else + @authenticated = false + end + @album = GalleryAlbum.find(params[:id]) + @tags = GalleryTag.all + end - def create - album = GalleryAlbum.new(params[:gallery_album]) - album.save! - respond_to do |h| - h.js - end - end + def new + if is_manager? || is_admin? + @categorylist = GalleryCategory.all + elsif is_sub_manager? + @categorylist = GalleryCategory.authed_for_user(current_user,"new_album") + end + @album = GalleryAlbum.new + render :layout => false + end - def get_albums - @categoryids = params["cid"] - @tags = params["tid"] - @albums = Array.new - if @categoryids == "all" - if @tags - if @tags.kind_of?(Array) - @tags.each do |tag| - @albums << GalleryAlbum.where(tag_ids: tag) - end - else - @albums << GalleryAlbum.where(tag_ids: @tags) - end - else - @albums << GalleryAlbum.all - end - else - @categoryids.each do |id| - category = GalleryCategory.find(id) - if @tags - if @tags.kind_of?(Array) - @tags.each do |tag| - @albums << category.gallery_albums.where(tag_ids: tag) - end - else - @albums << category.gallery_albums.where(tag_ids: @tags) - end - else - @albums << category.gallery_albums.all - end - end - end - @output = Array.new - @albums.each do |album| - @albs = Array.new - album.each do |values| - tags = Array.new - values.tag_ids.each do |tag| - tags << GalleryTag.find(tag)[I18n.locale] - end - category = GalleryCategory.find(values.gallery_category_id).name - @albs << {"_id"=>values.id,"show_path"=>panel_gallery_back_end_album_path(values),"cover"=>values.cover,"cover_path"=>values.cover_path,"description"=>values.description,"category_name"=>category,"gallery_category_id" => values.gallery_category_id,"name"=>values.name,"tag_ids"=>values.tag_ids,"tag_names"=>tags} - end - @output << @albs - end - render :json=>@output.to_json - end + def create + album = GalleryAlbum.new(params[:gallery_album]) + album.save! + respond_to do |h| + h.js + end + end - def destroy - album = GalleryAlbum.find(params[:id]) - album.delete - render :json =>{"success"=>true}.to_json - end + def get_albums + @categoryids = params["cid"] + @tags = params["tid"] + @albums = Array.new + if @categoryids == "all" + if @tags + if @tags.kind_of?(Array) + @tags.each do |tag| + @albums << GalleryAlbum.where(tag_ids: tag) + end + else + @albums << GalleryAlbum.where(tag_ids: @tags) + end + else + @albums << GalleryAlbum.all + end + else + @categoryids.each do |id| + category = GalleryCategory.find(id) + if @tags + if @tags.kind_of?(Array) + @tags.each do |tag| + @albums << category.gallery_albums.where(tag_ids: tag) + end + else + @albums << category.gallery_albums.where(tag_ids: @tags) + end + else + @albums << category.gallery_albums.all + end + end + end + @output = Array.new + @albums.each do |album| + @albs = Array.new + album.each do |values| + tags = Array.new + values.tag_ids.each do |tag| + tags << GalleryTag.find(tag)[I18n.locale] + end + category = GalleryCategory.find(values.gallery_category_id).name + @albs << {"_id"=>values.id,"show_path"=>panel_gallery_back_end_album_path(values),"cover"=>values.cover,"cover_path"=>values.cover_path,"description"=>values.description,"category_name"=>category,"gallery_category_id" => values.gallery_category_id,"name"=>values.name,"tag_ids"=>values.tag_ids,"tag_names"=>tags} + end + @output << @albs + end + render :json=>@output.to_json + end - def edit - if is_manager? || is_admin? || is_sub_manager? - @album = GalleryAlbum.find(params[:id]) - @images = @album.gallery_images.all - @album_name = @album.name_translations - @cover = @album.cover - @tags = GalleryTag.all - end - end + def destroy + album = GalleryAlbum.find(params[:id]) + album.delete + render :json =>{"success"=>true}.to_json + end - def set_cover - album = GalleryAlbum.find(params[:album_id]) - image = GalleryImage.find(params[:imageid]) - album.update_attributes({:cover_path => image.file.thumb.url, :cover=>params[:imageid]}) - render :json =>{"success"=>true}.to_json - end + def edit + if is_manager? || is_admin? || is_sub_manager? + @album = GalleryAlbum.find(params[:id]) + @images = @album.gallery_images.all + @album_name = @album.name_translations + @cover = @album.cover + @tags = GalleryTag.all + end + end - def imgs - @album = GalleryAlbum.find(params[:album_id]) - @tag_names = Array.new - @images = @album.gallery_images.all - @output = Array.new - @images.each do |values| - tags = Array.new - values.tag_ids.each do |tag| - tags << GalleryTag.find(tag)[I18n.locale] - end - @output << {"_id"=>values.id,"theater_link"=>panel_gallery_back_end_album_image_path(values),"description"=>values.description,"title"=>values.title,"file"=>values.file,"gallery_album_id"=>values.gallery_album_id,"tag_ids"=>values.tag_ids,"tag_names"=>tags} - end - if is_manager? || is_admin? || is_sub_manager? - @authenticated = true #turn this value to false for view only - else - @authenticated = false - end - if @authenticated - render :json=>{"images" => @output, "tags" => @album.tag_ids}.to_json - else - @album.tag_ids.each do |tag| - @tag_names << GalleryTag.find(tag)[I18n.locale] - end - render :json=>{"images" => @output, "tags" => @album.tag_ids, "tag_names" => @tag_names}.to_json - end - end - def upload_panel - @album = GalleryAlbum.find(params[:album_id]) - render :layout => false - end - def upload_image - @album = GalleryAlbum.find(params[:album_id]) - @files = params['files'] - a = Array.new - @files.each do |file| - @image = @album.gallery_images.new - @image.file = file - @image.save! - a << {"thumbnail_url"=>@image.file.thumb.url} - end - render :json=>a.to_json - end - def images_tags - album = GalleryAlbum.find(params[:album_id]) - tags = Array.new - images = album.gallery_images.all - images.each do |image| - tags << {"id"=>image.id, "tags" => image.tag_ids} - end - render :json=>tags.to_json - end + def set_cover + album = GalleryAlbum.find(params[:album_id]) + image = GalleryImage.find(params[:imageid]) + album.update_attributes({:cover_path => image.file.thumb.url, :cover=>params[:imageid]}) + render :json =>{"success"=>true}.to_json + end - def update - @album = GalleryAlbum.find(params[:id]) - @album.update_attributes(params[:gallery_album]) - if is_manager? || is_admin? || is_sub_manager? - @authenticated = true #turn this value to false for view only - else - @authenticated = false - end - if params['delete_cover'] == "true" - @album.update_attributes(:cover=>"default") - end - @tags = GalleryTag.all - render :action => :show - end + def imgs + @album = GalleryAlbum.find(params[:album_id]) + @tag_names = Array.new + @images = @album.gallery_images.all + @output = Array.new + @images.each do |values| + tags = Array.new + values.tag_ids.each do |tag| + tags << GalleryTag.find(tag)[I18n.locale] + end + @output << { _id: values.id, + theater_link: panel_gallery_back_end_album_image_path(values), + description: values.description, + title: values.title, + file: values.file, + gallery_album_id: values.gallery_album_id, + tag_ids: values.tag_ids, + tag_names: tags} + end + if is_manager? || is_admin? || is_sub_manager? + @authenticated = true #turn this value to false for view only + else + @authenticated = false + end + if @authenticated + render :json=>{"images" => @output, "tags" => @album.tag_ids}.to_json + else + @album.tag_ids.each do |tag| + @tag_names << GalleryTag.find(tag)[I18n.locale] + end + render :json=>{"images" => @output, "tags" => @album.tag_ids, "tag_names" => @tag_names}.to_json + end + end + def upload_panel + @album = GalleryAlbum.find(params[:album_id]) + render :layout => false + end + def upload_image + @album = GalleryAlbum.find(params[:album_id]) + @files = params['files'] + a = Array.new + @files.each do |file| + @image = @album.gallery_images.new + @image.file = file + @image.save! + a << {"thumbnail_url"=>@image.file.thumb.url} + end + render :json=>a.to_json + end + def images_tags + album = GalleryAlbum.find(params[:album_id]) + tags = Array.new + images = album.gallery_images.all + images.each do |image| + tags << {"id"=>image.id, "tags" => image.tag_ids} + end + render :json=>tags.to_json + end + + def update + @album = GalleryAlbum.find(params[:id]) + @album.update_attributes(params[:gallery_album]) + if is_manager? || is_admin? || is_sub_manager? + @authenticated = true #turn this value to false for view only + else + @authenticated = false + end + if params['delete_cover'] == "true" + @album.update_attributes(:cover=>"default") + end + @tags = GalleryTag.all + render :action => :show + end end diff --git a/vendor/built_in_modules/gallery/config/routes.rb b/vendor/built_in_modules/gallery/config/routes.rb index 77de541ed..b8c64f3c2 100644 --- a/vendor/built_in_modules/gallery/config/routes.rb +++ b/vendor/built_in_modules/gallery/config/routes.rb @@ -1,54 +1,52 @@ Rails.application.routes.draw do - namespace :panel do - namespace :gallery do - namespace :back_end do - match "get_albums" => "albums#get_albums" - match "upload_image" => "albums#upload_image" - match "save_tags" => "tags#save_tags" - match "albums/save_tags" => "tags#save_tags" - resources :albums do - match "set_cover" => "albums#set_cover" - match "imgs" => "albums#imgs" - match "upload_panel" => "albums#upload_panel" - match "images_tags" => "albums#images_tags" - end + namespace :panel do + namespace :gallery do + namespace :back_end do + match "get_albums" => "albums#get_albums" + match "upload_image" => "albums#upload_image" + match "save_tags" => "tags#save_tags" + match "albums/save_tags" => "tags#save_tags" + resources :albums do + match "set_cover" => "albums#set_cover" + match "imgs" => "albums#imgs" + match "upload_panel" => "albums#upload_panel" + match "images_tags" => "albums#images_tags" + end - match "album_images/#!/:id" => "album_images#show" - - resources :album_images + match "album_images/#!/:id" => "album_images#show" + resources :album_images + resources :gallery_categories + resources :tags - resources :gallery_categories - resources :tags - - end - namespace :front_end do - match "get_albums" => "albums#get_albums" - # match "orbit_galleries" => "orbit_galleries#index" - # match "gallery_category_save" => "orbit_galleries#new_category" - # match "categorylist" => "orbit_galleries#categorylist" - # match "gallery_category_delete" => "orbit_galleries#gallery_category_delete" - # match "add_album" => "orbit_galleries#add_album" - # match "create_album" => "orbit_galleries#create_album" - # match "get_albums" => "orbit_galleries#get_albums" - # match "upload_image" => "orbit_galleries#upload_image" - # match "upload_panel" => "orbit_galleries#upload_panel" - # match "get_images" => "orbit_galleries#get_images" - # match "theater" => "orbit_galleries#theater" - # match "delete_album" => "orbit_galleries#delete_album" - # match "edit_album" => "orbit_galleries#edit_album" - # match "set_cover" => "orbit_galleries#set_cover" - # match "delete_images" => "orbit_galleries#delete_images" - # match "update_album" => "orbit_galleries#update_album" - # match "save_tags" => "orbit_galleries#save_tags" - resources :albums do - member do - get "imgs" - get "theater" - end - end - resources :album_images - end - end - end + end + namespace :front_end do + match "get_albums" => "albums#get_albums" + # match "orbit_galleries" => "orbit_galleries#index" + # match "gallery_category_save" => "orbit_galleries#new_category" + # match "categorylist" => "orbit_galleries#categorylist" + # match "gallery_category_delete" => "orbit_galleries#gallery_category_delete" + # match "add_album" => "orbit_galleries#add_album" + # match "create_album" => "orbit_galleries#create_album" + # match "get_albums" => "orbit_galleries#get_albums" + # match "upload_image" => "orbit_galleries#upload_image" + # match "upload_panel" => "orbit_galleries#upload_panel" + # match "get_images" => "orbit_galleries#get_images" + # match "theater" => "orbit_galleries#theater" + # match "delete_album" => "orbit_galleries#delete_album" + # match "edit_album" => "orbit_galleries#edit_album" + # match "set_cover" => "orbit_galleries#set_cover" + # match "delete_images" => "orbit_galleries#delete_images" + # match "update_album" => "orbit_galleries#update_album" + # match "save_tags" => "orbit_galleries#save_tags" + resources :albums do + member do + get "imgs" + get "theater" + end + end + resources :album_images + end + end + end end