public function loadDataFrom($data, $mergeStrategy = 0, $fieldList = null) { parent::loadDataFrom($data, $mergeStrategy, $fieldList); if (!$data instanceof PresentationSpeaker) { return; } $speaker = $data; if ($speaker->Member()->ID > 0) { // populate from member if (empty($speaker->FirstName)) { $this->fields->fieldByName('FirstName')->setValue($speaker->Member()->FirstName); } if (empty($speaker->LastName)) { $this->fields->fieldByName('LastName')->setValue($speaker->Member()->Surname); } if (empty($speaker->Bio)) { $this->fields->fieldByName('Bio')->setValue($speaker->Member()->Bio); } if (empty($speaker->IRCHandle)) { $this->fields->fieldByName('IRCHandle')->setValue($speaker->Member()->IRCHandle); } if (empty($speaker->TwitterName)) { $this->fields->fieldByName('TwitterName')->setValue($speaker->Member()->TwitterName); } } $this->fields->fieldByName('Expertise')->setValue(implode(',', $speaker->AreasOfExpertise()->map('ID', 'Expertise')->toArray())); $this->fields->fieldByName('Language')->setValue(implode(',', $speaker->Languages()->map('ID', 'Language')->toArray())); $country_array = array(); foreach ($speaker->TravelPreferences() as $pref_country) { $country_array[] = $pref_country->Country; } foreach ($speaker->OtherPresentationLinks() as $key => $presentation) { $this->fields->fieldByName('PresentationLink[' . ($key + 1) . ']')->setValue($presentation->LinkUrl); $this->fields->fieldByName('PresentationTitle[' . ($key + 1) . ']')->setValue($presentation->Title); } $role_ids = array(); foreach ($speaker->OrganizationalRoles() as $role) { if ($role->IsDefault) { $role_ids[] = $role->ID; } else { //add other $role_ids[] = 0; $this->fields->fieldByName('OtherOrganizationalRole')->setValue($role->Role); } } $this->fields->fieldByName('OrganizationalRole')->setValue($role_ids); $countries_2_travel = $this->fields->fieldByName('CountriesToTravel'); if (!is_null($countries_2_travel)) { $country_array = array(); foreach ($speaker->TravelPreferences() as $pref_country) { $country_array[] = $pref_country->Country; } $this->fields->fieldByName('CountriesToTravel')->setValue(implode(',', $country_array)); } return $this; }
public function loadDataFrom($data, $mergeStrategy = 0, $fieldList = null) { parent::loadDataFrom($data, $mergeStrategy, $fieldList); if (!$data instanceof PresentationSpeaker) { return; } $speaker = $data; if ($speaker->Member()->ID > 0) { // populate from member if (empty($speaker->FirstName)) { $this->fields->fieldByName('FirstName')->setValue($speaker->Member()->FirstName); } if (empty($speaker->LastName)) { $this->fields->fieldByName('LastName')->setValue($speaker->Member()->Surname); } if (empty($speaker->Bio)) { $this->fields->fieldByName('Bio')->setValue($speaker->Member()->Bio); } if (empty($speaker->IRCHandle)) { $this->fields->fieldByName('IRCHandle')->setValue($speaker->Member()->IRCHandle); } if (empty($speaker->TwitterHandle)) { $this->fields->fieldByName('TwitterHandle')->setValue($speaker->Member()->TwitterName); } } foreach ($speaker->AreasOfExpertise() as $key => $expertise) { if ($key > 4) { break; } $this->fields->fieldByName('Expertise[' . ($key + 1) . ']')->setValue($expertise->Expertise); } foreach ($speaker->Languages() as $key => $language) { if ($key > 4) { break; } $this->fields->fieldByName('Language[' . ($key + 1) . ']')->setValue($language->Language); } $country_array = array(); foreach ($speaker->TravelPreferences() as $pref_country) { $country_array[] = $pref_country->Country; } foreach ($speaker->OtherPresentationLinks() as $key => $presentation) { $this->fields->fieldByName('PresentationLink[' . ($key + 1) . ']')->setValue($presentation->LinkUrl); $this->fields->fieldByName('PresentationTitle[' . ($key + 1) . ']')->setValue($presentation->Title); } $countries_2_travel = $this->fields->fieldByName('CountriesToTravel'); if (!is_null($countries_2_travel)) { $country_array = array(); foreach ($speaker->TravelPreferences() as $pref_country) { $country_array[] = $pref_country->Country; } $this->fields->fieldByName('CountriesToTravel')->setValue(implode(',', $country_array)); } return $this; }
public function loadDataFrom($data, $mergeStrategy = 0, $fieldList = null) { parent::loadDataFrom($data, $mergeStrategy, $fieldList); if ($data && $data instanceof SummitAttendee && $data->ID > 0) { // if we have an attendee then show the form on readonly mode ... $ticket = $data->Tickets()->first(); $this->fields->insertAfter($t1 = new TextField('TicketBoughtDate', 'Ticket Bought Date', $ticket->TicketBoughtDate), 'ExternalOrderId'); $t2 = $this->fields->fieldByName('ExternalOrderId'); $t2->setValue($ticket->ExternalOrderId); $this->fields->insertAfter($t3 = new TextField('TicketType', 'Ticket Type', $ticket->TicketType()->Name), 'TicketBoughtDate'); $t1->setReadonly(true); $t2->setReadonly(true); $t3->setReadonly(true); } }
public function loadDataFrom($data, $mergeStrategy = 0, $fieldList = null) { parent::loadDataFrom($data, $mergeStrategy, $fieldList); if (!$data instanceof Presentation) { return; } $presentation = $data; foreach ($presentation->Materials()->filter('ClassName', 'PresentationLink') as $key => $link) { if ($key > 4) { break; } $this->fields->fieldByName('PresentationLink[' . ($key + 1) . ']')->setValue($link->Link); } return $this; }
public function loadDataFrom($data, $mergeStrategy = 0, $fieldList = null) { parent::loadDataFrom($data, $mergeStrategy, $fieldList); if ($data && $data instanceof SummitAttendee && $data->ID > 0) { $this->fields->insertAfter($t1 = new TextField('TicketBoughtDate', 'Ticket Bought Date', $data->TicketBoughtDate), 'ExternalOrderId'); $t2 = $this->fields->fieldByName('ExternalOrderId'); $this->fields->insertAfter($t3 = new TextField('TicketType', 'Ticket Type', $data->TicketType()->Name), 'TicketBoughtDate'); $t1->setReadonly(true); $t2->setReadonly(true); $t3->setReadonly(true); $checkbox = $this->getField('SharedContactInfo'); if (!is_null($checkbox)) { $checkbox->setValue(intval($data->SharedContactInfo) === 1); } $btn = $this->Actions()->first(); if (!is_null($btn)) { $btn->setTitle('Save'); } } }
public function PresentationTagsForm() { $fields = FieldList::create()->tagmanager('Tags', 'Tags'); $form = new BootstrapForm($this, 'PresentationTagsForm', $fields, FieldList::create(FormAction::create('savePresentationTags', 'Save'))); if ($data = Session::get("FormInfo.{$form->FormName()}.data")) { return $form->loadDataFrom($data); } return $form->loadDataFrom($this->presentation); }
public function PresentationTagsForm() { $fields = FieldList::create(); $tag_field = new TagManagerField('Tags', 'Tags'); $tag_field->setCategory($this->presentation->Category()); $fields->add($tag_field); $form = new BootstrapForm($this, 'PresentationTagsForm', $fields, FieldList::create(FormAction::create('savePresentationTags', 'Save'))); if ($data = Session::get("FormInfo.{$form->FormName()}.data")) { return $form->loadDataFrom($data); } return $form->loadDataFrom($this->presentation); }