switch to JSONAPI for suppliers
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -6,6 +6,7 @@ module Qwaiter
|
||||
autoload :Serializer
|
||||
autoload :UserBaseSerializer
|
||||
autoload :SupplierBaseSerializer
|
||||
autoload :EmployeeBaseSerializer
|
||||
autoload :Counter
|
||||
autoload :Broadcaster
|
||||
autoload :Couchbase
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
module Qwaiter::EmployeeBaseSerializer
|
||||
extend ActiveSupport::Concern
|
||||
include JSONAPI::Serializer
|
||||
included do
|
||||
class_attribute :related_link_for_attributes
|
||||
attribute :created_at
|
||||
attribute :updated_at
|
||||
end
|
||||
|
||||
def base_url
|
||||
nil
|
||||
end
|
||||
|
||||
def format_name(attribute_name)
|
||||
#attribute_name.to_s.dasherize
|
||||
attribute_name.to_s
|
||||
end
|
||||
|
||||
def unformat_name(attribute_name)
|
||||
#attribute_name.to_s.underscore
|
||||
attribute_name.to_s
|
||||
end
|
||||
|
||||
#alias_method :default_relationship_related_link, :relationship_related_link
|
||||
def relationship_related_link(attribute_name)
|
||||
super if related_link_for_attributes.include?(attribute_name)
|
||||
end
|
||||
|
||||
def relationship_self_link(attribute_name)
|
||||
end
|
||||
|
||||
module ClassMethods
|
||||
def attributes(*attrs)
|
||||
attrs.each do |attr|
|
||||
attribute attr
|
||||
end
|
||||
end
|
||||
|
||||
def related_link_for(*attributes)
|
||||
self.related_link_for_attributes = attributes
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user