parent
e4fdb02de8
commit
05de5b171b
|
@ -33,6 +33,7 @@ v1.10.0 (unreleased)
|
||||||
|
|
||||||
### Configuration Branches
|
### Configuration Branches
|
||||||
* FEATURE: merge comments can now be proposed (#2604)
|
* FEATURE: merge comments can now be proposed (#2604)
|
||||||
|
* FEATURE: activity log now shows author and committer (#2606)
|
||||||
|
|
||||||
### Integrations
|
### Integrations
|
||||||
* FIX: Monitoring Hooks are no longer provided with disable Director UI (#2597)
|
* FIX: Monitoring Hooks are no longer provided with disable Director UI (#2597)
|
||||||
|
|
|
@ -85,7 +85,8 @@ class BranchMerger
|
||||||
*/
|
*/
|
||||||
public function merge($comment = null)
|
public function merge($comment = null)
|
||||||
{
|
{
|
||||||
$this->connection->runFailSafeTransaction(function () use ($comment) {
|
$username = DirectorActivityLog::username();
|
||||||
|
$this->connection->runFailSafeTransaction(function () use ($comment, $username) {
|
||||||
$formerActivityId = (int) DirectorActivityLog::loadLatest($this->connection)->get('id');
|
$formerActivityId = (int) DirectorActivityLog::loadLatest($this->connection)->get('id');
|
||||||
$query = $this->db->select()
|
$query = $this->db->select()
|
||||||
->from(BranchActivity::DB_TABLE)
|
->from(BranchActivity::DB_TABLE)
|
||||||
|
@ -94,6 +95,10 @@ class BranchMerger
|
||||||
$rows = $this->db->fetchAll($query);
|
$rows = $this->db->fetchAll($query);
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
$activity = BranchActivity::fromDbRow($row);
|
$activity = BranchActivity::fromDbRow($row);
|
||||||
|
$author = $activity->getAuthor();
|
||||||
|
if ($username !== $author) {
|
||||||
|
DirectorActivityLog::overrideUsername("$author/$username");
|
||||||
|
}
|
||||||
$this->applyModification($activity);
|
$this->applyModification($activity);
|
||||||
}
|
}
|
||||||
(new BranchStore($this->connection))->deleteByUuid($this->branchUuid);
|
(new BranchStore($this->connection))->deleteByUuid($this->branchUuid);
|
||||||
|
@ -109,6 +114,7 @@ class BranchMerger
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
DirectorActivityLog::restoreUsername();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -41,6 +41,9 @@ class DirectorActivityLog extends DbObject
|
||||||
'parent_checksum'
|
'parent_checksum'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/** @var ?string */
|
||||||
|
protected static $overriddenUsername = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $name
|
* @param $name
|
||||||
*
|
*
|
||||||
|
@ -59,8 +62,12 @@ class DirectorActivityLog extends DbObject
|
||||||
return $this->reallySet('object_name', $name);
|
return $this->reallySet('object_name', $name);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static function username()
|
public static function username()
|
||||||
{
|
{
|
||||||
|
if (self::$overriddenUsername) {
|
||||||
|
return self::$overriddenUsername;
|
||||||
|
}
|
||||||
|
|
||||||
if (Icinga::app()->isCli()) {
|
if (Icinga::app()->isCli()) {
|
||||||
return 'cli';
|
return 'cli';
|
||||||
}
|
}
|
||||||
|
@ -212,4 +219,14 @@ class DirectorActivityLog extends DbObject
|
||||||
|
|
||||||
Logger::info('(director) ' . implode(' ', $log));
|
Logger::info('(director) ' . implode(' ', $log));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function overrideUsername($username)
|
||||||
|
{
|
||||||
|
self::$overriddenUsername = $username;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function restoreUsername()
|
||||||
|
{
|
||||||
|
self::$overriddenUsername = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue