supplier menu progress
This commit is contained in:
@@ -0,0 +1,13 @@
|
|||||||
|
App.MenuController = Ember.ObjectController.extend
|
||||||
|
needs: ['application']
|
||||||
|
product_categories: (-> @store.all('product_category')).property()
|
||||||
|
sorted_product_categories: (-> @get('product_categories').sortBy('position')).property('product_categories.@each', 'product_categories.@each.position')
|
||||||
|
actions:
|
||||||
|
editProductCategory: (product_category)->
|
||||||
|
@modal 'product_category_edit',
|
||||||
|
model: product_category,
|
||||||
|
close: -> product_category.rollback()
|
||||||
|
|
||||||
|
moveProductCategory: (product_category)->
|
||||||
|
@modal 'product_category_move',
|
||||||
|
model: product_category
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
App.MenuController = Ember.ObjectController.extend
|
|
||||||
needs: ['application']
|
|
||||||
product_categories: ~> @store.all('product_category')
|
|
||||||
-1
@@ -1,5 +1,4 @@
|
|||||||
App.modals.AddSectionController = @App.modals.BaseController.extend
|
App.modals.AddSectionController = @App.modals.BaseController.extend
|
||||||
alert_message: null
|
|
||||||
section_title: ''
|
section_title: ''
|
||||||
section_width: 15
|
section_width: 15
|
||||||
section_height: 8
|
section_height: 8
|
||||||
|
|||||||
@@ -1,13 +1,19 @@
|
|||||||
@App.modals.BaseController = Ember.ObjectController.extend
|
@App.modals.BaseController = Ember.ObjectController.extend
|
||||||
|
alert_message: ""
|
||||||
title: ~>
|
title: ~>
|
||||||
|
# return title if directly set by options
|
||||||
return @get('modal_options.title') if @get('modal_options.title')
|
return @get('modal_options.title') if @get('modal_options.title')
|
||||||
|
# return translated title_path if directly set by controller
|
||||||
return t(@title_path) if @title_path
|
return t(@title_path) if @title_path
|
||||||
|
# return translated title_path if directly set by options
|
||||||
return t(@get('modal_options.title_path')) if @get('modal_options.title_path')
|
return t(@get('modal_options.title_path')) if @get('modal_options.title_path')
|
||||||
|
# infer title path based on controller name App.modals.AddSectionController => add_section
|
||||||
underscored = `this.constructor.toString().substr(11).replace(/Controller$/, '').underscore()`
|
underscored = `this.constructor.toString().substr(11).replace(/Controller$/, '').underscore()`
|
||||||
params = {}
|
params = {}
|
||||||
if model = @get('model')
|
if model = @get('model')
|
||||||
params = model.serialize() if model.serialize
|
params = model.serialize() if model.serialize
|
||||||
@get('modal_options.title') or ttry("modal.#{underscored}.title", params) or underscored.capitalize().replace(/_/, ' ')
|
# find translated title or humanize the controller name
|
||||||
|
ttry("modal.#{underscored}.title", params) or underscored.capitalize().replace(/_/, ' ')
|
||||||
actions:
|
actions:
|
||||||
close: ->
|
close: ->
|
||||||
if close = @get('modal_options.close')
|
if close = @get('modal_options.close')
|
||||||
@@ -24,3 +30,6 @@
|
|||||||
ok.apply(@)
|
ok.apply(@)
|
||||||
@send 'closeModal' unless @preventClose
|
@send 'closeModal' unless @preventClose
|
||||||
confirm: -> @send('ok')
|
confirm: -> @send('ok')
|
||||||
|
save: ->
|
||||||
|
@get('model').save()
|
||||||
|
@send 'closeModal' unless @preventClose
|
||||||
|
|||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
App.modals.ProductCategoryEditController = App.modals.BaseController.extend
|
||||||
|
title_path: 'product_category.edit.modal.title'
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
App.modals.ProductCategoryMoveController = App.modals.BaseController.extend
|
||||||
|
title_path: 'product_category.move.modal.title'
|
||||||
|
actions:
|
||||||
|
moveBelow: (below_product_category)->
|
||||||
|
position = 0
|
||||||
|
unless below_product_category
|
||||||
|
@set 'model.position', position
|
||||||
|
@get('model').save()
|
||||||
|
position += 1
|
||||||
|
for product_category in @get('product_categories')
|
||||||
|
product_category.set('position', position)
|
||||||
|
product_category.save()
|
||||||
|
if below_product_category and product_category.id is below_product_category.id
|
||||||
|
@set 'model.position', position += 1
|
||||||
|
@get('model').save()
|
||||||
|
|
||||||
|
position += 1
|
||||||
|
@send 'close'
|
||||||
|
# moveBelow: (->
|
||||||
|
# debugger
|
||||||
|
# ).observes('move_below_selection')
|
||||||
|
# change: ->
|
||||||
|
# debugger
|
||||||
|
|
||||||
|
product_categories: (->
|
||||||
|
@store.all('product_category').filter( (pc) => pc.id isnt @get('model.id')).sortBy('position')
|
||||||
|
).property('model.id')
|
||||||
|
|
||||||
|
# setProductCategories: (-> @set 'product_categories', @store.all('product_category')).on('init')
|
||||||
-1
@@ -1,5 +1,4 @@
|
|||||||
App.modals.SectionArrangeTablesController = App.modals.BaseController.extend
|
App.modals.SectionArrangeTablesController = App.modals.BaseController.extend
|
||||||
alert_message: null
|
|
||||||
arrange_type: 'distributed' # can be distributed, by_row or by_column
|
arrange_type: 'distributed' # can be distributed, by_row or by_column
|
||||||
row_count: 2
|
row_count: 2
|
||||||
column_count: 2
|
column_count: 2
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
Ember.Handlebars.helper 'select-hour', (params..., options)->
|
||||||
|
debugger
|
||||||
|
result = "<select class=\"select-hour\">"
|
||||||
|
result += "<option>#{hour}</option>" for hour in [0..24]
|
||||||
|
result += "</select>"
|
||||||
|
new Handlebars.SafeString result
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
Ember.Handlebars.helper 'select-minute', (params..., options)->
|
||||||
|
result = "<select class=\"select-minute\">"
|
||||||
|
result += "<option>#{minute}</option>" for minute in [0..24]
|
||||||
|
result += "</select>"
|
||||||
|
new Handlebars.SafeString result
|
||||||
@@ -2,3 +2,25 @@ attr = DS.attr
|
|||||||
App.ProductCategory = DS.Model.extend
|
App.ProductCategory = DS.Model.extend
|
||||||
name: attr('string')
|
name: attr('string')
|
||||||
products: DS.hasMany('product')
|
products: DS.hasMany('product')
|
||||||
|
supplier: DS.belongsTo 'supplier'
|
||||||
|
active_on_sunday: attr('boolean')
|
||||||
|
active_on_monday: attr('boolean')
|
||||||
|
active_on_tuesday: attr('boolean')
|
||||||
|
active_on_wednesday: attr('boolean')
|
||||||
|
active_on_thursday: attr('boolean')
|
||||||
|
active_on_friday: attr('boolean')
|
||||||
|
active_on_saturday: attr('boolean')
|
||||||
|
full_day: attr('boolean')
|
||||||
|
start_from: attr('number')
|
||||||
|
end_on: attr('number')
|
||||||
|
position: attr('number')
|
||||||
|
|
||||||
|
availability_text: Ember.computed 'active_on_sunday', 'active_on_monday', 'active_on_tuesday', 'active_on_wednesday', 'active_on_thursday', 'active_on_friday', 'active_on_saturday', 'full_day', 'start_from', 'end_on', ->
|
||||||
|
days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']
|
||||||
|
active_days = days.filter (day)=>@get("active_on_#{day}")
|
||||||
|
result = ""
|
||||||
|
if active_days.length < 7
|
||||||
|
result += "<span class=\"day-names\">#{active_days.map((day) -> t("date.day_name.#{day}")).join(", ")}</span> "
|
||||||
|
unless @get('full_day')
|
||||||
|
result += "<span class=\"time-range\">#{day_minutes_to_time @get('start_from')} - #{day_minutes_to_time @get('end_on')}</span>"
|
||||||
|
new Ember.Handlebars.SafeString result
|
||||||
|
|||||||
@@ -13,3 +13,5 @@ App.Supplier = DS.Model.extend
|
|||||||
iens_profile: attr 'string'
|
iens_profile: attr 'string'
|
||||||
lat: attr 'number'
|
lat: attr 'number'
|
||||||
lng: attr 'number'
|
lng: attr 'number'
|
||||||
|
week_starts_on_monday: attr 'boolean'
|
||||||
|
product_categories: DS.hasMany 'product_category'
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
Ember.Checkbox id=view.switchId checkedBinding="view.value"
|
||||||
|
label for=view.switchId
|
||||||
+6
@@ -0,0 +1,6 @@
|
|||||||
|
.row.select-minute-of-day
|
||||||
|
.small-5.columns
|
||||||
|
view "select" content=view.hours_list value=view.hour
|
||||||
|
.small-1.columns: span :
|
||||||
|
.small-5.columns.end
|
||||||
|
view "select" content=view.minutes_list value=view.minute
|
||||||
@@ -1,7 +1,11 @@
|
|||||||
h2 Menu
|
h2 Menu
|
||||||
each product_category in product_categories
|
each product_category in sorted_product_categories
|
||||||
.row: .small-12.columns
|
.row: .small-12.columns
|
||||||
h3= product_category.name
|
.product_category-header
|
||||||
|
a.move{action "moveProductCategory" product_category} href="#"
|
||||||
|
span.title= product_category.name
|
||||||
|
span.availability= product_category.availability_text
|
||||||
|
a.edit-product-category-button{action "editProductCategory" product_category} href="#"
|
||||||
each product in product_category.products
|
each product in product_category.products
|
||||||
.row
|
.row
|
||||||
.small-4.columns= product.name
|
.small-4.columns= product.name
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
p=t 'product_category.edit.modal.body_header'
|
||||||
|
.form-row
|
||||||
|
.form-label.half=t 'attributes.product_category.name'
|
||||||
|
.form-field.half= input valueBinding="model.name"
|
||||||
|
.row
|
||||||
|
.small-6.columns
|
||||||
|
unless model.supplier.week_starts_on_monday
|
||||||
|
.form-row
|
||||||
|
.form-label.half= t 'date.day_name.sunday'
|
||||||
|
.form-field.half: App.BooleanSwitchView value=model.active_on_sunday
|
||||||
|
.form-row
|
||||||
|
.form-label.half= t 'date.day_name.monday'
|
||||||
|
.form-field.half: App.BooleanSwitchView value=model.active_on_monday
|
||||||
|
.form-row
|
||||||
|
.form-label.half= t 'date.day_name.tuesday'
|
||||||
|
.form-field.half: App.BooleanSwitchView value=model.active_on_tuesday
|
||||||
|
.form-row
|
||||||
|
.form-label.half= t 'date.day_name.wednesday'
|
||||||
|
.form-field.half: App.BooleanSwitchView value=model.active_on_wednesday
|
||||||
|
.form-row
|
||||||
|
.form-label.half= t 'date.day_name.thursday'
|
||||||
|
.form-field.half: App.BooleanSwitchView value=model.active_on_thursday
|
||||||
|
.form-row
|
||||||
|
.form-label.half= t 'date.day_name.friday'
|
||||||
|
.form-field.half: App.BooleanSwitchView value=model.active_on_friday
|
||||||
|
.form-row
|
||||||
|
.form-label.half= t 'date.day_name.saturday'
|
||||||
|
.form-field.half: App.BooleanSwitchView value=model.active_on_saturday
|
||||||
|
if model.supplier.week_starts_on_monday
|
||||||
|
.form-row
|
||||||
|
.form-label.half= t 'date.day_name.sunday'
|
||||||
|
.form-field.half: App.BooleanSwitchView valueBinding=model.active_on_sunday
|
||||||
|
.small-6.columns
|
||||||
|
.row
|
||||||
|
.small-12.columns.text-center: App.BooleanButtonView value=model.full_day reverse=true text_path="product_category.edit.modal.active_between.top"
|
||||||
|
unless model.full_day
|
||||||
|
.row
|
||||||
|
.small-12.columns= view "select-minute-of-day" value=model.start_from
|
||||||
|
.row
|
||||||
|
.small-12.columns.text-center= t 'product_category.edit.modal.active_between.middle'
|
||||||
|
.row
|
||||||
|
.small-12.columns= view "select-minute-of-day" value=model.end_on
|
||||||
|
hr
|
||||||
|
button.confirm-cancel{action "close"}=t 'section.add_tables.modal.close_button'
|
||||||
|
button.confirm-ok.right{action "save"}=t 'section.add_tables.modal.add_button'
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
p=t 'product_category.move.modal.body_header'
|
||||||
|
.row
|
||||||
|
.small-11.small-offset-1.columns
|
||||||
|
a{action "moveBelow"} href="#" = t 'product_category.move.modal.move_to_top'
|
||||||
|
h4=t 'product_category.move.modal.move_below_label'
|
||||||
|
each product_category in product_categories
|
||||||
|
.row.product_category-move-row
|
||||||
|
.small-11.small-offset-1.columns
|
||||||
|
a{action "moveBelow" product_category} href="#"
|
||||||
|
span.title= product_category.name
|
||||||
|
span.availability= product_category.availability_text
|
||||||
|
hr
|
||||||
|
button.confirm-cancel{action "close"}=t 'section.add_tables.modal.close_button'
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
App.BooleanButtonView = Ember.View.extend
|
||||||
|
tagName: 'a'
|
||||||
|
href: '#'
|
||||||
|
classNames: "button"
|
||||||
|
# templateName: "form_elements/boolean_switch"
|
||||||
|
template: Ember.Handlebars.compile "<span>{{view.text}}</span>"
|
||||||
|
classNameBindings: ['rounded:round', 'active:active:disabled']
|
||||||
|
|
||||||
|
text: Ember.computed 'text_path', ->
|
||||||
|
t @text_path
|
||||||
|
|
||||||
|
active: Ember.computed 'value', ->
|
||||||
|
if @reverse then !@get('value') else !!@get('value')
|
||||||
|
|
||||||
|
click: ->
|
||||||
|
@set 'value', !@get('value')
|
||||||
|
# setUniqueId: (->@set 'switchId', "switch-#{Math.round(Math.random()*1000)}").on('init')
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
App.BooleanSwitchView = Ember.View.extend
|
||||||
|
classNames: "switch"
|
||||||
|
templateName: "form_elements/boolean_switch"
|
||||||
|
classNameBindings: ['rounded:round']
|
||||||
|
|
||||||
|
click: ->
|
||||||
|
@set 'value', !@get('value')
|
||||||
|
setUniqueId: (->@set 'switchId', "switch-#{Math.round(Math.random()*1000)}").on('init')
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
App.SelectMinuteOfDayView = Ember.View.extend
|
||||||
|
templateName: "form_elements/select_minute_of_day"
|
||||||
|
classNameBindings: ['rounded:round']
|
||||||
|
hours_list: [0..24]
|
||||||
|
minutes_list: [0..60]
|
||||||
|
hour: Ember.computed 'value', (a,b,c)->
|
||||||
|
if arguments.length > 1
|
||||||
|
@set 'value', 60*b + (@get('minute') || 0)
|
||||||
|
Math.floor (@get('value') || 0)/60
|
||||||
|
minute: Ember.computed 'value', (a,b,c)->
|
||||||
|
if arguments.length > 1
|
||||||
|
@set 'value', 60*(@get('hour')||0) + b
|
||||||
|
Math.floor @get('value')%60
|
||||||
@@ -5,12 +5,19 @@
|
|||||||
helpers: <%= I18n.t('helpers', locale: :en).to_json %>
|
helpers: <%= I18n.t('helpers', locale: :en).to_json %>
|
||||||
pagination: <%= I18n.t('views.pagination', locale: :en).to_json %>
|
pagination: <%= I18n.t('views.pagination', locale: :en).to_json %>
|
||||||
errors: <%= I18n.t('errors', locale: :en).to_json %>
|
errors: <%= I18n.t('errors', locale: :en).to_json %>
|
||||||
|
date: <%= {day_name: Hash[%w[sunday monday tuesday wednesday thursday friday saturday].zip(I18n.t('date.day_names', locale: :en))]}.to_json %>
|
||||||
nl:
|
nl:
|
||||||
models: <%= I18n.t('activemodel.models', locale: :nl).to_json %>
|
models: <%= I18n.t('activemodel.models', locale: :nl).to_json %>
|
||||||
attributes: <%= I18n.t('activemodel.attributes', locale: :nl).to_json %>
|
attributes: <%= I18n.t('activemodel.attributes', locale: :nl).to_json %>
|
||||||
helpers: <%= I18n.t('helpers', locale: :nl).to_json %>
|
helpers: <%= I18n.t('helpers', locale: :nl).to_json %>
|
||||||
pagination: <%= I18n.t('views.pagination', locale: :nl).to_json %>
|
pagination: <%= I18n.t('views.pagination', locale: :nl).to_json %>
|
||||||
errors: <%= I18n.t('errors', locale: :nl).to_json %>
|
errors: <%= I18n.t('errors', locale: :nl).to_json %>
|
||||||
|
date: <%= {day_name: Hash[%w[sunday monday tuesday wednesday thursday friday saturday].zip(I18n.t('date.day_names', locale: :nl))]}.to_json %>
|
||||||
|
|
||||||
|
@day_minutes_to_time = (minutes)->
|
||||||
|
return "" unless minutes
|
||||||
|
[("0" + Math.floor(minutes/60)).substr(-2,2), ("0" + Math.floor(minutes%60)).substr(-2,2)].join(":")
|
||||||
|
|
||||||
@ttry = (path, vars={})->
|
@ttry = (path, vars={})->
|
||||||
@t(path, $.extend(vars, emptyWhenNotFound: true))
|
@t(path, $.extend(vars, emptyWhenNotFound: true))
|
||||||
|
|
||||||
|
|||||||
@@ -13,5 +13,4 @@
|
|||||||
@import ./qsections
|
@import ./qsections
|
||||||
@import ./section_tab_headers
|
@import ./section_tab_headers
|
||||||
@import ./qlists
|
@import ./qlists
|
||||||
@import ./qmodal
|
|
||||||
@import ./ember_dropdown
|
@import ./ember_dropdown
|
||||||
|
|||||||
@@ -7,6 +7,8 @@
|
|||||||
+grid-column($columns:4, $offset:1)
|
+grid-column($columns:4, $offset:1)
|
||||||
@media #{$large-up}
|
@media #{$large-up}
|
||||||
+grid-column(3)
|
+grid-column(3)
|
||||||
|
&.half
|
||||||
|
+grid-column(6)
|
||||||
.form-field
|
.form-field
|
||||||
@media #{$small-only}
|
@media #{$small-only}
|
||||||
+grid-column($columns:10, $center:true, $last-column:true)
|
+grid-column($columns:10, $center:true, $last-column:true)
|
||||||
@@ -21,6 +23,8 @@
|
|||||||
+grid-column($columns:6, $last-column:true)
|
+grid-column($columns:6, $last-column:true)
|
||||||
@media #{$large-up}
|
@media #{$large-up}
|
||||||
+grid-column($columns: 9, $last-column:true)
|
+grid-column($columns: 9, $last-column:true)
|
||||||
|
&.half
|
||||||
|
+grid-column(6)
|
||||||
&.form-actions
|
&.form-actions
|
||||||
padding-top: 12px
|
padding-top: 12px
|
||||||
body
|
body
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
.modal
|
.modal
|
||||||
margin: 10px auto
|
margin: 10px auto
|
||||||
width: 500px
|
width: 600px
|
||||||
background-color: #fff
|
background-color: #fff
|
||||||
padding: 1em
|
padding: 1em
|
||||||
.modal-alert
|
.modal-alert
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
position: fixed
|
position: fixed
|
||||||
top: 0
|
top: 0
|
||||||
left: 0
|
left: 0
|
||||||
background-color: rgba(0, 0, 0, 0.2)
|
background-color: rgba(0, 0, 0, 0.5)
|
||||||
|
|
||||||
.flush--top
|
.flush--top
|
||||||
margin-top: 0
|
margin-top: 0
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
.product_category-header
|
||||||
|
border-top: 1px solid #ccc
|
||||||
|
border-bottom: 1px solid #ccc
|
||||||
|
.move
|
||||||
|
@extend .fa
|
||||||
|
// @extend .fa-lg
|
||||||
|
@extend .fa-arrows
|
||||||
|
.title
|
||||||
|
font-weight: bold
|
||||||
|
font-size: 1.3em
|
||||||
|
.availability
|
||||||
|
font-size: 0.8em
|
||||||
|
padding-left: 1em
|
||||||
|
padding-right: 1em
|
||||||
|
.day-names
|
||||||
|
color: #444
|
||||||
|
.time-range
|
||||||
|
color: rgb(39, 6, 121)
|
||||||
|
.edit-product-category-button
|
||||||
|
@extend .fa
|
||||||
|
@extend .fa-lg
|
||||||
|
@extend .fa-edit
|
||||||
|
.product_category-move-row
|
||||||
|
.availability
|
||||||
|
font-size: 0.8em
|
||||||
|
.day-names
|
||||||
|
color: #444
|
||||||
|
.time-range
|
||||||
|
color: rgb(39, 6, 121)
|
||||||
@@ -92,7 +92,7 @@ module Suppliers
|
|||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @product_category.update_attributes(product_category_params)
|
if @product_category.update_attributes(product_category_params)
|
||||||
format.html { redirect_to [:suppliers, :product_categories], notice: t('action.update.successfull', model: ProductCategory.model_name.human) }
|
format.html { redirect_to [:suppliers, :product_categories], notice: t('action.update.successfull', model: ProductCategory.model_name.human) }
|
||||||
format.json { head :no_content }
|
format.json { render json: @product_category }
|
||||||
else
|
else
|
||||||
format.html { render action: "edit" }
|
format.html { render action: "edit" }
|
||||||
format.json { render json: @product_category.errors, status: :unprocessable_entity }
|
format.json { render json: @product_category.errors, status: :unprocessable_entity }
|
||||||
@@ -124,7 +124,9 @@ module Suppliers
|
|||||||
private
|
private
|
||||||
|
|
||||||
def product_category_params
|
def product_category_params
|
||||||
params.require(:product_category).permit(:name, :start_from, :end_on, :full_day, product_ids: [], week_days: [])
|
params.require(:product_category).permit(:name, :start_from, :end_on, :full_day, :position,
|
||||||
|
:active_on_sunday, :active_on_monday, :active_on_tuesday, :active_on_wednesday, :active_on_thursday, :active_on_friday, :active_on_saturday,
|
||||||
|
product_ids: [])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -8,6 +8,13 @@ class ProductCategory
|
|||||||
property :full_day, type: :boolean, default: true
|
property :full_day, type: :boolean, default: true
|
||||||
property :start_from, type: Fixnum, default: 1320 # 22:00
|
property :start_from, type: Fixnum, default: 1320 # 22:00
|
||||||
property :end_on, type: Fixnum, default: 1380 # 23:00
|
property :end_on, type: Fixnum, default: 1380 # 23:00
|
||||||
|
property :active_on_sunday, type: :boolean, default: true
|
||||||
|
property :active_on_monday, type: :boolean, default: true
|
||||||
|
property :active_on_tuesday, type: :boolean, default: true
|
||||||
|
property :active_on_wednesday, type: :boolean, default: true
|
||||||
|
property :active_on_thursday, type: :boolean, default: true
|
||||||
|
property :active_on_friday, type: :boolean, default: true
|
||||||
|
property :active_on_saturday, type: :boolean, default: true
|
||||||
|
|
||||||
belongs_to :supplier
|
belongs_to :supplier
|
||||||
has_and_belongs_to_many :products, storing_keys: true
|
has_and_belongs_to_many :products, storing_keys: true
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ class Supplier
|
|||||||
property :city
|
property :city
|
||||||
property :country, default: 'Netherlands'
|
property :country, default: 'Netherlands'
|
||||||
property :facebook_promotion_url
|
property :facebook_promotion_url
|
||||||
|
property :week_starts_on_monday, type: :boolean, default: true
|
||||||
|
|
||||||
#LOCATION
|
#LOCATION
|
||||||
property :lat, type: Float #, default: 52.08062426379751
|
property :lat, type: Float #, default: 52.08062426379751
|
||||||
@@ -148,10 +149,6 @@ class Supplier
|
|||||||
SupplierMailer.creation(self).deliver_now
|
SupplierMailer.creation(self).deliver_now
|
||||||
end
|
end
|
||||||
|
|
||||||
def week_starts_on_monday?
|
|
||||||
true
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def add_section_on_create
|
def add_section_on_create
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
class ProductCategorySerializer < Qwaiter::Serializer
|
class ProductCategorySerializer < Qwaiter::Serializer
|
||||||
embed :ids, include: true
|
embed :ids, include: true
|
||||||
attributes :name
|
attributes :name, :supplier_id, :active_on_sunday, :active_on_monday, :active_on_tuesday, :active_on_wednesday,
|
||||||
|
:active_on_thursday, :active_on_friday, :active_on_saturday, :full_day, :start_from, :end_on,
|
||||||
|
:position
|
||||||
has_many :products
|
has_many :products
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
class SupplierSupplierSerializer < Qwaiter::Serializer
|
class SupplierSupplierSerializer < Qwaiter::Serializer
|
||||||
self.root = :supplier
|
self.root = :supplier
|
||||||
attributes :extended_version, :open, :name, :lat, :lng, :email, :time_zone, :address, :house_number, :house_number_addition, :postal_code, :city, :country,
|
attributes :extended_version, :open, :name, :lat, :lng, :email, :time_zone, :address, :house_number, :house_number_addition, :postal_code, :city, :country,
|
||||||
:facebook_promotion_url, :iens_profile
|
:facebook_promotion_url, :iens_profile, :week_starts_on_monday
|
||||||
|
|
||||||
def extended_version
|
def extended_version
|
||||||
false
|
false
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Qwaiter::Application.configure do
|
|||||||
# Show full error reports and disable caching
|
# Show full error reports and disable caching
|
||||||
config.consider_all_requests_local = true
|
config.consider_all_requests_local = true
|
||||||
config.action_controller.perform_caching = false
|
config.action_controller.perform_caching = false
|
||||||
config.action_controller.action_on_unpermitted_parameters = :raise
|
config.action_controller.action_on_unpermitted_parameters = :log
|
||||||
|
|
||||||
config.ember.variant = :development
|
config.ember.variant = :development
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Qwaiter::Application.configure do
|
|||||||
# Show full error reports and disable caching
|
# Show full error reports and disable caching
|
||||||
config.consider_all_requests_local = true
|
config.consider_all_requests_local = true
|
||||||
config.action_controller.perform_caching = false
|
config.action_controller.perform_caching = false
|
||||||
config.action_controller.action_on_unpermitted_parameters = :raise
|
config.action_controller.action_on_unpermitted_parameters = :log
|
||||||
|
|
||||||
# Raise exceptions instead of rendering exception templates
|
# Raise exceptions instead of rendering exception templates
|
||||||
config.action_dispatch.show_exceptions = false
|
config.action_dispatch.show_exceptions = false
|
||||||
|
|||||||
@@ -120,6 +120,7 @@ en:
|
|||||||
title: Reviews
|
title: Reviews
|
||||||
explanation: Fill in your Iens id. You can find this id in the web location of your page
|
explanation: Fill in your Iens id. You can find this id in the web location of your page
|
||||||
product_category:
|
product_category:
|
||||||
|
# week days depricated
|
||||||
week_days:
|
week_days:
|
||||||
abbreviation:
|
abbreviation:
|
||||||
sunday: S
|
sunday: S
|
||||||
@@ -129,6 +130,19 @@ en:
|
|||||||
thursday: T
|
thursday: T
|
||||||
friday: F
|
friday: F
|
||||||
saturday: S
|
saturday: S
|
||||||
|
edit:
|
||||||
|
modal:
|
||||||
|
title: Edit ${models.product_category}
|
||||||
|
body_header: ''
|
||||||
|
active_between:
|
||||||
|
top: Active between
|
||||||
|
middle: and
|
||||||
|
move:
|
||||||
|
modal:
|
||||||
|
title: Move ${models.product_category|downcase}
|
||||||
|
body_header: ''
|
||||||
|
move_to_top: Move to top
|
||||||
|
move_below_label: "Place below ${product_category|downcase}"
|
||||||
product:
|
product:
|
||||||
new: 'New ${model.product|downcase}'
|
new: 'New ${model.product|downcase}'
|
||||||
preview:
|
preview:
|
||||||
|
|||||||
@@ -128,6 +128,19 @@ nl:
|
|||||||
thursday: D
|
thursday: D
|
||||||
friday: V
|
friday: V
|
||||||
saturday: Z
|
saturday: Z
|
||||||
|
edit:
|
||||||
|
modal:
|
||||||
|
title: Bewerk ${models.product_category}
|
||||||
|
body_header: ''
|
||||||
|
active_between:
|
||||||
|
top: Actief tussen
|
||||||
|
middle: en
|
||||||
|
move:
|
||||||
|
modal:
|
||||||
|
title: Verplaats ${models.product_category|downcase}
|
||||||
|
body_header: ''
|
||||||
|
move_to_top: Plaats bovenaan
|
||||||
|
move_below_label: "Plaats onder ${product_category|downcase}"
|
||||||
product:
|
product:
|
||||||
new: 'Nieuw ${model.product|downcase}'
|
new: 'Nieuw ${model.product|downcase}'
|
||||||
preview:
|
preview:
|
||||||
|
|||||||
+1342
-1387
File diff suppressed because it is too large
Load Diff
+5311
-4214
File diff suppressed because it is too large
Load Diff
+5
-5
File diff suppressed because one or more lines are too long
+14
-21
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user