diff --git a/.travis.yml b/.travis.yml index 87737e93..8e0c66c7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,8 @@ branches: only: - master - /quarter\d*/ + - develop + - /2.\d*.\d*/ env: - TEST_SUITE=rspec RAILS_VERSION=4.1.9 script: diff --git a/app/controllers/grants_controller.rb b/app/controllers/grants_controller.rb index 50b76a93..17cc8f82 100644 --- a/app/controllers/grants_controller.rb +++ b/app/controllers/grants_controller.rb @@ -136,7 +136,13 @@ def update format.json { head :no_content } else format.html { render action: 'edit' } - format.json { render json: @grant.errors, status: :unprocessable_entity } + + if params[:is_xeditable] + format.json { render json: {errors: @grant.errors}, status: :ok } + else + format.json { render json: @grant.errors, status: :unprocessable_entity } + end + end end end diff --git a/app/views/funding_sources/_index_table.html.haml b/app/views/funding_sources/_index_table.html.haml index ce74b093..85e96686 100755 --- a/app/views/funding_sources/_index_table.html.haml +++ b/app/views/funding_sources/_index_table.html.haml @@ -2,71 +2,147 @@ table_dom_id = SecureRandom.hex show_actions ||= 0 +#subheader-label + %h2 Programs + - if show_actions == 1 #programs_table_actions.btn-toolbar = render :partial => "funding_sources/index_actions" -.table-responsive - %table.table.table-hover{:id => table_dom_id, :data => {:toggle => 'table', - :pagination => 'true', - :show_pagination_switch => 'false', - :page_list => "5, 10, 20, 50, 100, 200, 10000]", - :page_size => current_user.num_table_rows, - :search => 'false', - :toolbar => "#programs_table_actions", - :export_types => "['csv', 'txt', 'excel']", - :show_export => 'true', - :show_columns => 'true', - :cookie => 'true', - :cookie_id_table => "funding_sources_id", - :cookie_expire => "1y"}} - - %thead - %tr - %th.center{:data => {:visible => 'false'}} Object Key - %th.center{:data => {:visible => 'false', :sortable => 'true'}} External ID - %th.center{:data => {:sortable => 'true'}} Name - %th.center{:data => {:sortable => 'true'}} Source - - %th.center{:data => {:sortable => 'true'}} Type - %th.center{:data => {:sortable => 'true', :formatter => 'percentage_formatter'}} Inflation Rate - - %th.center{:data => {:sortable => 'true'}} Life of $ (yrs) - %th.center{:data => {:sortable => 'true', :formatter => 'percentage_formatter'}} Pcnt Match - - %th.center{:data => {:sortable => 'true'}} Valid From - %th.center{:data => {:sortable => 'true'}} Valid To - - %th - - %tbody - - funding_sources.each do |f| - %tr{:id => f.object_key, :class => 'action-path'} - %td.left= f.object_key - %td.left= f.external_id - =# add whitespace so always read as text and not number. JS plugin trims later - %td.left{data: {tableexport: {msonumberformat: "\\@", value: "#{f.name} "}}} - = f.name - %td.left= f.funding_source_type - - %td.center= f.formula_fund.present? ? 'Formula' : (f.discretionary_fund.present? ? 'Discretionary' : 'Unknown') - %td.right= f.inflation_rate.present? ? f.inflation_rate : '' - - %td.center= format_as_integer(f.life_in_years) - %td.right= f.match_required - - %td.center= format_as_fiscal_year(f.fy_start) - %td.center= format_as_fiscal_year(f.fy_end) - - %td.center.nowrap{:data => {:field => 'action-cell'}} - %a.transam-popover{data: {placement: 'left', toggle: 'popover', html: 'true', content: "#{f.description}
#{f.details}"}, title: 'Details', tabindex: '0'} - %i.fa.fa-info-circle - - if can? :update, f - = link_to edit_funding_source_path(f), :class => "button btn-xs", :title => "Edit program" do - %i.fa.fa-edit.fa-1-5x.text-success - - if (can? :destroy, f) && f.deleteable? - = link_to funding_source_path(f), :method => :delete, :data => {:confirm => "Are you sure? The action cannot be undone."} do - %i.fa.fa-trash-o.fa-fw.text-danger + + + += javascript_include_tag "https://kit.fontawesome.com/#{ENV['FONT_AWESOME']}.js" +.library-table + %table.elbat{:id => table_dom_id, + :use => 'true', + :data => {:use => 'true', + :table_code => 'programs', + :side => 'client', + :current_page => '0', + :current_page_size => '10', + :page_sizes => "10,20,50,100", + :search => 'client', + :export => "['csv', 'txt']", + :columns => '{"name":{"name":"Program Name","type":"drilldown-link","width":"25%"}, + "1":{"name":"Source","width":"12%"}, + "2":{"name":"Program Type","width":"15%"}, + "3":{"name":"Inflation Rate","width":"10%"}, + "4":{"name":"Life of $ (yrs)","width":"10%"}, + "5":{"name":"% Match","width":"10%"}, + "6":{"name":"Valid From","width":"10%"}, + "7":{"name":"Valid To","width":"10%"}, + "8":{"name":"Description","width":"10%"}, + "9":{"name":"Details","width":"8%"}, + "10":{"name":"External ID","width":"10%"}, + "11":{"name":"Object Key","width":"12%"}, + "12":{"name":"Actions","type":"action-column","width":"15%"}}', + :selected_columns => "name,1,2,3,4,5,6,7,12", + :cookies => "true", + :sort => 'client', + :params => "{}", + :filter => "[]", + :data_source => 'client', + :url => ''}} + - funding_sources.each_with_index do |f, index| + %div.actions + %a.transam-popover{data: {placement: 'left', toggle: 'popover', html: 'true', content: "#{f.description}
#{f.details}"}, title: 'Details', tabindex: '0'} + %i.fa.fa-info-circle + - if can? :update, f + = link_to edit_funding_source_path(f), :class => "button btn-xs", :title => "Edit program" do + %i.fa.fa-edit.fa-1-5x.text-success + - if (can? :destroy, f) && f.deleteable? + = link_to funding_source_path(f), :method => :delete, :data => {:confirm => "Are you sure? The action cannot be undone."} do + %i.fa.fa-trash-o.fa-fw.text-danger + + :javascript + add_row('#{table_dom_id}', + { + "name": '#{h link_to f.name, funding_source_path(f) }', + "1": '#{h f.funding_source_type }', + "2": '#{h f.formula_fund.present? ? "Formula" : (f.discretionary_fund.present? ? "Discretionary" : "Unknown") }', + "3": '#{h f.inflation_rate.present? ? format_as_percentage(f.inflation_rate, 3) : "" }', + "4": '#{h format_as_integer(f.life_in_years) }', + "5": '#{h format_as_percentage(f.match_required, 3) }', + "6": '#{h format_as_fiscal_year(f.fy_start) }', + "7": '#{h format_as_fiscal_year(f.fy_end) }', + "8": '#{h f.description }', + "9": '#{h f.details }', + "10": '#{h f.external_id }', + "11": '#{h f.object_key }', + }, #{index}); + // TEMP UNTIL WE DO THIS FOR REAL + // TODO: PLEASE DON'T LET THIS GO TO PRODUCTION + // HACKY HACK IS HACKY + add_aux_queue('#{table_dom_id}',()=>$(".actions").eq(#{index}).detach().appendTo($("##{table_dom_id} .action-column").eq(#{index}).find(".cell-text"))); + + + + + + +-# .table-responsive +-# %table.table.table-hover{:id => table_dom_id, :data => {:toggle => 'table', +-# :pagination => 'true', +-# :show_pagination_switch => 'false', +-# :page_list => "5, 10, 20, 50, 100, 200, 10000]", +-# :page_size => current_user.num_table_rows, +-# :search => 'false', +-# :toolbar => "#programs_table_actions", +-# :export_types => "['csv', 'txt', 'excel']", +-# :show_export => 'true', +-# :show_columns => 'true', +-# :cookie => 'true', +-# :cookie_id_table => "funding_sources_id", +-# :cookie_expire => "1y"}} + +-# %thead +-# %tr +-# %th.center{:data => {:visible => 'false'}} Object Key +-# %th.center{:data => {:visible => 'false', :sortable => 'true'}} External ID +-# %th.center{:data => {:sortable => 'true'}} Name +-# %th.center{:data => {:sortable => 'true'}} Source + +-# %th.center{:data => {:sortable => 'true'}} Type +-# %th.center{:data => {:sortable => 'true', :formatter => 'percentage_formatter'}} Inflation Rate + +-# %th.center{:data => {:sortable => 'true'}} Life of $ (yrs) +-# %th.center{:data => {:sortable => 'true', :formatter => 'percentage_formatter'}} Pcnt Match + +-# %th.center{:data => {:sortable => 'true'}} Valid From +-# %th.center{:data => {:sortable => "content": + + +-# %th + +-# %tbody +-# - funding_sources.each do |f| +-# %tr{:id => f.object_key, :class => 'action-path'} +-# %td.left= f.object_key +-# %td.left= f.external_id +-# =# add whitespace so always read as text and not number. JS plugin trims later +-# %td.left{data: {tableexport: {msonumberformat: "\\@", value: "#{f.name} "}}} +-# = f.name +-# %td.left= f.funding_source_type + +-# %td.center= f.formula_fund.present? ? 'Formula' : (f.discretionary_fund.present? ? 'Discretionary' : 'Unknown') +-# %td.right= f.inflation_rate.present? ? f.inflation_rate : '' + +-# %td.center= format_as_integer(f.life_in_years) +-# %td.right= f.match_required + +-# %td.center= format_as_fiscal_year(f.fy_start) +-# %td.center= format_as_fiscal_year(f.fy_end) + +-# %td.center.nowrap{:data => {:field => 'action-cell'}} +-# %a.transam-popover{data: {placement: 'left', toggle: 'popover', html: 'true', content: "#{f.description}
#{f.details}"}, title: 'Details', tabindex: '0'} +-# %i.fa.fa-info-circle +-# - if can? :update, f +-# = link_to edit_funding_source_path(f), :class => "button btn-xs", :title => "Edit program" do +-# %i.fa.fa-edit.fa-1-5x.text-success +-# - if (can? :destroy, f) && f.deleteable? +-# = link_to funding_source_path(f), :method => :delete, :data => {:confirm => "Are you sure? The action cannot be undone."} do +-# %i.fa.fa-trash-o.fa-fw.text-danger = render 'shared/table_formatters' @@ -80,12 +156,12 @@ $('.transam-tooltip').tooltip(); }); - $('#' + '#{table_dom_id}').on('click', 'td', function () { - var path = "#{funding_source_path('xxx')}"; - var row = $(this).parent('tr').attr('id'); - - if ($(this).attr('data-field') != 'action-cell') { - var url = path.replace("xxx", row); - document.location.href = url; - } - }); \ No newline at end of file + //$('#' + '#{table_dom_id}').on('click', 'td', function () { + // var path = "#{funding_source_path('xxx')}"; + // var row = $(this).parent('tr').attr('id'); + // + // if ($(this).attr('data-field') != 'action-cell') { + // var url = path.replace("xxx", row); + // document.location.href = url; + // } + //}); \ No newline at end of file diff --git a/app/views/grants/_index_table.html.haml b/app/views/grants/_index_table.html.haml index bd7bd77a..50306c5b 100644 --- a/app/views/grants/_index_table.html.haml +++ b/app/views/grants/_index_table.html.haml @@ -2,7 +2,12 @@ table_dom_id = SecureRandom.hex show_actions ||= 0 + :css + html { + max-width: 100%; + overflow-x: hidden; + } #subheader-label h2 { border-bottom: 1px solid #e5e5e5; } @@ -15,60 +20,170 @@ position:relative; } + #subheader-label %h2 Grants - %legend.asset-subheader - %span #{params[:state] == "all" ? "All" : "Filtered"} + -# %legend.asset-subheader + -# %span #{params[:state] == "all" ? "All" : "Filtered"} + #grants_table_actions.row - if show_actions == 1 - = render :partial => "grants/index_actions" - -.table-responsive - %table.table.table-hover{:id => table_dom_id, :data => {:toggle => 'table', - :pagination => 'true', - :show_pagination_switch => 'false', - :page_number => '1', - :page_list => "[10, 20, 50, 100, 200]", - :page_size => current_user.num_table_rows, - :search => 'false', - :export_types => "['csv', 'txt', 'excel']", - :show_export => 'false', - :show_columns => 'false', - :cookie => 'true', - :cookie_id_table => "grants_id", - :cookie_expire => "1y"}} - %thead - %tr - %th.left{:data => {:visible => 'false'}} Object Key - %th.left{:data => {:sortable => 'true'}} Grant Number - %th.left{:data => {:sortable => 'true'}} Source - %th.left{:data => {:sortable => 'true'}} Program - %th.left{:data => {:sortable => 'true'}} Grant Year - %th.left{:data => {:sortable => 'true'}} Owner - %th.left{:data => {:sortable => 'true'}} Contributor - %th.left{:data => {:sortable => 'true'}} Legislative Authorization - %th.left{:data => {:sortable => 'true'}} Date of Award - %th.left{:data => {:sortable => 'true'}} Date of Most Recent Amendment - %th.left{:data => {:sortable => 'true'}} Status - %th.left{:data => {:sortable => 'true'}} Last Update By - %th.left{:data => {:sortable => 'true'}} Last Update Date - - %tbody - - grants.each do |grant| - %tr{:id => grant.object_key} - %td.left= grant.object_key - %td.left= link_to grant.grant_num, grant_path(grant) - %td.left= grant.sourceable.funding_source_type - %td.left= grant.funding_source - %td.left= grant.fy_year - %td.left= grant.owner - %td.left= grant.has_multiple_contributors ? 'Multiple' : (grant.contributor.nil? ? 'Other' : grant.contributor) - %td.left= grant.legislative_authorization - %td.left= format_as_date(grant.award_date) - %td.left= format_as_date(grant.grant_amendments.last.try(:created_at).try(:to_date)) - %td.left= grant.state.titleize - %td.left= grant.updater - %td.left= format_as_date_time(grant.updated_at) + = render :partial => "grants/index_actions", :sourceable => @sourceable + += javascript_include_tag "https://kit.fontawesome.com/#{ENV['FONT_AWESOME']}.js" +.library-table + %table.elbat{:id => table_dom_id, + :use => 'true', + :data => {:side => 'client', + :table_code => 'grants', + :current_page => '0', + :current_page_size => '10', + :page_sizes => "10,20,50,100", + :search => 'client', + :export => "['csv', 'txt']", + :columns => '{"0":{"name":"Object Key","width":"8%"}, + "1":{"name":"Grant Number","width":"8%","type":"drilldown-link"}, + "2":{"name":"Source","width":"5%"}, + "3":{"name":"Program","width":"8%"}, + "year":{"name":"Grant Year","width":"5%"}, + "owner":{"name":"Owner","width":"5%"}, + "6":{"name":"Contributor","width":"8%"}, + "7":{"name":"Legislative Authorization","width":"12%"}, + "8":{"name":"Date of Award","width":"8%","type":"right-align"}, + "9":{"name":"Date of Most Recent Amendment","width":"11%"}, + "10":{"name":"Status","width":"7%"}, + "11":{"name":"Last Update By","width":"10%"}, + "12":{"name":"Last Update Date","width":"8%","type":"right-align"}}', + :selected_columns => "1,2,3,year,owner,6,7,8,9,10,11,12", + :cookies => "true", + :sort => 'client', + :params => "{}", + :filter => "[]", + :data_source => 'client', + :url => ''}} + + -# :ruby + + -# def pre_sort(vals) + -# vals.map.with_index { |grant,index| { grant.id => index } } + -# end + -# sort = {"0"=> grants.sort_by { |grant| grant.id }.map.with_index { |grant,index| { grant.id => index } } , + -# "1"=> grants.sort_by { |grant| grant.grant_num }.map.with_index { |grant,index| { grant.id => index } } , + -# "2"=> grants.sort_by { |grant| grant.sourceable.funding_source_type }.map.with_index { |grant,index| { grant.id => index } }, + -# "3"=> grants.sort_by { |grant| grant.funding_source }.map.with_index { |grant,index| { grant.id => index } }, + -# "year"=> grants.sort_by { |grant| grant.fy_year }.map.with_index { |grant,index| { grant.id => index } }, + -# "owner"=> grants.sort_by { |grant| grant.owner }.map.with_index { |grant,index| { grant.id => index } }, + -# "6"=> grants.sort_by { |grant| grant.has_multiple_contributors ? "Multiple" : (grant.contributor.nil? ? "Other" : grant.contributor) }.map.with_index { |grant,index| { grant.id => index } }, + -# "7"=> grants.sort_by { |grant| grant.legislative_authorization }.map.with_index { |grant,index| { grant.id => index } }, + -# "8"=> grants.sort_by { |grant| grant.award_date }.map.with_index { |grant,index| { grant.id => index } }, + -# "9"=> grants.sort_by { |grant| grant.grant_amendments.last.try(:created_at).try(:to_date) }.map.with_index { |grant,index| { grant.id => index } }, + -# "10"=> grants.sort_by { |grant| grant.state.titleize }.map.with_index { |grant,index| { grant.id => index } }, + -# "11"=> grants.sort_by { |grant| grant.updater }.map.with_index { |grant,index| { grant.id => index } }, + -# "12"=> grants.sort_by { |grant| grant.updated_at }.map.with_index { |grant,index| { grant.id => index } }} + + + + - grants.each_with_index do |grant, index| + + :javascript + add_row('#{table_dom_id}', + { + "0":'#{h grant.id }', + "1":'#{h link_to grant.grant_num, grant_path(grant) }', + "2":'#{h grant.sourceable.funding_source_type }', + "3":'#{h grant.funding_source }', + "year":'#{h grant.fy_year }', + "owner":'#{h grant.owner }', + "6":'#{h grant.has_multiple_contributors ? "Multiple" : (grant.contributor.nil? ? "Other" : grant.contributor) }', + "7":'#{h grant.legislative_authorization }', + "8":'#{h format_as_date(grant.award_date) }', + "9":'#{h format_as_date(grant.grant_amendments.last.try(:created_at).try(:to_date)) }', + "10":'#{h grant.state.titleize}', + "11":'#{h grant.updater }', + "12":'#{h format_as_date_time(grant.updated_at) }' + }, #{index}); + + + + +-##grants_table_actions.row +-# - if show_actions == 1 +-# = render :partial => "grants/index_actions", :sourceable => @sourceable +-# +-#.table-responsive +-# %table.table.table-hover{:id => table_dom_id, :data => {:toggle => 'table', +-# :pagination => 'true', +-# :show_pagination_switch => 'false', +-# :page_number => '1', +-# :page_list => "[10, 20, 50, 100, 200]", +-# :page_size => current_user.num_table_rows, +-# :search => 'false', +-# :export_types => "['csv', 'txt', 'excel']", +-# :show_export => 'false', +-# :show_columns => 'false', +-# :cookie => 'true', +-# :cookie_id_table => "grants_id", +-# :cookie_expire => "1y"}} +-# %thead +-# %tr +-# %th.left{:data => {:visible => 'false'}} Object Key +-# %th.left{:data => {:sortable => 'true'}} Grant Number +-# %th.left{:data => {:sortable => 'true'}} Source +-# %th.left{:data => {:sortable => 'true'}} Program +-# %th.left{:data => {:sortable => 'true'}} Grant Year +-# %th.left{:data => {:sortable => 'true'}} Owner +-# %th.left{:data => {:sortable => 'true'}} Contributor +-# %th.left{:data => {:sortable => 'true'}} Legislative Authorization +-# %th.left{:data => {:sortable => 'true'}} Date of Award +-# %th.left{:data => {:sortable => 'true'}} Date of Most Recent Amendment +-# %th.left{:data => {:sortable => 'true'}} Status +-# %th.left{:data => {:sortable => 'true'}} Last Update By +-# %th.left{:data => {:sortable => 'true'}} Last Update Date +-# +-# %tbody +-# - grants.each do |grant| +-# %tr{:id => grant.object_key} +-# %td.left= grant.object_key +-# %td.left= link_to grant.grant_num, grant_path(grant) +-# %td.left= grant.sourceable.funding_source_type +-# %td.left= grant.funding_source +-# %td.left= grant.fy_year +-# %td.left= grant.owner +-# %td.left= grant.has_multiple_contributors ? 'Multiple' : (grant.contributor.nil? ? 'Other' : grant.contributor) +-# %td.left= grant.legislative_authorization +-# %td.left= format_as_date(grant.award_date) +-# %td.left= format_as_date(grant.grant_amendments.last.try(:created_at).try(:to_date)) +-# %td.left= grant.state.titleize +-# %td.left= grant.updater +-# %td.left= format_as_date_time(grant.updated_at) + + +-# '{"0":{"asc":"true"}, +-# "1":{"asc":"true"}, +-# "2":{"asc":"true"}, +-# "3":{"asc":"true"}, +-# "4":{"asc":"true"}, +-# "5":{"asc":"true"}, +-# "6":{"asc":"true"}, +-# "7":{"asc":"true"}, +-# "8":{"asc":"true"}, +-# "9":{"asc":"true"}, +-# "10":{"asc":"true"}, +-# "11":{"asc":"true"}, +-# "12":{"asc":"true"}}' + -# //"0": {"content":'#{h grant.id }',"sort":'#{sort["0"][index][grant.id]}'}, + -# // "1": {"content":'#{h link_to grant.grant_num, grant_path(grant) }',"sort":'#{sort["1"][index][grant.id]}'}, + -# // "2": {"content":'#{h grant.sourceable.funding_source_type }',"sort":'#{sort["2"][index][grant.id]}'}, + -# // "3": {"content":'#{h grant.funding_source }',"sort":'#{sort["3"][index][grant.id]}'}, + -# // "4": {"content":'#{h grant.fy_year }',"sort":'#{sort["4"][index][grant.id]}'}, + -# // "5": {"content":'#{h grant.owner }',"sort":'#{sort["5"][index][grant.id]}'}, + -# // "6": {"content":'#{h grant.has_multiple_contributors ? "Multiple" : (grant.contributor.nil? ? "Other" : grant.contributor) }',"sort":'#{sort["6"][index][grant.id]}'}, + -# // "7": {"content":'#{h grant.legislative_authorization }',"sort":'#{sort["7"][index][grant.id]}'}, + -# // "8": {"content":'#{h format_as_date(grant.award_date) }',"sort":'#{sort["8"][index][grant.id]}'}, + -# // "9": {"content":'#{h format_as_date(grant.grant_amendments.last.try(:created_at).try(:to_date)) }',"sort":'#{sort["9"][index][grant.id]}'}, + -# // "10": {"content":'#{h grant.state.titleize}',"sort":'#{sort["10"][index][grant.id]}'}, + -# // "11": {"content":'#{h grant.updater }',"sort":'#{sort["11"][index][grant.id]}'}, + -# // "12": {"content":'#{h format_as_date_time(grant.updated_at) }',"sort":'#{sort["12"][index][grant.id]}'} = render :partial => 'shared/table_scripts', :locals => {:table_id => table_dom_id, :path_pattern => grant_path("xxx")} \ No newline at end of file diff --git a/app/views/grants/show.html.haml b/app/views/grants/show.html.haml index 59d8eca4..1a26b455 100755 --- a/app/views/grants/show.html.haml +++ b/app/views/grants/show.html.haml @@ -42,6 +42,7 @@ .tab-pane.fade#details %legend Details .tab-content + #xeditable-errors = render 'details' .tab-pane.fade#apportionments %legend Apportionments diff --git a/app/views/shared/_financial_nav.html.haml b/app/views/shared/_financial_nav.html.haml index db6bdf79..da994a27 100644 --- a/app/views/shared/_financial_nav.html.haml +++ b/app/views/shared/_financial_nav.html.haml @@ -48,31 +48,31 @@ - if count > 0 %li.divider - %li.text-left.dropdown-submenu + %li.text-left = link_to funding_sources_path do %i.fa.fa-book.fa-fw Programs - %ul.dropdown-menu - - FundingSourceType.all.each do |type| - - if FundingSource.where(funding_source_type_id: type.id).count > 0 - %li.text-left.dropdown-submenu - = link_to '#' do - %i.fa.fa-fw.fa-book - = type - %ul.dropdown-menu - - FundingSource.where(funding_source_type_id: type.id).each do | program | - %li.text-left - = link_to funding_source_path(program) do - %i.fa.fa-fw.fa-book - = program - - if can? :create, FundingSource - - if FundingSource.all.count > 0 - %li.divider - %li - = link_to new_funding_source_path do - %i.fa.fa-plus.fa-fw - = "Add Funding Program"; + -# %ul.dropdown-menu + -# - FundingSourceType.all.each do |type| + -# - if FundingSource.where(funding_source_type_id: type.id).count > 0 + -# %li.text-left.dropdown-submenu + -# = link_to '#' do + -# %i.fa.fa-fw.fa-book + -# = type + -# %ul.dropdown-menu + -# - FundingSource.where(funding_source_type_id: type.id).each do | program | + -# %li.text-left + -# = link_to funding_source_path(program) do + -# %i.fa.fa-fw.fa-book + -# = program + -# - if can? :create, FundingSource + -# - if FundingSource.all.count > 0 + -# %li.divider + -# %li + -# = link_to new_funding_source_path do + -# %i.fa.fa-plus.fa-fw + -# = "Add Funding Program"; - SystemConfig.transam_module_names.each do |mod| - view_component = "#{mod}_financial_nav" diff --git a/lib/transam_accounting/version.rb b/lib/transam_accounting/version.rb index 42058219..960f89d1 100644 --- a/lib/transam_accounting/version.rb +++ b/lib/transam_accounting/version.rb @@ -1,3 +1,3 @@ module TransamAccounting - VERSION = "2.10.0" + VERSION = "2.11.0" end