Merge pull request #2117 from nextcloud/bugfix/noid/activity
This commit is contained in:
@@ -240,9 +240,25 @@ class ActivityManager {
|
||||
}
|
||||
|
||||
public function triggerEvent($objectType, $entity, $subject, $additionalParams = [], $author = null) {
|
||||
if ($author === null) {
|
||||
$author = $this->userId;
|
||||
}
|
||||
try {
|
||||
$event = $this->createEvent($objectType, $entity, $subject, $additionalParams, $author);
|
||||
if ($event !== null) {
|
||||
$json = json_encode($event->getSubjectParameters());
|
||||
if (mb_strlen($json) > 4000) {
|
||||
$params = json_decode(json_encode($event->getSubjectParameters()), true);
|
||||
|
||||
$newContent = $params['after'];
|
||||
unset($params['before'], $params['after'], $params['card']['description']);
|
||||
|
||||
$params['after'] = mb_substr($newContent, 0, 2000);
|
||||
if (mb_strlen($newContent) > 2000) {
|
||||
$params['after'] .= '...';
|
||||
}
|
||||
$event->setSubject($event->getSubject(), $params);
|
||||
}
|
||||
$this->sendToUsers($event);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
|
||||
@@ -96,6 +96,7 @@ class DeckProvider implements IProvider {
|
||||
unset($subjectParams['author']);
|
||||
}
|
||||
$user = $this->userManager->get($author);
|
||||
$params = [];
|
||||
if ($user !== null) {
|
||||
$params = [
|
||||
'user' => [
|
||||
@@ -328,8 +329,8 @@ class DeckProvider implements IProvider {
|
||||
if (array_key_exists('diff', $subjectParams) && $subjectParams['diff']) {
|
||||
$diff = new Diff();
|
||||
// Don't add diff as message since we are limited to 255 chars here
|
||||
//$event->setMessage($subjectParams['after']);
|
||||
$event->setParsedMessage('<pre class="visualdiff">' . $diff->render($subjectParams['before'], $subjectParams['after']) . '</pre>');
|
||||
$event->setParsedMessage($subjectParams['after']);
|
||||
//$event->setParsedMessage('<pre class="visualdiff">' . $diff->render($subjectParams['before'], $subjectParams['after']) . '</pre>');
|
||||
return $params;
|
||||
}
|
||||
if (array_key_exists('before', $subjectParams)) {
|
||||
|
||||
@@ -415,8 +415,11 @@ class CardService {
|
||||
if ($card->getArchived()) {
|
||||
throw new StatusException('Operation not allowed. This card is archived.');
|
||||
}
|
||||
$changes = new ChangeSet($card);
|
||||
$card->setStackId($stackId);
|
||||
$this->cardMapper->update($card);
|
||||
$changes->setAfter($card);
|
||||
$this->activityManager->triggerUpdateEvents(ActivityManager::DECK_OBJECT_CARD, $changes, ActivityManager::SUBJECT_CARD_UPDATE);
|
||||
|
||||
$cards = $this->cardMapper->findAll($stackId);
|
||||
$result = [];
|
||||
|
||||
@@ -287,7 +287,7 @@ class DeckProviderTest extends TestCase {
|
||||
$this->assertEquals('test string Card', $event->getParsedSubject());
|
||||
$this->assertEquals('test string {card}', $event->getRichSubject());
|
||||
$this->assertEquals('BCD', $event->getMessage());
|
||||
$this->assertEquals('<pre class="visualdiff"><del>A</del>BC<ins>D</ins></pre>', $event->getParsedMessage());
|
||||
$this->assertEquals('BCD', $event->getParsedMessage());
|
||||
}
|
||||
|
||||
public function testParseParamForBoard() {
|
||||
|
||||
Reference in New Issue
Block a user