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"
|
||||
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
|
||||
end
|
||||
|
||||
|
|
|
@ -79,12 +79,12 @@ class OrderArticle < ActiveRecord::Base
|
|||
|
||||
# Calculate price for ordered quantity.
|
||||
def total_price
|
||||
units_to_order * price.price
|
||||
units_to_order * price.unit_quantity * price.price
|
||||
end
|
||||
|
||||
# Calculate gross price for ordered qunatity.
|
||||
def total_gross_price
|
||||
units_to_order * price.gross_price
|
||||
units_to_order * price.unit_quantity * price.gross_price
|
||||
end
|
||||
|
||||
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 => [
|
||||
{ :name => "Mitglieder", :url => "/foodcoop/members"},
|
||||
{ :name => "Abeitsgruppen", :url => "/foodcoop/workgroups"},
|
||||
{ :name => "Bestellgruppen", :url => "/foodcoop/ordergroups"},
|
||||
{ :name => "Nachrichten", :url => "/messages"},
|
||||
{ :name => "Aufgaben", :url => "/tasks"}
|
||||
]
|
||||
|
|
Loading…
Reference in a new issue