fix flow to work

This commit is contained in:
2012-08-24 16:51:29 +02:00
parent 4765608e2d
commit 1259d5d937
11 changed files with 52 additions and 20 deletions
+14 -1
View File
@@ -107,17 +107,28 @@ root.Qrammer =
Qrammer.handle_active_user_list_default_actions() Qrammer.handle_active_user_list_default_actions()
) )
handle_active_user_list_default_actions: -> handle_active_user_list_default_actions: ->
Qrammer.list_needs_payment_default_action()
Qrammer.list_needs_help_default_action() Qrammer.list_needs_help_default_action()
list_needs_help_default_action: -> list_needs_help_default_action: ->
needs_help_container = $('#list-needs-help-button') needs_help_container = $('#list-needs-help-button')
if needs_help_container.length if needs_help_container.length
if window.active_list.needs_help if window.active_list.needs_help
needs_help_container.html('Help requested') needs_help_container.html('<i class="icon-hand-up"></i>')
else else
needs_help_container.html($('<button class="btn btn-info">I have a question</button>').click(Qrammer.list_needs_help)) #TODO TEXT needs_help_container.html($('<button class="btn btn-info">I have a question</button>').click(Qrammer.list_needs_help)) #TODO TEXT
list_needs_help: -> list_needs_help: ->
return unless window.active_list && !window.active_list.needs_help return unless window.active_list && !window.active_list.needs_help
$.post('/active_user_list_needs_help.json', (res) -> window.active_list = res; Qrammer.list_needs_help_default_action()) $.post('/active_user_list_needs_help.json', (res) -> window.active_list = res; Qrammer.list_needs_help_default_action())
list_needs_payment_default_action: ->
needs_payment_container = $('#list-needs-payment-button')
if needs_payment_container.length
if window.active_list.needs_payment
needs_payment_container.html('<i class="icon-check"></i>')
else
needs_payment_container.html($('<button class="btn btn-warning">Check please</button>').click(Qrammer.list_needs_payment)) #TODO TEXT
list_needs_payment: ->
return unless window.active_list && !window.active_list.needs_payment
$.post('/active_user_list_needs_payment.json', (res) -> window.active_list = res; Qrammer.list_needs_payment_default_action())
load_active_lists: (supplier_id) -> load_active_lists: (supplier_id) ->
$.get('/suppliers/'+supplier_id+'/active_lists.json', (res) -> $.get('/suppliers/'+supplier_id+'/active_lists.json', (res) ->
@@ -158,6 +169,8 @@ root.Qrammer =
) )
active_user_list: (list_id) -> active_user_list: (list_id) ->
$.get('/lists/'+list_id+'/current.json', (res) -> $.get('/lists/'+list_id+'/current.json', (res) ->
window.active_list = res
Qrammer.handle_active_user_list_default_actions()
body = $('#active-list-table tbody') body = $('#active-list-table tbody')
foot = $('#active-list-table tfoot') foot = $('#active-list-table tfoot')
body.find('tr').remove() body.find('tr').remove()
@@ -66,6 +66,10 @@ table
#list-needs-help-button #list-needs-help-button
button button
margin-left: 5px margin-left: 5px
i
padding-left: 5px
#list-needs-payment-button #list-needs-payment-button
button button
margin-left: 5px margin-left: 5px
i
padding-left: 5px
+13 -1
View File
@@ -80,7 +80,7 @@ class DashboardController < ApplicationController
redirect_to active_lists_supplier_path(Supplier.first) redirect_to active_lists_supplier_path(Supplier.first)
end end
# POST /active_user_list_needs_help # POST /active_user_list_needs_help.json
def active_user_list_needs_help def active_user_list_needs_help
respond_to do |format| respond_to do |format|
format.json do format.json do
@@ -91,4 +91,16 @@ class DashboardController < ApplicationController
end end
end end
end end
# POST /active_user_list_needs_payment.json
def active_user_list_needs_payment
respond_to do |format|
format.json do
render json: {list_active: false} and return unless session[:active_list_id].present?
active_list.needs_payment = true
active_list.save
render json: active_list.as_json.merge(list_active: true)
end
end
end
end end
+6 -6
View File
@@ -33,15 +33,15 @@ table#active-order-table.table.table-striped.hide
body.append('<tr><td colspan="3"><h4>'+category+'<h4></td></tr>'); body.append('<tr><td colspan="3"><h4>'+category+'<h4></td></tr>');
var category_ref = window.products[category]; var category_ref = window.products[category];
for(var iproduct = 0; iproduct < window.products[category].length; iproduct++){ for(var iproduct = 0; iproduct < window.products[category].length; iproduct++){
var product_index = iproduct; var product = window.products[category][iproduct];
row = $('<tr></tr>'); row = $('<tr></tr>');
button = $('<button class="btn btn-mini btn-primary">Add</button>'); button = $('<button class="btn btn-mini btn-primary">Add</button>');
var callback = (function(ref){ var callback = (function(prod){
return function(){ Qrammer.add_product(ref[product_index]) } return function(){ Qrammer.add_product(prod) }
})(category_ref) })(product)
button.click(callback); button.click(callback);
row.append('<td>'+window.products[category][iproduct].name+'</td>'); row.append('<td>'+product.name+'</td>');
row.append('<td>'+Qrammer.currency(window.products[category][iproduct].price)+'</td>'); row.append('<td>'+Qrammer.currency(product.price)+'</td>');
row.append($('<td></td>').append(button)); row.append($('<td></td>').append(button));
body.append(row); body.append(row);
} }
+1 -1
View File
@@ -29,10 +29,10 @@ html lang="en"
span.icon-bar span.icon-bar
span.icon-bar span.icon-bar
a.brand href=supplier_root_path Qrammer a.brand href=supplier_root_path Qrammer
.container.nav-collapse-disabled
ul.nav#top-navigation-list ul.nav#top-navigation-list
li= link_to t('supplier.menu.active_orders', orders: Order.model_name.human_plural), supplier_orders_path li= link_to t('supplier.menu.active_orders', orders: Order.model_name.human_plural), supplier_orders_path
li= link_to t('supplier.menu.active_lists', lists: List.model_name.human_plural), supplier_lists_path li= link_to t('supplier.menu.active_lists', lists: List.model_name.human_plural), supplier_lists_path
.container.nav-collapse
.container .container
+3 -3
View File
@@ -4,10 +4,10 @@
= f.label :state, class: 'control-label' = f.label :state, class: 'control-label'
.controls .controls
= f.text_field :state, class: 'text_field' = f.text_field :state, class: 'text_field'
.control-group class=(@list.errors[:need_help].any? ? 'error' : nil) .control-group class=(@list.errors[:needs_help].any? ? 'error' : nil)
= f.label :need_help, class: 'control-label' = f.label :needs_help, class: 'control-label'
.controls .controls
= f.check_box :need_help, class: 'check_box' = f.check_box :needs_help, class: 'check_box'
.control-group class=(@list.errors[:needs_payment].any? ? 'error' : nil) .control-group class=(@list.errors[:needs_payment].any? ? 'error' : nil)
= f.label :needs_payment, class: 'control-label' = f.label :needs_payment, class: 'control-label'
.controls .controls
+2 -2
View File
@@ -5,7 +5,7 @@ div.page-header= title :index, model_class
thead thead
tr tr
th= model_class.human_attribute_name(:state) th= model_class.human_attribute_name(:state)
th= model_class.human_attribute_name(:need_help) th= model_class.human_attribute_name(:needs_help)
th= model_class.human_attribute_name(:needs_payment) th= model_class.human_attribute_name(:needs_payment)
th= model_class.human_attribute_name(:closed_at) th= model_class.human_attribute_name(:closed_at)
th= Table.model_name.human th= Table.model_name.human
@@ -15,7 +15,7 @@ div.page-header= title :index, model_class
- @lists.each do |list| - @lists.each do |list|
tr tr
td= link_to list.state, list td= link_to list.state, list
td= list.need_help td= list.needs_help
td= list.needs_payment td= list.needs_payment
td= list.closed_at td= list.closed_at
td= link_to_if list.table.present?, list.table.try(:number), list.table td= link_to_if list.table.present?, list.table.try(:number), list.table
+2 -2
View File
@@ -4,8 +4,8 @@
dl.dl-horizontal.show-list dl.dl-horizontal.show-list
dt= model_class.human_attribute_name(:state) dt= model_class.human_attribute_name(:state)
dd= @list.state dd= @list.state
dt= model_class.human_attribute_name(:need_help) dt= model_class.human_attribute_name(:needs_help)
dd= @list.need_help dd= @list.needs_help
dt= model_class.human_attribute_name(:needs_payment) dt= model_class.human_attribute_name(:needs_payment)
dd= @list.needs_payment dd= @list.needs_payment
dt= model_class.human_attribute_name(:closed_at) dt= model_class.human_attribute_name(:closed_at)
+1 -1
View File
@@ -1,4 +1,4 @@
.page-header= title 'Active lists' .page-header= title t('supplier.active_lists.title', lists: List.model_name.human_plural)
table#active-lists-table.table.table-striped table#active-lists-table.table.table-striped
thead thead
tr tr
+2
View File
@@ -51,6 +51,8 @@ en:
supplier: supplier:
menu: menu:
active_lists: Active %{lists} active_lists: Active %{lists}
active_lists:
title: Active %{lists}
user: user:
active_list: active_list:
title: Active %{list} title: Active %{list}
+1
View File
@@ -38,6 +38,7 @@ Qrammer::Application.routes.draw do
match '/user_history' => 'dashboard#user_history', as: :user_history match '/user_history' => 'dashboard#user_history', as: :user_history
match '/show_products' => 'dashboard#show_products', as: :user_products match '/show_products' => 'dashboard#show_products', as: :user_products
post '/active_user_list_needs_help' => 'dashboard#active_user_list_needs_help', as: :active_user_list_needs_help post '/active_user_list_needs_help' => 'dashboard#active_user_list_needs_help', as: :active_user_list_needs_help
post '/active_user_list_needs_payment' => 'dashboard#active_user_list_needs_payment', as: :active_user_list_needs_payment
match "/:action", controller: 'dashboard' match "/:action", controller: 'dashboard'
# The priority is based upon order of creation: # The priority is based upon order of creation: