/** * Override this to add record listeners and filters to every screen where this is the main record. * @param screen The screen these listeners will be in. */ public void addScreenListeners(RecordOwner screen) { super.addScreenListeners(screen); this.getField(Tour.SERV_CONF).setEnabled(false); if (this.getField(Tour.MANUAL_TOUR_STATUS).getListener(DisableOnFieldHandler.class) == null) this.getField(Tour.MANUAL_TOUR_STATUS).addListener(new DisableOnFieldHandler(this.getField(Tour.TOUR_STATUS_ID), BooleanField.YES, false)); } /**
/** * GetSelectDate Method. */ public Date getSelectDate() { Tour recTour = (Tour)this.getRecord(Tour.TOUR_FILE); if (recTour != null) return ((DateTimeField)recTour.getField(Tour.DEPARTURE_DATE)).getDateTime(); return super.getSelectDate(); } /**
recTourHeader = ((ReferenceField)this.getField(Tour.TOUR_HEADER_ID)).getReference(); Record recTourClass = ((ReferenceField)recTourHeader.getField(TourHeader.TOUR_CLASS_ID)).getReference(); Calendar calDepartureDate = ((DateTimeField)this.getField(Tour.DEPARTURE_DATE)).getCalendar(); ((DateTimeField)this.getField(Tour.TICKET_DATE)).setCalendar(calTargetDate, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); ((DateTimeField)this.getField(Tour.SP_1_DATE)).setCalendar(calTargetDate, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); ((DateTimeField)this.getField(Tour.SP_2_DATE)).setCalendar(calTargetDate, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); ((DateTimeField)this.getField(Tour.FINAL_DOC_DATE)).setCalendar(calTargetDate, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); ((DateTimeField)this.getField(Tour.ORDER_COMP_DATE)).setCalendar(calTargetDate, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); ((DateTimeField)this.getField(Tour.FINALIZE_DATE)).setCalendar(calTargetDate, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); ((DateTimeField)this.getField(Tour.CLOSED_DATE)).setCalendar(calTargetDate, DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.CLOSED).setState(false); this.getField(Tour.FINALIZED).setState(false); this.getField(Tour.ORDER_COMPONENTS).setState(false); this.getField(Tour.FINAL_DOCS).setState(false); this.getField(Tour.TICKETS).setState(false); this.getField(Tour.SP_1).setState(false); this.getField(Tour.SP_2).setState(false); this.getField(Tour.SERV_CONF).setState(false); this.getField(Tour.DEPARTED).setState(false);
/** * Move this tour class information to this tour. */ public void moveTourClassInfo(TourClass recTourClass) { this.getField(Tour.TOUR_STATUS_ID).moveFieldToThis(recTourClass.getField(TourClass.INITIAL_TOUR_STATUS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.AIR_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.AIR_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.AIR_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.AIR_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.HOTEL_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.HOTEL_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.HOTEL_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.HOTEL_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.LAND_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.LAND_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.LAND_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.LAND_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.PMC_CUTOFF).moveFieldToThis(recTourClass.getField(TourClass.PMC_CUTOFF), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.CAR_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.CAR_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.CAR_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.CAR_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.TRANSPORTATION_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.TRANSPORTATION_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.TRANSPORTATION_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.TRANSPORTATION_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.CRUISE_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.CRUISE_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.CRUISE_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.CRUISE_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.ITEM_RATE_ID).moveFieldToThis(recTourClass.getField(TourClass.ITEM_RATE_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); this.getField(Tour.ITEM_CLASS_ID).moveFieldToThis(recTourClass.getField(TourClass.ITEM_CLASS_ID), DBConstants.DISPLAY, DBConstants.SCREEN_MOVE); } /**
/** * GetStartDate Method. */ public Date getStartDate() { Tour recTour = (Tour)this.getRecord(Tour.TOUR_FILE); if (recTour != null) return ((DateTimeField)recTour.getField(Tour.DEPARTURE_DATE)).getDateTime(); return super.getStartDate(); } /**
/** * AddMasterListeners Method. */ public void addMasterListeners() { super.addMasterListeners(); this.addListener(new NoDeleteModifyHandler(true, false)); this.getField(Tour.FINALIZED).addListener(new FinalizeHandler(null)); this.getField(Tour.ORDER_COMPONENTS).addListener(new TourOrderHandler(null)); this.getField(Tour.CANCELLED).addListener(new TourOrderHandler(null)); this.getField(Tour.TOUR_STATUS_SUMMARY).addListener(new UpdateTourStatusSummaryHandler(null)); ((TourStatusField)this.getField(Tour.TOUR_STATUS_ID)).getIconField(null).addListener(new TourStatusUpdateHandler(null)); this.addActionListeners(); } /**
this.getField(Tour.DEPARTURE_DATE).addListener(new FieldDataScratchHandler(null)); this.getField(Tour.ORDER_COMP_DATE).addListener(new CalcActionDateHandler(null)); this.getField(Tour.FINALIZE_DATE).addListener(new CalcActionDateHandler(null)); this.getField(Tour.CLOSED_DATE).addListener(new CalcActionDateHandler(null)); this.getField(Tour.FINAL_DOC_DATE).addListener(new CalcActionDateHandler(null)); this.getField(Tour.TICKET_DATE).addListener(new CalcActionDateHandler(null)); this.getField(Tour.SP_1_DATE).addListener(new CalcActionDateHandler(null)); this.getField(Tour.SP_2_DATE).addListener(new CalcActionDateHandler(null)); this.getField(Tour.DEPARTURE_DATE).addListener(new CalcActionDateHandler(null)); this.getField(Tour.ORDER_COMPONENTS).addListener(new CalcActionDateHandler(null)); this.getField(Tour.FINALIZED).addListener(new CalcActionDateHandler(null)); this.getField(Tour.CLOSED).addListener(new CalcActionDateHandler(null)); this.getField(Tour.FINAL_DOCS).addListener(new CalcActionDateHandler(null)); this.getField(Tour.TICKETS).addListener(new CalcActionDateHandler(null)); this.getField(Tour.SP_1).addListener(new CalcActionDateHandler(null)); this.getField(Tour.SP_2).addListener(new CalcActionDateHandler(null)); this.getField(Tour.DEPARTED).addListener(new CalcActionDateHandler(null)); this.getField(Tour.TOUR_STATUS_ID).addListener(new TourStatusEventHandler(null)); this.getField(Tour.ORDER_COMPONENTS).addListener(new TourEventHandler(TourEvent.ORDER_COMPONENTS)); this.getField(Tour.FINALIZED).addListener(new TourEventHandler(TourEvent.FINALIZATION)); this.getField(Tour.CLOSED).addListener(new TourEventHandler(TourEvent.TOUR_CLOSED)); this.getField(Tour.FINAL_DOCS).addListener(new TourEventHandler(TourEvent.FINAL_DOCS)); this.getField(Tour.TICKETS).addListener(new TourEventHandler(TourEvent.TICKETING)); this.getField(Tour.SP_1).addListener(new TourEventHandler(TourEvent.SPECIAL_1)); this.getField(Tour.SP_2).addListener(new TourEventHandler(TourEvent.SPECIAL_2));
/** * FieldChanged Method. */ public int fieldChanged(boolean bDisplayOption, int iMoveMode) { Booking recBooking = (Booking)this.getOwner().getRecord(); Tour recTour = null; if (!recBooking.getField(Booking.TOUR_ID).isNull()) recTour = (Tour)((ReferenceField)recBooking.getField(Booking.TOUR_ID)).getReference(); if (recTour != null) if ((recTour.getEditMode() == DBConstants.EDIT_CURRENT) || (recTour.getEditMode() == DBConstants.EDIT_IN_PROGRESS)) { Record recTourHeader = ((ReferenceField)recTour.getField(Tour.TOUR_HEADER_ID)).getReference(); if (recTourHeader != null) if (recTourHeader.getField(TourHeader.TOUR_SERIES).getState() == false) { if (recBooking.getListener(WriteOnUpdateHandler.class) == null) recBooking.addListener(new WriteOnUpdateHandler(recTour, false)); boolean[] rgbEnabled = recTour.getField(m_iTourFieldSeq).setEnableListeners(false); recTour.getField(m_iTourFieldSeq).moveFieldToThis(this.getOwner()); recTour.getField(m_iTourFieldSeq).setEnableListeners(rgbEnabled); } } return super.fieldChanged(bDisplayOption, iMoveMode); }
TourHeader recTourHeader = (TourHeader)((ReferenceField)recTour.getField(Tour.TOUR_HEADER_ID)).getReferenceRecord(this.findRecordOwner()); try { recTourHeader.addNew(); if (recTourHeader.seek(DBConstants.EQUALS)) Date dateStart = (Date)properties.get(recTour.getField(Tour.DEPARTURE_DATE).getFieldName());
BaseField fldDepartureDate = recTour.getField(Tour.DEPARTURE_DATE); TourHeader recTourHeader = (TourHeader)this.getHeaderRecord(); TourClass recTourClass= (TourClass)((ReferenceField)recTourHeader.getField(TourHeader.TOUR_CLASS_ID)).getReferenceRecord(); Booking recBooking = null; BaseField fldTourDesc = recTour.getField(Tour.DESCRIPTION); fldDepartureDate.addListener(new ChangeTourHeaderHandler(recTourHeader, recTourClass, recTour, recBooking, null, fldDepartureDate, fldTourDesc));
/** * Override this to open the other files in the query. */ public void openOtherRecords() { new Inventory(this); Booking recBooking = (Booking)this.getRecord(Booking.BOOKING_FILE); Tour recTour = (Tour)((ReferenceField)recBooking.getField(Booking.TOUR_ID)).getReferenceRecord(); // These have already been set up in the screen header TourHeader recTourHdr = (TourHeader)((ReferenceField)recTour.getField(Tour.TOUR_HEADER_ID)).getReferenceRecord(); TourClass recTourClass = (TourClass)((ReferenceField)recTourHdr.getField(TourHeader.TOUR_CLASS_ID)).getReferenceRecord(this); if (this.getRecord(BookingControl.BOOKING_CONTROL_FILE) == null) new BookingControl(this); super.openOtherRecords(); } /**
this.getField(BookingLand.PMC_CUTOFF).moveFieldToThis(recTourHeaderDetail.getField(TourHeaderLand.PMC_CUTOFF), DBConstants.DISPLAY, DBConstants.INIT_MOVE); if (!this.getField(BookingLand.PMC_CUTOFF).isModified()) if (recTour.getField(Tour.PMC_CUTOFF).getLength() != 0) this.getField(BookingLand.PMC_CUTOFF).moveFieldToThis(recTour.getField(Tour.PMC_CUTOFF), DBConstants.DISPLAY, DBConstants.INIT_MOVE); if (this.getField(BookingLand.CLASS_ID).getValue() == 0)
/** * Order all the components for this tour. */ public void orderAllComponents() { if (this.getField(Tour.ORDER_COMPONENTS).getState() == false) return; BookingDetail recBookingDetail = new BookingDetail(this.findRecordOwner()); try { recBookingDetail.addListener(new SubFileFilter(this)); while (recBookingDetail.hasNext()) { recBookingDetail.next(); Record recBookingDetailCurrent = recBookingDetail.getTable().getCurrentTable().getRecord(); recBookingDetailCurrent.edit(); recBookingDetailCurrent.getField(BookingDetail.PRODUCT_STATUS_REQUEST).setData(Boolean.TRUE); if (recBookingDetailCurrent.getEditMode() == DBConstants.EDIT_IN_PROGRESS) recBookingDetailCurrent.set(); // Possible that the listeners re-wrote this record already. } } catch (DBException ex) { recBookingDetail.free(); } } /**
recTour.getField(Tour.TOUR_HEADER_ID).addListener(new MainReadOnlyHandler(null)); recBooking.addControlDefaults(recBookingControl, recProfileControl); listener.setEnabledListener(true); recTour.getField(Tour.DEPARTURE_DATE).addListener(listener = new MoveOnChangeHandler(this.getScreenRecord().getField(BookingScreenRecord.LAST_DATE), null, false, true)); listener.setRespondsToMode(DBConstants.READ_MOVE, true);
screenQuery.getField(LookupScreenRecord.QUERY_KEY).addListener(behQueryKeyHandler); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenQuery.getField(LookupScreenRecord.TOUR_HDR_START_DATE), ">=", null, true)); screenQuery.getField(LookupScreenRecord.TOUR_HDR_START_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenQuery.getField(LookupScreenRecord.TOUR_HDR_END_DATE), "<=", null, true)); screenQuery.getField(LookupScreenRecord.TOUR_HDR_END_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new BitFileFilter(recTourHeader.getField(TourHeader.TOUR_TYPE), screenQuery.getField(LookupScreenRecord.TOUR_HDR_TOUR_TYPE))); screenQuery.getField(LookupScreenRecord.QUERY_KEY).addListener(behInitOnChange); recTour.addListener(new FileRemoveBOnCloseHandler(behInitOnChange)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.TOUR_HEADER_ID), screenQuery.getField(LookupScreenRecord.TOUR_HEADER_ID), "=", null, true)); screenQuery.getField(LookupScreenRecord.TOUR_HEADER_ID).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.TOUR_STATUS_ID), screenQuery.getField(LookupScreenRecord.TOUR_STATUS_ID), "=", null, true)); screenQuery.getField(LookupScreenRecord.TOUR_STATUS_ID).addListener(new FieldReSelectHandler(this));
this.setupGMTDates(); this.getField(BookingDetail.TOUR_ID).moveFieldToThis(recTour.getField(Tour.ID)); // Could be fake tour or dual series
screenQuery.getField(TourHeaderScreenRecord.KEY_ORDER).addListener(behQueryKeyHandler); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenQuery.getField(TourHeaderScreenRecord.START_DEPARTURE_DATE), ">=", null, true)); screenQuery.getField(TourHeaderScreenRecord.START_DEPARTURE_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenQuery.getField(TourHeaderScreenRecord.END_DEPARTURE_DATE), "<=", null, true)); screenQuery.getField(TourHeaderScreenRecord.END_DEPARTURE_DATE).addListener(new FieldReSelectHandler(this));
this.getMainRecord().addListener(new CompareFileFilter(recBooking.getField(Booking.BOOKING_DATE), screenRecord.getField(LookupScreenRecord.START_BK_DATE), ">=", null, true)); screenRecord.getField(LookupScreenRecord.START_BK_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenRecord.getField(LookupScreenRecord.TOUR_HDR_START_DATE), ">=", null, true)); screenRecord.getField(LookupScreenRecord.TOUR_HDR_START_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenRecord.getField(LookupScreenRecord.TOUR_HDR_END_DATE), "<=", null, true)); screenRecord.getField(LookupScreenRecord.TOUR_HDR_END_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new StartSearchFilter(screenRecord.getField(LookupScreenRecord.START_TARGET_FIELD))); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.TOUR_STATUS_ID), screenRecord.getField(LookupScreenRecord.TOUR_STATUS_ID), "=", null, true)); screenRecord.getField(LookupScreenRecord.TOUR_STATUS_ID).addListener(new FieldReSelectHandler(this)); screenRecord.getField(LookupScreenRecord.PRODUCT_TYPE_ID).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.TOUR_HEADER_ID), screenRecord.getField(LookupScreenRecord.TOUR_HEADER_ID), "=", null, true)); screenRecord.getField(LookupScreenRecord.TOUR_HEADER_ID).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(this.getMainRecord().getField(BookingDetail.VENDOR_ID), screenRecord.getField(LookupScreenRecord.VENDOR_ID), "=", null, true));
this.getMainRecord().addListener(new CompareFileFilter(recBooking.getField(Booking.BOOKING_DATE), screenRecord.getField(LookupScreenRecord.START_BK_DATE), ">=", null, true)); screenRecord.getField(LookupScreenRecord.START_BK_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenRecord.getField(LookupScreenRecord.TOUR_HDR_START_DATE), ">=", null, true)); screenRecord.getField(LookupScreenRecord.TOUR_HDR_START_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.DEPARTURE_DATE), screenRecord.getField(LookupScreenRecord.TOUR_HDR_END_DATE), "<=", null, true)); screenRecord.getField(LookupScreenRecord.TOUR_HDR_END_DATE).addListener(new FieldReSelectHandler(this)); this.getMainRecord().addListener(new StartSearchFilter(screenRecord.getField(LookupScreenRecord.START_TARGET_FIELD))); this.getMainRecord().addListener(new CompareFileFilter(recTour.getField(Tour.TOUR_STATUS_ID), screenRecord.getField(LookupScreenRecord.TOUR_STATUS_ID), "=", null, true)); screenRecord.getField(LookupScreenRecord.TOUR_STATUS_ID).addListener(new FieldReSelectHandler(this));
fldDepartureDate = this.getField(Tour.DEPARTURE_DATE); if (fldDepartureDate.getRecord() == this)