Source of file OrderStatusLog_CheckAvailability.php
Size: 3,216 Bytes - Last Modified: 2021-12-23T10:40:33+00:00
/var/www/docs.ssmods.com/process/src/code/model/OrderStatusLog_CheckAvailability.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | <?php class OrderStatusLog_CheckAvailability extends OrderStatusLog { public static $defaults = array( "InternalUseOnly" => true ); public static $db = array( 'AvailabilityChecked' => "Boolean", 'AvailabilityChanged' => "Boolean", 'AdminComment' => "Text" ); /** * *@return Boolean **/ public function canDelete($member = null) { return false; } public static $searchable_fields = array( 'OrderID' => array( 'field' => 'NumericField', 'title' => 'Order Number' ), "AvailabilityChecked" => true ); public static $summary_fields = array( "Created" => "Date", "Author.Title" => "Checked by", "AvailabilityCheckedNice" => "Availability Checked" ); public static $casting = array( "AvailabilityCheckedNice" => "Varchar" ); public function AvailabilityCheckedNice() { return $this->getAvailabilityCheckedNice(); } public function getAvailabilityCheckedNice() { if ($this->AvailabilityChecked) { return _t("OrderStatusLog.YES", "yes"); } return _t("OrderStatusLog.No", "no"); } public static $singular_name = "Availability Check"; public function i18n_singular_name() { return _t("OrderStatusLog.AVAILABILITYCHECK", "Availability Check"); } public static $plural_name = "Availability Checks"; public function i18n_plural_name() { return _t("OrderStatusLog.AVAILABILITYCHECKS", "Availability Checks"); } public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName("Title"); $fields->removeByName("Note"); $fields->removeByName("InternalUseOnly"); $fields->removeByName("EmailSent"); $fields->addFieldToTab( 'Root.Main', new CheckboxField("AvailabilityChecked", _t("OrderStatusLog.CHECKED", "Availability is confirmed (we can proceed with this order)")) ); return $fields; } public function scaffoldSearchFields() { $fields = parent::scaffoldSearchFields(); $fields->replaceField("OrderID", new NumericField("OrderID", "Order Number")); return $fields; } public function onBeforeWrite() { parent::onBeforeWrite(); } public function onAfterWrite() { if ($this->AvailabilityChecked) { if ($order = $this->Order()) { $order->tryToFinaliseOrder(); } } } /** * *@return String **/ public function getCustomerNote() { if ($this->Author()) { if ($this->AvailabilityChanged) { return _t("OrderStatus.AVAILABILITYCONFIRMEDBY", "Availability Confirmed by: ").$this->Author()->getTitle()." | ".$this->AdminComment; } else { return _t("OrderStatus.AVAILABILITYCHANGEDBY", "Availability CHANGED by: ").$this->Author()->getTitle()." | ".$this->AdminComment; } } } public function CustomerNote() { return $this->getCustomerNote(); } } |