Commit dc702a89
Changed files (8)
app
controllers
views
cakes
layouts
my
cakes
dashboard
config
app/controllers/my/cakes_controller.rb
@@ -0,0 +1,7 @@
+module My
+ class CakesController < BaseController
+ def index
+ @cakes = current_user.creations.includes(:photos)
+ end
+ end
+end
app/controllers/my/dashboard_controller.rb
@@ -1,7 +1,7 @@
module My
class DashboardController < BaseController
def index
- @cakes = current_user.creations.includes(:photos)
+ @cakes = current_user.creations.includes(:photos).limit(6)
@tutorials = current_user.tutorials.limit(10)
@activities = current_user.recent_activities
end
app/views/cakes/_cake.html.erb
@@ -5,5 +5,10 @@
<div class="card-body">
<h4 class="card-title"><%= cake.name %></h4>
<p class="card-text"><small class="text-muted"><%= local_time(cake.created_at) %></small></p>
+ <% if current_user && current_user.id == cake.user_id %>
+ <%= link_to my_root_path(anchor: "cakes/#{cake.id}/edit"), class: 'card-link' do %>
+ <i class="fa fa-pencil-square-o"></i> edit
+ <% end %>
+ <% end %>
</div>
</div>
app/views/layouts/_header.html.erb
@@ -20,7 +20,7 @@
<%= link_to my_dashboard_path, id: 'navbarDropdownMenuLink', class: 'nav-link dropdown-toggle', data: { toggle: 'dropdown' }, 'aria-haspopup'=>"true", 'aria-expanded'=>"false" do %>
<%= current_user.name %>
<% end %>
- <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink" data-no-turbolink>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<%= link_to my_root_path(anchor: 'cakes/new'), class: 'dropdown-item' do %>
<i class="fa fa-upload"></i> New Cake
<% end %>
app/views/my/cakes/index.html.erb
@@ -0,0 +1,17 @@
+<% provide(:title, "My Cakes") -%>
+
+<div class="row">
+ <div class="col-3">
+ <%= render partial: "my/shared/my_nav" %>
+ </div>
+ <div class="col-9">
+ <div class="row">
+ <div class="col">
+ <h5>My Cakes</h5>
+ <div class="card-columns">
+ <%= render partial: 'cakes/cake', collection: @cakes, cached: true %>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
app/views/my/dashboard/_creation.html.erb
@@ -1,13 +0,0 @@
-<div class="media">
- <%= link_to my_root_path(anchor: "cakes/#{item.id}") do %>
- <%= image_tag item.primary_image.url_for(:thumb), class: 'd-flex mr-3', width: '64px' %>
- <% end %>
- <div class="media-body">
- <h5 class="mt-0 mb-1"><%= item.name %></h5>
- <p>
- <%= link_to my_root_path(anchor: "cakes/#{item.id}/edit") do %>
- <i class="fa fa-pencil-square-o"></i> edit
- <% end %>
- </p>
- </div>
-</div>
app/views/my/dashboard/index.html.erb
@@ -3,16 +3,16 @@
<div class="col-3">
<%= render partial: "my/shared/my_nav" %>
</div>
- <div class="col-9" data-no-turbolink>
+ <div class="col-9">
<div class="row">
<div class="col">
- <h5>My Cakes</h5>
- <ul class="list-unstyled">
- <% @cakes.each do |item| %>
- <%= render item.class.to_s.downcase, item: item %>
- <% end %>
- </ul>
+ <h5><%= link_to "My Cakes", my_cakes_path %></h5>
+ <div class="card-columns">
+ <%= render partial: 'cakes/cake', collection: @cakes, cached: true %>
+ </div>
</div>
+ </div>
+ <div class="row">
<div class="col">
<div class="well">
<h5>My Notifications</h5>
@@ -24,7 +24,8 @@
<% end %>
<% end %>
</div>
-
+ </div>
+ <div class="col">
<% if @tutorials.any? %>
<h5>My Tutorials</h5>
<ol>
config/routes.rb
@@ -86,6 +86,7 @@ Cake::Application.routes.draw do
namespace :my do
get 'dashboard', to: 'dashboard#index'
+ resources :cakes, only: [:index]
resources :favorites, only: [:index]
resources :settings, only: [:index, :update]
resources :passwords, only: [:index, :update]