From 30bae4f8070bea38c208c945855f1307c5c0e1b5 Mon Sep 17 00:00:00 2001 From: ilya <ilya@laptop.(none)> Date: Wed, 20 Oct 2010 18:30:22 -0700 Subject: [PATCH] throws an alert if you try to remove person from the last aspect --- app/views/aspects/manage.html.haml | 2 +- public/javascripts/aspect-edit.js | 34 ++++++++++++++++++------------ 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/app/views/aspects/manage.html.haml b/app/views/aspects/manage.html.haml index 824814f89a..3fdedbad90 100644 --- a/app/views/aspects/manage.html.haml +++ b/app/views/aspects/manage.html.haml @@ -60,7 +60,7 @@ -else -for person in aspect.people - %li.person{:id => person.id, :from_aspect_id => aspect.id} + %li.person{:id => person.id, :class => person.id, :from_aspect_id => aspect.id} = person_image_tag(person) .name = link_to person.real_name, person diff --git a/public/javascripts/aspect-edit.js b/public/javascripts/aspect-edit.js index dc0d1cd39f..825433e0ef 100644 --- a/public/javascripts/aspect-edit.js +++ b/public/javascripts/aspect-edit.js @@ -89,28 +89,36 @@ $(function() { } - $(ui.draggable[0]).fadeOut('slow'); // ui.draggable.fadeOut('slow') + $(ui.draggable[0]).fadeOut('slow'); + $(ui.draggable[0]).remove(); } }); $(".aspect_remove ul").droppable({ hoverClass: 'active', drop: function(event, ui) { + if ($( "." + ui.draggable[0].id).length == 1) { + alert("You can not remove the person from the last aspect"); + } else { + if (!$(ui.draggable[0]).hasClass('requested_person')){ + var aspect = ui.draggable[0].getAttribute('from_aspect_id') + var person_id = ui.draggable[0].id + $.ajax({ + type: "POST", + url: "/aspects/remove_from_aspect", + data:{ + 'friend_id' : person_id, + 'aspect_id' : aspect + } + }); + } + $(ui.draggable[0]).fadeOut('slow'); + $(ui.draggable[0]).remove(); + - if (!$(ui.draggable[0]).hasClass('requested_person')){ - var aspect = ui.draggable[0].getAttribute('from_aspect_id') - var person_id = ui.draggable[0].id - $.ajax({ - type: "POST", - url: "/aspects/remove_from_aspect", - data:{ - 'friend_id' : person_id, - 'aspect_id' : aspect - } - }); } - $(ui.draggable[0]).fadeOut('slow'); // ui.draggable.fadeOut('slow') + } }); -- GitLab