diff --git a/src/app/organizations/settings/organization-billing.component.ts b/src/app/organizations/settings/organization-billing.component.ts
index 222b1dc37b7..6769f663954 100644
--- a/src/app/organizations/settings/organization-billing.component.ts
+++ b/src/app/organizations/settings/organization-billing.component.ts
@@ -208,6 +208,10 @@ export class OrganizationBillingComponent implements OnInit {
this.platformUtilsService.launchUri(url);
}
+ get isExpired() {
+ return this.billing != null && this.billing.expiration != null && this.billing.expiration < new Date();
+ }
+
get subscriptionMarkedForCancel() {
return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;
}
diff --git a/src/app/services/organization-guard.service.ts b/src/app/services/organization-guard.service.ts
index 4ee4b947561..89b9d2a53a2 100644
--- a/src/app/services/organization-guard.service.ts
+++ b/src/app/services/organization-guard.service.ts
@@ -5,11 +5,15 @@ import {
Router,
} from '@angular/router';
+import { ToasterService } from 'angular2-toaster';
+
+import { I18nService } from 'jslib/abstractions/i18n.service';
import { UserService } from 'jslib/abstractions/user.service';
@Injectable()
export class OrganizationGuardService implements CanActivate {
- constructor(private userService: UserService, private router: Router) { }
+ constructor(private userService: UserService, private router: Router,
+ private toasterService: ToasterService, private i18nService: I18nService) { }
async canActivate(route: ActivatedRouteSnapshot) {
const org = await this.userService.getOrganization(route.params.organizationId);
@@ -17,6 +21,11 @@ export class OrganizationGuardService implements CanActivate {
this.router.navigate(['/']);
return false;
}
+ if (!org.isOwner && !org.enabled) {
+ this.toasterService.popAsync('error', null, this.i18nService.t('organizationIsDisabled'));
+ this.router.navigate(['/']);
+ return false;
+ }
return true;
}
diff --git a/src/app/settings/organizations.component.html b/src/app/settings/organizations.component.html
index 53918cb3dd6..861fd4d6a85 100644
--- a/src/app/settings/organizations.component.html
+++ b/src/app/settings/organizations.component.html
@@ -7,6 +7,7 @@
{{o.name}}
+
@@ -47,6 +48,7 @@
{{o.name}}
+
|
diff --git a/src/locales/en/messages.json b/src/locales/en/messages.json
index c019cee14b1..be57b3a2f26 100644
--- a/src/locales/en/messages.json
+++ b/src/locales/en/messages.json
@@ -2393,5 +2393,11 @@
"datePasswordUpdated": {
"message": "Password Updated",
"description": "ex. Date this password was updated"
+ },
+ "organizationIsDisabled": {
+ "message": "Organization is disabled."
+ },
+ "licenseIsExpired": {
+ "message": "License is expired."
}
}
|