major usability improvements

This commit is contained in:
2015-08-18 16:00:10 +02:00
parent 9cadc3e94f
commit 8a5c2e5b74
47 changed files with 423 additions and 178 deletions
+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve"><polygon points="6.375,50 2,50 7.056,76 7,76 7,96 11,96 11,77 26,77 26,96 30,96 30,77 30,76 30,74 11.625,74 "></polygon><polygon points="99,50 94.625,50 89.375,74 71,74 71,76 71,77 71,96 75,96 75,77 90,77 90,96 94,96 94,76 93.944,76 "></polygon><path d="M61.278,53c0.018,0,0.037-0.462,0.037-0.711c0-5.012-3.576-9.176-8.315-10.105V40h-3v2.037 c-5.228,0.501-9.316,4.886-9.316,10.245c0,0.249,0.02,0.718,0.037,0.718H61.278z"></path><rect x="37" y="54" width="29" height="2"></rect><path d="M19,45l0.006,0.053C19.007,45.021,19.008,45,19.009,45H19z"></path><path d="M84.138,45c0.001,0,0.001,0.021,0.003,0.053L84.146,45H84.138z"></path><path d="M86.772,57H15.227C13.445,57,12,57.5,12,58.117v0.766C12,59.5,13.445,60,15.227,60H38v36h26V60h22.772 C88.555,60,90,59.5,90,58.883v-0.766C90,57.5,88.555,57,86.772,57z"></path><path d="M24.6,56h-2.08l0.202-6.149c2.07-0.243,3.678-1.926,3.678-3.928c0-0.18-2.1-6.923-2.1-6.923h-4.2c0,0-2.1,6.509-2.1,6.873 c0,2.002,1.608,3.736,3.679,3.979L21.88,56H19.8c-0.332,0-0.6,0.168-0.6,0.5s0.268,0.5,0.6,0.5h2.12h0.56h2.12 c0.332,0,0.6-0.168,0.6-0.5S24.932,56,24.6,56z M20.482,40h3.436c0,0,0.642,2,1.142,4h-5.741C19.822,42,20.482,40,20.482,40z"></path><path d="M82.6,56h-2.08l0.202-6.149c2.069-0.243,3.679-1.926,3.679-3.928C84.4,45.743,82.3,39,82.3,39h-4.2c0,0-2.1,6.509-2.1,6.873 c0,2.002,1.608,3.736,3.679,3.979L79.88,56H77.8c-0.331,0-0.6,0.168-0.6,0.5s0.269,0.5,0.6,0.5h2.12h0.561H82.6 c0.332,0,0.601-0.168,0.601-0.5S82.932,56,82.6,56z M78.482,40h3.436c0,0,0.643,2,1.143,4h-5.742C77.822,42,78.482,40,78.482,40z"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+53
View File
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 100 100"
enable-background="new 0 0 100 100"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="table-current.svg"><metadata
id="metadata26"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs24" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1028"
id="namedview22"
showgrid="false"
inkscape:zoom="8.91"
inkscape:cx="50"
inkscape:cy="50"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" /><path
d="m 18.772985,24.22815 0.006,0.053 c 0.001,-0.032 0.002,-0.053 0.003,-0.053 l -0.009,0 z"
id="path12"
inkscape:connector-curvature="0"
style="fill:#ffcc33;fill-opacity:1" /><path
d="m 83.910985,24.22815 c 0.001,0 0.001,0.021 0.003,0.053 l 0.005,-0.053 -0.008,0 z"
id="path14"
inkscape:connector-curvature="0"
style="fill:#ffcc33;fill-opacity:1" /><path
d="m 95.962849,26.023837 -91.7430991,0 c -2.2850822,0 -4.13802483,0.641157 -4.13802483,1.432344 l 0,0.982252 c 0,0.791187 1.85294263,1.432344 4.13802483,1.432344 l 29.2021191,0 0,46.163276 33.340144,0 0,-46.163276 29.200836,0 c 2.286365,0 4.139311,-0.641157 4.139311,-1.432344 l 0,-0.982252 c 0,-0.791187 -1.852946,-1.432344 -4.139311,-1.432344 z"
id="path16"
inkscape:connector-curvature="0"
style="fill:#ffcc33;fill-opacity:1" /></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

+53
View File
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 100 100"
enable-background="new 0 0 100 100"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="table-green.svg"><metadata
id="metadata26"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs24" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1028"
id="namedview22"
showgrid="false"
inkscape:zoom="8.91"
inkscape:cx="50"
inkscape:cy="50"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" /><path
d="m 18.772985,24.22815 0.006,0.053 c 0.001,-0.032 0.002,-0.053 0.003,-0.053 l -0.009,0 z"
id="path12"
inkscape:connector-curvature="0"
style="fill:#008349;fill-opacity:1" /><path
d="m 83.910985,24.22815 c 0.001,0 0.001,0.021 0.003,0.053 l 0.005,-0.053 -0.008,0 z"
id="path14"
inkscape:connector-curvature="0"
style="fill:#008349;fill-opacity:1" /><path
d="m 95.962849,26.023837 -91.7430991,0 c -2.2850822,0 -4.13802483,0.641157 -4.13802483,1.432344 l 0,0.982252 c 0,0.791187 1.85294263,1.432344 4.13802483,1.432344 l 29.2021191,0 0,46.163276 33.340144,0 0,-46.163276 29.200836,0 c 2.286365,0 4.139311,-0.641157 4.139311,-1.432344 l 0,-0.982252 c 0,-0.791187 -1.852946,-1.432344 -4.139311,-1.432344 z"
id="path16"
inkscape:connector-curvature="0"
style="fill:#008349;fill-opacity:1" /></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

+53
View File
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 100 100"
enable-background="new 0 0 100 100"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="table-white.svg"><metadata
id="metadata26"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs24" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1028"
id="namedview22"
showgrid="false"
inkscape:zoom="8.91"
inkscape:cx="50"
inkscape:cy="50"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" /><path
d="m 18.772985,24.22815 0.006,0.053 c 0.001,-0.032 0.002,-0.053 0.003,-0.053 l -0.009,0 z"
id="path12"
inkscape:connector-curvature="0"
style="fill:#008349;fill-opacity:1" /><path
d="m 83.910985,24.22815 c 0.001,0 0.001,0.021 0.003,0.053 l 0.005,-0.053 -0.008,0 z"
id="path14"
inkscape:connector-curvature="0"
style="fill:#008349;fill-opacity:1" /><path
d="m 95.962849,26.023837 -91.7430991,0 c -2.2850822,0 -4.13802483,0.641157 -4.13802483,1.432344 l 0,0.982252 c 0,0.791187 1.85294263,1.432344 4.13802483,1.432344 l 29.2021191,0 0,46.163276 33.340144,0 0,-46.163276 29.200836,0 c 2.286365,0 4.139311,-0.641157 4.139311,-1.432344 l 0,-0.982252 c 0,-0.791187 -1.852946,-1.432344 -4.139311,-1.432344 z"
id="path16"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" /></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

+53
View File
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 100 100"
enable-background="new 0 0 100 100"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="table.svg"><metadata
id="metadata26"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs24" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1028"
id="namedview22"
showgrid="false"
inkscape:zoom="8.91"
inkscape:cx="50"
inkscape:cy="50"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" /><path
d="m 18.772985,24.22815 0.006,0.053 c 0.001,-0.032 0.002,-0.053 0.003,-0.053 l -0.009,0 z"
id="path12"
inkscape:connector-curvature="0"
style="fill:#ffcc33;fill-opacity:1" /><path
d="m 83.910985,24.22815 c 0.001,0 0.001,0.021 0.003,0.053 l 0.005,-0.053 -0.008,0 z"
id="path14"
inkscape:connector-curvature="0"
style="fill:#ffcc33;fill-opacity:1" /><path
d="m 95.962849,26.023837 -91.7430991,0 c -2.2850822,0 -4.13802483,0.641157 -4.13802483,1.432344 l 0,0.982252 c 0,0.791187 1.85294263,1.432344 4.13802483,1.432344 l 29.2021191,0 0,46.163276 33.340144,0 0,-46.163276 29.200836,0 c 2.286365,0 4.139311,-0.641157 4.139311,-1.432344 l 0,-0.982252 c 0,-0.791187 -1.852946,-1.432344 -4.139311,-1.432344 z"
id="path16"
inkscape:connector-curvature="0"
style="fill:#000000;fill-opacity:1" /></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -2,6 +2,6 @@ Ember.Handlebars.helper 't', (path, params..., options)->
toptions = options.hash toptions = options.hash
if params.length and typeof(params[0].serialize) is 'function' if params.length and typeof(params[0].serialize) is 'function'
$.extend toptions, params[0].serialize() $.extend toptions, params[0].serialize()
text = t(path, options.hash) text = t(path, toptions)
tag = if options.hash.bare then text else "<span data-t='#{path}' class='translation' data-t-attributes='#{JSON.stringify(options.hash)}'>#{text}</span>" tag = if options.hash.bare then text else "<span data-t='#{path}' class='translation' data-t-attributes='#{JSON.stringify(toptions)}'>#{text}</span>"
tag.htmlSafe() tag.htmlSafe()
@@ -4,16 +4,16 @@ App.ApplicationController = Ember.Controller.extend
#success = (supplier)=> #success = (supplier)=>
## A supplier record with id current and with the content of the returned supplier is created ## A supplier record with id current and with the content of the returned supplier is created
## at the moment remove the dummy supplier, this should be resolved by Ember eventually ## at the moment remove the dummy supplier, this should be resolved by Ember eventually
#if error_supplier = @store.all('supplier').findBy('id', 'current') #if error_supplier = @store.peekAll('supplier').findBy('id', 'current')
#error_supplier.eraseRecord() #error_supplier.eraseRecord()
#@set 'supplier', supplier #@set 'supplier', supplier
#error = (emberError)=> #error = (emberError)=>
#if error_supplier = @store.all('supplier').findBy('id', 'current') #if error_supplier = @store.peekAll('supplier').findBy('id', 'current')
#error_supplier.eraseRecord() #error_supplier.eraseRecord()
#@set 'supplier', null #@set 'supplier', null
#@store.find('supplier', 'current').then success, error #@store.findRecord('supplier', 'current').then success, error
# @set 'supplier', @store.find('supplier', supplier_id) # @set 'supplier', @store.findRecord('supplier', supplier_id)
#current_employee: (-> @get('employee') ).property('employee') #current_employee: (-> @get('employee') ).property('employee')
actions: actions:
signOut: -> signOut: ->
@@ -2,9 +2,9 @@ App.IndexController = Ember.Controller.extend
needs: ['application'] needs: ['application']
show_lists: true show_lists: true
show_orders: true show_orders: true
lists: (-> @store.all('list')).property() lists: (-> @store.peekAll('list')).property()
orders: (-> @store.all('order')).property() orders: (-> @store.peekAll('order')).property()
sections: (-> @store.all('section')).property() sections: (-> @store.peekAll('section')).property()
active_section: Ember.computed.alias 'globals.active_section' active_section: Ember.computed.alias 'globals.active_section'
active_lists: (-> active_lists: (->
if section_id = @get('active_section.id') if section_id = @get('active_section.id')
@@ -2,12 +2,12 @@ App.ListsIndexController = Ember.Controller.extend
loading: true loading: true
dateChanged: (-> dateChanged: (->
@set 'loading', true @set 'loading', true
lists = if @get('date') then @store.find('list', date: @get('date')) else @store.find('list') lists = if @get('date') then @store.findAll('list', date: @get('date')) else @store.findAll('list')
lists.then => @set('loading', false) lists.then => @set('loading', false)
@set 'model', lists @set 'model', lists
).observes('date') ).observes('date')
lists: (-> lists: (->
return @store.all('list') unless date = @get('date') return @store.peekAll('list') unless date = @get('date')
@store.filter('list', (l)-> @store.filter('list', (l)->
return false unless list_date = l.get('created_at') return false unless list_date = l.get('created_at')
list_date = list_date.toISOString().substring(0,10) if typeof(list_date) is 'object' list_date = list_date.toISOString().substring(0,10) if typeof(list_date) is 'object'
@@ -1,7 +1,7 @@
App.MenuController = Ember.Controller.extend App.MenuController = Ember.Controller.extend
needs: ['application'] needs: ['application']
product_code_filter: '' product_code_filter: ''
product_categories: (-> @store.all('product_category')).property() product_categories: (-> @store.peekAll('product_category')).property()
filter: null filter: null
sorted_product_categories: (-> sorted_product_categories: (->
list = @get('product_categories') list = @get('product_categories')
@@ -1,6 +1,6 @@
App.modals.AddSectionElementController = @App.modals.BaseController.extend App.modals.AddSectionElementController = @App.modals.BaseController.extend
title_path: 'section_element.modal.title' title_path: 'section_element.modal.title'
svg_elements: (-> @store.find 'svg_element').property() svg_elements: (-> @store.findAll 'svg_element').property()
actions: actions:
addSectionElement: (svg_element)-> addSectionElement: (svg_element)->
section_element = @store.createRecord 'section-element' section_element = @store.createRecord 'section-element'
@@ -18,7 +18,8 @@ App.modals.ProductCategoryMoveController = App.modals.BaseController.extend
@send 'close' @send 'close'
product_categories: (-> product_categories: (->
@store.all('product_category').filter( (pc) => pc.id isnt @get('model.id')).sortBy('position') # do not return self, since place below should not include self option
@store.peekAll('product_category').rejectBy('id', @get('model.id')).sortBy('position')
).property('model.id') ).property('model.id')
sortableUpdate: (ids)-> sortableUpdate: (ids)->
@@ -2,7 +2,7 @@ App.modals.SelectEmployeeController = App.modals.BaseController.extend
employee: null employee: null
title_path: 'employee.select_modal.title' title_path: 'employee.select_modal.title'
employees: (-> @get('all_employees').filterBy('active') ).property('all_employees.@each.active') employees: (-> @get('all_employees').filterBy('active') ).property('all_employees.@each.active')
all_employees: (-> @store.all('employee')).property() all_employees: (-> @store.peekAll('employee')).property()
actions: actions:
selectEmployee: (employee)-> selectEmployee: (employee)->
@set 'employee', employee @set 'employee', employee
@@ -1,7 +1,7 @@
App.OrdersDisplayController = Ember.Controller.extend App.OrdersDisplayController = Ember.Controller.extend
needs: ['application'] needs: ['application']
active_section: null active_section: null
sections: (-> @store.all('section') ).property() sections: (-> @store.peekAll('section') ).property()
orders: Ember.computed 'model.[]', 'active_section.id', -> orders: Ember.computed 'model.[]', 'active_section.id', ->
orders = @get('model').filterBy('needs_supplier_attention') orders = @get('model').filterBy('needs_supplier_attention')
orders = orders.filterBy('section.id', id) if id = @get('active_section.id') orders = orders.filterBy('section.id', id) if id = @get('active_section.id')
@@ -1,6 +1,6 @@
App.ScheduleController = Ember.Controller.extend App.ScheduleController = Ember.Controller.extend
event_changed: (event)-> event_changed: (event)->
@store.find('employee-shift', event.id).then (employee_shift)-> @store.findRecord('employee-shift', event.id).then (employee_shift)->
employee_shift.set 'start_from', event.start employee_shift.set 'start_from', event.start
employee_shift.set 'end_on', event.end employee_shift.set 'end_on', event.end
employee_shift.save() employee_shift.save()
@@ -10,7 +10,7 @@ ControllerExtensions = Ember.Mixin.create
options.model ||= Ember.Object.create() options.model ||= Ember.Object.create()
@send "openModal", name, options @send "openModal", name, options
all_sections: (-> @store.all('section')).property() all_sections: (-> @store.peekAll('section')).property()
#current_employee: (-> @get('controllers.application.employee') ).property('controllers.application.employee') #current_employee: (-> @get('controllers.application.employee') ).property('controllers.application.employee')
Ember.Controller.reopen ControllerExtensions Ember.Controller.reopen ControllerExtensions
@@ -14,7 +14,7 @@ DS.Model.reopen
DS.Model.reopenClass DS.Model.reopenClass
findCached: (id)-> findCached: (id)->
return null unless id return null unless id
@store.all(@typeKey).findProperty('id', id) @store.peekRecord(@typeKey, id)
updateOrAdd: (attributes)-> updateOrAdd: (attributes)->
if cached = @findCached(attributes.id) if cached = @findCached(attributes.id)
@@ -23,12 +23,12 @@ DS.Model.reopenClass
relation = relation[0] relation = relation[0]
if relation.kind == 'belongsTo' if relation.kind == 'belongsTo'
if id = attributes["#{relation.name}_id"] if id = attributes["#{relation.name}_id"]
@store.find(relation.name, id).then (relation_object)-> @store.findAll(relation.name, id).then (relation_object)->
cached.set relation.name, relation_object cached.set relation.name, relation_object
cached.setProperties attributes cached.setProperties attributes
cached cached
else else
#@store.find(@, attributes.id) #@store.findRecord(@, attributes.id)
@pushByAttriburtes(attributes) @pushByAttriburtes(attributes)
pushByAttriburtes: (attributes, options = {})-> pushByAttriburtes: (attributes, options = {})->
#store = @all().get('store') #store = @all().get('store')
@@ -58,7 +58,7 @@ DS.Model.reopenClass
#relation = relation[0] #relation = relation[0]
#if relation.kind == 'belongsTo' and id = attributes["#{relation.name}_id"] #if relation.kind == 'belongsTo' and id = attributes["#{relation.name}_id"]
#attributes[relation.name] = id #attributes[relation.name] = id
#promises.push @store.find(relation.name, id) #promises.push @store.findRecord(relation.name, id)
#association_names.push relation.name #association_names.push relation.name
#Ember.RSVP.all(promises).then (records)-> #Ember.RSVP.all(promises).then (records)->
#for record, i in records #for record, i in records
@@ -20,7 +20,7 @@ App.Router.map ->
@route 'menu' @route 'menu'
@route 'settings' @route 'settings'
@route 'schedule' @route 'schedule'
@route 'my_account' @route 'my-account'
@route 'my-schedule' @route 'my-schedule'
@route 'empty' @route 'empty'
#@resource 'lists', queryParams: ['state'] #@resource 'lists', queryParams: ['state']
@@ -3,18 +3,18 @@ App.ApplicationRoute = Ember.Route.extend
# Preload only active lists and orders # Preload only active lists and orders
@supplier = @store.push 'supplier', supplier_object @supplier = @store.push 'supplier', supplier_object
@employee = @store.push 'employee', employee_object @employee = @store.push 'employee', employee_object
#@product_categories = @store.find 'product_category' #@product_categories = @store.findAll 'product_category'
#@sections = @store.find 'section' #@sections = @store.findAll 'section'
#Ember.RSVP.all([@product_categories, @sections]).then (results)=> #Ember.RSVP.all([@product_categories, @sections]).then (results)=>
@supplier.reload().then => @supplier.reload().then =>
@store.find('list', state: 'active') #.then (lists) -> lists.invoke('get', 'table') @store.findAll('list', state: 'active') #.then (lists) -> lists.invoke('get', 'table')
#@lists = @store.all 'list' #@lists = @store.peekAll 'list'
# product_categories = controller.set 'product_categories', @store.all('product_category') # product_categories = controller.set 'product_categories', @store.peekAll('product_category')
#@store.find 'order', state: 'active' included in list #@store.findAll 'order', state: 'active' included in list
setupController: (controller)-> setupController: (controller)->
controller.set 'globals.current_supplier', @supplier controller.set 'globals.current_supplier', @supplier
controller.set 'globals.current_employee', @employee controller.set 'globals.current_employee', @employee
# @set 'supplier', @store.find('supplier', supplier_id) # @set 'supplier', @store.findRecord('supplier', supplier_id)
#controller.set 'sections', @sections #controller.set 'sections', @sections
#controller.set 'product_categories', @product_categories #controller.set 'product_categories', @product_categories
@@ -79,7 +79,7 @@ App.ApplicationRoute = Ember.Route.extend
cancel: options.cancel cancel: options.cancel
ok: options.ok ok: options.ok
newOrder: (order_id)-> newOrder: (order_id)->
@store.findById('order', order_id).then (order)=> @store.peekRecord('order', order_id).then (order)=>
controller = @controllerFor('application') controller = @controllerFor('application')
return if @get('globals.active_section.id') and order.get('section.id') isnt @get('globals.active_section.id') return if @get('globals.active_section.id') and order.get('section.id') isnt @get('globals.active_section.id')
$('body').addClass('new-order') $('body').addClass('new-order')
@@ -122,7 +122,7 @@ App.ApplicationRoute = Ember.Route.extend
@store.pushPayload('list', data) @store.pushPayload('list', data)
# Fix broken reference. TODO: remove this when single source of # Fix broken reference. TODO: remove this when single source of
# truth is working # truth is working
#@store.findById('list', data.list.id).then (list)-> #@store.peekRecord('list', data.list.id).then (list)->
# list.get('table').then (table)->table.set('active_list', list) # list.get('table').then (table)->table.set('active_list', list)
list_changed_table: (data) -> @store.pushPayload('list', lists: [data.list]) list_changed_table: (data) -> @store.pushPayload('list', lists: [data.list])
list_closed: (data) -> list.isClosed() if list = @store.getById('list', data.id) list_closed: (data) -> list.isClosed() if list = @store.getById('list', data.id)
@@ -1,5 +1,5 @@
App.EmployeesRoute = Ember.Route.extend App.EmployeesRoute = Ember.Route.extend
model: -> @store.all 'employee' model: -> @store.peekAll 'employee'
actions: actions:
newEmployee: -> newEmployee: ->
employee = @store.createRecord('employee') employee = @store.createRecord('employee')
@@ -7,15 +7,15 @@
# #lists: @store.filter 'list', (l)-> l.get('state') == 'active' # DOES NOT WORK!!!! (yet) # #lists: @store.filter 'list', (l)-> l.get('state') == 'active' # DOES NOT WORK!!!! (yet)
# # use filter to create a scope on all the records # # use filter to create a scope on all the records
# #lists: @store.filter 'list', -> true # #lists: @store.filter 'list', -> true
# lists: @store.all 'list' # lists: @store.peekAll 'list'
# # mayby @store.all 'list' will work better!!!! (2014-04-24 a more experienced benjamin :) # # mayby @store.peekAll 'list' will work better!!!! (2014-04-24 a more experienced benjamin :)
# #orders: @store.filter 'order', -> true # #orders: @store.filter 'order', -> true
# orders: @store.all 'order' # orders: @store.peekAll 'order'
# sections: @store.all 'section' # sections: @store.peekAll 'section'
# setupController: (controller, model)-> # setupController: (controller, model)->
# controller.set('model', model) # controller.set('model', model)
# #$('#section_selector').on 'change', (-> controller.set('sectionId', $(this).val())) # #$('#section_selector').on 'change', (-> controller.set('sectionId', $(this).val()))
# #controller.set 'lists', @store.all('list') # #controller.set 'lists', @store.peekAll('list')
# #controller.set 'lists', App.List.all() #.filterProperty('state', 'active') # #controller.set 'lists', App.List.all() #.filterProperty('state', 'active')
# #controller.set 'orders', App.Order.all() # #controller.set 'orders', App.Order.all()
# #controller.set 'lists', model.get('lists') # #controller.set 'lists', model.get('lists')
@@ -1,4 +1,4 @@
App.ListsIndexRoute = Ember.Route.extend App.ListsIndexRoute = Ember.Route.extend
#model: -> @store.find 'list' #model: -> @store.findAll 'list'
setupController: (controller, model)-> setupController: (controller, model)->
controller.set 'date', (new Date()).toISOString().substr(0,10) unless controller.get('date') controller.set 'date', (new Date()).toISOString().substr(0,10) unless controller.get('date')
@@ -1,2 +1,2 @@
App.OrdersDisplayRoute = Ember.Route.extend App.OrdersDisplayRoute = Ember.Route.extend
model: -> @store.all('order') model: -> @store.peekAll('order')
@@ -1,4 +1,4 @@
App.SectionRoute = Ember.Route.extend App.SectionRoute = Ember.Route.extend
model: (params) -> @store.findById 'section', params.section_id model: (params) -> @store.peekRecord 'section', params.section_id
renderTemplate: -> renderTemplate: ->
@render 'section' @render 'section'
@@ -1,8 +1,8 @@
App.SectionsRoute = Ember.Route.extend App.SectionsRoute = Ember.Route.extend
beforeModel: -> beforeModel: ->
@store.find 'section-element' @store.findAll 'section-element'
@store.find 'section-area' @store.findAll 'section-area'
model: -> @store.all 'section' model: -> @store.peekAll 'section'
# setupController: (controller, collection) -> # setupController: (controller, collection) ->
# controller.set 'content', collection # controller.set 'content', collection
@@ -1,2 +1,2 @@
App.TablesIndexRoute = Ember.Route.extend App.TablesIndexRoute = Ember.Route.extend
model: -> @store.all('table') model: -> @store.peekAll('table')
@@ -3,6 +3,5 @@ if gravatar
else else
span.dropdown-trigger.button.tiny.dropdown span.dropdown-trigger.button.tiny.dropdown
span.dropdown-trigger-text= view.title span.dropdown-trigger-text= view.title
/span.dropdown-trigger-icon
.dropdown-list-container .dropdown-list-container
= yield = yield
@@ -3,32 +3,37 @@
li.title: h3= globals.current_supplier.name li.title: h3= globals.current_supplier.name
li li
= link-to 'index' = link-to 'index'
span.fa.fa-list-alt span.icon.dashboard
= t 'dashboard.title' = t 'dashboard.title'
li li
= link-to 'menu' = link-to 'menu'
span.fa.fa-coffee span.icon.menu
= t 'top_menu.menu' = t 'top_menu.menu'
li li
= link-to 'sections' = link-to 'sections'
span.fa.fa-th-large span.icon.sections
= t 'models.plural.section' = t 'models.plural.section'
li li
= link-to 'tables' = link-to 'tables'
span.fa.fa-square-o span.icon.tables
= t 'models.plural.table' = t 'models.plural.table'
li li
= link-to 'employees' = link-to 'lists'
span.fa.fa-users span.icon.lists
= t 'models.plural.employee' = t 'models.plural.list'
can "manage" "employees"
li
= link-to 'employees'
span.icon.employees
= t 'models.plural.employee'
li li
= link-to 'schedule' = link-to 'schedule'
span.fa.fa-calendar span.icon.schedule
= t 'top_menu.schedule' = t 'top_menu.schedule'
can "manage" globals.current_supplier can "manage" globals.current_supplier
li li
=link-to 'settings' class="supplier-settings-link" =link-to 'settings' class="supplier-settings-link"
span.settings-icon span.icon.settings
span= t 'supplier.settings' span= t 'supplier.settings'
if globals.current_supplier.open if globals.current_supplier.open
li: a.supplier-close-shop{action "markSupplierClosed"}= t 'supplier.close_for_orders' li: a.supplier-close-shop{action "markSupplierClosed"}= t 'supplier.close_for_orders'
@@ -6,32 +6,34 @@ header.top-menu
= link-to 'index' class="top-menu-root" = link-to 'index' class="top-menu-root"
= image_tag "icons/logo-small.png" = image_tag "icons/logo-small.png"
= link-to "menu" class="top-menu-menu" = link-to "menu" class="top-menu-menu"
span.icon.menu
= t 'top_menu.menu' = t 'top_menu.menu'
= link-to "sections" class="top-menu-sections" = link-to "sections" class="top-menu-sections"
span.icon.sections
= t 'models.plural.section' = t 'models.plural.section'
= link-to "tables" class="top-menu-tables" = link-to "tables" class="top-menu-tables"
span.icon.tables
= t 'models.plural.table' = t 'models.plural.table'
= link-to "lists" class="top-menu-lists" = link-to "lists" class="top-menu-lists"
span.icon.lists
= t 'models.plural.list' = t 'models.plural.list'
= link-to "employees" class="top-menu-employees" can "manage" "employees"
= t 'models.plural.employee' = link-to "employees" class="top-menu-employees"
span.icon.employees
= t 'models.plural.employee'
= link-to "schedule" class="top-menu-schedule" = link-to "schedule" class="top-menu-schedule"
span.icon.schedule
= t 'top_menu.schedule' = t 'top_menu.schedule'
= dropdown-link gravatar=globals.current_employee.email class="current-employee-nav" = dropdown-link gravatar=globals.current_employee.email class="current-employee-nav"
ul ul
li li
li= link-to 'my_account': span.current-employee-my-account-icon= t 'current_employee.my_account.link' li= link-to 'my-account': span.current-employee-my-account-icon= t 'current_employee.my_account.link'
li= link-to 'my-schedule': span.current-employee-my-schedule-icon= t 'current_employee.my_schedule.link' li= link-to 'my-schedule': span.current-employee-my-schedule-icon= t 'current_employee.my_schedule.link'
li: a{action "signOut"}: span.sign-out-icon= t 'supplier.sign_out' li: a{action "signOut"}: span.sign-out-icon= t 'supplier.sign_out'
if globals.current_supplier.open if globals.current_supplier.open
/a.supplier-is-closed-indication.is-open{ action "markSupplierClosed" }: span.fa.fa-beer.fa-2x
a.supplier-availability.currently-open{ action "markSupplierClosed" }: span Open a.supplier-availability.currently-open{ action "markSupplierClosed" }: span Open
else else
a.supplier-availability.currently-closed{ action "markSupplierOpen" }: span Closed a.supplier-availability.currently-closed{ action "markSupplierOpen" }: span Closed
/a.supplier-is-closed-indication.is-closed{ action "markSupplierOpen" }
/span.fa-stack.fa-lg
/i.fa.fa-beer.fa-stack-1x
/i.fa.fa-ban.fa-stack-2x.text-alert
.supplier-name= globals.current_supplier.name .supplier-name= globals.current_supplier.name
.extra-info{action "showSupplierStatusInfo"} .extra-info{action "showSupplierStatusInfo"}
.supplier-info-row .supplier-info-row
@@ -1,2 +1,3 @@
.row: .small-12.columns .row: .small-12.columns
h2= t 'schedule.title' globals.current_supplier
#schedule-placeholder #schedule-placeholder
@@ -18,8 +18,8 @@
ul ul
li: a{action "addTables"}: span.section-add-tables-icon=t 'section.add_tables.button_label' li: a{action "addTables"}: span.section-add-tables-icon=t 'section.add_tables.button_label'
li: a{action "arrangeTables"}: span.section-arrange-tables-icon=t 'section.arrange_tables.modal.title' li: a{action "arrangeTables"}: span.section-arrange-tables-icon=t 'section.arrange_tables.modal.title'
li: a{action "addSectionElement"}: span.section-add-section-element-icon= t 'section_element.add_button' li: a{action "addSectionElement"}: span.icon.section-elements= t 'section_element.add_button'
li: a{action "addSectionArea"}: span.section-add-section-area-icon= t 'section_area.add_button' li: a{action "addSectionArea"}: span.icon.section-areas= t 'section_area.add_button'
li= qr-codes-link section=content: span.qr-icon= t 'table.print_qr_codes' li= qr-codes-link section=content: span.qr-icon= t 'table.print_qr_codes'
li: a.section-destroy{action "destroySection"}: span.section-remove-icon=t 'helpers.links.destroy' li: a.section-destroy{action "destroySection"}: span.section-remove-icon=t 'helpers.links.destroy'
a.section-normal-mode-button{ action "finishEditable" }: span a.section-normal-mode-button{ action "finishEditable" }: span
@@ -8,7 +8,7 @@ App.MyScheduleView = Ember.View.extend
header: header:
left: 'prev,next,today' left: 'prev,next,today'
center: 'title' center: 'title'
right: 'month,agendaWeek,agendaDay' right: 'agendaDay,agendaWeek,month'
selectable: false selectable: false
#selectHelper: true #selectHelper: true
#select: (start, end)=> #select: (start, end)=>
@@ -4,14 +4,40 @@ App.ScheduleView = Ember.View.extend
placeholder = @$('#schedule-placeholder') placeholder = @$('#schedule-placeholder')
controller = @get('controller') controller = @get('controller')
events = @get('globals.current_supplier.employee_shifts').filter((employee_shift) -> employee_shift.get('employee.active') ).map( (employee_shift)->employee_shift.get('calendar_event') ) events = @get('globals.current_supplier.employee_shifts').filter((employee_shift) -> employee_shift.get('employee.active') ).map( (employee_shift)->employee_shift.get('calendar_event') )
placeholder.fullCalendar editable = !!controller.get('globals.current_employee.manager')
fullCalendarOptions =
header: header:
left: 'prev,next,today' left: 'prev,next,today'
center: 'title' center: 'title'
right: 'month,agendaWeek,agendaDay' right: 'agendaDay,agendaWeek,month'
selectable: true selectable: editable
selectHelper: true selectHelper: editable
select: (start, end)=> editable: editable
defaultView: 'agendaWeek'
events: events
timezone: 'UTC'
eventDrop: controller.event_changed.bind(controller)
eventResize: controller.event_changed.bind(controller)
dayClick: (date, jsEvent, view)->
jsEvent.preventDefault()
if view.type is 'month'
placeholder.fullCalendar('changeView', 'agendaDay')
placeholder.fullCalendar('gotoDate', date)
false
eventClick: (event)->
return unless editable
controller.editEvent event.id,
save: (shift)->
placeholder.fullCalendar('removeEvents', [event.id])
placeholder.fullCalendar('renderEvent', shift.get('calendar_event'), true)
destroy: (shift)->
placeholder.fullCalendar('removeEvents', [event.id])
timeFormat: 'H(:mm)'
axisFormat: 'H:mm'
lang: moment.locale()
if editable
fullCalendarOptions.select = (start, end, jsEvent, view) =>
return if view.type is 'month'
format = 'dddd h:mm' format = 'dddd h:mm'
controller.modal 'select_employee', controller.modal 'select_employee',
ok: -> ok: ->
@@ -22,22 +48,5 @@ App.ScheduleView = Ember.View.extend
shift.save().then -> shift.save().then ->
placeholder.fullCalendar('renderEvent', shift.get('calendar_event'), true) placeholder.fullCalendar('renderEvent', shift.get('calendar_event'), true)
header: t('employee_shift.time_window', start: start.format(format), end: end.format(format)) header: t('employee_shift.time_window', start: start.format(format), end: end.format(format))
editable: true
defaultView: 'agendaWeek'
events: events
timezone: 'UTC'
eventDrop: controller.event_changed.bind(controller)
eventResize: controller.event_changed.bind(controller)
eventClick: (event)->
controller.editEvent event.id,
save: (shift)->
placeholder.fullCalendar('removeEvents', [event.id])
placeholder.fullCalendar('renderEvent', shift.get('calendar_event'), true)
destroy: (shift)->
placeholder.fullCalendar('removeEvents', [event.id])
timeFormat: 'H(:mm)'
axisFormat: 'H:mm'
lang: moment.locale()
placeholder.fullCalendar fullCalendarOptions
@@ -1,14 +1,14 @@
App.SideMenuItemView = Ember.View.extend #App.SideMenuItemView = Ember.View.extend
classNames: 'menu-list-item' #classNames: 'menu-list-item'
classNameBindings: ['active'] #classNameBindings: ['active']
click: -> #click: ->
if @route_param #if @route_param
@get('controller').transitionToRoute(@route, @route_param) #@get('controller').transitionToRoute(@route, @route_param)
else #else
@get('controller').transitionToRoute(@route) #@get('controller').transitionToRoute(@route)
active: (-> #active: (->
if @get('controller.currentPath') == @route then 'active' else '' #if @get('controller.currentPath') == @route then 'active' else ''
).property('controller.currentPath') #).property('controller.currentPath')
init: -> #init: ->
@templateName = "side_menu/#{@route}" #@templateName = "side_menu/#{@route}"
@_super() #@_super()
@@ -14,6 +14,7 @@
errors: <%= I18n.t('errors', locale: :nl).to_json %> errors: <%= I18n.t('errors', locale: :nl).to_json %>
date: <%= {day_name: Hash[Date::DAYNAMES.map(&:downcase).zip(I18n.t('date.day_names', locale: :nl))]}.to_json %> date: <%= {day_name: Hash[Date::DAYNAMES.map(&:downcase).zip(I18n.t('date.day_names', locale: :nl))]}.to_json %>
@day_minutes_to_time = (minutes)-> @day_minutes_to_time = (minutes)->
return "" unless minutes return "" unless minutes
[("0" + Math.floor(minutes/60)).substr(-2,2), ("0" + Math.floor(minutes%60)).substr(-2,2)].join(":") [("0" + Math.floor(minutes/60)).substr(-2,2), ("0" + Math.floor(minutes%60)).substr(-2,2)].join(":")
@@ -28,7 +28,7 @@
span= t 'models.plural.list' span= t 'models.plural.list'
li li
=link-to 'settings' =link-to 'settings'
span.settings-icon span.icon.settings
span= t 'settings.title' span= t 'settings.title'
li li
=link-to 'about' class="side-menu-about" =link-to 'about' class="side-menu-about"
@@ -11,7 +11,7 @@
@extend .fa-lg @extend .fa-lg
@extend .fa-caret-left @extend .fa-caret-left
margin-right: 6px margin-right: 6px
.dropdown-list-container .dropdown-list-container
$border-size: 1px $border-size: 1px
$arrow-size: 7px $arrow-size: 7px
@@ -63,6 +63,9 @@
padding: 4px 7px padding: 4px 7px
&:hover &:hover
background-color: #ddd background-color: #ddd
&.active
color: $current-color
background-color: #444
span.section-add-tables-icon span.section-add-tables-icon
@extend .fa @extend .fa
@extend .fa-plus-square @extend .fa-plus-square
@@ -77,17 +80,9 @@
@extend .fa, .fa-trash-o @extend .fa, .fa-trash-o
span span
padding-left: 7px padding-left: 7px
span.section-add-section-element-icon span.icon
@extend .fa, .fa-image
span
padding-left: 7px
span.section-add-section-area-icon
@extend .fa, .fa-square
span
padding-left: 7px
span.settings-icon
@extend .fa, .fa-gear
span span
// translation span
padding-left: 7px padding-left: 7px
span.sign-out-icon span.sign-out-icon
@extend .fa, .fa-sign-out @extend .fa, .fa-sign-out
@@ -1,43 +1,48 @@
@import font-awesome
span.icon span.icon
@extend .fa @extend .fa
@extend .fa-lg //@extend .fa-lg
&.dashboard
@extend .fa-list-alt
&.menu
@extend .fa-coffee
&.needs-help &.needs-help
@extend .fa-bell @extend .fa-bell
&.needs-payment &.needs-payment
@extend .fa-money @extend .fa-money
&.sections
@extend .fa-th-large
&.tables
//@extend .fa-pause
width: 16px
height: 16px
background-image: image-url("icons/table-white.svg")
&.lists
@extend .fa-sticky-note-o
&.employees
@extend .fa-users
&.schedule
@extend .fa-calendar
&.settings
@extend .fa-gears
&.section-areas
@extend .fa-object-group
&.section-elements
@extend .fa-image
// CUSTOM ICONS
.top-menu
.icon.tables
background-image: image-url("icons/table-green.svg")
.active
span.icon
&.tables
background-image: image-url("icons/table-current.svg")
.side-menu
.icon
// STACK FIXES
.fa-stack .fa-stack
.revoke .revoke
color: #b94a48 color: #b94a48
.button-icon
display: inline-block
width: 2em
height: 2em
line-height: 2em
vertical-align: middle
background-repeat: no-repeat
background-position: center center
.mark-order-active .button-icon
background-image: image-url('supplier/order-check.png')
.mark-order-delivered .button-icon
background-image: image-url('supplier/order-doublecheck.png')
//.fa-shifted-stack
@extend .fa-stack
//.fa-shifted-stack
position: relative
display: inline-block
width: 2.5em
height: 2em
//line-height: 2em
vertical-align: middle
.fa
position: absolute
width: 100%
left: 20%
&:first-child
left: -10%
.fa-shifted-stack .fa-shifted:last-child .fa-shifted-stack .fa-shifted:last-child
margin-left: -1.15rem margin-left: -1.15rem
button, .button button, .button
@@ -2,7 +2,9 @@
//= require_directory ../base1-shared //= require_directory ../base1-shared
//= require pickdate //= require pickdate
//= require fullcalendar //= require fullcalendar
// bourbon for animation
@import bourbon @import bourbon
@import font-awesome
@import ./qconstants @import ./qconstants
@import ./foundation_and_overrides @import ./foundation_and_overrides
@import ./mixins @import ./mixins
@@ -21,33 +21,40 @@ header.top-menu
float: left float: left
@media #{$medium-up} @media #{$medium-up}
padding-left: 14px padding-left: 14px
a
span.icon
display: none
@media #{$large-up}
a
span.icon
display: inline-block
margin-right: 4px
a a
padding-left: 16px padding-left: 16px
.menu-list-item &.active
margin-left: 20px text-decoration: underline
cursor: pointer font-weight: bold
border: 0.08em solid #eee color: $current-color
padding: 5px @media #{$small-only}
border-radius: 0.1em span
display: inline-block display: none
line-height: 1em &.icon
margin-top: 10px display: inline-block
color: #999 &.active
&.active span.icon
color: yellow color: $current-color
border-color: yellow .top-menu-root
&.callout display: inline-block
color: #f70 line-height: normal
border-color: #f70 padding: 4px
@media #{$medium-only} //margin-left: 14px
margin-left: 8px border-radius: 4px
@media #{$small-only} &.active
margin-left: 5px background-color: $current-color
.supplier-is-closed-indication img
float: right display: inline-block
margin-right: 8px margin: 0
&.is-open padding: 0
line-height: 60px
.supplier-name .supplier-name
display: inline-block display: inline-block
float: right float: right
@@ -23,9 +23,8 @@
.title .title
border-bottom: 1px solid #aaa border-bottom: 1px solid #aaa
margin-bottom: 4px margin-bottom: 4px
.settings-icon .icon.settings
margin-right: 18px margin-right: 18px
@extend .fa, .fa-gears
.about-mozo-icon .about-mozo-icon
margin-right: 18px margin-right: 18px
@extend .fa, .fa-info-circle @extend .fa, .fa-info-circle
@@ -34,6 +33,8 @@
margin-right: 18px margin-right: 18px
.fa .fa
margin-right: 18px margin-right: 18px
a.active
color: $current-color
.supplier-close-shop .supplier-close-shop
+alert($bg: $alert-color, $radius: true) +alert($bg: $alert-color, $radius: true)
padding: 3px padding: 3px
@@ -18,7 +18,7 @@ module Suppliers
def switch_to def switch_to
@switch_supplier = Supplier.find(params[:id]) @switch_supplier = Supplier.find(params[:id])
session[:supplier_id] = params[:id] if @switch_supplier.employee_ids.include? current_employee.id session[:supplier_id] = params[:id] if @switch_supplier.employee_ids.include? current_employee.id
redirect_to supplier_root_path(anchor: '/my_account') redirect_to supplier_root_path(anchor: '/my-account')
end end
def mark_as_open def mark_as_open
+3 -3
View File
@@ -5,7 +5,7 @@ en:
supplier: Restaurant supplier: Restaurant
new_supplier: New restaurant new_supplier: New restaurant
table: Table table: Table
list: Tap list: Tab
product: Product product: Product
order: Order order: Order
product_category: Product category product_category: Product category
@@ -23,7 +23,7 @@ en:
supplier: Restaurants supplier: Restaurants
new_supplier: New restaurants new_supplier: New restaurants
table: Tables table: Tables
list: Taps list: Tabs
product: Products product: Products
order: Orders order: Orders
product_category: Product categories product_category: Product categories
@@ -68,7 +68,7 @@ en:
height: Length height: Length
created_at: Created created_at: Created
supplier: supplier:
name: Name name: ${models.supplier} name
email: 'Email' email: 'Email'
password: 'Password' password: 'Password'
password_confirmation: 'Confirmation' password_confirmation: 'Confirmation'
+1 -1
View File
@@ -67,7 +67,7 @@ nl:
height: Lengte height: Lengte
created_at: Aangemaakt created_at: Aangemaakt
supplier: supplier:
name: Naam name: ${models.supplier} naam
email: 'E-mail' email: 'E-mail'
password: 'Wachtwoord' password: 'Wachtwoord'
password_confirmation: 'Bevestiging' password_confirmation: 'Bevestiging'
+2
View File
@@ -245,3 +245,5 @@ en:
title: My schedule title: My schedule
link: My schedule link: My schedule
schedule:
title: Schedule for %{name}
+2
View File
@@ -12,6 +12,8 @@ counters:
volumes: volumes:
- ./config:/usr/src/app/config - ./config:/usr/src/app/config
command: development command: development
links:
- db
faye: faye:
build: faye build: faye
net: host net: host