Fix app enabling for groups and allow requesting all apps
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
parent
3b39e9c971
commit
bb50ee08e9
|
@ -187,7 +187,7 @@ class AppSettingsController extends Controller {
|
||||||
* @param string $requestedCategory
|
* @param string $requestedCategory
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
private function getAppsForCategory($requestedCategory) {
|
private function getAppsForCategory($requestedCategory = '') {
|
||||||
$versionParser = new VersionParser();
|
$versionParser = new VersionParser();
|
||||||
$formattedApps = [];
|
$formattedApps = [];
|
||||||
$apps = $this->appFetcher->get();
|
$apps = $this->appFetcher->get();
|
||||||
|
@ -197,14 +197,16 @@ class AppSettingsController extends Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Skip all apps not in the requested category
|
// Skip all apps not in the requested category
|
||||||
$isInCategory = false;
|
if ($requestedCategory !== '') {
|
||||||
foreach($app['categories'] as $category) {
|
$isInCategory = false;
|
||||||
if($category === $requestedCategory) {
|
foreach($app['categories'] as $category) {
|
||||||
$isInCategory = true;
|
if($category === $requestedCategory) {
|
||||||
|
$isInCategory = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!$isInCategory) {
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if(!$isInCategory) {
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$nextCloudVersion = $versionParser->getVersion($app['releases'][0]['rawPlatformVersionSpec']);
|
$nextCloudVersion = $versionParser->getVersion($app['releases'][0]['rawPlatformVersionSpec']);
|
||||||
|
@ -496,9 +498,10 @@ class AppSettingsController extends Controller {
|
||||||
* @PasswordConfirmationRequired
|
* @PasswordConfirmationRequired
|
||||||
*
|
*
|
||||||
* @param string $appId
|
* @param string $appId
|
||||||
|
* @param array $groups
|
||||||
* @return JSONResponse
|
* @return JSONResponse
|
||||||
*/
|
*/
|
||||||
public function enableApp(string $appId, array $groups): JSONResponse {
|
public function enableApp(string $appId, array $groups = []): JSONResponse {
|
||||||
return $this->enableApps([$appId], $groups);
|
return $this->enableApps([$appId], $groups);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,10 @@ $application->registerRoutes($this, [
|
||||||
['name' => 'AppSettings#listApps', 'url' => '/settings/apps/list', 'verb' => 'GET'],
|
['name' => 'AppSettings#listApps', 'url' => '/settings/apps/list', 'verb' => 'GET'],
|
||||||
|
|
||||||
['name' => 'AppSettings#viewApps', 'url' => '/settings/apps/{category}', 'verb' => 'GET', 'defaults' => ['category' => '']],
|
['name' => 'AppSettings#viewApps', 'url' => '/settings/apps/{category}', 'verb' => 'GET', 'defaults' => ['category' => '']],
|
||||||
|
['name' => 'AppSettings#viewApps', 'url' => '/settings/apps/{category}/{id}', 'verb' => 'GET', 'defaults' => ['category' => '', 'id' => '']],
|
||||||
|
|
||||||
['name' => 'AppSettings#enableApp', 'url' => '/settings/apps/enable/{appId}', 'verb' => 'GET'],
|
['name' => 'AppSettings#enableApp', 'url' => '/settings/apps/enable/{appId}', 'verb' => 'GET'],
|
||||||
|
['name' => 'AppSettings#enableApp', 'url' => '/settings/apps/enable/{appId}', 'verb' => 'POST'],
|
||||||
['name' => 'AppSettings#enableApps', 'url' => '/settings/apps/enable', 'verb' => 'POST'],
|
['name' => 'AppSettings#enableApps', 'url' => '/settings/apps/enable', 'verb' => 'POST'],
|
||||||
['name' => 'AppSettings#disableApp', 'url' => '/settings/apps/disable/{appId}', 'verb' => 'GET'],
|
['name' => 'AppSettings#disableApp', 'url' => '/settings/apps/disable/{appId}', 'verb' => 'GET'],
|
||||||
['name' => 'AppSettings#disableApps', 'url' => '/settings/apps/disable', 'verb' => 'POST'],
|
['name' => 'AppSettings#disableApps', 'url' => '/settings/apps/disable', 'verb' => 'POST'],
|
||||||
|
|
Loading…
Reference in New Issue