added endpoint to delete summit by id
DELETE /api/v1/summits/{id} Required scopes '%s/summits/write' Change-Id: Ic2fd1f4ca3ec612c6cc6dd3b5e5ad2ce3663627a
This commit is contained in:
parent
18bf5bfa04
commit
78db0e22ca
@ -13,6 +13,7 @@
|
||||
* limitations under the License.
|
||||
**/
|
||||
use App\Models\Foundation\Summit\Events\RSVP\RSVPTemplate;
|
||||
use App\Models\Foundation\Summit\TrackTagGroup;
|
||||
use App\Models\Utils\TimeZoneUtils;
|
||||
use DateTime;
|
||||
use DateTimeZone;
|
||||
@ -184,7 +185,6 @@ class Summit extends SilverstripeBaseModel
|
||||
*/
|
||||
private $calendar_sync_desc;
|
||||
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="SummitAbstractLocation", mappedBy="summit", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY")
|
||||
*/
|
||||
@ -206,6 +206,12 @@ class Summit extends SilverstripeBaseModel
|
||||
*/
|
||||
private $wifi_connections;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="App\Models\Foundation\Summit\TrackTagGroup", mappedBy="summit", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY")
|
||||
* @var TrackTagGroup[]
|
||||
*/
|
||||
private $track_tag_groups;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="SummitRegistrationPromoCode", mappedBy="summit", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY")
|
||||
* @var SummitRegistrationPromoCode[]
|
||||
@ -293,16 +299,6 @@ class Summit extends SilverstripeBaseModel
|
||||
*/
|
||||
private $excluded_categories_for_upload_slide_decks;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToMany(targetEntity="models\main\Tag")
|
||||
* @ORM\JoinTable(name="Summit_CategoryDefaultTags",
|
||||
* joinColumns={@ORM\JoinColumn(name="SummitID", referencedColumnName="ID")},
|
||||
* inverseJoinColumns={@ORM\JoinColumn(name="TagID", referencedColumnName="ID")}
|
||||
* )
|
||||
* @var Tag[]
|
||||
*/
|
||||
private $category_default_tags;
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
@ -564,8 +560,8 @@ class Summit extends SilverstripeBaseModel
|
||||
$this->excluded_categories_for_alternate_presentations = new ArrayCollection;
|
||||
$this->excluded_categories_for_rejected_presentations = new ArrayCollection;
|
||||
$this->excluded_categories_for_upload_slide_decks = new ArrayCollection;
|
||||
$this->category_default_tags = new ArrayCollection;
|
||||
$this->rsvp_templates = new ArrayCollection;
|
||||
$this->track_tag_groups = new ArrayCollection;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1767,14 +1763,6 @@ SQL;
|
||||
return $this->excluded_categories_for_upload_slide_decks->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Tag[]
|
||||
*/
|
||||
public function getCategoryDefaultTags()
|
||||
{
|
||||
return $this->category_default_tags->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param SummitEventType $event_type
|
||||
* @return $this
|
||||
|
@ -14,7 +14,6 @@
|
||||
use Doctrine\ORM\Cache;
|
||||
use models\utils\SilverstripeBaseModel;
|
||||
use Doctrine\ORM\Mapping AS ORM;
|
||||
|
||||
/**
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="SummitWIFIConnection")
|
||||
|
146
app/Models/Foundation/Summit/TrackTagGroup.php
Normal file
146
app/Models/Foundation/Summit/TrackTagGroup.php
Normal file
@ -0,0 +1,146 @@
|
||||
<?php namespace App\Models\Foundation\Summit;
|
||||
/**
|
||||
* Copyright 2018 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\ORM\Cache;
|
||||
use models\summit\SummitOwned;
|
||||
use models\utils\SilverstripeBaseModel;
|
||||
use Doctrine\ORM\Mapping AS ORM;
|
||||
/**
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="TrackTagGroup")
|
||||
* Class TrackTagGroup
|
||||
* @package models\summit\TrackTagGroup
|
||||
*/
|
||||
class TrackTagGroup extends SilverstripeBaseModel
|
||||
{
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
$this->name = $name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getLabel()
|
||||
{
|
||||
return $this->label;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $label
|
||||
*/
|
||||
public function setLabel($label)
|
||||
{
|
||||
$this->label = $label;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getOrder()
|
||||
{
|
||||
return $this->order;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $order
|
||||
*/
|
||||
public function setOrder($order)
|
||||
{
|
||||
$this->order = $order;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function isMandatory()
|
||||
{
|
||||
return $this->is_mandatory;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $is_mandatory
|
||||
*/
|
||||
public function setIsMandatory($is_mandatory)
|
||||
{
|
||||
$this->is_mandatory = $is_mandatory;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return TrackTagGroupAllowedTag[]
|
||||
*/
|
||||
public function getAllowedTags()
|
||||
{
|
||||
return $this->allowed_tags;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param TrackTagGroupAllowedTag[] $allowed_tags
|
||||
*/
|
||||
public function setAllowedTags($allowed_tags)
|
||||
{
|
||||
$this->allowed_tags = $allowed_tags;
|
||||
}
|
||||
|
||||
use SummitOwned;
|
||||
|
||||
/**
|
||||
* @ORM\Column(name="Name", type="string")
|
||||
* @var string
|
||||
*/
|
||||
private $name;
|
||||
|
||||
/**
|
||||
* @ORM\Column(name="Label", type="string")
|
||||
* @var string
|
||||
*/
|
||||
private $label;
|
||||
|
||||
/**
|
||||
* @ORM\Column(name="Order", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
private $order;
|
||||
|
||||
/**
|
||||
* @ORM\Column(name="Mandatory", type="boolean")
|
||||
* @var boolean
|
||||
*/
|
||||
private $is_mandatory;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="TrackTagGroupAllowedTag", mappedBy="track_tag_group", cascade={"persist"}, orphanRemoval=true)
|
||||
* @var TrackTagGroupAllowedTag[]
|
||||
*/
|
||||
private $allowed_tags;
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->allowed_tags = new ArrayCollection;
|
||||
}
|
||||
|
||||
|
||||
}
|
95
app/Models/Foundation/Summit/TrackTagGroupAllowedTag.php
Normal file
95
app/Models/Foundation/Summit/TrackTagGroupAllowedTag.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php namespace App\Models\Foundation\Summit;
|
||||
/**
|
||||
* Copyright 2018 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
use App\Models\Utils\BaseEntity;
|
||||
use Doctrine\ORM\Cache;
|
||||
use models\main\Tag;
|
||||
use models\summit\SummitOwned;
|
||||
use models\utils\SilverstripeBaseModel;
|
||||
use Doctrine\ORM\Mapping AS ORM;
|
||||
/**
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="TrackTagGroup_AllowedTags")
|
||||
* Class TrackTagGroupAllowedTag
|
||||
* @package models\summit\TrackTagGroupAllowedTag
|
||||
*/
|
||||
class TrackTagGroupAllowedTag extends BaseEntity
|
||||
{
|
||||
/**
|
||||
* @ORM\Column(name="IsDefault", type="boolean")
|
||||
* @var boolean
|
||||
*/
|
||||
private $is_default;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="models\main\Tag")
|
||||
* @ORM\JoinColumn(name="TagID", referencedColumnName="ID")
|
||||
* @var Tag
|
||||
*/
|
||||
private $tag;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="TrackTagGroup")
|
||||
* @ORM\JoinColumn(name="TrackTagGroupID", referencedColumnName="ID")
|
||||
* @var TrackTagGroup
|
||||
*/
|
||||
private $track_tag_group;
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function isDefault()
|
||||
{
|
||||
return $this->is_default;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $is_default
|
||||
*/
|
||||
public function setIsDefault($is_default)
|
||||
{
|
||||
$this->is_default = $is_default;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Tag
|
||||
*/
|
||||
public function getTag()
|
||||
{
|
||||
return $this->tag;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Tag $tag
|
||||
*/
|
||||
public function setTag(Tag $tag)
|
||||
{
|
||||
$this->tag = $tag;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return TrackTagGroup
|
||||
*/
|
||||
public function getTrackTagGroup()
|
||||
{
|
||||
return $this->track_tag_group;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param TrackTagGroup $track_tag_group
|
||||
*/
|
||||
public function setTrackTagGroup(TrackTagGroup $track_tag_group)
|
||||
{
|
||||
$this->track_tag_group = $track_tag_group;
|
||||
}
|
||||
}
|
@ -246,6 +246,34 @@ final class OAuth2SummitApiTest extends ProtectedApiTest
|
||||
return $summit;
|
||||
}
|
||||
|
||||
public function testDeleteSummit(){
|
||||
|
||||
$summit = $this->testAddSummit();
|
||||
$params = [
|
||||
'id' => $summit->id
|
||||
];
|
||||
|
||||
$headers = [
|
||||
"HTTP_Authorization" => " Bearer " . $this->access_token,
|
||||
"CONTENT_TYPE" => "application/json"
|
||||
];
|
||||
|
||||
$response = $this->action(
|
||||
"DELETE",
|
||||
"OAuth2SummitApiController@deleteSummit",
|
||||
$params,
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
$headers
|
||||
|
||||
);
|
||||
|
||||
$content = $response->getContent();
|
||||
$this->assertResponseStatus(204);
|
||||
|
||||
}
|
||||
|
||||
public function testGetSummitMin($summit_id = 23)
|
||||
{
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user