36 lines
1.1 KiB
Ruby
36 lines
1.1 KiB
Ruby
module AspectMembershipsHelper
|
|
def add_to_aspect_button(aspect_id, person_id, kontroller)
|
|
link_to image_tag('icons/monotone_plus_add_round.png'),
|
|
{:controller => kontroller,
|
|
:action => 'create',
|
|
:aspect_id => aspect_id,
|
|
:person_id => person_id},
|
|
:remote => true,
|
|
:method => 'post',
|
|
:class => 'add button'
|
|
end
|
|
|
|
def remove_from_aspect_button(aspect_id, person_id)
|
|
link_to image_tag('icons/monotone_check_yes.png'),
|
|
{:controller => "aspect_memberships",
|
|
:action => 'destroy',
|
|
:id => 42,
|
|
:aspect_id => aspect_id,
|
|
:person_id => person_id},
|
|
:remote => true,
|
|
:method => 'delete',
|
|
:class => 'added button'
|
|
end
|
|
|
|
def aspect_membership_button(aspect, contact, person)
|
|
if contact.nil? || !aspect.contacts.include?(contact)
|
|
add_to_aspect_button(aspect.id, person.id, contact_or_membership(contact))
|
|
else
|
|
remove_from_aspect_button(aspect.id, person.id)
|
|
end
|
|
end
|
|
|
|
def contact_or_membership(contact)
|
|
(contact.persisted?) ? 'aspect_memberships' : 'contacts'
|
|
end
|
|
end
|