From adfe496430f0921e130b33e0ddf27001b38025c5 Mon Sep 17 00:00:00 2001 From: Saurabh Bhatia Date: Tue, 14 Jan 2014 17:19:31 +0800 Subject: [PATCH] First commit --- .gitignore | 7 + Gemfile | 17 ++ Gemfile.lock | 95 +++++++ MIT-LICENSE | 20 ++ README.rdoc | 3 + Rakefile | 38 +++ app/assets/images/video_channel/.gitkeep | 0 app/assets/javascripts/video_channel/.gitkeep | 0 app/assets/stylesheets/video_channel/.gitkeep | 0 app/controllers/.gitkeep | 0 .../back_end/channel_videos_controller.rb | 61 ++++ .../panel/video/back_end/videos_controller.rb | 74 +++++ .../front_end/channel_videos_controller.rb | 26 ++ .../video/widget/channel_videos_controller.rb | 62 +++++ app/helpers/.gitkeep | 0 .../panel/videos/back_end/videos_helper.rb | 2 + app/mailers/.gitkeep | 0 app/models/.gitkeep | 0 app/models/channel_video.rb | 10 + app/models/video.rb | 8 + app/views/.gitkeep | 0 .../back_end/channel_videos/_form.html.erb | 14 + .../back_end/channel_videos/edit.html.erb | 3 + .../back_end/channel_videos/index.html.erb | 29 ++ .../back_end/channel_videos/new.html.erb | 3 + .../back_end/channel_videos/show.html.erb | 7 + .../video/back_end/videos/_form.html.erb | 26 ++ .../panel/video/back_end/videos/edit.html.erb | 4 + .../video/back_end/videos/index.html.erb | 32 +++ .../panel/video/back_end/videos/new.html.erb | 3 + .../front_end/channel_videos/index.html.erb | 14 + .../channel_videos/channel_videos.html.erb | 9 + config/locales/en.yml | 5 + config/locales/zh_tw.yml | 5 + config/routes.rb | 20 ++ init.rb | 74 +++++ lib/tasks/video_channel_tasks.rake | 4 + lib/video_channel.rb | 4 + lib/video_channel/engine.rb | 4 + lib/video_channel/version.rb | 3 + script/rails | 8 + test/dummy/README.rdoc | 261 ++++++++++++++++++ test/dummy/Rakefile | 7 + .../app/assets/javascripts/application.js | 15 + .../app/assets/stylesheets/application.css | 13 + .../app/controllers/application_controller.rb | 3 + test/dummy/app/helpers/application_helper.rb | 2 + test/dummy/app/mailers/.gitkeep | 0 test/dummy/app/models/.gitkeep | 0 .../app/views/layouts/application.html.erb | 14 + test/dummy/config.ru | 4 + test/dummy/config/application.rb | 65 +++++ test/dummy/config/boot.rb | 10 + test/dummy/config/environment.rb | 5 + test/dummy/config/environments/development.rb | 31 +++ test/dummy/config/environments/production.rb | 64 +++++ test/dummy/config/environments/test.rb | 35 +++ .../initializers/backtrace_silencers.rb | 7 + test/dummy/config/initializers/inflections.rb | 15 + test/dummy/config/initializers/mime_types.rb | 5 + .../dummy/config/initializers/secret_token.rb | 7 + .../config/initializers/session_store.rb | 8 + .../config/initializers/wrap_parameters.rb | 10 + test/dummy/config/locales/en.yml | 5 + test/dummy/config/routes.rb | 58 ++++ test/dummy/lib/assets/.gitkeep | 0 test/dummy/log/.gitkeep | 0 test/dummy/public/404.html | 26 ++ test/dummy/public/422.html | 26 ++ test/dummy/public/500.html | 25 ++ test/dummy/public/favicon.ico | 0 test/dummy/script/rails | 6 + test/integration/navigation_test.rb | 9 + test/test_helper.rb | 15 + test/video_channel_test.rb | 7 + video.json | 12 + video_channel.gemspec | 21 ++ 77 files changed, 1485 insertions(+) create mode 100644 .gitignore create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 MIT-LICENSE create mode 100644 README.rdoc create mode 100644 Rakefile create mode 100644 app/assets/images/video_channel/.gitkeep create mode 100644 app/assets/javascripts/video_channel/.gitkeep create mode 100644 app/assets/stylesheets/video_channel/.gitkeep create mode 100644 app/controllers/.gitkeep create mode 100644 app/controllers/panel/video/back_end/channel_videos_controller.rb create mode 100644 app/controllers/panel/video/back_end/videos_controller.rb create mode 100644 app/controllers/panel/video/front_end/channel_videos_controller.rb create mode 100644 app/controllers/panel/video/widget/channel_videos_controller.rb create mode 100644 app/helpers/.gitkeep create mode 100644 app/helpers/panel/videos/back_end/videos_helper.rb create mode 100644 app/mailers/.gitkeep create mode 100644 app/models/.gitkeep create mode 100644 app/models/channel_video.rb create mode 100644 app/models/video.rb create mode 100644 app/views/.gitkeep create mode 100644 app/views/panel/video/back_end/channel_videos/_form.html.erb create mode 100644 app/views/panel/video/back_end/channel_videos/edit.html.erb create mode 100644 app/views/panel/video/back_end/channel_videos/index.html.erb create mode 100644 app/views/panel/video/back_end/channel_videos/new.html.erb create mode 100644 app/views/panel/video/back_end/channel_videos/show.html.erb create mode 100644 app/views/panel/video/back_end/videos/_form.html.erb create mode 100644 app/views/panel/video/back_end/videos/edit.html.erb create mode 100644 app/views/panel/video/back_end/videos/index.html.erb create mode 100644 app/views/panel/video/back_end/videos/new.html.erb create mode 100644 app/views/panel/video/front_end/channel_videos/index.html.erb create mode 100644 app/views/panel/video/widget/channel_videos/channel_videos.html.erb create mode 100644 config/locales/en.yml create mode 100644 config/locales/zh_tw.yml create mode 100644 config/routes.rb create mode 100644 init.rb create mode 100644 lib/tasks/video_channel_tasks.rake create mode 100644 lib/video_channel.rb create mode 100644 lib/video_channel/engine.rb create mode 100644 lib/video_channel/version.rb create mode 100755 script/rails create mode 100644 test/dummy/README.rdoc create mode 100644 test/dummy/Rakefile create mode 100644 test/dummy/app/assets/javascripts/application.js create mode 100644 test/dummy/app/assets/stylesheets/application.css create mode 100644 test/dummy/app/controllers/application_controller.rb create mode 100644 test/dummy/app/helpers/application_helper.rb create mode 100644 test/dummy/app/mailers/.gitkeep create mode 100644 test/dummy/app/models/.gitkeep create mode 100644 test/dummy/app/views/layouts/application.html.erb create mode 100644 test/dummy/config.ru create mode 100644 test/dummy/config/application.rb create mode 100644 test/dummy/config/boot.rb create mode 100644 test/dummy/config/environment.rb create mode 100644 test/dummy/config/environments/development.rb create mode 100644 test/dummy/config/environments/production.rb create mode 100644 test/dummy/config/environments/test.rb create mode 100644 test/dummy/config/initializers/backtrace_silencers.rb create mode 100644 test/dummy/config/initializers/inflections.rb create mode 100644 test/dummy/config/initializers/mime_types.rb create mode 100644 test/dummy/config/initializers/secret_token.rb create mode 100644 test/dummy/config/initializers/session_store.rb create mode 100644 test/dummy/config/initializers/wrap_parameters.rb create mode 100644 test/dummy/config/locales/en.yml create mode 100644 test/dummy/config/routes.rb create mode 100644 test/dummy/lib/assets/.gitkeep create mode 100644 test/dummy/log/.gitkeep create mode 100644 test/dummy/public/404.html create mode 100644 test/dummy/public/422.html create mode 100644 test/dummy/public/500.html create mode 100644 test/dummy/public/favicon.ico create mode 100755 test/dummy/script/rails create mode 100644 test/integration/navigation_test.rb create mode 100644 test/test_helper.rb create mode 100644 test/video_channel_test.rb create mode 100644 video.json create mode 100644 video_channel.gemspec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1dfe31e --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.bundle/ +log/*.log +pkg/ +test/dummy/db/*.sqlite3 +test/dummy/log/*.log +test/dummy/tmp/ +test/dummy/.sass-cache diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..4d5ac2c --- /dev/null +++ b/Gemfile @@ -0,0 +1,17 @@ +source "https://rubygems.org" + +# Declare your gem's dependencies in video_channel.gemspec. +# Bundler will treat runtime dependencies like base dependencies, and +# development dependencies will be added by default to the :development group. +gemspec + +# jquery-rails is used by the dummy application +gem "jquery-rails" + +# Declare any dependencies that are still in development here instead of in +# your gemspec. These might include edge Rails or gems from your path or +# Git. Remember to move these dependencies to your gemspec before releasing +# your gem to rubygems.org. + +# To use debugger +# gem 'debugger' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..fcbee7f --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,95 @@ +PATH + remote: . + specs: + video_channel (0.0.1) + rails (~> 3.2.16) + +GEM + remote: https://rubygems.org/ + specs: + actionmailer (3.2.16) + actionpack (= 3.2.16) + mail (~> 2.5.4) + actionpack (3.2.16) + activemodel (= 3.2.16) + activesupport (= 3.2.16) + builder (~> 3.0.0) + erubis (~> 2.7.0) + journey (~> 1.0.4) + rack (~> 1.4.5) + rack-cache (~> 1.2) + rack-test (~> 0.6.1) + sprockets (~> 2.2.1) + activemodel (3.2.16) + activesupport (= 3.2.16) + builder (~> 3.0.0) + activerecord (3.2.16) + activemodel (= 3.2.16) + activesupport (= 3.2.16) + arel (~> 3.0.2) + tzinfo (~> 0.3.29) + activeresource (3.2.16) + activemodel (= 3.2.16) + activesupport (= 3.2.16) + activesupport (3.2.16) + i18n (~> 0.6, >= 0.6.4) + multi_json (~> 1.0) + arel (3.0.3) + builder (3.0.4) + erubis (2.7.0) + hike (1.2.3) + i18n (0.6.9) + journey (1.0.4) + jquery-rails (3.0.4) + railties (>= 3.0, < 5.0) + thor (>= 0.14, < 2.0) + json (1.8.1) + mail (2.5.4) + mime-types (~> 1.16) + treetop (~> 1.4.8) + mime-types (1.25.1) + multi_json (1.8.4) + polyglot (0.3.3) + rack (1.4.5) + rack-cache (1.2) + rack (>= 0.4) + rack-ssl (1.3.3) + rack + rack-test (0.6.2) + rack (>= 1.0) + rails (3.2.16) + actionmailer (= 3.2.16) + actionpack (= 3.2.16) + activerecord (= 3.2.16) + activeresource (= 3.2.16) + activesupport (= 3.2.16) + bundler (~> 1.0) + railties (= 3.2.16) + railties (3.2.16) + actionpack (= 3.2.16) + activesupport (= 3.2.16) + rack-ssl (~> 1.3.2) + rake (>= 0.8.7) + rdoc (~> 3.4) + thor (>= 0.14.6, < 2.0) + rake (10.1.1) + rdoc (3.12.2) + json (~> 1.4) + sprockets (2.2.2) + hike (~> 1.2) + multi_json (~> 1.0) + rack (~> 1.0) + tilt (~> 1.1, != 1.3.0) + thor (0.18.1) + tilt (1.4.1) + treetop (1.4.15) + polyglot + polyglot (>= 0.3.1) + tzinfo (0.3.38) + +PLATFORMS + ruby + +DEPENDENCIES + jquery-rails + video_channel! diff --git a/MIT-LICENSE b/MIT-LICENSE new file mode 100644 index 0000000..ea966ec --- /dev/null +++ b/MIT-LICENSE @@ -0,0 +1,20 @@ +Copyright 2014 YOURNAME + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.rdoc b/README.rdoc new file mode 100644 index 0000000..09afe8d --- /dev/null +++ b/README.rdoc @@ -0,0 +1,3 @@ += VideoChannel + +This project rocks and uses MIT-LICENSE. \ No newline at end of file diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..4679d1c --- /dev/null +++ b/Rakefile @@ -0,0 +1,38 @@ +#!/usr/bin/env rake +begin + require 'bundler/setup' +rescue LoadError + puts 'You must `gem install bundler` and `bundle install` to run rake tasks' +end +begin + require 'rdoc/task' +rescue LoadError + require 'rdoc/rdoc' + require 'rake/rdoctask' + RDoc::Task = Rake::RDocTask +end + +RDoc::Task.new(:rdoc) do |rdoc| + rdoc.rdoc_dir = 'rdoc' + rdoc.title = 'VideoChannel' + rdoc.options << '--line-numbers' + rdoc.rdoc_files.include('README.rdoc') + rdoc.rdoc_files.include('lib/**/*.rb') +end + + + + +Bundler::GemHelper.install_tasks + +require 'rake/testtask' + +Rake::TestTask.new(:test) do |t| + t.libs << 'lib' + t.libs << 'test' + t.pattern = 'test/**/*_test.rb' + t.verbose = false +end + + +task :default => :test diff --git a/app/assets/images/video_channel/.gitkeep b/app/assets/images/video_channel/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/assets/javascripts/video_channel/.gitkeep b/app/assets/javascripts/video_channel/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/assets/stylesheets/video_channel/.gitkeep b/app/assets/stylesheets/video_channel/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/controllers/.gitkeep b/app/controllers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/controllers/panel/video/back_end/channel_videos_controller.rb b/app/controllers/panel/video/back_end/channel_videos_controller.rb new file mode 100644 index 0000000..c6c7f09 --- /dev/null +++ b/app/controllers/panel/video/back_end/channel_videos_controller.rb @@ -0,0 +1,61 @@ +class Panel::Video::BackEnd::ChannelVideosController < OrbitBackendController +# before_filter :force_order_for_visitor,:only => [:index, :new, :edit, :delete] +# before_filter :force_order_for_user,:except => [:index] + open_for_admin + open_for_manager + open_for_sub_manager + + def index + @channel_videos = ChannelVideo.all + respond_to do |format| + format.html # new.html.erb + format.json { render json: @videos } + end + end + + def show + @channel_video = ChannelVideo.find(params[:id]) + client = YouTubeIt::Client.new(:dev_key => "AI39si5KGPg8rhKLBfmeukit2tCSP_B9lT8igiNICbrbgUXQoAdYGvsyCGCmO1wGnr1OW4bDRv-ESolwk-rdBNIAgVTL9VYaEA") + @client_videos = client.videos_by(:user => @channel_video.channel_name, :per_page => 5) + + respond_to do |format| + format.html + format.json { render json: @location } + end + end + + def new + @channel_video = ChannelVideo.new + end + + def edit + @channel_video = ChannelVideo.find(params[:id]) + end + + def create + @channel_video = ChannelVideo.new(params[:channel_video]) + + if @channel_video.save + redirect_to panel_video_back_end_channel_videos_url + else + render 'new' + end + end + + def update + @channel_video = ChannelVideo.find(params[:id]) + + if @channel_video.update_attributes(params[:channel_video]) + redirect_to panel_video_back_end_channel_videos_url + else + render 'edit' + end + end + + def destroy + @channel_video = ChannelVideo.find(params[:id]) + @channel_video.destroy + redirect_to panel_video_back_end_channel_videos_url + + end +end diff --git a/app/controllers/panel/video/back_end/videos_controller.rb b/app/controllers/panel/video/back_end/videos_controller.rb new file mode 100644 index 0000000..078b134 --- /dev/null +++ b/app/controllers/panel/video/back_end/videos_controller.rb @@ -0,0 +1,74 @@ +class Panel::Video::BackEnd::VideosController < OrbitBackendController + + #before_filter :clean_values, :only => [:create, :update] + + before_filter :force_order_for_visitor,:only => [:index, :new, :edit, :delete] + before_filter :force_order_for_user,:except => [:get_videos,:index] + # before_filter :for_app_sub_manager,:except => [:index, :new, :edit, :delete, :get_videos] + + def index + @videos = Video.all + @client = YouTubeIt::Client.new(:dev_key => "AI39si5KGPg8rhKLBfmeukit2tCSP_B9lT8igiNICbrbgUXQoAdYGvsyCGCmO1wGnr1OW4bDRv-ESolwk-rdBNIAgVTL9VYaEA") + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @videos } + end + end + + def new + @video = Video.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @video } + end + end + + def edit + @video = Video.find(params[:id]) + end + + def show + @video = Video.find(params[:id]) + respond_to do |format| + format.html + format.json { render json: @video } + end + end + + def create + @video = Video.new(params[:video]) + @video.save! + redirect_to panel_videos_back_end_videos_url + end + + def update + @video = Video.find(params[:id]) + @video.update_attributes(params[:video]) + redirect_to panel_videos_back_end_videos_url + end + + def destroy + @video = Video.find(params[:id]) + @video.destroy + redirect_to panel_videos_back_end_videos_url + + end + + def get_videos + videos = Video.all + @data = Array.new + + videos.each do |video| + @data << { title: video.title, + url: video.url, + description: video.description } + end + + #print readable json + render :json => JSON.pretty_generate({video: @data}) + + #render :json => {video: @data}.to_json + end +end diff --git a/app/controllers/panel/video/front_end/channel_videos_controller.rb b/app/controllers/panel/video/front_end/channel_videos_controller.rb new file mode 100644 index 0000000..6f14481 --- /dev/null +++ b/app/controllers/panel/video/front_end/channel_videos_controller.rb @@ -0,0 +1,26 @@ +class Panel::Video::FrontEnd::ChannelVideosController < OrbitWidgetController + def initialize + super + @app_title = 'video' + end + + def index + @item = Page.find(params[:page_id]) rescue nil + if @item + if @item.frontend_data_count + @page_num = @item.frontend_data_count + else + @page_num = 15 + end + @frontend_style = @item.frontend_style + end + @item = Page.find(params[:page_id]) rescue nil + @channel_video = ChannelVideo.first rescue nil + client = YouTubeIt::Client.new(:dev_key => "AI39si5KGPg8rhKLBfmeukit2tCSP_B9lT8igiNICbrbgUXQoAdYGvsyCGCmO1wGnr1OW4bDRv-ESolwk-rdBNIAgVTL9VYaEA") + @client_videos = client.videos_by(:user => @channel_video.channel_name, :per_page => 5) + + respond_to do |format| + format.html # index.html.erb + end + end +end \ No newline at end of file diff --git a/app/controllers/panel/video/widget/channel_videos_controller.rb b/app/controllers/panel/video/widget/channel_videos_controller.rb new file mode 100644 index 0000000..bccea58 --- /dev/null +++ b/app/controllers/panel/video/widget/channel_videos_controller.rb @@ -0,0 +1,62 @@ +class Panel::Video::Widget::ChannelVideosController < OrbitWidgetController + + def initialize + super + @app_title = 'video' + end + + # GET /bulletins + # GET /bulletins.xml + + def channel_videos + @part = PagePart.find(params[:part_id]) + + if @part.widget_data_count + @page_num = @part.widget_data_count + else + @page_num = 4 + end + + if @part.widget_field + @widget_fields = @part.widget_field + else + @widget_fields = [] + end + + @channel_video = ChannelVideo.find(@part.widget_options['channel_videos']) rescue nil + client = YouTubeIt::Client.new(:dev_key => "AI39si5KGPg8rhKLBfmeukit2tCSP_B9lT8igiNICbrbgUXQoAdYGvsyCGCmO1wGnr1OW4bDRv-ESolwk-rdBNIAgVTL9VYaEA") + @client_videos = client.videos_by(:user => @channel_video.channel_name, :per_page => 5) + + + end + + # def bulletins_list_and_pic + + # if params[:widget_data_count] + # @page_num = params[:widget_data_count]; + # else + # @page_num = 4; + # end + + # @title = params[:part_title] + # date_now = Time.now + # if !params[:category_id].blank? + # @bulletins = Bulletin.all.available_for_lang(I18n.locale).can_display.where(:bulletin_category_id => params[:category_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page]).per(@page_num ) + # @current_category = BulletinCategory.from_id(params[:category_id]) rescue nil + # elsif !params[:tag_id].blank? + # @bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:tagged_ids => params[:tag_id]).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page] ).per(@page_num) + # else + # @bulletins = Bulletin.available_for_lang(I18n.locale).can_display.any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc( :is_top, :postdate).page( params[:page]).per(@page_num ) + # end + + # get_categorys + + # end + + # def reload_bulletins + # @selected_tag = Tag.find(params[:tag_id]) + # @bulletins = Bulletin.available_for_lang(I18n.locale).can_display.where(:tagged_ids => params[:tag_id]).where(:is_hidden => false).any_of( {deadline: nil,:postdate.lte => date_now} , {:deadline.gte => date_now,:postdate.lte => date_now} ).desc(:is_top, sort).page(params[:page]).per(5) rescue nil + # end + + +end diff --git a/app/helpers/.gitkeep b/app/helpers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/helpers/panel/videos/back_end/videos_helper.rb b/app/helpers/panel/videos/back_end/videos_helper.rb new file mode 100644 index 0000000..b634b33 --- /dev/null +++ b/app/helpers/panel/videos/back_end/videos_helper.rb @@ -0,0 +1,2 @@ +module Panel::Videos::BackEnd::VideosHelper +end diff --git a/app/mailers/.gitkeep b/app/mailers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/models/.gitkeep b/app/models/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/models/channel_video.rb b/app/models/channel_video.rb new file mode 100644 index 0000000..86493e9 --- /dev/null +++ b/app/models/channel_video.rb @@ -0,0 +1,10 @@ +class ChannelVideo + include Mongoid::Document + include Mongoid::Timestamps + + attr_accessible :channel_name + + field :channel_name + + validates_presence_of :channel_name +end \ No newline at end of file diff --git a/app/models/video.rb b/app/models/video.rb new file mode 100644 index 0000000..62b55e5 --- /dev/null +++ b/app/models/video.rb @@ -0,0 +1,8 @@ +class Video + include Mongoid::Document + include Mongoid::Timestamps + + field :title + field :description + field :url +end diff --git a/app/views/.gitkeep b/app/views/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/views/panel/video/back_end/channel_videos/_form.html.erb b/app/views/panel/video/back_end/channel_videos/_form.html.erb new file mode 100644 index 0000000..27c3be5 --- /dev/null +++ b/app/views/panel/video/back_end/channel_videos/_form.html.erb @@ -0,0 +1,14 @@ +
+

YouTube Channel

+
+ +
+ <%= f.text_field :channel_name, :class=>'span4', :placeholder => 'Channel Name'%> +
+
+ +
+
+ <%= f.submit t("submit"), :class=>"btn" %> +
+
diff --git a/app/views/panel/video/back_end/channel_videos/edit.html.erb b/app/views/panel/video/back_end/channel_videos/edit.html.erb new file mode 100644 index 0000000..fa13c6e --- /dev/null +++ b/app/views/panel/video/back_end/channel_videos/edit.html.erb @@ -0,0 +1,3 @@ +<%= form_for @channel_video, :url => panel_video_back_end_channel_video_path, :method => :put, :html => { :class=>"form-horizontal"} do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> \ No newline at end of file diff --git a/app/views/panel/video/back_end/channel_videos/index.html.erb b/app/views/panel/video/back_end/channel_videos/index.html.erb new file mode 100644 index 0000000..673ada2 --- /dev/null +++ b/app/views/panel/video/back_end/channel_videos/index.html.erb @@ -0,0 +1,29 @@ +
+

YouTube Channel

+ + + + + + <%if is_manager? %> + + + <% end %> + + + + <% @channel_videos.each do |video| %> + + + + <%if is_manager? %> + + + <% end %> + + <% end %> + +
<%= t('channel_name') %><%= t('videos.show') %><%= t('videos.edit') %><%= t('videos.delete') %>
<%= video.channel_name %><%= link_to 'Show Channel Videos', panel_video_back_end_channel_video_path(video) %><%= link_to 'Edit', edit_panel_video_back_end_channel_video_path(video) %><%= link_to 'Delete Channel', panel_video_back_end_channel_video_path(video), method: :delete , :confirm => t(:sure?) %>
+<%if is_manager? %> +<%= link_to 'New', new_panel_video_back_end_channel_video_path, :class => "btn btn-primary pull-right", :id=>"create_event_btn", :ref=>"add-btn" %> +<% end %> diff --git a/app/views/panel/video/back_end/channel_videos/new.html.erb b/app/views/panel/video/back_end/channel_videos/new.html.erb new file mode 100644 index 0000000..72191ad --- /dev/null +++ b/app/views/panel/video/back_end/channel_videos/new.html.erb @@ -0,0 +1,3 @@ +<%= form_for @channel_video, :url => panel_video_back_end_channel_videos_path, :html => { :class=>"form-horizontal"} do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> diff --git a/app/views/panel/video/back_end/channel_videos/show.html.erb b/app/views/panel/video/back_end/channel_videos/show.html.erb new file mode 100644 index 0000000..1e7bd2a --- /dev/null +++ b/app/views/panel/video/back_end/channel_videos/show.html.erb @@ -0,0 +1,7 @@ +<% @client_videos.videos.each do |v| %> + + <% @video = v.video_id.split(/tag:youtube.com,2008:video:+/).last %> + <% @vd = UnvlogIt.new("https://www.youtube.com/watch?v=#{@video}")%> + <%= @vd.embed_html(400, 300).html_safe %> + <%= @vd.title %> + <%end%> \ No newline at end of file diff --git a/app/views/panel/video/back_end/videos/_form.html.erb b/app/views/panel/video/back_end/videos/_form.html.erb new file mode 100644 index 0000000..c715d91 --- /dev/null +++ b/app/views/panel/video/back_end/videos/_form.html.erb @@ -0,0 +1,26 @@ +
+ +
+ <%= f.text_field :title, :class=>"span2", :placeholder => "Title" %> +
+
+ +
+ +
+ <%= f.text_field :url, :class=>"span2", :placeholder => "URL" %> +
+
+
+ +
+ <%= f.fields_for :description_translations do |f| %> + <%= f.text_area locale, :class=>'span4', :cols=>"30", :row=>"5", :value => (@video.description_translations[locale.to_s] rescue nil) %> + <% end %> +
+
+
+
+ <%= f.submit t("submit"), :class=>"btn" %> +
+
diff --git a/app/views/panel/video/back_end/videos/edit.html.erb b/app/views/panel/video/back_end/videos/edit.html.erb new file mode 100644 index 0000000..bb4e933 --- /dev/null +++ b/app/views/panel/video/back_end/videos/edit.html.erb @@ -0,0 +1,4 @@ +<%= form_for @video, :url=> panel_videos_back_end_video_path(@video), :html => { :class=>"form-horizontal"} do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> + diff --git a/app/views/panel/video/back_end/videos/index.html.erb b/app/views/panel/video/back_end/videos/index.html.erb new file mode 100644 index 0000000..a5653f9 --- /dev/null +++ b/app/views/panel/video/back_end/videos/index.html.erb @@ -0,0 +1,32 @@ + + + + + + + <%if is_manager? %> + + + <% end %> + + + + <% @videos.each do |video| %> + + <% video_display = UnvlogIt.new(video.url)%> + + + <% @client_videos = @client.videos_by(:user => 'ntuprs', :per_page => 5) %> + + + <%if is_manager? %> + + + <%end%> + + <% end %> + +
<%= t('videos.title') %><%= t('videos.description') %><%= t('videos.edit') %><%= t('videos.delete') %>
<%= video_display.embed_html(400, 300).html_safe %><%= video.title %><% @client_videos.videos.each do |v| %> <% @video = v.video_id.split(/tag:youtube.com,2008:video:+/).last %><% vd = UnvlogIt.new("https://www.youtube.com/watch?v=#{@video}")%><%= vd.embed_html(200, 150).html_safe %>


<% end %>
<%= link_to 'Edit', edit_panel_videos_back_end_video_path(video) %><%= link_to 'Destroy', panel_videos_back_end_video_path(video), method: :delete , :confirm => t(:sure?) %>
+<%if is_manager? %> +<%= link_to 'New', new_panel_videos_back_end_video_path, :class => "btn btn-primary", :id=>"create_event_btn", :ref=>"add-btn" %> +<% end %> diff --git a/app/views/panel/video/back_end/videos/new.html.erb b/app/views/panel/video/back_end/videos/new.html.erb new file mode 100644 index 0000000..0b876d1 --- /dev/null +++ b/app/views/panel/video/back_end/videos/new.html.erb @@ -0,0 +1,3 @@ +<%= form_for @video, :url=> panel_videos_back_end_videos_path, :html => { :class=>"form-horizontal"} do |f| %> + <%= render :partial => 'form', :locals => {:f => f} %> +<% end %> diff --git a/app/views/panel/video/front_end/channel_videos/index.html.erb b/app/views/panel/video/front_end/channel_videos/index.html.erb new file mode 100644 index 0000000..0c38f74 --- /dev/null +++ b/app/views/panel/video/front_end/channel_videos/index.html.erb @@ -0,0 +1,14 @@ +
+

Videos

+
\ No newline at end of file diff --git a/app/views/panel/video/widget/channel_videos/channel_videos.html.erb b/app/views/panel/video/widget/channel_videos/channel_videos.html.erb new file mode 100644 index 0000000..5f3a938 --- /dev/null +++ b/app/views/panel/video/widget/channel_videos/channel_videos.html.erb @@ -0,0 +1,9 @@ +

Videos

+