Commit 88b5a9ba944e24484d259f97dc46e6750bef3627
1 parent
f1c9b703
Exists in
master
and in
2 other branches
Add video#seen
Showing
12 changed files
with
64 additions
and
10 deletions
Show diff stats
app/admin/v_libras_video.rb
app/assets/javascripts/bootstrap.js.coffee
app/assets/stylesheets/application.css.scss
app/assets/stylesheets/bootstrap.css.less
app/assets/stylesheets/v_libras/videos.css.scss
app/controllers/v_libras/videos_controller.rb
| ... | ... | @@ -4,8 +4,15 @@ class VLibras::VideosController < InheritedResources::Base |
| 4 | 4 | before_filter :check_vlibras_api_status, :only => [ :index, :show ] |
| 5 | 5 | before_filter :authenticate_user! |
| 6 | 6 | |
| 7 | + after_filter :mark_as_seen!, :only => [ :show ] | |
| 8 | + | |
| 7 | 9 | def index |
| 8 | 10 | @videos = current_user.videos |
| 9 | 11 | @requests = current_user.requests.limit(6) |
| 10 | 12 | end |
| 13 | + | |
| 14 | +protected | |
| 15 | + def mark_as_seen! | |
| 16 | + @video.mark_as_seen! | |
| 17 | + end | |
| 11 | 18 | end | ... | ... |
app/helpers/application_helper.rb
| ... | ... | @@ -47,7 +47,7 @@ module ApplicationHelper |
| 47 | 47 | end |
| 48 | 48 | |
| 49 | 49 | def custom_video_tag(video) |
| 50 | - content_tag(:video, :id => "video_#{video.id}", :class => 'video-js vjs-default skin', | |
| 50 | + content_tag(:video, :id => "video_#{video.id}", :class => 'video-js vjs-default skin vlibras-video', | |
| 51 | 51 | :controls => 'controls', :preload => 'auto', :width => '100%') do |
| 52 | 52 | content_tag(:source, '', :src => '/video.mp4', :type => 'video/mp4') |
| 53 | 53 | end | ... | ... |
app/models/v_libras/video.rb
| ... | ... | @@ -7,8 +7,24 @@ |
| 7 | 7 | # url :string(255) |
| 8 | 8 | # created_at :datetime |
| 9 | 9 | # updated_at :datetime |
| 10 | +# seen :boolean | |
| 10 | 11 | # |
| 11 | 12 | |
| 12 | 13 | class VLibras::Video < ActiveRecord::Base |
| 13 | 14 | belongs_to :request, :class => VLibras::Request, :dependent => :delete |
| 15 | + | |
| 16 | + validates :request_id, :url, :presence => true | |
| 17 | + | |
| 18 | + before_validation :default_values | |
| 19 | + | |
| 20 | + scope :not_seen, -> { where(:seen => false) } | |
| 21 | + | |
| 22 | + def mark_as_seen! | |
| 23 | + self.update!(:seen => true) unless self.seen | |
| 24 | + end | |
| 25 | + | |
| 26 | +protected | |
| 27 | + def default_values | |
| 28 | + self.seen = false if self.seen.nil? | |
| 29 | + end | |
| 14 | 30 | end | ... | ... |
app/views/layouts/application.html.erb
| ... | ... | @@ -29,10 +29,23 @@ |
| 29 | 29 | <li><%= link_to t('shared.main'), home_path %></li> |
| 30 | 30 | |
| 31 | 31 | <li class="dropdown"> |
| 32 | - <a class="dropdown-toggle" href="#" data-toggle="dropdown"><%= t('shared.vlibras') %><strong class="caret"></strong></a> | |
| 32 | + <a class="dropdown-toggle" href="#" data-toggle="dropdown"> | |
| 33 | + <%= t('shared.vlibras') %> | |
| 34 | + | |
| 35 | + <% if current_user.videos.not_seen.any? %> | |
| 36 | + <span class="label label-success">Novo vídeo!</span> <strong class="caret"></strong> | |
| 37 | + <% end %> | |
| 38 | + </a> | |
| 33 | 39 | |
| 34 | 40 | <ul class="dropdown-menu"> |
| 35 | - <li><%= link_to t('wikivideos.my_videos'), v_libras_videos_path %></li> | |
| 41 | + <li> | |
| 42 | + <%= link_to v_libras_videos_path do %> | |
| 43 | + <%= t('wikivideos.my_videos') %> | |
| 44 | + <% if current_user.videos.not_seen.any? %> | |
| 45 | + <span class="label label-success"><%= current_user.videos.not_seen.size %> </span> <strong class="caret"></strong> | |
| 46 | + <% end %> | |
| 47 | + <% end %> | |
| 48 | + </li> | |
| 36 | 49 | <li><%= link_to t('videos.new'), '#' %></li> |
| 37 | 50 | <li class="divider"></li> |
| 38 | 51 | <li><%= link_to t('shared.form_alternative'), rapid_v_libras_requests_path %></li> | ... | ... |
app/views/v_libras/videos/index.haml
db/migrate/20140529122416_add_seen_to_v_libras_videos.rb
0 → 100644
db/schema.rb
| ... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 | # |
| 12 | 12 | # It's strongly recommended that you check this file into your version control system. |
| 13 | 13 | |
| 14 | -ActiveRecord::Schema.define(version: 20140523175644) do | |
| 14 | +ActiveRecord::Schema.define(version: 20140529122416) do | |
| 15 | 15 | |
| 16 | 16 | create_table "delayed_jobs", force: true do |t| |
| 17 | 17 | t.integer "priority", default: 0, null: false |
| ... | ... | @@ -82,6 +82,7 @@ ActiveRecord::Schema.define(version: 20140523175644) do |
| 82 | 82 | t.string "url" |
| 83 | 83 | t.datetime "created_at" |
| 84 | 84 | t.datetime "updated_at" |
| 85 | + t.boolean "seen" | |
| 85 | 86 | end |
| 86 | 87 | |
| 87 | 88 | end | ... | ... |