RVRNEXT-24 replace id-based search to slug-based for communities
rvr-nextgen/pipeline/pr-master This commit looks good
rvr-nextgen/pipeline/pr-master This commit looks good
This commit is contained in:
13 files changed
+72
-67
No files matched your search
@@ -49,7 +49,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
|
||||
public function getCommunityHome(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), false, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), false, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
|
||||
public function getCommunitySettings(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), false, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), false, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
|
||||
public function getCommunityEdit(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), true, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), true, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -124,9 +124,9 @@ class CommunityController implements IAuthenticationRequired
|
||||
]);
|
||||
}
|
||||
|
||||
$communityId = \Container::$request->query('communityId');
|
||||
if ($communityId){
|
||||
if (!$this->checkPermission($communityId, true, $community, $ownCommunityMember)) {
|
||||
$communitySlug = \Container::$request->query('communitySlug');
|
||||
if ($communitySlug){
|
||||
if (!$this->checkPermission($communitySlug, true, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
@@ -145,7 +145,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
$community->setName($name);
|
||||
\Container::$persistentDataManager->saveToDb($community);
|
||||
|
||||
if (!$communityId) {
|
||||
if (!$communitySlug) {
|
||||
/**
|
||||
* @var User $user
|
||||
*/
|
||||
@@ -168,13 +168,13 @@ class CommunityController implements IAuthenticationRequired
|
||||
}
|
||||
|
||||
return new JsonContent([
|
||||
'redirect' => ['target' => \Container::$routeCollection->getRoute('community')->generateLink(['communityId' => $community->getId()])]
|
||||
'redirect' => ['target' => \Container::$routeCollection->getRoute('community')->generateLink(['communitySlug' => $community->getSlug()])]
|
||||
]);
|
||||
}
|
||||
|
||||
public function getMembersEdit(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), true, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), true, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -186,7 +186,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
|
||||
public function saveMember(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), true, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), true, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -225,7 +225,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
|
||||
public function deleteMember(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), true, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), true, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -250,7 +250,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
|
||||
public function getCurrenciesEdit(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), true, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), true, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -262,7 +262,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
|
||||
public function saveCurrency(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), true, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), true, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -298,7 +298,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
|
||||
public function deleteCurrency(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), true, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), true, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -324,7 +324,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
|
||||
public function getCurrencyExchangeRates(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), true, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), true, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -345,7 +345,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
|
||||
public function saveCurrencyExchangeRate(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), true, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), true, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -378,7 +378,7 @@ class CommunityController implements IAuthenticationRequired
|
||||
|
||||
public function deleteCurrencyExchangeRate(): ?IContent
|
||||
{
|
||||
if (!$this->checkPermission(\Container::$request->query('communityId'), true, $community, $ownCommunityMember)) {
|
||||
if (!$this->checkPermission(\Container::$request->query('communitySlug'), true, $community, $ownCommunityMember)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -415,12 +415,12 @@ class CommunityController implements IAuthenticationRequired
|
||||
}
|
||||
|
||||
private function checkPermission(
|
||||
int $communityId,
|
||||
string $communitySlug,
|
||||
bool $needToBeOwner,
|
||||
?Community &$community,
|
||||
?CommunityMember &$ownCommunityMember): bool
|
||||
{
|
||||
$community = $this->communityRepository->getById($communityId);
|
||||
$community = $this->communityRepository->getBySlug($communitySlug);
|
||||
if ($community === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -46,8 +46,8 @@ class TransactionController implements IAuthenticationRequired, ISecured
|
||||
|
||||
public function authorize(): bool
|
||||
{
|
||||
$communityId = \Container::$request->query('communityId');
|
||||
$this->community = $this->communityRepository->getById($communityId);
|
||||
$communitySlug = \Container::$request->query('communitySlug');
|
||||
$this->community = $this->communityRepository->getBySlug($communitySlug);
|
||||
if ($this->community === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -8,4 +8,9 @@ class CommunityRepository
|
||||
{
|
||||
return \Container::$persistentDataManager->selectFromDbById($id, Community::class);
|
||||
}
|
||||
|
||||
public function getBySlug(string $slug): ?Community
|
||||
{
|
||||
return \Container::$persistentDataManager->selectFromDbBySlug($slug, Community::class);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user