summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2014-06-16 21:22:33 -0600
committermo khan <mo@mokhan.ca>2014-06-16 21:22:33 -0600
commite5b8e39f44fec0b6a3ec9cbfecdd7e744cf2db9f (patch)
treeb79e825cdc24afe7923431b9485b2bfbfe58fc1c /app
parentd20c0579f1accb28658c029f0bccdf4755e18526 (diff)
add photos router and redirect to new photo page after successfully creating a new creation.
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/backbone/cake.js.coffee1
-rw-r--r--app/assets/javascripts/backbone/models/photo.js.coffee1
-rw-r--r--app/assets/javascripts/backbone/routers/cakes_router.js.coffee8
-rw-r--r--app/assets/javascripts/backbone/routers/photos_router.js.coffee21
-rw-r--r--app/assets/javascripts/backbone/templates/cakes/show.jst.ejs1
-rw-r--r--app/assets/javascripts/backbone/templates/photos/new.jst.ejs2
-rw-r--r--app/assets/javascripts/backbone/views/cakes/new_view.js.coffee2
-rw-r--r--app/views/my/cakes/index.html.erb2
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>