switch to JSONAPI for suppliers

This commit is contained in:
2015-09-09 09:12:30 +02:00
parent 9c1945252d
commit 5cdbe57dec
10 changed files with 58 additions and 11 deletions
@@ -1,8 +1,8 @@
App.THelper = Ember.Helper.helper (params, options)->
path = params[0]
toptions = options
if params.length > 1 and typeof(params[1].serialize) is 'function'
$.extend toptions, params[1].serialize()
if params.length > 1 and typeof(params[1].toJSON) is 'function'
$.extend toptions, params[1].toJSON()
text = t(path, toptions)
tag = if options.bare then text else "<span data-t='#{path}' class='translation' data-t-attributes='#{JSON.stringify(toptions)}'>#{text}</span>"
tag.htmlSafe()
@@ -7,7 +7,7 @@
# return translated title_path if directly set by controller
translation_params = {}
if model = @get('model')
translation_params = model.serialize() if model.serialize
translation_params = model.toJSON() if model.toJSON
# return translated title_path if directly set by options
# return translated title_path if directly set by controller
@@ -19,6 +19,7 @@
#return tspan(@title_path, translation_params).htmlSafe() if @title_path
# infer title path based on controller name App.modals.AddSectionController => add_section
underscored = `this.constructor.toString().substr(11).replace(/Controller$/, '').underscore()`
#underscored = @constructor.toString().replace(/[a-zA-Z_-]+\@controller:modals\//, '').replace(/:$/, '').underscore() # ember cli
# find translated title or humanize the controller name
if convention_translation = ttry("modal.#{underscored}.title", translation_params)
tspan(@get("modal.#{underscored}.title"), translation_params).htmlSafe()
@@ -16,7 +16,7 @@ App.EmployeesRoute = Ember.Route.extend
ac = @controllerFor('application')
if ac.get('employee.id') isnt employee.id
ac.modal 'confirm',
title: t('employee.destroy.modal.title', employee.serialize())
title: t('employee.destroy.modal.title', employee.toJSON())
ok: -> employee.destroyRecord()
else
ac.modal 'alert',
@@ -2,7 +2,7 @@ module Employees
class EmployeeShiftsController < Employees::ApplicationController
def index
@employee_shifts = EmployeeShift.for_employee(current_employee).include_relation(:supplier)
render json: @employee_shifts, each_serializer: Employees::EmployeeShiftSerializer
render json: JSONAPI::Serializer.serialize(@employee_shifts, serializer: Employees::EmployeeShiftSerializer, is_collection: true)
end
end
end
@@ -2,7 +2,7 @@ module Employees
class SuppliersController < Employees::ApplicationController
def index
@suppliers = current_employee.suppliers
render json: @suppliers, each_serializer: Employees::SupplierSerializer
render json: JSONAPI::Serializer.serialize(@suppliers, serializer: Employees::SupplierSerializer, is_collection: true)
end
end
end
@@ -23,6 +23,7 @@ module Suppliers
render json: JSONAPI::Serializer.serialize(@lists, serializer: Suppliers::ListSerializer, is_collection: true, include: %w[
orders
orders.list
orders.product_orders
orders.product_orders.order
orders.product_orders.product
@@ -1,5 +1,6 @@
class Employees::EmployeeShiftSerializer < Qwaiter::Serializer
self.root = :employee_shift
attributes :start_from, :end_on, :employee_id, :description
class Employees::EmployeeShiftSerializer
include Qwaiter::EmployeeBaseSerializer
attributes :start_from, :end_on, :description
has_one :supplier
has_one :employee
end
@@ -1,5 +1,5 @@
class Employees::SupplierSerializer < Qwaiter::Serializer
self.root = :supplier
class Employees::SupplierSerializer
include Qwaiter::EmployeeBaseSerializer
attributes :open, :name, :lat, :lng, :time_zone, :address, :house_number, :house_number_addition, :postal_code, :city, :country,
:facebook_promotion_url, :iens_profile, :week_starts_on_monday, :orders_in_process_count, :orders_placed_count
end