Commit d8534b92 authored by Andrei Ivnitskii's avatar Andrei Ivnitskii
Browse files

Issue #3300254 by Christopher Riley, ivnish: Error when creating a new message

parent e5fdd0a6
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -127,7 +127,6 @@ class CreateThreadForm extends FormBase {
    $recipient_id = $form_state->getValue('to');

    $thread_id = $this->privateMsgService->createThread($author_id, $subject, $body_value, $format, $recipient_id);
    $this->privateMsgService->setLastThreadCreatedTime($author_id);

    $this->messenger()->addStatus($this->t('The message has been sent.'));
    $form_state->setRedirect('privatemsg.view_message', ['thread_id' => $thread_id]);
+0 −51
Original line number Diff line number Diff line
@@ -443,57 +443,6 @@ class PrivateMsgService {
    }
  }

  /**
   * Set last thread created time.
   *
   * @param int $user_id
   *   User id.
   */
  public function setLastThreadCreatedTime(int $user_id): void {
    $query = $this->database->select('pm_limits', 'pml');
    $query->fields('pml', ['timestamp']);
    $query->condition('user_id', $user_id);
    $user_limits = $query->execute()->fetchCol();

    // If record exist.
    if ($user_limits) {
      $query = $this->database->update('pm_limits');
      $query->fields([
        'timestamp' => $this->timeService->getCurrentTime(),
      ]);
      $query->condition('user_id', $user_id);
      $query->execute();
    }
    else {
      $query = $this->database->insert('pm_limits');
      $query->fields([
        'user_id' => $user_id,
        'timestamp' => $this->timeService->getCurrentTime(),
      ]);
      $query->execute();
    }
  }

  /**
   * Get last thread created time.
   *
   * @param int $user_id
   *   User id.
   */
  public function getLastThreadCreatedTime(int $user_id): int {
    $query = $this->database->select('pm_limits', 'pml');
    $query->fields('pml', ['timestamp']);
    $query->condition('user_id', $user_id);
    $user_limits = $query->execute()->fetchCol();

    if ($user_limits) {
      $user_limits = \reset($user_limits);
      return $user_limits;
    }

    return 0;
  }

  /**
   * Get unread threads count.
   *