Browse Source

avoid crash when unauthenticated users make weather-related requests, mention it in UI

Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
tags/v21.0.0beta1
Julien Veyssier 3 years ago
parent
commit
5a6c0f64a6
No account linked to committer's email address

+ 2
- 2
apps/weather_status/js/weather-status.js
File diff suppressed because it is too large
View File


+ 1
- 1
apps/weather_status/js/weather-status.js.map
File diff suppressed because it is too large
View File


+ 1
- 1
apps/weather_status/lib/Controller/WeatherStatusController.php View File

@@ -46,7 +46,7 @@ class WeatherStatusController extends OCSController {
IRequest $request,
ILogger $logger,
WeatherStatusService $service,
string $userId) {
?string $userId) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->logger = $logger;

+ 1
- 1
apps/weather_status/lib/Service/WeatherStatusService.php View File

@@ -105,7 +105,7 @@ class WeatherStatusService {
IUserManager $userManager,
IAppManager $appManager,
ICacheFactory $cacheFactory,
string $userId) {
?string $userId) {
$this->config = $config;
$this->userId = $userId;
$this->l10n = $l10n;

+ 25
- 6
apps/weather_status/src/App.vue View File

@@ -240,7 +240,11 @@ export default {
console.info('The weather status request was cancelled because the user navigates.')
return
}
showError(t('weather_status', 'There was an error getting the weather status information.'))
if (err.response && err.response.status === 401) {
showError(t('weather_status', 'You are not logged in.'))
} else {
showError(t('weather_status', 'There was an error getting the weather status information.'))
}
console.error(err)
}
},
@@ -309,8 +313,11 @@ export default {
this.loading = false
}
} catch (err) {
showError(t('weather_status', 'There was an error setting the location address.'))
console.debug(err)
if (err.response && err.response.status === 401) {
showError(t('weather_status', 'You are not logged in.'))
} else {
showError(t('weather_status', 'There was an error setting the location address.'))
}
this.loading = false
}
},
@@ -320,7 +327,11 @@ export default {
this.address = loc.address
this.startLoop()
} catch (err) {
showError(t('weather_status', 'There was an error setting the location.'))
if (err.response && err.response.status === 401) {
showError(t('weather_status', 'You are not logged in.'))
} else {
showError(t('weather_status', 'There was an error setting the location.'))
}
console.debug(err)
}
},
@@ -328,7 +339,11 @@ export default {
try {
await network.setMode(mode)
} catch (err) {
showError(t('weather_status', 'There was an error saving the mode.'))
if (err.response && err.response.status === 401) {
showError(t('weather_status', 'You are not logged in.'))
} else {
showError(t('weather_status', 'There was an error saving the mode.'))
}
console.debug(err)
}
},
@@ -345,7 +360,11 @@ export default {
this.mode = MODE_MANUAL_LOCATION
this.startLoop()
} catch (err) {
showError(t('weather_status', 'There was an error using personal address.'))
if (err.response && err.response.status === 401) {
showError(t('weather_status', 'You are not logged in.'))
} else {
showError(t('weather_status', 'There was an error using personal address.'))
}
console.debug(err)
this.loading = false
}

Loading…
Cancel
Save