Skip to content
Snippets Groups Projects
Commit f0d3676b authored by Jay Friendly's avatar Jay Friendly
Browse files

Fixing bug preventing new private messages from being able to be created

parent 3eb759d4
No related branches found
No related tags found
No related merge requests found
......@@ -90,8 +90,8 @@ class PrivateMessageNodejsForm extends PrivateMessageForm {
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $formState, PrivateMessageThreadInterface $privateMessageThread = NULL) {
$form = parent::buildForm($form, $formState, $privateMessageThread);
public function buildForm(array $form, FormStateInterface $form_state, PrivateMessageThreadInterface $privateMessageThread = NULL) {
$form = parent::buildForm($form, $form_state, $privateMessageThread);
$form['#attached']['library'][] = 'private_message_nodejs/form';
......
......@@ -176,11 +176,11 @@ class PrivateMessageForm extends ContentEntityForm {
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state, PrivateMessageThreadInterface $private_message_thread = NULL) {
$form = parent::buildForm($form, $form_state);
public function buildForm(array $form, FormStateInterface $formState, PrivateMessageThreadInterface $private_message_thread = NULL) {
$form = parent::buildForm($form, $formState);
if ($private_message_thread) {
$form_state->set('thread_members', $private_message_thread->getMembers());
$formState->set('thread_members', $private_message_thread->getMembers());
$form['actions']['submit']['#ajax'] = [
'callback' => '::ajaxCallback',
];
......@@ -194,9 +194,9 @@ class PrivateMessageForm extends ContentEntityForm {
// members element from it.
$private_message_thread = PrivateMessageThread::create();
$form_copy = $form;
$form_state_copy = clone($form_state);
$formState_copy = clone($formState);
$form_display = EntityFormDisplay::collectRenderDisplay($private_message_thread, 'default');
$form_display->buildForm($private_message_thread, $form_copy, $form_state_copy);
$form_display->buildForm($private_message_thread, $form_copy, $formState_copy);
$form['members'] = $form_copy['members'];
$form['#validate'][] = '::validateMembers';
......@@ -220,7 +220,7 @@ class PrivateMessageForm extends ContentEntityForm {
*
* @see \Drupal\private_message\Entity\PrivateMessageThead::baseFieldDefinitions
*/
public function validateMembers(array &$form, FormStateInterface $form_state) {
public function validateMembers(array &$form, FormStateInterface $formState) {
// The members form element was loaded from the PrivateMessageThread entity
// type. As it is not a part of the PrivateMessage entity, for which this
// form is built, the constraints that are a part of the field on the
......@@ -236,7 +236,7 @@ class PrivateMessageForm extends ContentEntityForm {
// Retrieve any members submitted on the form.
$members = [];
foreach ($form_state->getValue('members') as $info) {
foreach ($formState->getValue('members') as $info) {
if (is_array($info) && is_numeric($info['target_id'])) {
$user = $this->userManager->load($info['target_id']);
if ($user) {
......@@ -255,7 +255,7 @@ class PrivateMessageForm extends ContentEntityForm {
if ($violations->count() > 0) {
// Output any errors for found constraint violations.
foreach ($violations as $violation) {
$form_state->setError($form['members'], $violation->getMessage());
$formState->setError($form['members'], $violation->getMessage());
}
}
}
......@@ -263,7 +263,7 @@ class PrivateMessageForm extends ContentEntityForm {
/**
* Ajax callback for the PrivateMessageForm.
*/
public function ajaxCallback(array $form, FormStateInterface $form_state) {
public function ajaxCallback(array $form, FormStateInterface $formState) {
$response = new AjaxResponse();
$form['message']['widget'][0]['value']['#value'] = '';
$response->addCommand(new ReplaceCommand(NULL, $form));
......@@ -276,7 +276,7 @@ class PrivateMessageForm extends ContentEntityForm {
/**
* After build callback for the Private Message Form.
*/
public function afterBuild(array $form, FormStateInterface $form_state) {
public function afterBuild(array $form, FormStateInterface $formState) {
$form['message']['widget'][0]['format']['#access'] = FALSE;
return $form;
}
......@@ -284,16 +284,16 @@ class PrivateMessageForm extends ContentEntityForm {
/**
* {@inheritdoc}
*/
public function save(array $form, FormStateInterface $form_state) {
$status = parent::save($form, $form_state);
public function save(array $form, FormStateInterface $formState) {
$status = parent::save($form, $formState);
$members = $form_state->get('thread_members');
$members = $formState->get('thread_members');
if (!$members) {
// Generate an array containing the members of the thread.
$current_user = $this->userManager->load($this->currentUser->id());
$members = [$current_user];
foreach ($form_state->getValue('members') as $info) {
foreach ($formState->getValue('members') as $info) {
$user = $this->userManager->load($info['target_id']);
if ($user) {
$members[] = $user;
......@@ -308,11 +308,11 @@ class PrivateMessageForm extends ContentEntityForm {
$this->privateMessageThreadManager->saveThread($this->entity, $members, [], $private_message_thread);
// Save the thread to the form state.
$form_state->set('private_message_thread', $private_message_thread);
$formState->set('private_message_thread', $private_message_thread);
// Send the user to the private message page. As this thread is the newest,
// it wll be at the top of the list.
$form_state->setRedirect('entity.private_message_thread.canonical', ['private_message_thread' => $private_message_thread->id()]);
$formState->setRedirect('entity.private_message_thread.canonical', ['private_message_thread' => $private_message_thread->id()]);
return $status;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment