Fixes for event stream and section view actions

This commit is contained in:
2014-07-28 15:13:18 +02:00
parent 2c4c51fe77
commit 48e1850200
17 changed files with 76 additions and 40 deletions
@@ -5,7 +5,7 @@ Qsupplier.App.Table = DS.Model.extend
height: attr 'number'
position_x: attr 'number'
position_y: attr 'number'
occupied: attr 'boolean'
# occupied: attr 'boolean'
section: DS.belongsTo('section')
#active_list: DS.belongsTo('list', key: 'active_list')
active_list: DS.belongsTo('list')
@@ -13,3 +13,4 @@ Qsupplier.App.Table = DS.Model.extend
#active_list: (->
#@get('list')
#).property('list')
occupied: (-> !!@get('active_list')).property('active_list.id')
@@ -1,5 +1,6 @@
Qsupplier.App.ApplicationView = Ember.View.extend
didInsertElement: ->
Qsupplier.watch_events()
selector_mappings =
'.top-menu-root': '/'
'.top-menu-lists': 'lists'
@@ -22,7 +22,7 @@ Qsupplier.App.SectionTableView = Ember.View.extend DragNDrop.Draggable,
(@content.get('position_y') || 0) * @containerHeight() / section_height
).property('content.section.height', 'content.position_y')
style: (->
style: (->
"position:absolute;width:83px;height:48px;left:#{@get('offsetX')}px;top:#{@get('offsetY')}px"
).property('offsetX', 'offsetY')
@@ -48,11 +48,11 @@ Qsupplier.App.SectionTableView = Ember.View.extend DragNDrop.Draggable,
@$el = @$()
#@$('.table-actions').hide()
#title = @$('.table-actions .title').clone()
content = @$('.table-actions')
@$('.table-actions').hide()
#@$('.table-actions .title').remove()
content.hide()
@$el.on 'click', =>
content.toggle() if @$el.hasClass('occupied') and not @get('controller.editmode')
# duplication of .table-actions because variable gets unshadowed
@$('.table-actions').toggle() if @$el.hasClass('occupied') and not @get('controller.editmode')
#@$el.qtip
#content:
#text: content
@@ -2,7 +2,7 @@ root = exports ? this
root.Qsupplier=
watch_events: ->
faye = new Faye.Client(event_host)
faye.subscribe "/supplier/"+supplier_id, (e)=>
faye.subscribe "/supplier/#{supplier_id}", (e)=>
console.log "Event: #{e.event}"
console.log e.data
if(e.event == 'new_order')
@@ -14,14 +14,17 @@ root.Qsupplier=
# console.log "Ugly ember fix for adding order #{e.data.order.id} as relation to its list"
list = order.get('list')
list.get('orders').addRecord order
if table = list.get('table')
if table.get('active_list') isnt list
table.set 'active_list', list
, 200
else if(e.event == 'list_needs_help')
if Qsupplier.App and list = Qsupplier.App.List.findCached(e.data.id)
list.markNeedsHelp()
# old stuff
$('#list-needs-help-indicator-'+e.data.id).removeClass('hide')
$('#list-is-helped-button-'+e.data.id).removeClass('hide')
$('.section-table-list-'+e.data.id).addClass('needs_help')
# $('#list-needs-help-indicator-'+e.data.id).removeClass('hide')
# $('#list-is-helped-button-'+e.data.id).removeClass('hide')
# $('.section-table-list-'+e.data.id).addClass('needs_help')
else if(e.event == 'list_needs_payment')
if Qsupplier.App and list = Qsupplier.App.List.findCached(e.data.id)
list.markNeedsPayment()
@@ -34,7 +37,6 @@ root.Qsupplier=
else if e.event == 'list_update'
if Qsupplier.App
list = Qsupplier.App.List.updateOrAdd(e.data.list)
debugger
else if e.event == 'list_closed'
if Qsupplier.App and list = Qsupplier.App.List.findCached(e.data.id)
list.markClosed()
@@ -48,10 +50,10 @@ root.Qsupplier=
if Qsupplier.App and list = Qsupplier.App.List.findCached(e.data.id)
list.markHelped()
list_id = e.data.id
$('#list-needs-help-indicator-'+list_id).addClass('hide')
$('#list-is-helped-button-'+list_id).addClass('hide')
$('.section-table-list-'+list_id).removeClass('needs_help')
# list_id = e.data.id
# $('#list-needs-help-indicator-'+list_id).addClass('hide')
# $('#list-is-helped-button-'+list_id).addClass('hide')
# $('.section-table-list-'+list_id).removeClass('needs_help')
else if e.event == 'order_being_processed'
if Qsupplier.App and order = Qsupplier.App.Order.findCached(e.data.id)
order.markActive()
@@ -22,7 +22,7 @@ App.ApplicationSerializer = DS.ActiveModelSerializer.extend
else
@_super record, json, relationship
App.Store = DS.Store.extend
App.ApplicationStore = DS.Store.extend
adapter: DS.RESTAdapter.extend
namespace: 'user'
# user underscored paths
+6 -6
View File
@@ -30,19 +30,19 @@ class List
view :active_by_table_id_view, type: :custom, map_function: %|function(doc){
if(doc.ruby_class == 'List' && doc.state == 'active'){
emit(doc.table_id, 1);
emit(doc.table_id, 1);
}
}|, reduce_function: '_sum'
view :active_by_supplier_id_view, type: :custom, map_function: %|function(doc){
if(doc.ruby_class == 'List' && doc.state == 'active'){
emit(doc.supplier_id, 1);
emit(doc.supplier_id, 1);
}
}|, reduce_function: '_sum'
view :active_by_section_id_view, type: :custom, map_function: %|function(doc){
if(doc.ruby_class == 'List' && doc.state == 'active' && doc.section_id){
emit(doc.section_id, 1);
emit(doc.section_id, 1);
}
}|, reduce_function: '_sum'
@@ -50,7 +50,7 @@ class List
if(doc.ruby_class == 'List' && doc.state == 'active'){
emit([doc.supplier_id, doc.section_id], 1);
}
}], reduce_function: '_sum'
}], reduce_function: '_sum'
view :for_user_view, type: :custom, map_function: %|function(doc){
if(doc.ruby_class == 'List' && doc.user_ids && doc.user_ids.length){
@@ -219,7 +219,7 @@ class List
def approve_join_request_for_user!(user)
if join_request_user_ids.include?(user.id)
join_request_user_ids.delete(user.id)
user.active_list_id = self.id
user.active_list_id = self.id
add_user(user)
user.save
self.is_dirty
@@ -342,7 +342,7 @@ class List
ho[:state] = order.state
list_total += ho[:total_amount]
h[:orders] << ho
end
end
h[:total_amount] = list_total.round(2)
@with_orders_as_json = h
end
@@ -1,7 +1,7 @@
class SupplierExtendedTableSerializer < Qwaiter::Serializer
root 'table'
embed :ids, include: true
attributes :number, :width, :height, :position_x, :position_y, :section_id, :occupied, :active_list_id
attributes :number, :width, :height, :position_x, :position_y, :section_id, :active_list_id
#def list_id
#object.active_list_id || object.active_list.try(:id)
+1 -1
View File
@@ -1,6 +1,6 @@
class SupplierTableSerializer < Qwaiter::Serializer
self.root = :table
embed :ids, include: true
attributes :number, :width, :height, :position_x, :position_y, :section_id, :occupied, :needs_help
attributes :number, :width, :height, :position_x, :position_y, :section_id, :needs_help
has_one :supplier, serializer: SupplierSupplierSerializer
end
+1 -1
View File
@@ -1,6 +1,6 @@
- content_for :head do
= javascript_include_tag 'supplier/app/application'
- content_for :footer do
/- content_for :footer do
javascript:
$(function(){
Qsupplier.watch_events();
@@ -1,4 +1,4 @@
-# DEPRICATED
-# DEPRICATED now in ember app
ul#table-actions-list
- if @list
- if @list.needs_help?
@@ -1,4 +1,4 @@
- model_class = Section
/- model_class = Section
- content_for :head do
= javascript_include_tag 'supplier/app/application'
/- content_for :row do
@@ -8,7 +8,7 @@
.section-manage-tables.pull-right= link_to content_tag(:span, '', class: 'icon-pencil'), manage_tables_suppliers_section_path(@section), class: 'btn btn-mini'
- for table in @tables
.section-table.hide[
class="section-table-list-#{table.active_list_id}" id="section-table-#{table.id}"
class="section-table-list-#{table.active_list_id}" id="section-table-#{table.id}"
data-position-x=table.position_x data-position-y=table.position_y data-table-id=table.id]
.table-number = table.number
.status-icons
@@ -19,7 +19,7 @@
- @tables.each do |table|
.section-table-menu-content class="section-table-menu-#{table.id} section-table-list-#{table.active_list_id}"
button.btn.btn-info.list-is-helped.hide Question answered!
#add-tables-modal.modal.hide.fade tabindex=-1 role=:dialog aria-labeledby='add-tables-modal-label' aria-hidden=true
/#add-tables-modal.modal.hide.fade tabindex=-1 role=:dialog aria-labeledby='add-tables-modal-label' aria-hidden=true
.modal-header
button.close type=:button data-dismiss=:modal aria-hidden=true x
h3#add-tables-modal-label data-t='section.add_tables.modal.title' = t('supplier.section.add_tables.modal.title')
@@ -37,7 +37,7 @@
.modal-footer
button.btn data-dismiss="modal" aria-hidden=true data-t='section.add_tables.modal.close_button'
button.btn.btn-primary onclick="Qsupplier.add_tables_to_active_section()" data-t='section.add_tables.modal.add_button'
#arrange-tables-modal.modal.hide.fade tabindex=-1 role=:dialog aria-labeledby='add-tables-modal-label' aria-hidden=true
/#arrange-tables-modal.modal.hide.fade tabindex=-1 role=:dialog aria-labeledby='add-tables-modal-label' aria-hidden=true
button.close type=:button data-dismiss=:modal aria-hidden=true x
h3#arrange-tables-modal-label data-t='section.arrange_tables.modal.title' = t('supplier.section.arrange_tables.modal.title')
.modal-body
@@ -66,7 +66,7 @@
.modal-footer
button.btn data-dismiss="modal" aria-hidden=true data-t='section.arrange_tables.modal.close_button'
button.btn.btn-primary onclick="Qsupplier.arrange_tables_of_active_section()" data-t='section.arrange_tables.modal.arrange_button'
- content_for :footer do
/- content_for :footer do
javascript:
var current_section_id = '#{@section.id}';
var current_section_width = #{@section.width};
@@ -93,7 +93,7 @@
container.html(data); // Create a container to parse translation data
setTranslations(container);
this.set('content.text', container.html());
},
},
once: false
},
title: {