Skip to content
Snippets Groups Projects
Commit af9ea7f0 authored by David Siegfried's avatar David Siegfried
Browse files

check user-permissons, closes #870

parent c1e2d0b9
No related branches found
No related tags found
No related merge requests found
...@@ -1016,7 +1016,6 @@ class Resources_ResourceController extends AuthenticatedController ...@@ -1016,7 +1016,6 @@ class Resources_ResourceController extends AuthenticatedController
//Get the list of temporary permissions for the user-IDs in the list: //Get the list of temporary permissions for the user-IDs in the list:
$user_permissions = Request::getArray('permissions'); $user_permissions = Request::getArray('permissions');
//var_dump($user_permissions);die();
$processed_permissions = 0; $processed_permissions = 0;
$errors = []; $errors = [];
......
...@@ -67,10 +67,7 @@ class Resources_RoomController extends AuthenticatedController ...@@ -67,10 +67,7 @@ class Resources_RoomController extends AuthenticatedController
$user, $user,
'autor' 'autor'
); );
$current_user_is_resource_user = $this->room->userHasPermission( $current_user_is_resource_user = $this->room->userHasPermission($user);
$user,
'user'
);
$sidebar = Sidebar::get(); $sidebar = Sidebar::get();
$actions = new ActionsWidget(); $actions = new ActionsWidget();
...@@ -167,6 +164,7 @@ class Resources_RoomController extends AuthenticatedController ...@@ -167,6 +164,7 @@ class Resources_RoomController extends AuthenticatedController
$this->grouped_properties = $this->room->getGroupedProperties( $this->grouped_properties = $this->room->getGroupedProperties(
$this->room->getRequiredPropertyNames() $this->room->getRequiredPropertyNames()
); );
$this->geo_coordinates_object = $this->room->building->getPropertyObject('geo_coordinates');
} }
......
...@@ -55,14 +55,17 @@ ...@@ -55,14 +55,17 @@
); );
} }
if ($room->building) { if ($room->building) {
$actions->addLink( $geo_coordinates_object = $room->building->getPropertyObject('geo_coordinates');
ResourceManager::getMapUrlForResourcePosition( if ($geo_coordinates_object instanceof ResourceProperty) {
$room->building->getPropertyObject('geo_coordinates') $actions->addLink(
), ResourceManager::getMapUrlForResourcePosition(
_('Zum Lageplan'), $room->building->getPropertyObject('geo_coordinates')
Icon::create('globe'), ),
['target' => '_blank'] _('Zum Lageplan'),
); Icon::create('globe'),
['target' => '_blank']
);
}
} }
if ($clipboard_widget_id) { if ($clipboard_widget_id) {
$actions->addLink( $actions->addLink(
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
</section> </section>
</section> </section>
<? endif ?> <? endif ?>
<div data-dialog-button> <div data-dialog-button>
<? if (Request::isDialog()) : ?> <? if (Request::isDialog()) : ?>
<? if ($geo_coordinates_object instanceof ResourceProperty): ?> <? if ($geo_coordinates_object instanceof ResourceProperty): ?>
...@@ -40,13 +39,15 @@ ...@@ -40,13 +39,15 @@
['target' => '_blank'] ['target' => '_blank']
) ?> ) ?>
<? endif ?> <? endif ?>
<?= \Studip\LinkButton::createEdit( <? if ($building->userHasPermission($GLOBALS['user']->getAuthenticatedUser(), 'admin')) : ?>
_('Bearbeiten'), <?= \Studip\LinkButton::createEdit(
$building->getActionURL('edit'), _('Bearbeiten'),
[ $building->getActionURL('edit'),
'data-dialog' => 'size=auto' [
] 'data-dialog' => 'size=auto'
) ?> ]
) ?>
<? endif ?>
<? endif ?> <? endif ?>
</div> </div>
<? <?
......
...@@ -19,13 +19,15 @@ ...@@ -19,13 +19,15 @@
['target' => '_blank'] ['target' => '_blank']
) ?> ) ?>
</div> </div>
<?= \Studip\LinkButton::createEdit( <? if($location->userHasPermission(User::findCurrent(), 'admin')) : ?>
_('Bearbeiten'), <?= \Studip\LinkButton::createEdit(
$location->getActionURL('edit'), _('Bearbeiten'),
[ $location->getActionURL('edit'),
'data-dialog' => 'size=auto' [
] 'data-dialog' => 'size=auto'
) ?> ]
) ?>
<? endif ?>
<? endif ?> <? endif ?>
<? endif ?> <? endif ?>
<? $property_groups = $location->getGroupedProperties($other_properties) ?> <? $property_groups = $location->getGroupedProperties($other_properties) ?>
......
...@@ -88,21 +88,24 @@ ...@@ -88,21 +88,24 @@
$room->getActionURL('semester_plan'), $room->getActionURL('semester_plan'),
['data-dialog' => 'size=big']) ?> ['data-dialog' => 'size=big']) ?>
<? endif ?> <? endif ?>
<? if ($room->building) : ?>
<? if ($geo_coordinates_object instanceof ResourceProperty): ?>
<?= \Studip\LinkButton::create( <?= \Studip\LinkButton::create(
_('Zum Lageplan'), _('Zum Lageplan'),
ResourceManager::getMapUrlForResourcePosition( ResourceManager::getMapUrlForResourcePosition(
$room->building->getPropertyObject('geo_coordinates') $geo_coordinates_object
) )
) ?> ) ?>
<? endif ?> <? endif ?>
<?= \Studip\LinkButton::createEdit( <? if ($room->userHasPermission(User::findCurrent(), 'admin')) : ?>
_('Bearbeiten'), <?= \Studip\LinkButton::createEdit(
$room->getActionURL('edit'), _('Bearbeiten'),
[ $room->getActionURL('edit'),
'data-dialog' => 'size=auto' [
] 'data-dialog' => 'size=auto'
) ?> ]
) ?>
<? endif ?>
<? if (!$current_user_is_resource_autor && $room->requestable) : ?> <? if (!$current_user_is_resource_autor && $room->requestable) : ?>
<?= \Studip\LinkButton::create( <?= \Studip\LinkButton::create(
_('Raum anfragen'), _('Raum anfragen'),
......
...@@ -1439,13 +1439,16 @@ class Resource extends SimpleORMap implements StudipItem ...@@ -1439,13 +1439,16 @@ class Resource extends SimpleORMap implements StudipItem
); );
$property->store(); $property->store();
if ($name === 'geo_coordinates' && $property->state === '+0.0000000+0.0000000+0.0000000CRSWGS_84/') {
return null;
}
return $property; return $property;
} else { } else {
return null; return null;
} }
} }
$property = ResourceProperty::findOneBySql(
return ResourceProperty::findOneBySql(
"INNER JOIN resource_property_definitions rpd "INNER JOIN resource_property_definitions rpd
ON resource_properties.property_id = rpd.property_id ON resource_properties.property_id = rpd.property_id
WHERE resource_properties.resource_id = :resource_id WHERE resource_properties.resource_id = :resource_id
...@@ -1455,6 +1458,11 @@ class Resource extends SimpleORMap implements StudipItem ...@@ -1455,6 +1458,11 @@ class Resource extends SimpleORMap implements StudipItem
'name' => $name 'name' => $name
] ]
); );
if ($name === 'geo_coordinates' && $property->state === '+0.0000000+0.0000000+0.0000000CRSWGS_84/') {
return null;
}
return $property;
} }
/** /**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment