new photo form now loads through ajax
This commit is contained in:
parent
efb4100e01
commit
ae6f0fdc51
5 changed files with 34 additions and 18 deletions
|
|
@ -2,6 +2,7 @@ class PhotosController < ApplicationController
|
||||||
before_filter :authenticate_user!
|
before_filter :authenticate_user!
|
||||||
|
|
||||||
def create
|
def create
|
||||||
|
render :nothing => true
|
||||||
begin
|
begin
|
||||||
@photo = current_user.post(:photo, params)
|
@photo = current_user.post(:photo, params)
|
||||||
|
|
||||||
|
|
@ -21,6 +22,7 @@ class PhotosController < ApplicationController
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@photo = Photo.new
|
@photo = Photo.new
|
||||||
|
@album = current_user.album_by_id(params[:album_id])
|
||||||
render :partial => "new_photo"
|
render :partial => "new_photo"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -47,8 +47,6 @@ class User
|
||||||
|
|
||||||
model_class = class_name.to_s.camelize.constantize
|
model_class = class_name.to_s.camelize.constantize
|
||||||
|
|
||||||
pp options
|
|
||||||
|
|
||||||
post = model_class.instantiate(options)
|
post = model_class.instantiate(options)
|
||||||
post.creator_signature = post.sign_with_key(encryption_key)
|
post.creator_signature = post.sign_with_key(encryption_key)
|
||||||
post.save
|
post.save
|
||||||
|
|
@ -327,6 +325,11 @@ class User
|
||||||
groups.detect{|x| x.id == id }
|
groups.detect{|x| x.id == id }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def album_by_id( id )
|
||||||
|
id = ensure_bson id
|
||||||
|
albums.detect{|x| x.id == id }
|
||||||
|
end
|
||||||
|
|
||||||
def groups_with_person person
|
def groups_with_person person
|
||||||
id = ensure_bson person.id
|
id = ensure_bson person.id
|
||||||
groups.select {|group| group.person_ids.include? id}
|
groups.select {|group| group.person_ids.include? id}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
:javascript
|
||||||
|
$(document).ready(function(){
|
||||||
|
reset_photo_fancybox();
|
||||||
|
});
|
||||||
|
|
||||||
|
.album_id{:id => @album.id, :style => "display:hidden;"}
|
||||||
.back= link_to '⇧ albums', albums_path
|
.back= link_to '⇧ albums', albums_path
|
||||||
%h1.big_text
|
%h1.big_text
|
||||||
|
|
||||||
|
|
@ -11,7 +17,6 @@
|
||||||
|
|
||||||
.yo{:style => "display:none;"}
|
.yo{:style => "display:none;"}
|
||||||
#new_photo_pane
|
#new_photo_pane
|
||||||
= render "photos/new_photo", :photo => @photo, :album => @album
|
|
||||||
|
|
||||||
.sub_header
|
.sub_header
|
||||||
="updated #{how_long_ago(@album)}"
|
="updated #{how_long_ago(@album)}"
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
$(function() {
|
$(function() {
|
||||||
$("#photo_image").html5_upload({
|
$("#photo_image").html5_upload({
|
||||||
// WE INSERT ALBUM_ID PARAM HERE
|
// WE INSERT ALBUM_ID PARAM HERE
|
||||||
url: "/photos?album_id=#{album.id}",
|
url: "/photos?album_id=#{@album.id}",
|
||||||
sendBoundary: window.FormData || $.browser.mozilla,
|
sendBoundary: window.FormData || $.browser.mozilla,
|
||||||
setName: function(text) {
|
setName: function(text) {
|
||||||
$("#progress_report_name").text(text);
|
$("#progress_report_name").text(text);
|
||||||
|
|
@ -12,8 +12,9 @@
|
||||||
$("#add_photo_loader").fadeOut(400);
|
$("#add_photo_loader").fadeOut(400);
|
||||||
|
|
||||||
$("#photo_title_status").text("Done!");
|
$("#photo_title_status").text("Done!");
|
||||||
$("#progress_report").html("");
|
$("#progress_report").html("Good job me!");
|
||||||
resetPhotoButton
|
|
||||||
|
$("#add_photo_button").addClass("uploading_complete");
|
||||||
},
|
},
|
||||||
onStart: function(event, total){
|
onStart: function(event, total){
|
||||||
$("#add_photo_button").html( "Uploading Photos" );
|
$("#add_photo_button").html( "Uploading Photos" );
|
||||||
|
|
@ -27,21 +28,13 @@
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function resetPhotoButton{
|
|
||||||
$("#add_photo_button").click(function (evt){
|
|
||||||
$("#new_photo_pane").html($.get("photos/ajax_new"));
|
|
||||||
$("#add_photo_button").unbind();
|
|
||||||
$("#add_photo_button").fancybox();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
%h1
|
%h1
|
||||||
%span{:id=>"photo_title_status"}
|
%span{:id=>"photo_title_status"}
|
||||||
Add photos to
|
Add photos to
|
||||||
%i= album.name
|
%i= @album.name
|
||||||
= form_for photo, :html => {:multipart => true} do |f|
|
= form_for @photo, :html => {:multipart => true} do |f|
|
||||||
= f.error_messages
|
= f.error_messages
|
||||||
= f.hidden_field :album_id, :value => album.id
|
= f.hidden_field :album_id, :value => @album.id
|
||||||
= f.file_field :image, :multiple => 'multiple'
|
= f.file_field :image, :multiple => 'multiple'
|
||||||
|
|
||||||
#progress_report{ :style => "display:none;text-align:center;" }
|
#progress_report{ :style => "display:none;text-align:center;" }
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,14 @@ $(document).ready(function(){
|
||||||
$("#add_album_button").fancybox();
|
$("#add_album_button").fancybox();
|
||||||
$("#add_group_button").fancybox();
|
$("#add_group_button").fancybox();
|
||||||
$("#add_request_button").fancybox({ 'titleShow': false });
|
$("#add_request_button").fancybox({ 'titleShow': false });
|
||||||
$("#add_photo_button").fancybox();
|
$("#add_photo_button").fancybox({
|
||||||
|
'onClosed' : function(){
|
||||||
|
if($("#add_photo_button").hasClass("uploading_complete")){
|
||||||
|
$("#add_photo_button").removeClass("uploading_complete");
|
||||||
|
reset_photo_fancybox();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
//pane_toggler_button("photo");
|
//pane_toggler_button("photo");
|
||||||
|
|
||||||
|
|
@ -91,6 +98,12 @@ $(document).ready(function(){
|
||||||
|
|
||||||
});//end document ready
|
});//end document ready
|
||||||
|
|
||||||
|
function reset_photo_fancybox(){
|
||||||
|
album_id = $(".album_id")[0].id;
|
||||||
|
ajax = $.get("/photos/new?album_id=" + album_id, function(){
|
||||||
|
$("#new_photo_pane").html(ajax.responseText)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function pane_toggler_button( name ) {
|
function pane_toggler_button( name ) {
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue