Compare commits

..

21 Commits

Author SHA1 Message Date
Simon Vieille e1567b0689 Merge pull request 'v3.7.4' (#249) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/249
2023-04-16 18:05:46 +02:00
Simon Vieille 135f27cc32 release v3.7.4 2023-04-16 18:05:25 +02:00
Simon Vieille c5e1a8d37b Merge pull request 'fix Integrity failed' (#248) from fix/issue247 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/248
2023-04-16 18:03:04 +02:00
Simon Vieille 27f8888a90 update signature generation 2023-04-16 14:24:17 +02:00
Simon Vieille 6583883e2d update signature generation 2023-04-16 14:17:09 +02:00
Simon Vieille 0a556670b1 update signature generation 2023-04-16 14:16:18 +02:00
Simon Vieille aa139bc671 Merge pull request 'release v3.7.3' (#246) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/246
2023-04-14 21:13:10 +02:00
Simon Vieille b9264d7e05 release v3.7.3 2023-04-14 21:12:35 +02:00
Simon Vieille 88c14b6aec Merge pull request 'use app href for redirection' (#245) from fix/issue244 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/245
2023-04-14 21:11:29 +02:00
Simon Vieille 2be53211b8 Merge pull request 'add signature generation' (#243) from feature/issue240 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/243
2023-04-14 21:00:37 +02:00
Simon Vieille dca727c120 use app href for redirection (fix #244) 2023-04-14 20:58:56 +02:00
Simon Vieille 361badff6b update changelog 2023-03-31 17:06:30 +02:00
Simon Vieille 917288eb54 add signature generation
rename steps
2023-03-31 14:07:19 +02:00
Simon Vieille b133ba3a97 Merge pull request 'release of v3.7.2' (#238) from develop into master
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/238
2023-03-27 18:47:15 +02:00
Simon Vieille 2ff4fee927 Merge pull request 'changelog' (#237) from changelog into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/237
2023-03-27 18:36:34 +02:00
Simon Vieille b65c0c650a update app version 2023-03-27 18:35:59 +02:00
Simon Vieille 22335700ce Merge pull request 'update pipeline conditions allowing fix/*' (#234) from feature/ci into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/234
2023-03-27 18:35:12 +02:00
Simon Vieille 7ab2816bd9 update changelog 2023-03-27 18:34:50 +02:00
Simon Vieille 396d3cfbc5 Merge pull request 'load configuration and then retrieve apps in default side menu display' (#235) from feature/issue233 into develop
Reviewed-on: https://gitnet.fr/deblan/side_menu/pulls/235
2023-03-27 18:34:21 +02:00
Simon Vieille 66e4d2989a update pipeline conditions allowing fix/* 2023-03-23 22:22:36 +01:00
Simon Vieille 9ccd11b6dc load configuration and then retrieve apps in default side menu display
fix #233
2023-03-23 22:17:05 +01:00
5 changed files with 83 additions and 40 deletions
+29 -9
View File
@@ -6,31 +6,51 @@ pipeline:
- npm i - npm i
when: when:
event: [tag, push, pull_request] event: [tag, push, pull_request]
branch: [master, develop, feature/*, translations] branch: [master, develop, feature/*, fix/*, translations]
osv_detector: osv-detector:
image: gitnet.fr/deblan/osv-detector:v0.10 image: gitnet.fr/deblan/osv-detector:v0.10
commands: commands:
- osv-detector package-lock.json - osv-detector package-lock.json
failure: ignore failure: ignore
build_js: build-js:
image: node:16 image: node:16
commands: commands:
- npm run build - npm run build
when: when:
branch: [master, develop, feature/*, translations] branch: [master, develop, feature/*, fix/*, translations]
event: [tag, push, pull_request] event: [tag, push, pull_request]
build_php: build-translations:
image: deblan/php:8.0 image: deblan/php:8.0
commands: commands:
- php bin/generate_l10n.php - php bin/generate_l10n.php
when: when:
branch: [master, develop, feature/*, translations] branch: [master, develop, feature/*, fix/*, translations]
event: [tag, push, pull_request] event: [tag, push, pull_request]
code_quality: create-signature:
image: nextcloud:25
secrets: [app_certificate, app_public_certificate]
environment:
SQLITE_DATABASE: /var/www/data/data.db
NEXTCLOUD_ADMIN_USER: admin
NEXTCLOUD_ADMIN_PASSWORD: admin
commands:
- echo "$APP_CERTIFICATE" > "/tmp/side_menu.key"
- echo "$APP_PUBLIC_CERTIFICATE" > "/tmp/side_menu.crt"
- mkdir /tmp/app
- cp -r README.md CHANGELOG.md appinfo css lib img l10n js src templates screenshots vendor /tmp/app
- /usr/src/nextcloud/occ integrity:sign-app
--privateKey=/tmp/side_menu.key
--certificate=/tmp/side_menu.crt
--path=/tmp/app
- mv /tmp/app/appinfo/signature.json appinfo/
when:
event: [tag]
check-code-quality:
image: sonarsource/sonar-scanner-cli image: sonarsource/sonar-scanner-cli
secrets: [sonar_token, sonar_host, sonar_project] secrets: [sonar_token, sonar_host, sonar_project]
commands: commands:
@@ -45,7 +65,7 @@ pipeline:
when: when:
event: [pull_request] event: [pull_request]
package: create-package:
image: deblan/php:8.0 image: deblan/php:8.0
volumes: volumes:
- /var/www/html/artifacts:/var/www/html/artifacts - /var/www/html/artifacts:/var/www/html/artifacts
@@ -61,7 +81,7 @@ pipeline:
when: when:
event: [tag] event: [tag]
release: push-release:
image: plugins/gitea-release image: plugins/gitea-release
volumes: volumes:
- /var/www/html/artifacts:/var/www/html/artifacts - /var/www/html/artifacts:/var/www/html/artifacts
+16
View File
@@ -1,5 +1,21 @@
## [Unreleased] ## [Unreleased]
## 3.7.4
### Fixed
* fix Integrity failed (#247)
## 3.7.3
### Fixed
* fix #244: use app href for redirection
### Added
* add signature on build
## 3.7.2
### Added
* update pipeline conditions allowing `fix/*`
### Fixed
* fix #233: load configuration and then retrieve apps in default side menu display
## 3.7.1 ## 3.7.1
### Fixed ### Fixed
* fix build process (#230) * fix build process (#230)
+1 -1
View File
@@ -32,7 +32,7 @@ Notice
Because I believe in a free and decentralized Internet, [Gitnet](https://gitnet.fr) is **self-hosted at home**. Because I believe in a free and decentralized Internet, [Gitnet](https://gitnet.fr) is **self-hosted at home**.
In case of downtime, you can download **Custom Menu** from [here](https://kim.deblan.fr/~side_menu/). In case of downtime, you can download **Custom Menu** from [here](https://kim.deblan.fr/~side_menu/).
]]></description> ]]></description>
<version>3.7.1</version> <version>3.7.4</version>
<licence>agpl</licence> <licence>agpl</licence>
<author mail="contact@deblan.fr" homepage="https://www.deblan.io/">Simon Vieille</author> <author mail="contact@deblan.fr" homepage="https://www.deblan.io/">Simon Vieille</author>
<namespace>SideMenu</namespace> <namespace>SideMenu</namespace>
+16 -12
View File
@@ -78,29 +78,33 @@ class AppController extends Controller
continue; continue;
} }
return $this->redirectToApp($app['id']); return $this->redirectToApp($app, true);
} }
return $this->redirectToApp('files'); return $this->redirectToApp('files');
} }
protected function redirectToApp($appId): RedirectResponse protected function redirectToApp($app, bool $isHref = false): RedirectResponse
{ {
$isIgnoreFrontController = true === OC::$server->getConfig()->getSystemValue( if (!$isHref) {
'htaccess.IgnoreFrontController', $isIgnoreFrontController = true === OC::$server->getConfig()->getSystemValue(
false 'htaccess.IgnoreFrontController',
); false
);
$isFrontControllerActive = 'true' === getenv('front_controller_active'); $isFrontControllerActive = 'true' === getenv('front_controller_active');
if ($isIgnoreFrontController || $isFrontControllerActive) { if ($isIgnoreFrontController || $isFrontControllerActive) {
$path = '/apps/%s/'; $path = '/apps/%s/';
} else {
$path = '/index.php/apps/%s/';
}
$url = $this->urlGenerator->getAbsoluteURL(sprintf($path, $app));
} else { } else {
$path = '/index.php/apps/%s/'; $url = $app['href'];
} }
$url = $this->urlGenerator->getAbsoluteURL(sprintf($path, $appId));
return new RedirectResponse($url); return new RedirectResponse($url);
} }
} }
+21 -18
View File
@@ -93,7 +93,11 @@ export default {
for (let id in ncApps) { for (let id in ncApps) {
if (window.topMenuApps.includes(id) && !window.topSideMenuApps.includes(id)) { if (window.topMenuApps.includes(id) && !window.topSideMenuApps.includes(id)) {
continue; continue
}
if (this.hiddenApps.includes(id)) {
continue
} }
let app = ncApps[id] let app = ncApps[id]
@@ -104,10 +108,10 @@ export default {
finalApps.sort((a, b) => { finalApps.sort((a, b) => {
if (a.order === null || b.order === null) { if (a.order === null || b.order === null) {
return a.name < b.name ? -1 : 1; return a.name < b.name ? -1 : 1
} }
return a.order < b.order ? -1 : 1; return a.order < b.order ? -1 : 1
}) })
this.apps = finalApps this.apps = finalApps
@@ -118,24 +122,23 @@ export default {
}, },
retrieveConfig() { retrieveConfig() {
axios
.get(OC.generateUrl('/apps/side_menu/js/config'))
.then((response) => {
const config = response.data
this.targetBlankApps = config['target-blank-apps']
this.forceLightIcon = config['force-light-icon']
this.avatar = config['avatar']
this.logo = config['logo']
this.logoLink = config['logo-link']
this.settings = config['settings']
this.hiddenApps = config['big-menu-hidden-apps']
})
}, },
}, },
mounted() { mounted() {
this.retrieveConfig() axios
this.retrieveApps() .get(OC.generateUrl('/apps/side_menu/js/config'))
.then((response) => {
const config = response.data
this.targetBlankApps = config['target-blank-apps']
this.forceLightIcon = config['force-light-icon']
this.avatar = config['avatar']
this.logo = config['logo']
this.logoLink = config['logo-link']
this.settings = config['settings']
this.hiddenApps = config['big-menu-hidden-apps']
this.retrieveApps()
})
} }
} }
</script> </script>