diff options
| author | mo khan <mo@mokhan.ca> | 2014-06-16 21:22:33 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2014-06-16 21:22:33 -0600 |
| commit | e5b8e39f44fec0b6a3ec9cbfecdd7e744cf2db9f (patch) | |
| tree | b79e825cdc24afe7923431b9485b2bfbfe58fc1c | |
| parent | d20c0579f1accb28658c029f0bccdf4755e18526 (diff) | |
add photos router and redirect to new photo page after successfully creating a new creation.
8 files changed, 20 insertions, 18 deletions
diff --git a/app/assets/javascripts/backbone/cake.js.coffee b/app/assets/javascripts/backbone/cake.js.coffee index b79d7596..914a3848 100644 --- a/app/assets/javascripts/backbone/cake.js.coffee +++ b/app/assets/javascripts/backbone/cake.js.coffee @@ -14,3 +14,4 @@ window.Cake = if data.access_token xhr.setRequestHeader "Authorization", "Token token=" + data.access_token new Cake.Routers.CakesRouter() + new Cake.Routers.PhotosRouter() diff --git a/app/assets/javascripts/backbone/models/photo.js.coffee b/app/assets/javascripts/backbone/models/photo.js.coffee index 2359b036..c4f9bf3a 100644 --- a/app/assets/javascripts/backbone/models/photo.js.coffee +++ b/app/assets/javascripts/backbone/models/photo.js.coffee @@ -4,6 +4,7 @@ class Cake.Models.Photo extends Backbone.Model defaults: thumb_url: null large_url: null + original_url: null class Cake.Collections.PhotosCollection extends Backbone.Collection model: Cake.Models.Photo diff --git a/app/assets/javascripts/backbone/routers/cakes_router.js.coffee b/app/assets/javascripts/backbone/routers/cakes_router.js.coffee index 1e23638b..eeaa015c 100644 --- a/app/assets/javascripts/backbone/routers/cakes_router.js.coffee +++ b/app/assets/javascripts/backbone/routers/cakes_router.js.coffee @@ -13,19 +13,19 @@ class Cake.Routers.CakesRouter extends Backbone.Router newCake: -> @view = new Cake.Views.Cakes.NewView(collection: @cakes) - $("#cakes").html(@view.render().el) + $("#backbone-content").html(@view.render().el) index: -> @view = new Cake.Views.Cakes.IndexView(cakes: @cakes) - $("#cakes").html(@view.render().el) + $("#backbone-content").html(@view.render().el) show: (id) -> cake = @cakes.get(id) @view = new Cake.Views.Cakes.ShowView(model: cake) - $("#cakes").html(@view.render().el) + $("#backbone-content").html(@view.render().el) edit: (id) -> cake = @cakes.get(id) @view = new Cake.Views.Cakes.EditView(model: cake) - $("#cakes").html(@view.render().el) + $("#backbone-content").html(@view.render().el) diff --git a/app/assets/javascripts/backbone/routers/photos_router.js.coffee b/app/assets/javascripts/backbone/routers/photos_router.js.coffee index aa03f1c8..4b710a43 100644 --- a/app/assets/javascripts/backbone/routers/photos_router.js.coffee +++ b/app/assets/javascripts/backbone/routers/photos_router.js.coffee @@ -1,31 +1,30 @@ class Cake.Routers.PhotosRouter extends Backbone.Router initialize: (options) -> @photos = new Cake.Collections.PhotosCollection() - @photos.reset options.photos routes: - "new" : "newPhoto" - "index" : "index" - ":id/edit" : "edit" - ":id" : "show" - ".*" : "index" + ":cake_id/photos/new" : "newPhoto" + "photos/index" : "index" + "photos/:id/edit" : "edit" + "photos/:id" : "show" + "photos/.*" : "index" - newPhoto: -> + newPhoto: (cake_id) -> @view = new Cake.Views.Photos.NewView(collection: @photos) - $("#photos").html(@view.render().el) + $("#backbone-content").html(@view.render().el) index: -> @view = new Cake.Views.Photos.IndexView(photos: @photos) - $("#photos").html(@view.render().el) + $("#backbone-content").html(@view.render().el) show: (id) -> photo = @photos.get(id) @view = new Cake.Views.Photos.ShowView(model: photo) - $("#photos").html(@view.render().el) + $("#backbone-content").html(@view.render().el) edit: (id) -> photo = @photos.get(id) @view = new Cake.Views.Photos.EditView(model: photo) - $("#photos").html(@view.render().el) + $("#backbone-content").html(@view.render().el) diff --git a/app/assets/javascripts/backbone/templates/cakes/show.jst.ejs b/app/assets/javascripts/backbone/templates/cakes/show.jst.ejs index b172f218..c55d0b09 100644 --- a/app/assets/javascripts/backbone/templates/cakes/show.jst.ejs +++ b/app/assets/javascripts/backbone/templates/cakes/show.jst.ejs @@ -1,4 +1,5 @@ <a href="#/">Back</a> +<a href="#/cakes/<%= id %>/photos" class="btn">Add Photo</a> <div class="row"> <div class="span6"> diff --git a/app/assets/javascripts/backbone/templates/photos/new.jst.ejs b/app/assets/javascripts/backbone/templates/photos/new.jst.ejs index 0e6dda5a..3fec3308 100644 --- a/app/assets/javascripts/backbone/templates/photos/new.jst.ejs +++ b/app/assets/javascripts/backbone/templates/photos/new.jst.ejs @@ -17,4 +17,4 @@ </form> -<a href="#/index">Back</a>
\ No newline at end of file +<a href="#/index">Back</a> diff --git a/app/assets/javascripts/backbone/views/cakes/new_view.js.coffee b/app/assets/javascripts/backbone/views/cakes/new_view.js.coffee index 43ae5efd..dcaba3db 100644 --- a/app/assets/javascripts/backbone/views/cakes/new_view.js.coffee +++ b/app/assets/javascripts/backbone/views/cakes/new_view.js.coffee @@ -23,7 +23,7 @@ class Cake.Views.Cakes.NewView extends Backbone.View @collection.create(@model.toJSON(), success: (cake) => @model = cake - window.location.hash = "/#{@model.id}" + window.location.hash = "/#{@model.id}/photos/new" error: (cake, jqXHR) => #@model.set({errors: $.parseJSON(jqXHR.responseText)}) diff --git a/app/views/my/cakes/index.html.erb b/app/views/my/cakes/index.html.erb index f4ee5c63..65f5baba 100644 --- a/app/views/my/cakes/index.html.erb +++ b/app/views/my/cakes/index.html.erb @@ -5,4 +5,4 @@ <% end -%> <%= render partial: "shared/account_nav", locals: { selected: :creations } %> -<div id="cakes"></div> +<div id="backbone-content"></div> |
