/** * Load initial properties from this change. * @param CHANGE $obj */ public function load_from_object($obj) { parent::load_from_object($obj); $this->set_value('files', $obj->files); $job = $this->job_at($obj->job_id); if (isset($job)) { $this->set_value('job_id', $job->id); $this->add_preview($job, 'Attached to job: ' . $job->title_as_html(), !$this->previewing()); } // When updating a change, do not publish by default $this->set_value('publication_state', History_item_silent); }
/** * Load initial properties from this job. * @param JOB $obj */ public function load_from_object($obj) { parent::load_from_object($obj); $this->set_value('kind', $obj->kind); $this->set_value('assignee_id', $obj->assignee_id); $this->set_value('extra_description', $obj->extra_description); $this->set_value('time_needed', $obj->time_needed); if ($obj->reporter_id) { $this->set_value('reporter_id', $obj->reporter_id); } else { $this->set_value('reporter_id', $obj->creator_id); } // set up subscription fields, defaulting to true $this->set_value('subscribe_reporter', true); $this->set_value('subscribe_assignee', true); $this->set_value('subscribe_creator', true); $creator = $obj->creator(); if ($creator) { $subscriber = $creator->subscriber(); $this->set_value('subscribe_creator', $subscriber->subscribed($obj, Subscribe_entry)); } $reporter = $obj->reporter(); if ($reporter) { $subscriber = $reporter->subscriber(); $this->set_value('subscribe_reporter', $subscriber->subscribed($obj, Subscribe_entry)); } $assignee = $obj->assignee(); if ($assignee) { $subscriber = $assignee->subscriber(); $this->set_value('subscribe_assignee', $subscriber->subscribed($obj, Subscribe_entry)); } }