Skip to content
This repository has been archived by the owner on Dec 16, 2021. It is now read-only.

Commit

Permalink
Merge pull request #47 from arnovr/0.3.2
Browse files Browse the repository at this point in the history
Fixes for 0.3.2
  • Loading branch information
arnovr committed Oct 21, 2014
2 parents bee0d8f + 694db60 commit 9ba6bc3
Show file tree
Hide file tree
Showing 23 changed files with 125 additions and 33 deletions.
6 changes: 4 additions & 2 deletions appinfo/chart.php
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,10 @@ private function registerVarious()
);
});

$this->container->registerService('ChartTypeAdapterFactory', function() {
return new ChartTypeAdapterFactory();
$this->container->registerService('ChartTypeAdapterFactory', function($c) {
return new ChartTypeAdapterFactory(
$c->query('OwncloudUser')
);
});
$this->container->registerService('DataProviderFactory', function($c) {
return new DataProviderFactory(
Expand Down
4 changes: 2 additions & 2 deletions appinfo/info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
An Activity chart over the last month;
An Activity chart with activities over the last months;
</description>
<version>3</version>
<version>3.2</version>
<licence>MIT</licence>
<author>Arno van Rossum, github:arnovr</author>
<requiremin>7</requiremin>
</info>
</info>
2 changes: 1 addition & 1 deletion appinfo/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3
3.2
6 changes: 5 additions & 1 deletion changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
0.3.2:
- French text
- Fixed displaying uuid instead of fullname

0.3.1:
- Fixed: installation issue ( issue 41 on github )
- Fixed: Argument 3 passed to OCA\ocUsageCharts\Entity\Storage\StorageUsageRepository::findEntitiesBasedOnOrCreated() must be an instance of DateTime, null given, called in /lib/entity/storage/storageusagerepository.php on line 120....
Expand All @@ -15,4 +19,4 @@
"Argument 1 passed to OCA\ocUsageCharts\Service\ChartService::getUsage() must be an instance of OCA\ocUsageCharts\ChartType\ChartTypeViewInterface........."

0.1:
- Initial release
- Initial release
3 changes: 2 additions & 1 deletion l10n/en.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<?php
$TRANSLATIONS = array(
"ocUsageCharts" => "Charts",

"Storage_title" => "Storage Usage",
"StorageUsageLastMonth" => "Storage usage last month",
"StorageUsagePerMonth" => "Average storage usage per month",
"StorageUsageCurrent" => "Current storage usage",
Expand All @@ -13,6 +15,5 @@
"ActivityUsageLastMonth"=> "Activities over the last month",
"activities" => "Activities",
"ActivityUsagePerMonth" => "Activities per month",
"Storage_title" => "Storage Usage",
"Activity_title" => "Activities"
);
19 changes: 19 additions & 0 deletions l10n/fr.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?php
$TRANSLATIONS = array(
"ocUsageCharts" => "Graphes",

"Storage_title" => "Espace disque",
"StorageUsageLastMonth" => "Espace disque - 30 derniers jours",
"StorageUsagePerMonth" => "Espace disque - Moyenne mensuelle",
"StorageUsageCurrent" => "Espace disque - Aujourd'hui",
"DefaultChartSize" => "Unités",
"sizes_kb" => "Kilobytes",
"sizes_mb" => "Megabytes",
"sizes_gb" => "Gigabytes",
"sizes_tb" => "Terabytes",

"Activity_title" => "Activité",
"ActivityUsageLastMonth"=> "Activité - 30 derniers jours",
"activities" => "Activité",
"ActivityUsagePerMonth" => "Activité - Moyenne mensuelle",
);
3 changes: 2 additions & 1 deletion l10n/nl.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<?php
$TRANSLATIONS = array(
"ocUsageCharts" => "Grafieken",

"Storage_title" => "Data verbruik",
"StorageUsageLastMonth" => "Data verbruik de afgelopen maand",
"StorageUsagePerMonth" => "Gemiddelde data verbruik per maand",
"StorageUsageCurrent" => "Huidig data verbruik",
Expand All @@ -13,6 +15,5 @@
"ActivityUsageLastMonth"=> "Activiteiten over de afgelopen maand",
"activities" => "Activiteiten",
"ActivityUsagePerMonth" => "Activiteiten per maand",
"Storage_title" => "Data verbruik",
"Activity_title" => "Activiteiten"
);
3 changes: 2 additions & 1 deletion lib/adapters/c3js/activity/activityusagelastmonthadapter.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,9 @@ public function formatData($data)
$x = $this->getRowX($x, $collection);
}
/** @var ActivityDayCollection $collection */
foreach($data as $username => $collection)
foreach($data as $uid => $collection)
{
$username = $this->user->getDisplayName($uid);
$row = $this->getRowData($x, $collection);
$result[$username] = $row;
}
Expand Down
3 changes: 2 additions & 1 deletion lib/adapters/c3js/activity/activityusagepermonthadapter.php
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,9 @@ public function formatData($data)
*/
private function parseUsernamesToRow(&$result, array $usernames)
{
foreach($usernames as $username => $count)
foreach($usernames as $uid => $count)
{
$username = $this->user->getDisplayName($uid);
if ( !in_array($username, array_keys($result)) )
{
$result[$username] = array();
Expand Down
10 changes: 9 additions & 1 deletion lib/adapters/c3js/c3jsbase.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
namespace OCA\ocUsageCharts\Adapters\c3js;

use OCA\ocUsageCharts\Entity\ChartConfig;
use OCA\ocUsageCharts\Owncloud\User;


/**
Expand All @@ -36,12 +37,19 @@ abstract class c3jsBase
*/
private $config;

/**
* @var User
*/
protected $user;

/**
* @param ChartConfig $chartConfig
* @param User $user
*/
public function __construct(ChartConfig $chartConfig)
public function __construct(ChartConfig $chartConfig, User $user)
{
$this->config = $chartConfig;
$this->user = $user;
}

/**
Expand Down
10 changes: 6 additions & 4 deletions lib/adapters/c3js/storage/storageusagelastmonthadapter.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@

use OCA\ocUsageCharts\Entity\ChartConfig;
use OCA\ocUsageCharts\Adapters\c3js\c3jsBase;
use OCA\ocUsageCharts\Owncloud\User;
use OCA\ocUsageCharts\ValueObject\Measurements\GigaByteMetric;
use OCA\ocUsageCharts\ValueObject\Measurements\KiloByteMetric;
use OCA\ocUsageCharts\ValueObject\Measurements\MegaByteMetric;
Expand All @@ -47,9 +48,9 @@ class StorageUsageLastMonthAdapter extends c3jsBase

/**
* @param ChartConfig $chartConfig
* @internal param string $size Defaults on gigabytes
* @param User $user
*/
public function __construct(ChartConfig $chartConfig)
public function __construct(ChartConfig $chartConfig, User $user)
{
$metaData = json_decode($chartConfig->getMetaData());
if ( !empty($metaData) )
Expand All @@ -62,7 +63,7 @@ public function __construct(ChartConfig $chartConfig)
}

$this->size = $size;
parent::__construct($chartConfig);
parent::__construct($chartConfig, $user);
}


Expand Down Expand Up @@ -103,8 +104,9 @@ public function formatData($data)
{
$x = array();
$result = array();
foreach($data as $username => $items )
foreach($data as $uid => $items )
{
$username = $this->user->getDisplayName($uid);
// For the first item, add to X
if ( count($x) === 0 )
{
Expand Down
4 changes: 3 additions & 1 deletion lib/adapters/charttypeadapterinterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
namespace OCA\ocUsageCharts\Adapters;

use OCA\ocUsageCharts\Entity\ChartConfig;
use OCA\ocUsageCharts\Owncloud\User;

/**
* @author Arno van Rossum <[email protected]>
Expand All @@ -32,9 +33,10 @@ interface ChartTypeAdapterInterface
{
/**
* @param ChartConfig $config
* @param User $user
* @return ChartTypeAdapterInterface
*/
public function __construct(ChartConfig $config);
public function __construct(ChartConfig $config, User $user);

/**
* This method gives the ability to parse the data in any form you would like
Expand Down
24 changes: 19 additions & 5 deletions lib/charttypeadapterfactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,26 @@
use OCA\ocUsageCharts\Adapters\ChartTypeAdapterInterface;
use OCA\ocUsageCharts\Entity\ChartConfig;
use OCA\ocUsageCharts\Exception\ChartTypeAdapterException;
use OCA\ocUsageCharts\Owncloud\User;

/**
* @author Arno van Rossum <[email protected]>
*/
class ChartTypeAdapterFactory
{
/**
* @var User
*/
private $user;

/**
* @param User $user
*/
public function __construct(User $user)
{
$this->user = $user;
}

/**
* Return the proper adapter based on the chartconfig given
*
Expand Down Expand Up @@ -76,7 +90,7 @@ private function getStorageUsageCurrentAdapter($provider, ChartConfig $config)
{
case 'c3js':
default:
$adapter = new Adapters\c3js\Storage\StorageUsageCurrentAdapter($config);
$adapter = new Adapters\c3js\Storage\StorageUsageCurrentAdapter($config, $this->user);
}
return $adapter;
}
Expand All @@ -92,7 +106,7 @@ private function getStorageUsageLastMonthAdapter($provider, ChartConfig $config)
{
case 'c3js':
default:
$adapter = new Adapters\c3js\Storage\StorageUsageLastMonthAdapter($config);
$adapter = new Adapters\c3js\Storage\StorageUsageLastMonthAdapter($config, $this->user);
}
return $adapter;
}
Expand All @@ -108,7 +122,7 @@ private function getStorageUsagePerMonthAdapter($provider, ChartConfig $config)
{
case 'c3js':
default:
$adapter = new Adapters\c3js\Storage\StorageUsagePerMonthAdapter($config);
$adapter = new Adapters\c3js\Storage\StorageUsagePerMonthAdapter($config, $this->user);
}
return $adapter;
}
Expand All @@ -124,7 +138,7 @@ private function getActivityUsageLastMonthAdapter($provider, ChartConfig $config
{
case 'c3js':
default:
$adapter = new Adapters\c3js\Activity\ActivityUsageLastMonthAdapter($config);
$adapter = new Adapters\c3js\Activity\ActivityUsageLastMonthAdapter($config, $this->user);
}
return $adapter;
}
Expand All @@ -140,7 +154,7 @@ private function getActivityUsagePerMonthAdapter($provider, ChartConfig $config)
{
case 'c3js':
default:
$adapter = new Adapters\c3js\Activity\ActivityUsagePerMonthAdapter($config);
$adapter = new Adapters\c3js\Activity\ActivityUsagePerMonthAdapter($config, $this->user);
}
return $adapter;
}
Expand Down
3 changes: 2 additions & 1 deletion lib/dataproviders/storage/storageusagecurrentprovider.php
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,9 @@ private function retrieveStorageUsagePerUser()
{
$new = array();
$data = $this->repository->findAllWithLimit(1);
foreach($data as $username => $items)
foreach($data as $uid => $items)
{
$username = $this->user->getDisplayName($uid);
/** @var StorageUsage $item */
foreach($items as $item)
{
Expand Down
11 changes: 11 additions & 0 deletions lib/owncloud/user.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,15 @@ public function getSystemUsers()
{
return \OC_User::getUsers();
}

/**
* Returns the display name for the uid given
*
* @param string $uid
* @return string
*/
public function getDisplayName($uid)
{
return \OC_User::getDisplayName($uid);
}
}
11 changes: 11 additions & 0 deletions tests/adapters/c3js/c3jsbasetest.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
namespace OCA\ocUsageCharts\Tests\Adapters\c3js;

use OCA\ocUsageCharts\Entity\ChartConfig;
use OCA\ocUsageCharts\Owncloud\User;

/**
* @author Arno van Rossum <[email protected]>
Expand All @@ -35,11 +36,21 @@ abstract class c3jsBaseTest extends \PHPUnit_Framework_TestCase
*/
protected $config;

/**
* @var User
*/
protected $user;

public function setUp()
{
$this->config = $this
->getMockBuilder('\OCA\ocUsageCharts\Entity\ChartConfig')
->disableOriginalConstructor()
->getMock();

$this->user = $this
->getMockBuilder('\OCA\ocUsageCharts\Owncloud\User')
->disableOriginalConstructor()
->getMock();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class StorageUsageCurrentAdapterTest extends c3jsBaseTest
public function setUp()
{
parent::setUp();
$this->adapter = new StorageUsageCurrentAdapter($this->config);
$this->adapter = new StorageUsageCurrentAdapter($this->config, $this->user);
}
public function testFormatData()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,11 @@ class StorageUsageLastMonthAdapterTest extends c3jsBaseTest
public function setUp()
{
parent::setUp();
$this->adapter = new StorageUsageLastMonthAdapter($this->config);
$this->adapter = new StorageUsageLastMonthAdapter($this->config, $this->user);
}
public function testFormatData()
{
//$metaData = json_encode(array('size' => 'kb'));
//$this->config->expects($this->once())->method('getMetaData')->willReturn($metaData);
$this->user->expects($this->once())->method('getDisplayName')->willReturn('test1');
$data = array('test1' => array(
new StorageUsage(new \DateTime("-1 day"), 234234, 'test1'),
new StorageUsage(new \DateTime(), 23423422, 'test1')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class StorageUsagePerMonthAdapterTest extends StorageUsageLastMonthAdapterTest
public function setUp()
{
parent::setUp();
$this->adapter = new StorageUsagePerMonthAdapter($this->config);
$this->adapter = new StorageUsagePerMonthAdapter($this->config, $this->user);
}
public function testFormatData()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,14 @@ public function testGetChartUsageForAdminUser()
);
$this->repository->expects($this->once())->method('findAllWithLimit')->willReturn($returnItems);

$this->user->expects($this->at(2))->method('getDisplayName')->with('test1')->will($this->returnValue('test name1'));
$this->user->expects($this->at(3))->method('getDisplayName')->with('test2')->will($this->returnValue('test name2'));
$this->user->expects($this->at(4))->method('getDisplayName')->with('admin')->will($this->returnValue('administrator'));

$data = $this->provider->getChartUsage();
$this->assertEquals($data['free'], (float) 1024);
$this->assertEquals($data['test1'], (float) 1024);
$this->assertEquals($data['test2'], (float) 1024);
$this->assertEquals($data['admin'], (float) 1024);
$this->assertEquals($data['test name1'], (float) 1024);
$this->assertEquals($data['test name2'], (float) 1024);
$this->assertEquals($data['administrator'], (float) 1024);
}
}
Loading

0 comments on commit 9ba6bc3

Please sign in to comment.