Merge branch 'master' of git@github.com:bennibu/foodsoft
This commit is contained in:
commit
a3fbc2d37b
5 changed files with 76 additions and 2 deletions
|
@ -41,6 +41,34 @@ class FoodcoopController < ApplicationController
|
||||||
@groups = Workgroup.find :all, :order => "name"
|
@groups = Workgroup.find :all, :order => "name"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def ordergroups
|
||||||
|
#@order_groups = Ordergroup.find :all, :order => "name"
|
||||||
|
if (params[:per_page] && params[:per_page].to_i > 0 && params[:per_page].to_i <= 100)
|
||||||
|
@per_page = params[:per_page].to_i
|
||||||
|
else
|
||||||
|
@per_page = 20
|
||||||
|
end
|
||||||
|
|
||||||
|
if (params[:only_active].to_i == 1)
|
||||||
|
if (! params[:query].blank?)
|
||||||
|
conditions = ["orders.starts >= ? AND name LIKE ?", Time.now.months_ago(3), "%#{params[:query]}%"]
|
||||||
|
else
|
||||||
|
conditions = ["orders.starts >= ?", Time.now.months_ago(3)]
|
||||||
|
end
|
||||||
|
else
|
||||||
|
# if somebody uses the search field:
|
||||||
|
conditions = ["name LIKE ?", "%#{params[:query]}%"] unless params[:query].blank?
|
||||||
|
end
|
||||||
|
|
||||||
|
@total = Ordergroup.count(:conditions => conditions, :include => "orders")
|
||||||
|
@order_groups = Ordergroup.paginate(:page => params[:page], :per_page => @per_page, :conditions => conditions, :order => "name", :include => "orders")
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
format.html # index.html.erb
|
||||||
|
format.js { render :partial => "ordergroups" }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def group
|
def group
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -79,12 +79,12 @@ class OrderArticle < ActiveRecord::Base
|
||||||
|
|
||||||
# Calculate price for ordered quantity.
|
# Calculate price for ordered quantity.
|
||||||
def total_price
|
def total_price
|
||||||
units_to_order * price.price
|
units_to_order * price.unit_quantity * price.price
|
||||||
end
|
end
|
||||||
|
|
||||||
# Calculate gross price for ordered qunatity.
|
# Calculate gross price for ordered qunatity.
|
||||||
def total_gross_price
|
def total_gross_price
|
||||||
units_to_order * price.gross_price
|
units_to_order * price.unit_quantity * price.gross_price
|
||||||
end
|
end
|
||||||
|
|
||||||
def ordered_quantities_equal_to_group_orders?
|
def ordered_quantities_equal_to_group_orders?
|
||||||
|
|
23
app/views/foodcoop/_ordergroups.html.haml
Normal file
23
app/views/foodcoop/_ordergroups.html.haml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
%p
|
||||||
|
%table{:style => "width:100%"}
|
||||||
|
%tr
|
||||||
|
%td
|
||||||
|
= pagination_links_remote @order_groups, :update => :order_groups
|
||||||
|
%td{:style => "text-align:right"}
|
||||||
|
- if @total > 20
|
||||||
|
= items_per_page :update => :order_groups
|
||||||
|
|
||||||
|
%table.list
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th Name
|
||||||
|
%th #Mitglieder
|
||||||
|
%th Kontakt
|
||||||
|
|
||||||
|
%tbody
|
||||||
|
- for order_group in @order_groups
|
||||||
|
%tr{:class => cycle('even','odd', :name => 'order_group')}
|
||||||
|
%td=h order_group.name
|
||||||
|
%th=h order_group.users.length
|
||||||
|
%td=h order_group.contact
|
||||||
|
|
22
app/views/foodcoop/ordergroups.html.haml
Normal file
22
app/views/foodcoop/ordergroups.html.haml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
%h1 Bestellgruppen der Foodcoop
|
||||||
|
|
||||||
|
.left_column{:style => "width:100%"}
|
||||||
|
.box_title
|
||||||
|
%h2 Übersicht
|
||||||
|
.column_content
|
||||||
|
#user_filter{:style => "margin-right:2em;"}
|
||||||
|
%form{:id=>"sform", :action=>"", :style=>"display:inline;"}
|
||||||
|
%label{:for => 'article_name'} Suche nach Name:
|
||||||
|
= text_field_tag("query", params['query'], :size => 10 )
|
||||||
|
%label{:for => 'only_active'} Nur aktive:
|
||||||
|
= check_box_tag('only_active')
|
||||||
|
|
||||||
|
= observe_form 'sform', :frequency => 2, |
|
||||||
|
:before => "Element.show('loader')", |
|
||||||
|
:success => "Element.hide('loader')", |
|
||||||
|
:url => {:action => 'ordergroups'}, |
|
||||||
|
:update => :order_groups, |
|
||||||
|
:method => :get |
|
||||||
|
|
||||||
|
#order_groups
|
||||||
|
= render :partial => "ordergroups"
|
|
@ -12,6 +12,7 @@
|
||||||
:subnav => [
|
:subnav => [
|
||||||
{ :name => "Mitglieder", :url => "/foodcoop/members"},
|
{ :name => "Mitglieder", :url => "/foodcoop/members"},
|
||||||
{ :name => "Abeitsgruppen", :url => "/foodcoop/workgroups"},
|
{ :name => "Abeitsgruppen", :url => "/foodcoop/workgroups"},
|
||||||
|
{ :name => "Bestellgruppen", :url => "/foodcoop/ordergroups"},
|
||||||
{ :name => "Nachrichten", :url => "/messages"},
|
{ :name => "Nachrichten", :url => "/messages"},
|
||||||
{ :name => "Aufgaben", :url => "/tasks"}
|
{ :name => "Aufgaben", :url => "/tasks"}
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in a new issue