Skip to content

Commit

Permalink
Fixed Bug referring to Issue #19 reported by @user17476566786 and som…
Browse files Browse the repository at this point in the history
…e other changes
  • Loading branch information
alexstocker committed Jun 20, 2017
1 parent 08d4f83 commit f8b4390
Show file tree
Hide file tree
Showing 128 changed files with 74 additions and 6 deletions.
Empty file modified AUTHORS.md
100644 → 100755
Empty file.
6 changes: 6 additions & 0 deletions CHANGELOG.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
#SensorLogger (0.0.4.1)
* **Enhancement**:
* Now checking for already available DataTypes to omit duplicates on device registration
* **Bugfix**:
* Fixed Bug referring to Issue #19 reported by @user17476566786

#SensorLogger (0.0.4)
* **Enhancement**:
* dashboard widget (chart)
Expand Down
Empty file modified COPYING
100644 → 100755
Empty file.
Empty file modified LICENSE
100644 → 100755
Empty file.
Empty file modified Makefile
100644 → 100755
Empty file.
Empty file modified README.md
100644 → 100755
Empty file.
Empty file modified appinfo/app.php
100644 → 100755
Empty file.
Empty file modified appinfo/autoload.php
100644 → 100755
Empty file.
Empty file modified appinfo/database.xml
100644 → 100755
Empty file.
3 changes: 2 additions & 1 deletion appinfo/info.xml
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<description>SensorLogger for ownCloud enables users to log data provided by sensor devices</description>
<licence>MIT</licence>
<author>Alexander Stocker</author>
<version>0.0.4</version>
<version>0.0.4.1</version>
<namespace>SensorLogger</namespace>
<category>tool</category>
<ocsid>174814</ocsid>
Expand All @@ -15,3 +15,4 @@
<owncloud min-version="9.0" max-version="10.0"/>
<database>mysql</database>
</dependencies>
</info>
Empty file modified appinfo/routes.php
100644 → 100755
Empty file.
44 changes: 39 additions & 5 deletions controller/apisensorloggercontroller.php
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use OC\OCS\Exception;
use OC\OCS\Result;
use OC\Share\Share;
use OCA\SensorLogger\DataType;
use OCA\SensorLogger\DataTypes;
use OCA\SensorLogger\SensorDevices;
use OCP\API;
Expand All @@ -15,6 +16,7 @@
use OCP\IGroupManager;
use OCP\IL10N;
use OCP\IRequest;
use OCP\IUser;
use OCP\IUserManager;
use OCP\Share\Exceptions\ShareNotFound;
use OCP\Share\IManager;
Expand All @@ -36,6 +38,8 @@ class ApiSensorLoggerController extends ApiController {
private $groupManager;
/** @var IUserManager */
private $userManager;
/** @var IUser */
private $currentUser;
/** @var IL10N */
private $l;

Expand Down Expand Up @@ -232,7 +236,7 @@ protected function checkRequestParams($deviceId,$params) {
$deviceGroupId = $this->insertDeviceGroup($params['deviceGroup']);
if(is_int($deviceGroupId)) {
try {
SensorDevices::updateDevice($deviceId,'group_id',$deviceGroupId,$this->db);
SensorDevices::updateDevice($deviceId,'group_id',$deviceGroupId,$this->db);
} catch (\Exception $e) {}
}
}
Expand All @@ -246,7 +250,18 @@ protected function checkRequestParams($deviceId,$params) {
}
}
if(isset($params['deviceDataTypes']) && is_array($params['deviceDataTypes'])) {
foreach($params['deviceDataTypes'] as $array){
foreach($params['deviceDataTypes'] as $key => $array){
$availableDataTypes = DataTypes::getDataTypesByUserId($this->userId,$this->db);
/** @var DataType $availableDataType */
foreach($availableDataTypes as $availableDataType) {
if($availableDataType->getShort() === $array['unit'] && $availableDataType->getType() === $array['type']) {
$dataTypeId = $availableDataType->getId();
if(is_int($dataTypeId)) {
$this->insertDeviceDataTypes($deviceId,$dataTypeId);
}
continue 2;
}
}
$dataTypeId = $this->insertDataTypes($array);
if(is_int($dataTypeId)) {
$this->insertDeviceDataTypes($deviceId,$dataTypeId);
Expand Down Expand Up @@ -418,12 +433,31 @@ public function deleteShare() {
* @return bool
*/
protected function canAccessShare(IShare $share) {

# TODO [GH21] Add apisensorloggercontroller::canAccessShare

// A file with permissions 0 can't be accessed by us. So Don't show it
if ($share->getPermissions() === 0) {
return false;
}

// Owner of the file and the sharer of the file can always get share
if ($share->getShareOwner() === $this->currentUser->getUID() ||
$share->getSharedBy() === $this->currentUser->getUID()
) {
return true;
}

// If the share is shared with you (or a group you are a member of)
if ($share->getShareType() === Share::SHARE_TYPE_USER &&
$share->getSharedWith() === $this->currentUser->getUID()) {
return true;
}

if ($share->getShareType() === Share::SHARE_TYPE_GROUP) {
$sharedWith = $this->groupManager->get($share->getSharedWith());
if (!is_null($sharedWith) && $sharedWith->inGroup($this->currentUser)) {
return true;
}
}

return false;
}

Expand Down
Empty file modified controller/sensorloggercontroller.php
100644 → 100755
Empty file.
Empty file modified css/jquery-editable.css
100644 → 100755
Empty file.
Empty file modified css/style.css
100644 → 100755
Empty file.
Empty file modified img/app.svg
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/clear.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/loading.gif
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified img/save.svg
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified js/app.js
100644 → 100755
Empty file.
Empty file modified js/deviceactions.js
100644 → 100755
Empty file.
Empty file modified js/jquery-editable-poshytip.min.js
100644 → 100755
Empty file.
Empty file modified js/jquery.jqplot.min.js
100644 → 100755
Empty file.
Empty file modified js/jquery.poshytip.min.js
100644 → 100755
Empty file.
Empty file modified js/navigation.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.BezierCurveRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.BezierCurveRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.barRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.barRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.blockRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.blockRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.bubbleRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.bubbleRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.canvasAxisLabelRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.canvasAxisLabelRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.canvasAxisTickRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.canvasAxisTickRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.canvasOverlay.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.canvasOverlay.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.canvasTextRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.canvasTextRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.categoryAxisRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.categoryAxisRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.ciParser.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.ciParser.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.cursor.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.cursor.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.dateAxisRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.dateAxisRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.donutRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.donutRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.dragable.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.dragable.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.enhancedLegendRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.enhancedLegendRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.funnelRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.funnelRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.highlighter.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.highlighter.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.json2.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.json2.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.logAxisRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.logAxisRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.mekkoAxisRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.mekkoAxisRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.mekkoRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.mekkoRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.meterGaugeRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.meterGaugeRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.mobile.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.mobile.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.ohlcRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.ohlcRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.pieRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.pieRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.pointLabels.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.pointLabels.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.pyramidAxisRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.pyramidAxisRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.pyramidGridRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.pyramidGridRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.pyramidRenderer.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.pyramidRenderer.min.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.trendline.js
100644 → 100755
Empty file.
Empty file modified js/plugins/jqplot.trendline.min.js
100644 → 100755
Empty file.
Empty file modified js/script.js
100644 → 100755
Empty file.
Empty file modified js/utils.js
100644 → 100755
Empty file.
Empty file modified lib/App.php
100644 → 100755
Empty file.
Empty file modified lib/DataType.php
100644 → 100755
Empty file.
27 changes: 27 additions & 0 deletions lib/DataTypes.php
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,33 @@ public static function getDataTypeById($userId, $dataTypeId, IDBConnection $db)
return $data;
}

/**
* @param $userId
* @param IDBConnection $db
* @return array
*/
public static function getDataTypesByUserId($userId, IDBConnection $db) {
$query = $db->getQueryBuilder();
$query->select('*')
->from('sensorlogger_data_types')
->where('user_id = "'.$userId.'"');
$results = $query->execute();

$data = [];

foreach($results->fetchAll() as $result) {
$data[] = DataType::fromRow($result);
}

return $data;
}

/**
* @param $userId
* @param $deviceId
* @param IDBConnection $db
* @return array
*/
public static function getDeviceDataTypesByDeviceId($userId, $deviceId, IDBConnection $db) {
$query = $db->getQueryBuilder();
$query->select(array('sdt.id','sdt.description','sdt.type','sdt.short','sdt.type'))
Expand Down
Empty file modified lib/Device.php
100644 → 100755
Empty file.
Empty file modified lib/DeviceTypes.php
100644 → 100755
Empty file.
Empty file modified lib/Group.php
100644 → 100755
Empty file.
Empty file modified lib/Log.php
100644 → 100755
Empty file.
Empty file modified lib/LogExtended.php
100644 → 100755
Empty file.
Empty file modified lib/SensorDevices.php
100644 → 100755
Empty file.
Empty file modified lib/SensorGroups.php
100644 → 100755
Empty file.
Empty file modified lib/SensorLogs.php
100644 → 100755
Empty file.
Empty file modified lib/Type.php
100644 → 100755
Empty file.
Empty file modified lib/Widget.php
100644 → 100755
Empty file.
Empty file modified lib/Widgets.php
100644 → 100755
Empty file.
Empty file modified phpunit.integration.xml
100644 → 100755
Empty file.
Empty file modified phpunit.xml
100644 → 100755
Empty file.
Empty file modified templates/main.php
100644 → 100755
Empty file.
Empty file modified templates/part.chart.php
100644 → 100755
Empty file.
Empty file modified templates/part.dashboard.php
100644 → 100755
Empty file.
Empty file modified templates/part.list.php
100644 → 100755
Empty file.
Empty file modified templates/part.listDataTypes.php
100644 → 100755
Empty file.
Empty file modified templates/part.listDeviceGroups.php
100644 → 100755
Empty file.
Empty file modified templates/part.listDeviceTypes.php
100644 → 100755
Empty file.
Empty file modified templates/part.listDevices.php
100644 → 100755
Empty file.
Empty file modified templates/part.listSharedDevices.php
100644 → 100755
Empty file.
Empty file modified templates/part.navigation.php
100644 → 100755
Empty file.
Empty file modified templates/part.settings.php
100644 → 100755
Empty file.
Empty file modified templates/widget_dashboard.php
100644 → 100755
Empty file.
Empty file modified tests/bootstrap.php
100644 → 100755
Empty file.
Empty file modified tests/curl/createlog_example.json
100644 → 100755
Empty file.
Empty file modified tests/curl/createlog_extend_example.json
100644 → 100755
Empty file.
Empty file modified tests/curl/datatyperesponse.json
100644 → 100755
Empty file.
Empty file modified tests/curl/getdatatypes.php
100644 → 100755
Empty file.
Empty file modified tests/curl/post.php
100644 → 100755
Empty file.
Empty file modified tests/curl/post_extend.php
100644 → 100755
Empty file.
Empty file modified tests/curl/post_extend_0.php
100644 → 100755
Empty file.
Empty file modified tests/curl/put.php
100644 → 100755
Empty file.
Empty file modified tests/curl/register.php
100644 → 100755
Empty file.
Empty file modified tests/curl/register_extend_0.php
100644 → 100755
Empty file.
Empty file modified tests/curl/registerdevice_example.json
100644 → 100755
Empty file.
Empty file modified tests/integration/AppTest.php
100644 → 100755
Empty file.

0 comments on commit f8b4390

Please sign in to comment.