diff --git a/app/routes/Clipboard.php b/app/routes/Clipboard.php index 3b983e67a146448a13797ba9e871ac6da07ff1ea..2f630dc78cc48cab53ef4da895db073b0546c525 100644 --- a/app/routes/Clipboard.php +++ b/app/routes/Clipboard.php @@ -60,7 +60,7 @@ class Clipboard extends \RESTAPI\RouteMap if ($clipboard->user_id != $GLOBALS['user']->id) { //Thou shalt not delete clipboards //which don't belong to you! - throw new AccessDeniedException(); + throw new \AccessDeniedException(); } $name = $this->data['name']; @@ -70,8 +70,6 @@ class Clipboard extends \RESTAPI\RouteMap $clipboard->name = $name; - $success = false; - if ($clipboard->isDirty()) { $success = $clipboard->store(); } else { @@ -107,10 +105,10 @@ class Clipboard extends \RESTAPI\RouteMap $this->notFound(_('Ungültige Merkzettel-ID!')); } - if ($clipboard->user_id != $GLOBALS['user']->id) { + if ($clipboard->user_id !== $GLOBALS['user']->id) { //Thou shalt not delete items of clipboards //which don't belong to you! - throw new AccessDeniedException(); + throw new \AccessDeniedException(); } if (!$clipboard->delete()) { @@ -136,7 +134,7 @@ class Clipboard extends \RESTAPI\RouteMap if ($clipboard->user_id != $GLOBALS['user']->id) { //Thou shalt not add items to clipboards //which don't belong to you! - throw new AccessDeniedException(); + throw new \AccessDeniedException(); } $range_id = \Request::get('range_id'); @@ -162,7 +160,7 @@ class Clipboard extends \RESTAPI\RouteMap $result['widget_id'] = $widget_id; } return $result; - } catch (Exception $e) { + } catch (\Exception $e) { $this->halt(500, $e->getMessage()); } } @@ -183,7 +181,7 @@ class Clipboard extends \RESTAPI\RouteMap if ($clipboard->user_id != $GLOBALS['user']->id) { //Thou shalt not delete items of clipboards //which don't belong to you! - throw new AccessDeniedException(); + throw new \AccessDeniedException(); } if ($clipboard->removeItem($range_id)) { diff --git a/lib/models/resources/Room.class.php b/lib/models/resources/Room.class.php index 39e4d02be75f3f14c97d190fc25edbca1da6cd87..e5960dbe63bec6093a29165b6922b1a7bb84f575 100644 --- a/lib/models/resources/Room.class.php +++ b/lib/models/resources/Room.class.php @@ -52,6 +52,7 @@ class Room extends Resource $config['additional_fields']['building']['get'] = 'findBuilding'; $config['registered_callbacks']['before_store'][] = 'cbValidate'; + $config['registered_callbacks']['after_delete'][] = 'cbDeleteClipboardItems'; parent::configure($config); } @@ -155,7 +156,7 @@ class Room extends Resource * @param int $limit A limit for the result set. * @param Room[] $searchable_rooms An (optional) array of rooms * which will limit the search to the rooms in the array. - * @param Array $properties An array providing request properties + * @param array $properties An array providing request properties * and their values in case the request doesn't have (the desired) * properties set. * @@ -324,7 +325,7 @@ class Room extends Resource /** - * Checks wheter rooms with public booking plans exist. + * Checks whether rooms with public booking plans exist. * * @return bool True, if at least one room has a public booking plan, * false otherwise. @@ -506,6 +507,11 @@ class Room extends Resource return true; } + public function cbDeleteClipboardItems() + { + ClipboardItem::deleteBySQL('range_id = ?', [$this->id]); + } + public function getRequiredPropertyNames() { @@ -554,7 +560,7 @@ class Room extends Resource * * @param Resource $resource The resource which shall be added as child. * - * @return True, if the resource could be added as child, false otherwise. + * @return bool True, if the resource could be added as child, false otherwise. * @throws InvalidResourceException If the specified resource belongs to * the resource classes Room, Building or Location. * diff --git a/resources/assets/javascripts/lib/clipboard.js b/resources/assets/javascripts/lib/clipboard.js index 86a2c62eea6f15c54ddead983e6d461697be3efe..a06d422273aa0a6b99921eee0c85cf6f99ed6434 100644 --- a/resources/assets/javascripts/lib/clipboard.js +++ b/resources/assets/javascripts/lib/clipboard.js @@ -1,3 +1,5 @@ +import {$gettext} from './gettext'; + const Clipboard = { current_delete_icon: null, @@ -19,7 +21,7 @@ const Clipboard = { var current_clipboard_id = jQuery(clipboard).attr('data-id'); if (current_clipboard_id) { - if (current_clipboard_id == selected_clipboard_id) { + if (current_clipboard_id === selected_clipboard_id) { jQuery(clipboard).removeClass('invisible'); if (jQuery(clipboard).find(".empty-clipboard-message").hasClass("invisible")) { jQuery("#clipboard-group-container").find('.widget-links').removeClass('invisible'); @@ -213,7 +215,7 @@ const Clipboard = { //don't belong on the displayed page. That's all. allowed_classes = allowed_classes.replace(' ', '').split(','); - if (allowed_classes.indexOf(range_type) == -1) { + if (allowed_classes.indexOf(range_type) === -1) { //The dropped item does not belong to the right class. //Set the "not allowed" CSS class //for the "not allowed" animation. @@ -432,7 +434,7 @@ const Clipboard = { confirmRemoveClick: function(event) { STUDIP.Clipboard.current_delete_icon = event.target; STUDIP.Dialog.confirm( - 'Sind Sie sicher?', + $gettext('Sind Sie sicher?'), STUDIP.Clipboard.handleRemoveClick ); }, @@ -475,7 +477,7 @@ const Clipboard = { confirmRemoveItemClick: function(event) { STUDIP.Clipboard.current_delete_icon = event.target; STUDIP.Dialog.confirm( - 'Sind Sie sicher?', + $gettext('Sind Sie sicher?'), STUDIP.Clipboard.removeItem ); },