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()
)
handle_active_user_list_default_actions: ->
Qrammer.list_needs_payment_default_action()
Qrammer.list_needs_help_default_action()
list_needs_help_default_action: ->
needs_help_container = $('#list-needs-help-button')
if needs_help_container.length
if window.active_list.needs_help
needs_help_container.html('Help requested')
needs_help_container.html('<i class="icon-hand-up"></i>')
else
needs_help_container.html($('<button class="btn btn-info">I have a question</button>').click(Qrammer.list_needs_help)) #TODO TEXT
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())
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) ->
$.get('/suppliers/'+supplier_id+'/active_lists.json', (res) ->
@@ -158,6 +169,8 @@ root.Qrammer =
)
active_user_list: (list_id) ->
$.get('/lists/'+list_id+'/current.json', (res) ->
window.active_list = res
Qrammer.handle_active_user_list_default_actions()
body = $('#active-list-table tbody')
foot = $('#active-list-table tfoot')
body.find('tr').remove()
@@ -66,6 +66,10 @@ table
#list-needs-help-button
button
margin-left: 5px
i
padding-left: 5px
#list-needs-payment-button
button
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)
end
# POST /active_user_list_needs_help
# POST /active_user_list_needs_help.json
def active_user_list_needs_help
respond_to do |format|
format.json do
@@ -91,4 +91,16 @@ class DashboardController < ApplicationController
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
+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>');
var category_ref = window.products[category];
for(var iproduct = 0; iproduct < window.products[category].length; iproduct++){
var product_index = iproduct;
var product = window.products[category][iproduct];
row = $('<tr></tr>');
button = $('<button class="btn btn-mini btn-primary">Add</button>');
var callback = (function(ref){
return function(){ Qrammer.add_product(ref[product_index]) }
})(category_ref)
var callback = (function(prod){
return function(){ Qrammer.add_product(prod) }
})(product)
button.click(callback);
row.append('<td>'+window.products[category][iproduct].name+'</td>');
row.append('<td>'+Qrammer.currency(window.products[category][iproduct].price)+'</td>');
row.append('<td>'+product.name+'</td>');
row.append('<td>'+Qrammer.currency(product.price)+'</td>');
row.append($('<td></td>').append(button));
body.append(row);
}
+1 -1
View File
@@ -29,10 +29,10 @@ html lang="en"
span.icon-bar
span.icon-bar
a.brand href=supplier_root_path Qrammer
.container.nav-collapse-disabled
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_lists', lists: List.model_name.human_plural), supplier_lists_path
.container.nav-collapse
.container
+3 -3
View File
@@ -4,10 +4,10 @@
= f.label :state, class: 'control-label'
.controls
= f.text_field :state, class: 'text_field'
.control-group class=(@list.errors[:need_help].any? ? 'error' : nil)
= f.label :need_help, class: 'control-label'
.control-group class=(@list.errors[:needs_help].any? ? 'error' : nil)
= f.label :needs_help, class: 'control-label'
.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)
= f.label :needs_payment, class: 'control-label'
.controls
+2 -2
View File
@@ -5,7 +5,7 @@ div.page-header= title :index, model_class
thead
tr
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(:closed_at)
th= Table.model_name.human
@@ -15,7 +15,7 @@ div.page-header= title :index, model_class
- @lists.each do |list|
tr
td= link_to list.state, list
td= list.need_help
td= list.needs_help
td= list.needs_payment
td= list.closed_at
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
dt= model_class.human_attribute_name(:state)
dd= @list.state
dt= model_class.human_attribute_name(:need_help)
dd= @list.need_help
dt= model_class.human_attribute_name(:needs_help)
dd= @list.needs_help
dt= model_class.human_attribute_name(:needs_payment)
dd= @list.needs_payment
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
thead
tr
+2
View File
@@ -51,6 +51,8 @@ en:
supplier:
menu:
active_lists: Active %{lists}
active_lists:
title: Active %{lists}
user:
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 '/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_payment' => 'dashboard#active_user_list_needs_payment', as: :active_user_list_needs_payment
match "/:action", controller: 'dashboard'
# The priority is based upon order of creation: