fatfreecrm/fat_free_crm

View on GitHub
app/views/leads/promote.js.haml

Summary

Maintainability
Test Coverage
- entity_name = controller.controller_name.singularize.underscore #account
- @entity = instance_variable_get("@#{entity_name}")
- id = called_from_landing_page? ? "convert_#{entity_name}" : dom_id(@entity)

- if @entity.status == "converted"
  - if called_from_landing_page?
    crm.flip_form('convert_#{entity_name}');
    crm.set_title('convert_#{entity_name}', '#{h @entity.full_name}');
    = refresh_sidebar(:show)
  - else
    $('##{id}').replaceWith('#{ j render(partial: entity_name, collection: [ @entity ]) }');
    $('##{id}').effect("highlight", { duration:1500 });
    - if called_from_index_page?
      = refresh_sidebar(:index)
    - elsif called_from_landing_page?("campaigns")
      = refresh_sidebar_for(:campaigns, :show)
      - if @opportunity.id # Make sure the opportunity has been saved.
        $('#opportunities').prepend('#{ j render(partial: "opportunities/opportunity", collection: [ @opportunity ]) }');
    - else
      $('#recently').replaceWith('#{ j render(partial: "shared/recently") }');

- else  
  $('##{id}').html('#{ j render(partial: "convert") }');
  crm.create_or_select_account(#{ request.referer =~ /\/accounts\// || @account.id.blank? });
  $('##{dom_id(@entity, :edit)} input[type!=hidden]').first().focus();