hino / app / models / travel-application.js
travel-application.js
Raw
import DS from 'ember-data';
import { validator, buildValidations } from 'ember-cp-validations';

const Validations = buildValidations({
  npk : validator('presence', true),
  name : validator('presence', true),
  grade : validator('presence', true)
});

export default DS.Model.extend(Validations, {
  npk: DS.attr('string'),
  name: DS.attr('string'),
  grade: DS.belongsTo('grade', {inverse: null}),
  // gradeId: DS.attr('string'),
  department: DS.belongsTo('department', {inverse: null}),
  // departmentId: DS.attr('string'),
  costCenter: DS.belongsTo('costCenter', {inverse: null}),
  // costCenterId: DS.attr('string'),
  businessTripCategory: DS.belongsTo('businessTripCategory', {inverse: null}),
  // businessTripCategoryId: DS.attr('string'),
  extension: DS.attr('string'),
  handphone: DS.attr('string'),
  email: DS.attr('string'),
  cityAddress: DS.attr('string'),
  area: DS.attr('string'),
  address: DS.attr('string'),
  businessTripType: DS.attr('number', { defaultValue: "1" }),
  isHaveVisa: DS.attr('boolean', { defaultValue: false }),
  visaExpiredDate: DS.attr('date'),
  isHavePassport: DS.attr('boolean', { defaultValue: false }),
  passportExpiredDate: DS.attr('date'),
  isAirplaneTicket: DS.attr('boolean', { defaultValue: false }),
  landTransport: DS.attr('string'),
  isHotelInfo: DS.attr('boolean', { defaultValue: false }),

  // problem-nya disini, ini relationships-nya masangin sama nama property-nya
  // jadi nama property-nya harus sama dengan nama class dengan camel/snakeCase
  travelApplicationDestinationInfo: DS.hasMany('travel-application-destination-info'),
  travelApplicationTicketInfo: DS.hasMany('travel-application-ticket-info'),
  travelApplicationHotelInfo: DS.hasMany('travel-application-hotel-info'),
  travelApplicationTravelAllowance: DS.hasMany('travel-application-travel-allowance'),
  travelApplicationItinerary: DS.hasMany('travel-application-itinerary')
});