diff --git a/app/assets/images/logo.svg b/app/assets/images/logo.svg index f42c0310..58a86795 100644 --- a/app/assets/images/logo.svg +++ b/app/assets/images/logo.svg @@ -127,11 +127,11 @@ inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1435" - inkscape:window-height="860" + inkscape:window-height="856" id="namedview43" showgrid="false" inkscape:zoom="6.34" - inkscape:cx="35.062165" + inkscape:cx="44.999074" inkscape:cy="30.642055" inkscape:window-x="0" inkscape:window-y="0" @@ -165,6 +165,7 @@ + QWAITER + dx="0 0">QWAITER + + \ No newline at end of file diff --git a/app/assets/javascripts/translations.js.coffee.erb b/app/assets/javascripts/translations.js.coffee.erb index 73017a5f..5c11cd1c 100644 --- a/app/assets/javascripts/translations.js.coffee.erb +++ b/app/assets/javascripts/translations.js.coffee.erb @@ -1,4 +1,3 @@ - @$translations = en: models: <%= I18n.t('activemodel.models', locale: :en).to_json %> @@ -10,6 +9,7 @@ attributes: <%= I18n.t('activemodel.attributes', locale: :nl).to_json %> helpers: <%= I18n.t('helpers', locale: :nl).to_json %> pagination: <%= I18n.t('views.pagination', locale: :nl).to_json %> + @t = (path, vars={}) -> #result = undefined #m = undefined diff --git a/app/assets/javascripts/user/app/app.js.coffee b/app/assets/javascripts/user/app/app.js.coffee index af237e5a..2c7ed8c1 100644 --- a/app/assets/javascripts/user/app/app.js.coffee +++ b/app/assets/javascripts/user/app/app.js.coffee @@ -11,8 +11,18 @@ Ember.$.ajaxPrefilter (options) -> options.data = "auth_token=#{auth_token}" if options.type.toUpperCase() == 'POST' if auth_token = Qstorage.getItem('auth_token') - options.data ||= {} - options.data.auth_token = auth_token + if options.data + if typeof(options.data) == 'string' + if options.data[0] == '{' || options.data[0] == '[' # json + object = JSON.parse(options.data) + object.auth_token = auth_token + options.data = JSON.stringify(object) + else + options.data += "&auth_token=#{auth_token}" + else + options.data.auth_token = auth_token + else + options.data = "auth_token=#{auth_token}" true Ember.$.ajaxSetup diff --git a/app/assets/javascripts/user/app/controllers/active_list_controller.js.coffee b/app/assets/javascripts/user/app/controllers/active_list_controller.js.coffee index 11718531..459d8719 100644 --- a/app/assets/javascripts/user/app/controllers/active_list_controller.js.coffee +++ b/app/assets/javascripts/user/app/controllers/active_list_controller.js.coffee @@ -8,3 +8,4 @@ App.ActiveListController = Ember.ObjectController.extend #).property('controllers.application.list') displayTotal: (-> @get('model.orders.length') and @get('model.orders.length') > 1 ).property('model.orders.length') + list: (-> @get('controllers.application.list') ).property('controllers.application.list') diff --git a/app/assets/javascripts/user/app/controllers/application_controller.js.coffee b/app/assets/javascripts/user/app/controllers/application_controller.js.coffee index 2596b0bc..54f012f1 100644 --- a/app/assets/javascripts/user/app/controllers/application_controller.js.coffee +++ b/app/assets/javascripts/user/app/controllers/application_controller.js.coffee @@ -20,6 +20,27 @@ App.ApplicationController = Ember.Controller.extend list_closed: -> @set 'list', null join_request_approved: (data)-> @setCurrentList -> @transitionToRoute('active_list') + order_being_processed: (data)-> + order = @store.all('order').findBy 'id', data.id + order.set('state', 'active') if order + order_being_delivered: (data)-> + order = @store.all('order').findBy 'id', data.id + order.set('state', 'delivered') if order + user_join_request: (data)-> + list = @store.all('list').findBy 'id', data.join_request.list_id + user_data = data.users[0] + user = @store.all('user').findBy 'id', user_data.id + user = @store.createRecord 'user', user_data unless user + data.join_request.list = list + data.join_request.user = user + join_request = @store.createRecord 'join_request', data.join_request + @transitionToRoute 'join_requests' + join_request_rejected: (data)-> + join_request = @store.all('join_request').findBy 'id', data.id + join_request.eraseRecord() if join_request + join_request_approved: -> + @setCurrentList -> + @transitionToRoute 'active_list' #getProducts: (options = {})-> #@store.find('product_category', options).then (product_categories)=> @@ -34,9 +55,12 @@ App.ApplicationController = Ember.Controller.extend error_list.eraseRecord() @set 'list', list @controllerFor('active_list').set('model', list) + if list.get('join_requests').toArray().length + @transitionToRoute 'join_requests' callback.call(@) if callback - error = (jqXHR)=> + error = (emberError)=> # if jqXHR.status == 404 officially, now assume close list on error #@redirect_to 'index', message: 'the_list_has_been_closed' + console.log "Error: #{emberError.message}" if emberError.message @set 'list', null @store.find('list', 'current').then(success, error) diff --git a/app/assets/javascripts/user/app/controllers/join_requests_controller.js.coffee b/app/assets/javascripts/user/app/controllers/join_requests_controller.js.coffee new file mode 100644 index 00000000..40cbc179 --- /dev/null +++ b/app/assets/javascripts/user/app/controllers/join_requests_controller.js.coffee @@ -0,0 +1,9 @@ +App.JoinRequestsController = Ember.ArrayController.extend + join_requests: (-> @get('controllers.application.list.join_requests') ).property('controllers.application.list.join_requests') + actions: + rejectRequest: (join_request)-> + Ember.$.post('/user/reject_join_request', user_id: join_request.get('user.id')).then (response)-> + join_request.eraseRecord() + approveRequest: (join_request)-> + Ember.$.post('/user/approve_join_request', user_id: join_request.get('user.id')).then (response)-> + join_request.eraseRecord() diff --git a/app/assets/javascripts/user/app/controllers/product_orders_controller.js.coffee b/app/assets/javascripts/user/app/controllers/product_orders_controller.js.coffee index 9b362a7b..a3e2a2c3 100644 --- a/app/assets/javascripts/user/app/controllers/product_orders_controller.js.coffee +++ b/app/assets/javascripts/user/app/controllers/product_orders_controller.js.coffee @@ -1,4 +1,5 @@ App.ProductOrdersController = Ember.ArrayController.extend + needs: ['application', 'table'] orderTotal: (-> #Math.round(Math.random()*100) @get('model').getEach('total').reduce(((sum, total) -> sum + total), 0) @@ -8,16 +9,17 @@ App.ProductOrdersController = Ember.ArrayController.extend #TODO: make clearing of unpersisted product orders @store.all('product_order').toArray().invoke 'eraseRecord' orderProducts: -> - order = @store.createRecord('order', list: @get('controllers.application.list')) + table = @get('controllers.table.model') + list = @get('controllers.application.list') + order = @store.createRecord('order', list: list, table: table) new_product_orders = @store.all('product_order').filterProperty('order', null) order.get('product_orders').pushObjects(new_product_orders) order.save().then (response)=> - debugger new_product_orders.invoke 'eraseRecord' - .error (a,b,c)=> - d=a - debugger - @transitionToRoute 'active_list' + @transitionToRoute 'active_list' + , (jqXHR)=> + new_product_orders.invoke 'eraseRecord' + @redirect_to 'index', message: 'order_could_not_be_processed' #orders = @store.all('product_order').toArray() #data = orders.map( (order)->order.serialize() ) diff --git a/app/assets/javascripts/user/app/controllers/select_qrcode_controller.js.coffee b/app/assets/javascripts/user/app/controllers/select_qrcode_controller.js.coffee index 25386566..ff15c2a4 100644 --- a/app/assets/javascripts/user/app/controllers/select_qrcode_controller.js.coffee +++ b/app/assets/javascripts/user/app/controllers/select_qrcode_controller.js.coffee @@ -34,10 +34,4 @@ App.SelectQrcodeController = Ember.Controller.extend cancel: => @redirect_to 'list_products' else - if res.occupied - @redirect_to 'join_occupied_table', {table_id: table._id} - else if res.supplier_closed - @redirect_to 'user_root', {message: 'supplier_is_closed'} - else - #$.post(data_host + '/user/create_list.json', {table_id: table._id}, (res)-> Quser.handle_response(res)) - @redirect_to 'table', table._id, a: 3 + @redirect_to 'table', table._id diff --git a/app/assets/javascripts/user/app/models/join_request.js.coffee b/app/assets/javascripts/user/app/models/join_request.js.coffee new file mode 100644 index 00000000..1f31d669 --- /dev/null +++ b/app/assets/javascripts/user/app/models/join_request.js.coffee @@ -0,0 +1,4 @@ +attr = DS.attr +App.JoinRequest= DS.Model.extend + list: DS.belongsTo('list') + user: DS.belongsTo('user') diff --git a/app/assets/javascripts/user/app/models/list.js.coffee b/app/assets/javascripts/user/app/models/list.js.coffee index 9e19c9cd..924996d0 100644 --- a/app/assets/javascripts/user/app/models/list.js.coffee +++ b/app/assets/javascripts/user/app/models/list.js.coffee @@ -11,6 +11,8 @@ App.List = DS.Model.extend supplier: DS.belongsTo('supplier') table: DS.belongsTo('table') + join_requests: DS.hasMany('join_request') + users: DS.hasMany('user') total: (-> @get('orders').getEach('total').reduce(((sum, total) -> sum + total), 0) diff --git a/app/assets/javascripts/user/app/models/order.js.coffee b/app/assets/javascripts/user/app/models/order.js.coffee index a99f9009..bafcfc6d 100644 --- a/app/assets/javascripts/user/app/models/order.js.coffee +++ b/app/assets/javascripts/user/app/models/order.js.coffee @@ -2,6 +2,7 @@ attr = DS.attr App.Order = DS.Model.extend state: attr 'string' list: DS.belongsTo('list') + table: DS.belongsTo('table') product_orders: DS.hasMany('product_order', embedded: 'always') total: (-> @get('product_orders').getEach('total').reduce(((sum, total) -> sum + total), 0) diff --git a/app/assets/javascripts/user/app/models/user.js.coffee b/app/assets/javascripts/user/app/models/user.js.coffee new file mode 100644 index 00000000..b86d4db7 --- /dev/null +++ b/app/assets/javascripts/user/app/models/user.js.coffee @@ -0,0 +1,6 @@ +attr = DS.attr +App.User = DS.Model.extend + facebook_id: attr('string') + email: attr('string') + list: DS.belongsTo('list') # in ember scope not many to many (yet) + join_requests: DS.hasMany('join_request') diff --git a/app/assets/javascripts/user/app/modifications/controller_modifications.js.coffee b/app/assets/javascripts/user/app/modifications/controller_modifications.js.coffee index aed8e960..e6bbd5b3 100644 --- a/app/assets/javascripts/user/app/modifications/controller_modifications.js.coffee +++ b/app/assets/javascripts/user/app/modifications/controller_modifications.js.coffee @@ -8,13 +8,16 @@ Ember.Controller.reopen callback.call(@) if callback redirect_to: (route, args...)-> route = 'index' if route == 'user_root' - route_segments = App.Router.router.recognizer.names[route].segments - dynamic_segments = route_segments.reduce (sum, segment) -> + route_object= App.Router.router.recognizer.names[route] + throw "Route #{route} cannot exist" unless route_object + dynamic_segments = route_object.segments.reduce (sum, segment) -> if segment.name then sum + 1 else sum , 0 route_args = [route] - for isegment in [1..dynamic_segments] - route_args.push args.shift() + + if dynamic_segments # needed because javascript for loop always fires, even when end is less than start :'( + for isegment in [1..dynamic_segments] + route_args.push args.shift() options = args.pop() || {} diff --git a/app/assets/javascripts/user/app/router.js.coffee b/app/assets/javascripts/user/app/router.js.coffee index 6aac987f..b56ea5e4 100644 --- a/app/assets/javascripts/user/app/router.js.coffee +++ b/app/assets/javascripts/user/app/router.js.coffee @@ -11,5 +11,6 @@ App.Router.map -> @route 'list_products' @route 'list_products_for_table', path: '/list_products/:table_id' @route 'table', path: '/tables/:table_id' + @resource 'join_requests' @resource 'lists', -> @resource 'list', path: ':list_id' diff --git a/app/assets/javascripts/user/app/routes/active_list_route.js.coffee b/app/assets/javascripts/user/app/routes/active_list_route.js.coffee index d35c515e..2827dc3d 100644 --- a/app/assets/javascripts/user/app/routes/active_list_route.js.coffee +++ b/app/assets/javascripts/user/app/routes/active_list_route.js.coffee @@ -1,7 +1,13 @@ -App.ActiveListRoute = Ember.Route.extend - afterModel: (a,b,c)-> - controller = @controllerFor('application') - if table_id = controller.get('list.table.id') - transitionTo 'table', table_id - else - controller.redirect_to 'index', message: 'the_list_has_been_closed' +App.ActiveListRoute = Ember.Route.extend {} + #model: -> + #@get('controllers.application.list') + #afterModel: -> + #controller = @controllerFor('application') + #table_id = controller.get('list.table.id') + #debugger + #if table_id + #@transitionTo 'table', table_id + #else + #controller.redirect_to 'index', message: 'the_list_has_been_closed' + #setupController: (controller, model)-> + #debugger diff --git a/app/assets/javascripts/user/app/routes/application_route.js.coffee b/app/assets/javascripts/user/app/routes/application_route.js.coffee index 5bbd17d2..36df816f 100644 --- a/app/assets/javascripts/user/app/routes/application_route.js.coffee +++ b/app/assets/javascripts/user/app/routes/application_route.js.coffee @@ -7,7 +7,7 @@ App.ApplicationRoute = Ember.Route.extend user_id = Qstorage.getItem('user_id') faye.subscribe "/user/"+user_id, (e)=> console.log e - @events[e.event].call(@) if @events[e.event] + @events[e.event].call(@, e.data) if @events[e.event] @setCurrentList() unauthorized: -> diff --git a/app/assets/javascripts/user/app/templates/active_list.emblem b/app/assets/javascripts/user/app/templates/active_list.emblem index a3976dce..36fbd574 100644 --- a/app/assets/javascripts/user/app/templates/active_list.emblem +++ b/app/assets/javascripts/user/app/templates/active_list.emblem @@ -1,19 +1,28 @@ .row h2=t 'active_list.title' - if orders - ul.active_list-orders - each order in orders - li class=order.state - = order.display - span.currency= currency order.total - if displayTotal - li.total - = t 'total' - span.currency= currency model.total + if list + each user in list.users + img.facebook-image src="http://graph.facebook.com/#{unbound user.facebook_id}/picture?type=square" + if list.orders + .list-orders-container + each order in orders + .list-order-container class=order.state + = order.display + span.currency= currency order.total + if displayTotal + .list-orders-total.total + = t 'total' + span.currency= currency model.total + else + p + span=t 'active_list.no_orders_explanation' + br + link-to 'list_products' class="button" + span=t 'list_products.title' + else p - span=t 'active_list.no_orders_explanation' + span=t 'active_list.not_active.message' br - link-to 'list_products' class="button" - span=t 'list_products.title' - + link-to 'index' class="button" + span= t 'active_list.not_active.home_button_text' diff --git a/app/assets/javascripts/user/app/templates/application.emblem b/app/assets/javascripts/user/app/templates/application.emblem index 6ae3bdd6..a0e2e018 100644 --- a/app/assets/javascripts/user/app/templates/application.emblem +++ b/app/assets/javascripts/user/app/templates/application.emblem @@ -34,6 +34,9 @@ li =link-to 'lists' span= t 'models.plural.list' + li + =link-to 'join_requests' + span= t 'models.plural.join_request' section.main-section if notice #notice.alert-box{action clearNotice} data-alert=true diff --git a/app/assets/javascripts/user/app/templates/join_requests.emblem b/app/assets/javascripts/user/app/templates/join_requests.emblem new file mode 100644 index 00000000..47cbbeef --- /dev/null +++ b/app/assets/javascripts/user/app/templates/join_requests.emblem @@ -0,0 +1,11 @@ +.row + h2= t 'join_request.existing_user.title' + each join_request in join_requests + .join-request-container + img.facebook-image src="http://graph.facebook.com/#{unbound join_request.user.facebook_id}/picture?type=square" + span.user-email= join_request.user.email + .right + button.join-request-reject{action rejectRequest join_request}=t 'join_request.existing_user.reject_request' + button.join-request-approve{action approveRequest join_request}=t 'join_request.existing_user.approve_request' + else + p=t 'join_request.existing_user.no_join_requests_message' diff --git a/app/assets/javascripts/user/flat/application.js.coffee.erb b/app/assets/javascripts/user/flat/application.js.coffee.erb index ab62bdca..2c94a406 100644 --- a/app/assets/javascripts/user/flat/application.js.coffee.erb +++ b/app/assets/javascripts/user/flat/application.js.coffee.erb @@ -10,10 +10,12 @@ #= require js-routes #= require_directory . #= require_self -(($) -> - origAppend = $.fn.append - $.fn.append = -> origAppend.apply(@, arguments).trigger("append") -)(jQuery) +# +# (($) -> +# origAppend = $.fn.append +# $.fn.append = -> origAppend.apply(@, arguments).trigger("append") +# )(jQuery) + @Qstorage = localStorage $.extend($translations.en, <%= I18n.t('user', locale: :en).to_json %>); diff --git a/app/assets/stylesheets/user/foundation/join_requests.css.sass b/app/assets/stylesheets/user/foundation/join_requests.css.sass new file mode 100644 index 00000000..f2e622c4 --- /dev/null +++ b/app/assets/stylesheets/user/foundation/join_requests.css.sass @@ -0,0 +1,12 @@ +@import ./foundation_and_overrides +.join-request-container + .user-email + padding-left: 12px + .join-request-reject + +button + @extend .secondary + margin-right: 12px + .join-request-approve + +button + margin-right: 12px + diff --git a/app/assets/stylesheets/user/foundation/lists.css.sass b/app/assets/stylesheets/user/foundation/lists.css.sass index 2a72d0ef..cdbda09b 100644 --- a/app/assets/stylesheets/user/foundation/lists.css.sass +++ b/app/assets/stylesheets/user/foundation/lists.css.sass @@ -11,3 +11,25 @@ float: right clear: right +panel($padding: 4px) +.list-orders-container + .currency + float: right + list-style: none + $padding: 6px 0 6px 35px + .list-order-container + background-position: left center + background-repeat: no-repeat + +grid-column(12) + padding: $padding + border-bottom: 1px solid #eee + &.active + background-image: image-url('icons/order-check.png') + &.delivered + background-image: image-url('icons/order-doublecheck.png') + .list-orders-total + +grid-column(12) + padding: $padding + border-top: 2px solid #444 + font-weight: bold + + diff --git a/app/controllers/users/orders_controller.rb b/app/controllers/users/orders_controller.rb index d80d3eb3..6a27c0ce 100644 --- a/app/controllers/users/orders_controller.rb +++ b/app/controllers/users/orders_controller.rb @@ -2,14 +2,18 @@ module Users class OrdersController < Users::ApplicationController respond_to :json def create - + render json: {}, status: :unprocessable_entity and return unless params[:order].present? && params[:order][:product_orders].present? converted_order = params[:order][:product_orders].each_with_object({}){|po, o| o[po[:product_id]] = po[:quantity] } - unless list = current_user.active_list + if list = current_user.active_list + render json: {}, status: :not_acceptable and return unless list.supplier.open? + else + render json: {}, status: :unprocessable_entity and return unless params[:order][:table_id].present? table = Table.find(params[:order][:table_id]) + render json: {}, status: :not_acceptable and return unless table.supplier.open? if table.occupied? #render json: json_alert('messages.table_is_occupied', location: :join_occupied_table, location_params: {table_id: @table.id}) - render status: :not_acceptable and return + render json: {}, status: :not_acceptable and return end list = List.from_table( table, current_user ) diff --git a/app/models/list.rb b/app/models/list.rb index b90b2aa5..2e9028d0 100644 --- a/app/models/list.rb +++ b/app/models/list.rb @@ -210,7 +210,7 @@ class List user.save self.is_dirty if save - broadcast_user user.id, 'join_request_approved' + broadcast_user user.id, 'join_request_approved', UserUserSerializer.new(user).as_json end end end @@ -230,19 +230,26 @@ class List self.join_request_user_ids << requester.id self.is_dirty if save - for user in users - broadcast_user user.id, 'user_join_request', list_id: id, user_email: requester.email, user_id: requester.id - end + broadcast_users 'user_join_request', JoinRequestSerializer.new(join_request_for_user(requester)).as_json end end end + def join_request_for_user(user) + JoinRequest.new(user: user, list: self) + end + + + def join_requests + @join_requests ||= join_request_user_ids.any? ? self.class.database.load_document(join_request_user_ids).map{|user| join_request_for_user(user) } : [] + end + def reject_join_request_for_user!(user_id) if join_request_user_ids.include?(user_id) join_request_user_ids.delete(user_id) self.is_dirty if save - broadcast_user user_id, 'join_request_rejected' + broadcast_user user_id, 'join_request_rejected', id: "jr-#{user_id}" end end end @@ -380,10 +387,6 @@ class List @join_requests_as_json = h end - def join_requests - @join_requests ||= join_request_user_ids.any? ? self.class.database.load_document(join_request_user_ids).map{|user| JoinRequest.new(user: user, list: self) } : [] - end - def product_categories supplier.product_categories end diff --git a/app/models/table.rb b/app/models/table.rb index a0bc5a28..f5cc32d1 100644 --- a/app/models/table.rb +++ b/app/models/table.rb @@ -48,7 +48,6 @@ class Table end def occupied? - return true #testing... return @is_occupied if instance_variable_defined?(:'@is_occupied') @is_occupied = !self.class.database.view(List.active_by_table_id_view(key: id, reduce: true)).zero? end diff --git a/app/models/user.rb b/app/models/user.rb index 534623bd..a58a9cbe 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,5 +1,6 @@ class User include SimplyStored::Couch + include ActiveModel::SerializerSupport property :name property :active_list_id @@ -41,6 +42,10 @@ class User ) end + def facebook_id + uid + end + def self.from_omniauth(auth) binding.pry end diff --git a/app/serializers/join_request_serializer.rb b/app/serializers/join_request_serializer.rb index 06d38aab..70fd9835 100644 --- a/app/serializers/join_request_serializer.rb +++ b/app/serializers/join_request_serializer.rb @@ -1,3 +1,5 @@ class JoinRequestSerializer < Qwaiter::Serializer - attributes :user_id, :user_facebook_id, :list_id + embed :ids, include: true + attributes :list_id + has_one :user, serializer: UserUserSerializer end diff --git a/app/serializers/user_extended_list_serializer.rb b/app/serializers/user_extended_list_serializer.rb index 2380ed87..de9013d6 100644 --- a/app/serializers/user_extended_list_serializer.rb +++ b/app/serializers/user_extended_list_serializer.rb @@ -20,6 +20,7 @@ class UserExtendedListSerializer < Qwaiter::Serializer #has_many :product_categories has_one :table, serializer: UserExtendedTableSerializer has_many :join_requests + has_many :users, serializer: UserUserSerializer def extended_version true diff --git a/app/serializers/user_user_serializer.rb b/app/serializers/user_user_serializer.rb new file mode 100644 index 00000000..e403a40d --- /dev/null +++ b/app/serializers/user_user_serializer.rb @@ -0,0 +1,4 @@ +class UserUserSerializer < Qwaiter::Serializer + self.root = :user + attributes :email, :facebook_id +end diff --git a/app/services/join_request.rb b/app/services/join_request.rb index 619d5240..9eafc69e 100644 --- a/app/services/join_request.rb +++ b/app/services/join_request.rb @@ -1,5 +1,8 @@ class JoinRequest attr_reader :user, :list + def id + "jr-#{user_id}" + end def initialize(user: nil, list: nil) @user, @list = user, list @@ -9,6 +12,10 @@ class JoinRequest user.id end + def user_email + user.email + end + def user_facebook_id user.uid end @@ -16,4 +23,22 @@ class JoinRequest def list_id list.id end + + def read_attribute_for_serialization(a) + serializable_hash[a] + end + + def object + self + end + + def serializable_hash + { + id: id, + user_id: user.id, + user_facebook_id: user.uid, + user_email: user.email, + list_id: list.id + } + end end diff --git a/config/locales/models.en.yml b/config/locales/models.en.yml index 2c66c36f..55d6db65 100644 --- a/config/locales/models.en.yml +++ b/config/locales/models.en.yml @@ -9,6 +9,7 @@ en: order: Order product_category: Product category section: Section + join_request: Join request plural: user: Users supplier: Restaurants @@ -18,6 +19,7 @@ en: order: Orders product_category: Product categories section: Sections + join_request: Join requests attributes: product_category: name: Name diff --git a/config/locales/models.nl.yml b/config/locales/models.nl.yml index 15ce8323..bc66eeb0 100644 --- a/config/locales/models.nl.yml +++ b/config/locales/models.nl.yml @@ -9,6 +9,7 @@ nl: order: Bestelling product_category: Product categorie section: Afdeling + join_request: Deelname verzoek plural: user: Gebruikers supplier: Restaurants @@ -18,6 +19,7 @@ nl: order: Bestellingen product_category: Product categorieen section: Afdelingen + join_request: Deelname verzoeken attributes: product_category: name: Naam diff --git a/config/locales/user.en.yml b/config/locales/user.en.yml index f0a1154d..eb821d59 100644 --- a/config/locales/user.en.yml +++ b/config/locales/user.en.yml @@ -19,11 +19,21 @@ en: cannot_identify_table: The application cannot determine the table number unknown_supplier_name: unknown unauthorized: Unauthorized action detected + order_could_not_be_processed: 'The order could not be processed' active_list: title: Active list needs_payment: Check please! - no_orders_explanation: You did not order anything + no_orders_explanation: You did not order anything yet + not_active: + message: At the moment there is no active list + home_button_text: Back + join_request: + existing_user: + title: '${models.plural.join_request}' + reject_request: Reject + approve_request: Approve + no_join_requests_message: Nobody wants to join right now list_products: title: Order history_list: diff --git a/config/locales/user.nl.yml b/config/locales/user.nl.yml index ced5c5d2..dd0d011b 100644 --- a/config/locales/user.nl.yml +++ b/config/locales/user.nl.yml @@ -19,12 +19,22 @@ nl: cannot_identify_table: De applicatie kan niet bepalen om welke tafel het gaat unknown_supplier_name: onbekend unauthorized: Niet toegestane actie + order_could_not_be_processed: 'De bestelling kan niet worden uitgevoerd' active_list: title: Actieve lijst needs_payment: Rekening vragen! no_orders_explanation: Je hebt nog niks besteld + not_active: + message: Momenteel is er geen lijst actief + home_button_text: Terug list_products: title: Bestel + join_request: + existing_user: + title: '${models.plural.join_request}' + reject_request: Afwijzen + approve_request: Toestaan + no_join_requests_message: Niemand wil deelnemen aan de ${models.list} history_list: title: Afgesloten lijst list_history: