summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2016-11-14 16:13:16 +0100
committerGitHub <noreply@github.com>2016-11-14 16:13:16 +0100
commit04f8521b2c70abd22e617224ff7a0119e31183c7 (patch)
tree7fac326d69234382a9b1f9b7f08735c80c24330e /apps
parentff96fffe39c09efa60233988637d2fd68828a2ea (diff)
parent506ccdbd8dd7a9438fa69fe09bc9307ca5f346e3 (diff)
downloadnextcloud-server-04f8521b2c70abd22e617224ff7a0119e31183c7.tar.gz
nextcloud-server-04f8521b2c70abd22e617224ff7a0119e31183c7.zip
Merge pull request #2112 from nextcloud/downstream-26206
Introduce an event for first time login based on the last login time …
Diffstat (limited to 'apps')
-rw-r--r--apps/dav/lib/AppInfo/Application.php12
-rw-r--r--apps/dav/lib/HookManager.php7
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/RequestTest/UploadTest.php1
-rw-r--r--apps/dav/tests/unit/DAV/HookManagerTest.php9
-rw-r--r--apps/files/tests/Command/DeleteOrphanedFilesTest.php8
5 files changed, 21 insertions, 16 deletions
diff --git a/apps/dav/lib/AppInfo/Application.php b/apps/dav/lib/AppInfo/Application.php
index c777f5e5a35..844e0780ffb 100644
--- a/apps/dav/lib/AppInfo/Application.php
+++ b/apps/dav/lib/AppInfo/Application.php
@@ -33,6 +33,7 @@ use OCA\DAV\CardDAV\SyncService;
use OCA\DAV\HookManager;
use \OCP\AppFramework\App;
use OCP\Contacts\IManager;
+use OCP\IUser;
use Symfony\Component\EventDispatcher\GenericEvent;
class Application extends App {
@@ -65,6 +66,16 @@ class Application extends App {
$hm = $this->getContainer()->query(HookManager::class);
$hm->setup();
+ $dispatcher = $this->getContainer()->getServer()->getEventDispatcher();
+
+ // first time login event setup
+ $dispatcher->addListener(IUser::class . '::firstLogin', function ($event) use ($hm) {
+ if ($event instanceof GenericEvent) {
+ $hm->firstLogin($event->getSubject());
+ }
+ });
+
+ // carddav/caldav sync event setup
$listener = function($event) {
if ($event instanceof GenericEvent) {
/** @var BirthdayService $b */
@@ -77,7 +88,6 @@ class Application extends App {
}
};
- $dispatcher = $this->getContainer()->getServer()->getEventDispatcher();
$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::createCard', $listener);
$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $listener);
$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', function($event) {
diff --git a/apps/dav/lib/HookManager.php b/apps/dav/lib/HookManager.php
index 92aa4fce7fa..247d4b291af 100644
--- a/apps/dav/lib/HookManager.php
+++ b/apps/dav/lib/HookManager.php
@@ -78,10 +78,6 @@ class HookManager {
'changeUser',
$this,
'changeUser');
- Util::connectHook('OC_User',
- 'post_login',
- $this,
- 'postLogin');
}
public function postCreateUser($params) {
@@ -117,8 +113,7 @@ class HookManager {
$this->syncService->updateUser($user);
}
- public function postLogin($params) {
- $user = $this->userManager->get($params['uid']);
+ public function firstLogin(IUser $user = null) {
if (!is_null($user)) {
$principal = 'principals/users/' . $user->getUID();
if ($this->calDav->getCalendarsForUserCount($principal) === 0) {
diff --git a/apps/dav/tests/unit/Connector/Sabre/RequestTest/UploadTest.php b/apps/dav/tests/unit/Connector/Sabre/RequestTest/UploadTest.php
index f22da14a0d8..1db85b1bcaf 100644
--- a/apps/dav/tests/unit/Connector/Sabre/RequestTest/UploadTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/RequestTest/UploadTest.php
@@ -88,6 +88,7 @@ class UploadTest extends RequestTest {
public function testUploadOverWriteWriteLocked() {
$user = $this->getUniqueID();
$view = $this->setupUser($user, 'pass');
+ $this->loginAsUser($user);
$view->file_put_contents('foo.txt', 'bar');
diff --git a/apps/dav/tests/unit/DAV/HookManagerTest.php b/apps/dav/tests/unit/DAV/HookManagerTest.php
index 5b7d4700a5f..f980e595bf9 100644
--- a/apps/dav/tests/unit/DAV/HookManagerTest.php
+++ b/apps/dav/tests/unit/DAV/HookManagerTest.php
@@ -58,7 +58,6 @@ class HookManagerTest extends TestCase {
$userManager = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()
->getMock();
- $userManager->expects($this->once())->method('get')->willReturn($user);
/** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $syncService */
$syncService = $this->getMockBuilder(SyncService::class)
@@ -84,7 +83,7 @@ class HookManagerTest extends TestCase {
'contacts', ['{DAV:}displayname' => 'Contacts']);
$hm = new HookManager($userManager, $syncService, $cal, $card);
- $hm->postLogin(['uid' => 'newUser']);
+ $hm->firstLogin($user);
}
public function testWithExisting() {
@@ -97,7 +96,6 @@ class HookManagerTest extends TestCase {
$userManager = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()
->getMock();
- $userManager->expects($this->once())->method('get')->willReturn($user);
/** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $syncService */
$syncService = $this->getMockBuilder(SyncService::class)
@@ -119,7 +117,7 @@ class HookManagerTest extends TestCase {
$card->expects($this->never())->method('createAddressBook');
$hm = new HookManager($userManager, $syncService, $cal, $card);
- $hm->postLogin(['uid' => 'newUser']);
+ $hm->firstLogin($user);
}
public function testWithBirthdayCalendar() {
@@ -132,7 +130,6 @@ class HookManagerTest extends TestCase {
$userManager = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()
->getMock();
- $userManager->expects($this->once())->method('get')->willReturn($user);
/** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $syncService */
$syncService = $this->getMockBuilder(SyncService::class)
@@ -158,7 +155,7 @@ class HookManagerTest extends TestCase {
'contacts', ['{DAV:}displayname' => 'Contacts']);
$hm = new HookManager($userManager, $syncService, $cal, $card);
- $hm->postLogin(['uid' => 'newUser']);
+ $hm->firstLogin($user);
}
public function testDeleteCalendar() {
diff --git a/apps/files/tests/Command/DeleteOrphanedFilesTest.php b/apps/files/tests/Command/DeleteOrphanedFilesTest.php
index b4d16e54617..32c8d628a80 100644
--- a/apps/files/tests/Command/DeleteOrphanedFilesTest.php
+++ b/apps/files/tests/Command/DeleteOrphanedFilesTest.php
@@ -24,8 +24,10 @@
namespace OCA\Files\Tests\Command;
+use OC\Files\View;
use OCA\Files\Command\DeleteOrphanedFiles;
use OCP\Files\StorageNotAvailableException;
+use Test\TestCase;
/**
* Class DeleteOrphanedFilesTest
@@ -34,7 +36,7 @@ use OCP\Files\StorageNotAvailableException;
*
* @package OCA\Files\Tests\Command
*/
-class DeleteOrphanedFilesTest extends \Test\TestCase {
+class DeleteOrphanedFilesTest extends TestCase {
/**
* @var DeleteOrphanedFiles
@@ -94,7 +96,7 @@ class DeleteOrphanedFilesTest extends \Test\TestCase {
$this->loginAsUser($this->user1);
- $view = new \OC\Files\View('/' . $this->user1 . '/');
+ $view = new View('/' . $this->user1 . '/');
$view->mkdir('files/test');
$fileInfo = $view->getFileInfo('files/test');
@@ -115,7 +117,7 @@ class DeleteOrphanedFilesTest extends \Test\TestCase {
$output
->expects($this->once())
->method('writeln')
- ->with('4 orphaned file cache entries deleted');
+ ->with('3 orphaned file cache entries deleted');
$this->command->execute($input, $output);