/** * Test the UI. */ public function testUI() { $this->drupalLogin($this->createUser()); // Test the basic list. $this->drupalGet('/people'); // Add entry. $this->drupalPostForm('/people', array('nickname' => 'Noname', 'firstname' => 'John', 'lastnames' => 'Doe'), t('Add person')); // Check that person is added. $this->drupalGet('/people'); $this->assertPattern("/John/", "Text 'John' found in table"); // Test updating a person. $result = \Drupal\ea_people\EAPeopleStorage::load(array('firstname' => 'John')); $entry = (array) $result[0]; $this->assertTrue($entry, 'Found an entry in the table with first name = "John".'); $pid = $entry['pid']; $this->drupalPostForm('/people/' . $pid, array('nickname' => 'None', 'firstname' => 'Jane', 'lastnames' => 'Doe', 'do_not_contact' => TRUE), t('Update person')); // Check that person name is updated. $this->drupalGet('/people'); $this->assertPattern("/Jane/", "Text 'Jane' found in table"); // Test deleting a person. $this->drupalPostForm('/people/' . $pid . '/delete', array(), t('Delete person')); // Check that the person is deleted. $result = \Drupal\ea_people\EAPeopleStorage::load(array('firstname' => 'Jane')); $this->assertEqual(count($result), 0, 'Found zero entries in the table with first name = "Jane".'); }
/** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { // Save the submitted entry. $entry = array('pid' => $form_state->getValue('pid'), 'nickname' => $form_state->getValue('nickname'), 'firstname' => $form_state->getValue('firstname'), 'lastnames' => $form_state->getValue('lastnames'), 'do_not_contact' => $form_state->getValue('do_not_contact')); $return = EAPeopleStorage::update($entry); if ($return) { drupal_set_message(t('Updated @nickname @firstname @lastnames', array('@nickname' => $entry['nickname'], '@firstname' => $entry['firstname'], '@lastnames' => $entry['lastnames']))); } }
/** * {@inheritdoc} */ public function convert($value, $definition, $name, array $defaults) { if (!empty($value)) { $results = EAPeopleStorage::load(array('pid' => $value)); if (!empty($results)) { return $results[0]; } } return NULL; }
/** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { // Save the submitted entry. $entry = array('nickname' => $form_state->getValue('nickname'), 'firstname' => $form_state->getValue('firstname'), 'lastnames' => $form_state->getValue('lastnames')); $return = EAPeopleStorage::insert($entry); if ($return) { // Add pid to form values to allow other modules to implement their own submit handlers. $form_state->setvalue('pid', $return); drupal_set_message(t('Added @nickname @firstname @lastnames', array('@nickname' => $entry['nickname'], '@firstname' => $entry['firstname'], '@lastnames' => $entry['lastnames']))); } }
/** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { $pid = $form_state->getValue('pid'); $persons = EAPeopleStorage::load(array('pid' => $pid)); if (!empty($persons)) { $person = $persons[0]; // Delete the person. EAPeopleStorage::delete(array('pid' => $pid)); drupal_set_message(t('Deleted @nickname @firstname @lastnames', array('@nickname' => $person->nickname, '@firstname' => $person->firstname, '@lastnames' => $person->lastnames))); } else { drupal_set_message(t('Person not found')); } // Redirect the user to the list controller when complete. $form_state->setRedirectUrl($this->getCancelUrl()); }
/** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { $gid = $form_state->getValue('gid'); $pid = $form_state->getValue('pid'); // Delete the entry. EAGroupingMembersStorage::delete(array('gid' => $gid, 'pid' => $pid)); $person = EAPeopleStorage::load(array('pid' => $pid)); if (!empty($person)) { $entry = $person[0]; drupal_set_message(t('Cancelled membership for @name', array('@name' => implode(' ', array($entry->nickname, $entry->firstname, $entry->lastnames))))); } else { drupal_set_message(t('Cancelled membership for non-existant person')); } // Redirect the user to the list controller when complete. $form_state->setRedirectUrl($this->getCancelUrl()); }