- content_for :javascript do - group_balance = FoodsoftConfig[:charge_members_manually] ? @ordering_data[:account_balance] : @ordering_data[:available_funds] :javascript $(function() { #{data_to_js(@ordering_data)} setGroupBalance(#{group_balance}); setMinimumBalance(#{FoodsoftConfig[:minimum_balance] or 0}); setToleranceBehaviour(#{FoodsoftConfig[:tolerance_is_costly]}); setStockit(#{@order.stockit?}); // create List for search-feature (using list.js, http://listjs.com) var listjsResetPlugin = ['reset', {highlightClass: 'btn-primary'}]; var listjsDelayPlugin = ['delay', {delayedSearchTime: 500}]; new List(document.body, { valueNames: ['name'], engine: 'unlist', plugins: [listjsResetPlugin, listjsDelayPlugin], // make large pages work too (as we don't have paging - articles may disappear!) page: 10000, indexAsync: true }); }); - title t('.title'), false .row-fluid .well.pull-left = close_button :alert %h2= @order.name %dl.dl-horizontal - unless @order.note.blank? %dt= heading_helper Order, :note %dd= @order.note %dt= heading_helper Order, :created_by %dd= show_user_link(@order.created_by) %dt= heading_helper Order, :ends %dd= format_time(@order.ends) %dt= heading_helper Order, :pickup %dd= format_date(@order.pickup) - unless @order.stockit? or @order.supplier.min_order_quantity.blank? %dt= heading_helper Supplier, :min_order_quantity, short: true %dd= @order.supplier.min_order_quantity %dt= t '.sum_amount' %dd= number_to_currency @order.sum - unless @group_order.new_record? %dt= heading_helper GroupOrder, :updated_by %dd = show_user(@group_order.updated_by) (#{format_time(@group_order.updated_on)}) %dt= heading_helper Ordergroup, :account_balance %dd= number_to_currency(@ordering_data[:account_balance]) - unless FoodsoftConfig[:charge_members_manually] %dt= heading_helper Ordergroup, :available_funds %dd= number_to_currency(@ordering_data[:available_funds]) .well.pull-right = close_button :alert = render 'switch_order', current_order: @order .row-fluid .well.clear .form-search .input-append = text_field_tag :article, params[:article], placeholder: t('.search_article'), class: 'search-query delayed-search resettable' %button.add-on.btn.reset-search{:type => :button, :title => t('.reset_article_search')} %i.icon.icon-remove = form_for @group_order do |f| = f.hidden_field :lock_version = f.hidden_field :order_id = f.hidden_field :updated_by_user_id = f.hidden_field :ordergroup_id %table.table %thead %tr %th= heading_helper Article, :name - if @order.stockit? %th{style: 'width:120px'}= heading_helper StockArticle, :supplier %th{style: "width:13px;"} %th{style: "width:4.5em;"}= t '.price' %th{style: "width:4.5em;"}= heading_helper Article, :unit - unless @order.stockit? %th{style: "width:70px;"}= heading_helper OrderArticle, :missing_units, short: true %th#col_required= heading_helper GroupOrderArticle, :quantity %th#col_tolerance= heading_helper GroupOrderArticle, :tolerance - else %th(style="width:20px")= heading_helper StockArticle, :available %th#col_required= heading_helper GroupOrderArticle, :quantity %th{style: "width:15px;"}= heading_helper GroupOrderArticle, :total_price %tbody.list - @order.articles_grouped_by_category.each do |category, order_articles| %tr.list-heading.article-category %td = category %i.icon-tag %td{colspan: "9"} - order_articles.each do |order_article| %tr{class: "#{cycle('even', 'odd', name: 'articles')} order-article #{get_missing_units_css_class(@ordering_data[:order_articles][order_article.id][:missing_units])}", valign: "top", tabindex: "0"} %td.name= order_article.article.name - if @order.stockit? %td= truncate order_article.article.supplier.name, length: 15 %td= h order_article.article.origin %td= number_to_currency(@ordering_data[:order_articles][order_article.id][:price]) %td= order_article.article.unit %td - if @order.stockit? = @ordering_data[:order_articles][order_article.id][:quantity_available] - else %span{id: "missing_units_#{order_article.id}"}= @ordering_data[:order_articles][order_article.id][:missing_units] %td.quantity %input{id: "q_#{order_article.id}", name: "group_order[group_order_articles_attributes][#{order_article.id}][quantity]", type: "hidden", value: @ordering_data[:order_articles][order_article.id][:quantity], 'data-min' => (@ordering_data[:order_articles][order_article.id][:quantity] if @order.boxfill?), 'data-max' => (@ordering_data[:order_articles][order_article.id][:quantity]+@ordering_data[:order_articles][order_article.id][:missing_units] if @order.boxfill?)}/ %span.used{id: "q_used_#{order_article.id}"}= @ordering_data[:order_articles][order_article.id][:used_quantity] + %span.unused{id: "q_unused_#{order_article.id}"}= @ordering_data[:order_articles][order_article.id][:quantity] - @ordering_data[:order_articles][order_article.id][:used_quantity] .btn-group %a.btn.btn-ordering{'data-increase_quantity' => order_article.id} %i.icon-plus %a.btn.btn-ordering{'data-decrease_quantity' => order_article.id} %i.icon-minus %td.tolerance{style: ('display:none' if @order.stockit?)} %input{id: "t_#{order_article.id}", name: "group_order[group_order_articles_attributes][#{order_article.id}][tolerance]", type: "hidden", value: @ordering_data[:order_articles][order_article.id][:tolerance], 'data-min' => (@ordering_data[:order_articles][order_article.id][:tolerance] if @order.boxfill?)}/ - if (@ordering_data[:order_articles][order_article.id][:unit] > 1) %span.used{id: "t_used_#{order_article.id}"}= @ordering_data[:order_articles][order_article.id][:used_tolerance] + %span.unused{id: "t_unused_#{order_article.id}"}= @ordering_data[:order_articles][order_article.id][:tolerance] - @ordering_data[:order_articles][order_article.id][:used_tolerance] .btn-group %a.btn.btn-ordering{'data-increase_tolerance' => order_article.id} %i.icon-plus %a.btn.btn-ordering{'data-decrease_tolerance' => order_article.id} %i.icon-minus %td{id: "td_price_#{order_article.id}", style: "text-align:right; padding-right:10px; width:4em"} %span{id: "price_#{order_article.id}_display"}= number_to_currency(@ordering_data[:order_articles][order_article.id][:total_price]) .article-info .article-name= order_article.article.name .pull-right = t('.units_full') + ':' %span{id: "units_#{order_article.id}"}= order_article.units_to_order %br/ = t('.units_total') + ':' %span{id: "q_total_#{order_article.id}"}= @ordering_data[:order_articles][order_article.id][:quantity] + @ordering_data[:order_articles][order_article.id][:others_quantity] %br/ = t('.total_tolerance') + ':' %span{id: "t_total_#{order_article.id}"}= @ordering_data[:order_articles][order_article.id][:tolerance] + @ordering_data[:order_articles][order_article.id][:others_tolerance] %br/ .pull-left #{heading_helper Article, :manufacturer}: #{order_article.article.manufacturer} %br/ #{heading_helper Article, :units}: #{@order.stockit? ? order_article.article.quantity_available : @ordering_data[:order_articles][order_article.id][:unit]} * #{h order_article.article.unit} %br/ #{heading_helper Article, :note}: #{order_article.article.note} %br/ #order-footer #info-box #total-sum %table %tr %td= t('.total_sum_amount') + ':' %td.currency %span#total_price= number_to_currency(@group_order.price) %tr - if FoodsoftConfig[:charge_members_manually] - old_balance = @ordering_data[:account_balance] %td= heading_helper(Ordergroup, :account_balance) + ':' %td.currency= number_to_currency(@ordering_data[:account_balance]) - else - old_balance = @ordering_data[:available_funds] %td= heading_helper(Ordergroup, :available_funds) + ':' %td.currency= number_to_currency(@ordering_data[:available_funds]) %tr %td= t('.new_funds') + ':' %td.currency %strong %span#new_balance= number_to_currency(old_balance - @group_order.price) #order-button - if FoodsoftConfig[:group_order_invoices]&.[](:ignore_minimum_balance) = submit_tag( t('.action_save'), id: 'submit_sepa_button', class: 'btn btn-primary' ) - else = submit_tag( t('.action_save'), id: 'submit_button', class: 'btn btn-primary' ) #{link_to t('ui.or_cancel'), group_orders_path} %input#total_balance{name: "total_balance", type: "hidden", value: @ordergroup.account_balance - @group_order.price}/ %input{name: "version", type: "hidden", value: @version}/