spielhoelle/zelos

View on GitHub
app/views/shared/_navigation.html.haml

Summary

Maintainability
Test Coverage
.navbar-fixed
  %nav.z-depth-3.nav-extended.row.mb-0{:role => "navigation"}
    .nav-wrapper.col.s12.d-flex.justify-content-start.justify-content-space-between-md
      - if controller_name == "entries"
        - if action_name == "edit"
          =link_to admin_entries_path do
            %i.material-icons.white-text chevron_left
          %h6.d-flex.align-items-center.truncate.ml-1
            %span.truncate= @entry.title
        -elsif action_name == "new"
          %h6.d-flex.align-items-center.truncate.ml-1
            New Invoice
        - if action_name == "index"
          - this_year_amount = @this_year.visible.collect { |x| get_items_total(x)}.reduce(0, :+).to_s.to_f.round(0)
          = "#{this_year_amount}€ty"
          - this_year_amount = @this_year.open.collect { |x| get_items_total(x)}.reduce(0, :+).to_s.to_f.round(0)
          = "#{this_year_amount}€o"
          = "~#{(this_year_amount/Time.now.month).to_s.to_f.round(0)}€pm"


      - elsif controller_name == "customers"
        - if action_name == "edit"
          = link_to admin_customers_path do
            %i.material-icons.white-text chevron_left
          %h6.d-flex.align-items-center.truncate.ml-1
            %span.truncate= @customer.name
        -elsif action_name == "new"
          %h6.d-flex.align-items-center.truncate.ml-1
            New Customer
        - elsif action_name == "index"
          Customers

      - elsif current_page?(root_path)
        Zelos
      - else
        = controller_name.capitalize

      %ul.right.hide-on-med-and-down.d-flex.justify-content-end.flex-grow
        - if user_signed_in?
          - if !current_page?(root_path)
            %li
              = link_to root_path, class: "teal-text" do
                Zelos
          %li.entries_link
            = link_to admin_entries_path, class: " #{(controller_name == "entries") ? "grey darken-4" : ""}"do
              = "Invoices"
          %li
            = link_to admin_customers_path, class: "customers_link #{(controller_name == "customers") ? "grey darken-4" : "" }" do
              = "Customers"
          %li
            = link_to admin_bills_path, class: "bills_link #{(controller_name == "bills") ? "grey darken-4" : "" }" do
              = "Bills"
          %li
            = link_to admin_summaries_path, class: "summaries_link #{(controller_name == "summaries") ? "grey darken-4" : "" }" do
              = "Summaries"
          %li
            = link_to admin_settings_path, class: current_page?(admin_settings_path) || current_page?(admin_settings_path) ? "grey darken-4" : "" do
              = "Settings"
          %li
            = link_to admin_versions_path, class: current_page?(admin_versions_path) || current_page?(admin_versions_path) ? "grey darken-4" : "", title: "versions" do
              = "Versions"
          %li
            = link_to destroy_user_session_path, :method => :delete, class: 'nav-link', title: t('devise.secondary_nav.sign_out') do
              = "Logout"
        - else
          %li
            = link_to root_path, class: "teal-text" do
              Zelos
          %li
            %a.modal-trigger{:href => "#modal1", "data-turbolinks": "false"} Login

      %a.button-collapse.m-0{"data-activates" => "nav-mobile", :href => "#", "data-turbolinks": "false"}
        %i.material-icons.white-text menu
%ul#nav-mobile.side-nav.grey.darken-4.z-depth-5
  %li.user-details.grey.darken-4
    .m-0.text-primary.d-flex.align-items-center
      .col
        %i.left.material-icons.medium.text-primary account_circle
      .col
        %span.text-primary=Setting[:name]

  .divider
  - if user_signed_in?
    %li
      = link_to root_path, class: "teal-text" do
        Zelos
    %li
      = link_to admin_entries_path, class: " #{(controller_name == "entries") ? "grey darken-3" : ""}"do
        = "Invoices"
    %li
      = link_to admin_customers_path, class: "customers_link #{(controller_name == "customers") ? "grey darken-3" : "" }" do
        = "Customers"
    %li
      = link_to admin_bills_path, class: "bills_link #{(controller_name == "bills") ? "grey darken-3" : "" }" do
        = "Bills"
    %li
      = link_to admin_summaries_path, class: "summaries_link #{(controller_name == "summaries") ? "grey darken-3" : "" }" do
        = "Summaries"
    %li
      = link_to admin_settings_path, class: current_page?(admin_settings_path) || current_page?(admin_settings_path) ? "grey darken-3" : "" do
        = "Settings"
    %li
      = link_to admin_versions_path, class: current_page?(admin_versions_path) || current_page?(admin_versions_path) ? "grey darken-3" : "", title: "versions" do
        = "Versions"
    %li
      = link_to destroy_user_session_path, :method => :delete, class: 'nav-link', title: t('devise.secondary_nav.sign_out') do
        = "Logout"
    .divider

    %li
      = link_to destroy_user_session_path, :method => :delete, class: 'nav-link', title: t('devise.secondary_nav.sign_out') do
        = "Logout"
  - else
    %li
      = link_to "Login", new_user_session_path

    -#- if controller_name == "entries" && action_name != "index"
      -#= link_to new_admin_entry_path, class: "btn-floating btn-large halfway-fab waves-effect waves-light tooltipped", "data-delay": 10, "data-position":"left", "data-tooltip": "New Invoice" do
        -#%i.material-icons add