Merge branch 'DEVELOP_FE' of ssh://git.eclipse.org/gitroot/elogbook/portalFE into DEVELOP_FE
diff --git a/karma.conf.js b/karma.conf.js
index 589e10a..ce83f8c 100644
--- a/karma.conf.js
+++ b/karma.conf.js
@@ -11,15 +11,15 @@
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('karma-junit-reporter'),
- require('@angular/cli/plugins/karma')
+ require('@angular/cli/plugins/karma')
],
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
files: [{
- pattern: './src/test.ts',
- watched: false
- }
+ pattern: './src/test.ts',
+ watched: false
+ }
//{ pattern: './node_modules/bootstrap/dist/js/bootstrap.min.js', included: false, watched: false },
//{ pattern: './node_modules/jquery/dist/jquery.min.js', included: false, watched: false }
],
@@ -43,15 +43,15 @@
outputDir: 'unittests',
outputFile: 'test-results.xml'
},
- port: 9877,
+ port: 9876,
colors: true,
- logLevel: config.LOG_DEBUG,
+ logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['ChromeDebugging'],
customLaunchers: {
ChromeDebugging: {
base: 'Chrome',
- flags: ['--remote-debugging-port=9334']
+ flags: ['--remote-debugging-port=9333']
}
},
singleRun: false
diff --git a/package.json b/package.json
index 99e09a1..3c430f8 100644
--- a/package.json
+++ b/package.json
@@ -43,7 +43,7 @@
"zone.js": "^0.8.4"
},
"devDependencies": {
- "@angular/cli": "1.6.1",
+ "@angular/cli": "1.7.3",
"@angular/compiler-cli": "^4.0.0",
"@types/jasmine": "2.5.38",
"@types/node": "~6.0.60",
diff --git a/src/app/pages/module-grid/module-grid.component.css b/src/app/pages/module-grid/module-grid.component.css
index c4a0646..9d64336 100644
--- a/src/app/pages/module-grid/module-grid.component.css
+++ b/src/app/pages/module-grid/module-grid.component.css
@@ -9,6 +9,7 @@
*
******************************************************************************
*/
+
#topcontainer {
height: 20px;
}
@@ -22,15 +23,27 @@
height: 30px;
}
-a:link { text-decoration: none; color: white; }
-a:hover { text-decoration: none; color: white; }
-a:visited { text-decoration: none; color: white;}
+a:link {
+ text-decoration: none;
+ color: white;
+}
+
+a:hover {
+ text-decoration: none;
+ color: white;
+}
+
+a:visited {
+ text-decoration: none;
+ color: white;
+}
::ng-deep md-grid-tile.mat-grid-tile {
width: calc(((25% - 0.75px) * 1) - 20px) !important;
}
/* Grow */
+
.hvr-grow {
display: inline-block;
vertical-align: middle;
@@ -53,109 +66,135 @@
position: absolute;
z-index: -1;
width: 3px;
- height: 4%; }
-
- .underline-opening:hover:after {
+ height: 4%;
+}
+
+.underline-opening:hover:after {
width: 100%;
- height: 4%; }
-
- .underline-opening:before {
+ height: 4%;
+}
+
+.underline-opening:before {
content: "";
position: absolute;
z-index: -1;
width: 3px;
- height: 4%; }
-
- .underline-opening:hover:before {
+ height: 4%;
+}
+
+.underline-opening:hover:before {
width: 100%;
- height: 4%; }
-
- .underline-opening:after {
+ height: 4%;
+}
+
+.underline-opening:after {
bottom: 0%;
left: 0%;
right: 0;
- margin: 0 auto; }
-
- .underline-opening:before {
+ margin: 0 auto;
+}
+
+.underline-opening:before {
bottom: 0%;
right: 0%;
left: 0;
- margin: 0 auto; }
+ margin: 0 auto;
+}
- /* Base */
+/* Base */
- .element {
- display: inline;
- position: relative;
- z-index: 2;
- text-decoration: none;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- -webkit-touch-callout: none;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
- padding: 2px 0px;
- white-space: nowrap;
- overflow: hidden;
- -webkit-transition: color 1s ease;
- -moz-transition: color 1s ease;
- -ms-transition: color 1s ease;
- -o-transition: color 1s ease;
- transition: color 1s ease;
- }
-
- .element:hover,
- .element:focus {
- outline: 0;
- color: #FFFFFF;
- -webkit-transition: color 1s ease;
- -moz-transition: color 1s ease;
- -ms-transition: color 1s ease;
- -o-transition: color 1s ease;
- transition: color 1s ease;
- cursor: pointer;
- }
-
- .element:before {
- -webkit-transition: all 1s ease; /* add delay if wanted */
- -moz-transition: all 1s ease; /* add delay if wanted */
- -ms-transition: all 1s ease; /* add delay if wanted */
- -o-transition: all 1s ease; /* add delay if wanted */
- transition: all 1s ease; /* add delay if wanted */
- width: 0%;
- }
-
- .element:after {
- -webkit-transition: all 1s ease; /* add delay if wanted */
- -moz-transition: all 1s ease; /* add delay if wanted */
- -ms-transition: all 1s ease; /* add delay if wanted */
- -o-transition: all 1s ease; /* add delay if wanted */
- transition: all 1s ease; /* add delay if wanted */
- width: 0%;
- }
-
- .element:hover:after,
- .element:focus:after {
- outline: 0;
- background-color:#fff;
- -webkit-transition: all 1s ease; /* add delay if wanted */
- -moz-transition: all 1s ease; /* add delay if wanted */
- -ms-transition: all 1s ease; /* add delay if wanted */
- -o-transition: all 1s ease; /* add delay if wanted */
- transition: all 1s ease; /* add delay if wanted */
- }
-
- .element:hover:before,
- .element:focus:before {
- outline: 0;
- background-color: #fff;
- -webkit-transition: all 1s ease; /* add delay if wanted */
- -moz-transition: all 1s ease; /* add delay if wanted */
- -ms-transition: all 1s ease; /* add delay if wanted */
- -o-transition: all 1s ease; /* add delay if wanted */
- transition: all 1s ease; /* add delay if wanted */
- }
+.element {
+ display: inline;
+ position: relative;
+ z-index: 2;
+ text-decoration: none;
+ box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ -webkit-touch-callout: none;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ padding: 2px 0px;
+ white-space: nowrap;
+ overflow: hidden;
+ -webkit-transition: color 1s ease;
+ -moz-transition: color 1s ease;
+ -ms-transition: color 1s ease;
+ -o-transition: color 1s ease;
+ transition: color 1s ease;
+}
+
+.element:hover,
+.element:focus {
+ outline: 0;
+ color: #FFFFFF;
+ -webkit-transition: color 1s ease;
+ -moz-transition: color 1s ease;
+ -ms-transition: color 1s ease;
+ -o-transition: color 1s ease;
+ transition: color 1s ease;
+ cursor: pointer;
+}
+
+.element:before {
+ -webkit-transition: all 1s ease;
+ /* add delay if wanted */
+ -moz-transition: all 1s ease;
+ /* add delay if wanted */
+ -ms-transition: all 1s ease;
+ /* add delay if wanted */
+ -o-transition: all 1s ease;
+ /* add delay if wanted */
+ transition: all 1s ease;
+ /* add delay if wanted */
+ width: 0%;
+}
+
+.element:after {
+ -webkit-transition: all 1s ease;
+ /* add delay if wanted */
+ -moz-transition: all 1s ease;
+ /* add delay if wanted */
+ -ms-transition: all 1s ease;
+ /* add delay if wanted */
+ -o-transition: all 1s ease;
+ /* add delay if wanted */
+ transition: all 1s ease;
+ /* add delay if wanted */
+ width: 0%;
+}
+
+.element:hover:after,
+.element:focus:after {
+ outline: 0;
+ background-color: #fff;
+ -webkit-transition: all 1s ease;
+ /* add delay if wanted */
+ -moz-transition: all 1s ease;
+ /* add delay if wanted */
+ -ms-transition: all 1s ease;
+ /* add delay if wanted */
+ -o-transition: all 1s ease;
+ /* add delay if wanted */
+ transition: all 1s ease;
+ /* add delay if wanted */
+}
+
+.element:hover:before,
+.element:focus:before {
+ outline: 0;
+ background-color: #fff;
+ -webkit-transition: all 1s ease;
+ /* add delay if wanted */
+ -moz-transition: all 1s ease;
+ /* add delay if wanted */
+ -ms-transition: all 1s ease;
+ /* add delay if wanted */
+ -o-transition: all 1s ease;
+ /* add delay if wanted */
+ transition: all 1s ease;
+ /* add delay if wanted */
+}
\ No newline at end of file
diff --git a/src/app/pages/module-grid/module-grid.component.html b/src/app/pages/module-grid/module-grid.component.html
index 3955ee5..b3e0276 100644
--- a/src/app/pages/module-grid/module-grid.component.html
+++ b/src/app/pages/module-grid/module-grid.component.html
@@ -12,26 +12,21 @@
<div>
-<div id="topcontainer"></div>
-<div id="centercontainer">
-<md-grid-list *ngIf="moduleRights" cols="4" md-gutter="50px"
- rowHeight="300px">
- <md-grid-tile (click) = "goToElogbookIfValid(userModule)" style="cursor: pointer;"
- *ngFor="let userModule of userModules"
- [colspan]="userModule.cols"
- [rowspan]="userModule.rows"
- [style.color]="userModule.color"
- [style.background]="000000"
- [style.background-image]="'url(' + userModule.pictureLink + ')'"
- class="md-whiteframe-4dp hvr-grow"
- >
- <md-grid-tile-footer><h3 class="element underline-opening">{{userModule.name}}</h3></md-grid-tile-footer>
- </md-grid-tile>
-</md-grid-list>
-<div *ngIf="!moduleRights" style="text-align: center;">
- <h2>Der Benutzer hat keine Rechte</h2>
- <h4>Bitte kontaktieren Sie Ihren Administrator</h4>
-</div>
-</div>
-<div id="bottomcontainer"></div>
+ <div id="topcontainer"></div>
+ <div id="centercontainer">
+ <md-grid-list *ngIf="moduleRights" cols="4" rowHeight="300px" gutterSize="30px" style="padding-top:50px;">
+ <md-grid-tile (click)="goToElogbookIfValid(userModule)" style="cursor: pointer; border-radius: 10px; padding: 50px;" *ngFor="let userModule of userModules"
+ [colspan]="userModule.cols" [rowspan]="userModule.rows" [style.color]="userModule.color" [style.background]="000000"
+ [style.background-image]="'url(' + userModule.pictureLink + ')'" class="md-whiteframe-4dp hvr-grow">
+ <md-grid-tile-footer>
+ <h3 class="element underline-opening">{{userModule.name}}</h3>
+ </md-grid-tile-footer>
+ </md-grid-tile>
+ </md-grid-list>
+ <div *ngIf="!moduleRights" style="text-align: center;">
+ <h2>Der Benutzer hat keine Rechte</h2>
+ <h4>Bitte kontaktieren Sie Ihren Administrator</h4>
+ </div>
+ </div>
+ <div id="bottomcontainer"></div>
</div>
\ No newline at end of file
diff --git a/src/app/pages/module-grid/module-grid.component.spec.ts b/src/app/pages/module-grid/module-grid.component.spec.ts
index ebde444..9c2bd9c 100644
--- a/src/app/pages/module-grid/module-grid.component.spec.ts
+++ b/src/app/pages/module-grid/module-grid.component.spec.ts
@@ -24,8 +24,7 @@
import { UserModule } from '../../model/user-module';
import { UserModuleService } from '../../services/user-module.service';
import { ModuleGridComponent } from './module-grid.component';
-import { USER_MODULES } from '../../testing/user-module';
-import { ONE_USER_MODULE } from '../../testing/user-module';
+import { USER_MODULES, ONE_USER_MODULE, PGM_MODULE } from '../../testing/user-module';
import { AuthenticationService } from '../../services/authentication.service';
import { AbstractMockObservableService } from '../../common/abstract-mock-observable.service';
@@ -36,7 +35,7 @@
}
describe('ModuleGridComponent', () => {
- const sessionContext: SessionContext = new SessionContext();
+ const sessionContext: SessionContext = new SessionContext();
let component: ModuleGridComponent;
let fixture: ComponentFixture<ModuleGridComponent>;
let router: Router;
@@ -44,12 +43,12 @@
class MockAuthService extends AbstractMockObservableService {
- logout() {
- return this;
+ logout() {
+ return this;
}
- checkAuth() {
- return this;
+ checkAuth() {
+ return this;
}
}
@@ -126,4 +125,45 @@
expect(window.location.href.endsWith('/elogbookFE')).toBeTruthy();
});
}));
+
+ it('should check if the user has the rights for the roles', async(() => {
+
+ component.roles = ['planned-policies-normaluser', 'planned-policies-access',
+ 'offline_access', 'uma_authorization', 'elogbook-access', 'elogbook-normaluser'];
+
+ /* tslint:disable:max-line-length */
+ sessionContext.setAccessToken('eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJodVl0eVByUEVLQ1phY3FfMW5sOGZscENETnFHdmZEZHctYUxGQXNoWHZVIn0.eyJqdGkiOiJhNTkzMWYzMS1lYjgzLTQ1Y2YtYWIwMy1kY2E2ODc5Y2M2YjgiLCJleHAiOjE1MjM5NTk5MTcsIm5iZiI6MCwiaWF0IjoxNTIzOTU5NjE3LCJpc3MiOiJodHRwOi8vZW50amF2YTAwMjo4MDgwL2F1dGgvcmVhbG1zL2Vsb2dib29rIiwiYXVkIjoiZWxvZ2Jvb2stYmFja2VuZCIsInN1YiI6ImMyZTlkN2FlLTJiZmEtNDU3OC1iMDllLWY1ZGM1ZjA5YTg3OSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImVsb2dib29rLWJhY2tlbmQiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiIzZTM1ODg0OC0wNDY0LTQ2YjMtYmNlNC0wNDgyZDZkNWViY2QiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImVsb2dib29rLWFjY2VzcyIsImVsb2dib29rLW5vcm1hbHVzZXIiLCJwbGFubmVkLXBvbGljaWVzLWFjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIiwicGxhbm5lZC1wb2xpY2llcy1ub3JtYWx1c2VyIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwicm9sZXMiOiJbcGxhbm5lZC1wb2xpY2llcy1ub3JtYWx1c2VyLCBwbGFubmVkLXBvbGljaWVzLWFjY2Vzcywgb2ZmbGluZV9hY2Nlc3MsIHVtYV9hdXRob3JpemF0aW9uLCBlbG9nYm9vay1hY2Nlc3MsIGVsb2dib29rLW5vcm1hbHVzZXJdIiwibmFtZSI6Ik90dG8gTm9ybWFsdmVyYnJhdWNoZXIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvdHRvIiwiZ2l2ZW5fbmFtZSI6Ik90dG8iLCJmYW1pbHlfbmFtZSI6Ik5vcm1hbHZlcmJyYXVjaGVyIn0.rKZdROPPD6xkSoNU9oY2vWYvTQnPKbHFh25o3PdOFEkEk1jmagEZCayKg2NH7TwVqJRZQfkyBy0PCfj9ReaQFfrKweTQZHUEi5bJuvzL4dR-TdDa_yGafCgnDvdM6vgshAdlvb5_8rPz5IEYfeszsC3RoLFBR13hRzu88MIFT2LJBaLLS4A386SznoN8T0wcC6q7uzfJRL-QAQoUkqjvSK1HM4yN4wzjj9IC-1MIye1uqcMfvd3qDHlzWlLM1vO9adcd5GZ8aaYg87a7m-vznJd1VtvaQ-l8TqYXa59z0Wgoyzr1UC3r_-1UlP9W6K0abiYTRDxvfIsvfdim4HozaA');
+ component.userModules = USER_MODULES;
+
+ component.setModulesForRole(USER_MODULES);
+
+ expect(component.moduleRights).toBeTruthy();
+
+ }));
+
+ it('should check if the module list is empty', async(() => {
+
+ component.roles = ['planned-policies-normaluser', 'planned-policies-access',
+ 'offline_access', 'uma_authorization', 'elogbook-access', 'elogbook-normaluser'];
+
+ /* tslint:disable:max-line-length */
+ sessionContext.setAccessToken('eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJodVl0eVByUEVLQ1phY3FfMW5sOGZscENETnFHdmZEZHctYUxGQXNoWHZVIn0.eyJqdGkiOiJhNTkzMWYzMS1lYjgzLTQ1Y2YtYWIwMy1kY2E2ODc5Y2M2YjgiLCJleHAiOjE1MjM5NTk5MTcsIm5iZiI6MCwiaWF0IjoxNTIzOTU5NjE3LCJpc3MiOiJodHRwOi8vZW50amF2YTAwMjo4MDgwL2F1dGgvcmVhbG1zL2Vsb2dib29rIiwiYXVkIjoiZWxvZ2Jvb2stYmFja2VuZCIsInN1YiI6ImMyZTlkN2FlLTJiZmEtNDU3OC1iMDllLWY1ZGM1ZjA5YTg3OSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImVsb2dib29rLWJhY2tlbmQiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiIzZTM1ODg0OC0wNDY0LTQ2YjMtYmNlNC0wNDgyZDZkNWViY2QiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImVsb2dib29rLWFjY2VzcyIsImVsb2dib29rLW5vcm1hbHVzZXIiLCJwbGFubmVkLXBvbGljaWVzLWFjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIiwicGxhbm5lZC1wb2xpY2llcy1ub3JtYWx1c2VyIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwicm9sZXMiOiJbcGxhbm5lZC1wb2xpY2llcy1ub3JtYWx1c2VyLCBwbGFubmVkLXBvbGljaWVzLWFjY2Vzcywgb2ZmbGluZV9hY2Nlc3MsIHVtYV9hdXRob3JpemF0aW9uLCBlbG9nYm9vay1hY2Nlc3MsIGVsb2dib29rLW5vcm1hbHVzZXJdIiwibmFtZSI6Ik90dG8gTm9ybWFsdmVyYnJhdWNoZXIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvdHRvIiwiZ2l2ZW5fbmFtZSI6Ik90dG8iLCJmYW1pbHlfbmFtZSI6Ik5vcm1hbHZlcmJyYXVjaGVyIn0.rKZdROPPD6xkSoNU9oY2vWYvTQnPKbHFh25o3PdOFEkEk1jmagEZCayKg2NH7TwVqJRZQfkyBy0PCfj9ReaQFfrKweTQZHUEi5bJuvzL4dR-TdDa_yGafCgnDvdM6vgshAdlvb5_8rPz5IEYfeszsC3RoLFBR13hRzu88MIFT2LJBaLLS4A386SznoN8T0wcC6q7uzfJRL-QAQoUkqjvSK1HM4yN4wzjj9IC-1MIye1uqcMfvd3qDHlzWlLM1vO9adcd5GZ8aaYg87a7m-vznJd1VtvaQ-l8TqYXa59z0Wgoyzr1UC3r_-1UlP9W6K0abiYTRDxvfIsvfdim4HozaA');
+ component.userModules = [];
+
+ component.setModulesForRole(USER_MODULES);
+ expect(component.moduleRights).toBeFalsy();
+
+ }));
+
+ it('should create elogbookLink token string', async(() => {
+
+ /* tslint:disable:max-line-length */
+ sessionContext.setAccessToken('eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJodVl0eVByUEVLQ1phY3FfMW5sOGZscENETnFHdmZEZHctYUxGQXNoWHZVIn0.eyJqdGkiOiJhNTkzMWYzMS1lYjgzLTQ1Y2YtYWIwMy1kY2E2ODc5Y2M2YjgiLCJleHAiOjE1MjM5NTk5MTcsIm5iZiI6MCwiaWF0IjoxNTIzOTU5NjE3LCJpc3MiOiJodHRwOi8vZW50amF2YTAwMjo4MDgwL2F1dGgvcmVhbG1zL2Vsb2dib29rIiwiYXVkIjoiZWxvZ2Jvb2stYmFja2VuZCIsInN1YiI6ImMyZTlkN2FlLTJiZmEtNDU3OC1iMDllLWY1ZGM1ZjA5YTg3OSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImVsb2dib29rLWJhY2tlbmQiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiIzZTM1ODg0OC0wNDY0LTQ2YjMtYmNlNC0wNDgyZDZkNWViY2QiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbIioiXSwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbImVsb2dib29rLWFjY2VzcyIsImVsb2dib29rLW5vcm1hbHVzZXIiLCJwbGFubmVkLXBvbGljaWVzLWFjY2VzcyIsInVtYV9hdXRob3JpemF0aW9uIiwicGxhbm5lZC1wb2xpY2llcy1ub3JtYWx1c2VyIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW50LWxpbmtzIiwidmlldy1wcm9maWxlIl19fSwicm9sZXMiOiJbcGxhbm5lZC1wb2xpY2llcy1ub3JtYWx1c2VyLCBwbGFubmVkLXBvbGljaWVzLWFjY2Vzcywgb2ZmbGluZV9hY2Nlc3MsIHVtYV9hdXRob3JpemF0aW9uLCBlbG9nYm9vay1hY2Nlc3MsIGVsb2dib29rLW5vcm1hbHVzZXJdIiwibmFtZSI6Ik90dG8gTm9ybWFsdmVyYnJhdWNoZXIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJvdHRvIiwiZ2l2ZW5fbmFtZSI6Ik90dG8iLCJmYW1pbHlfbmFtZSI6Ik5vcm1hbHZlcmJyYXVjaGVyIn0.rKZdROPPD6xkSoNU9oY2vWYvTQnPKbHFh25o3PdOFEkEk1jmagEZCayKg2NH7TwVqJRZQfkyBy0PCfj9ReaQFfrKweTQZHUEi5bJuvzL4dR-TdDa_yGafCgnDvdM6vgshAdlvb5_8rPz5IEYfeszsC3RoLFBR13hRzu88MIFT2LJBaLLS4A386SznoN8T0wcC6q7uzfJRL-QAQoUkqjvSK1HM4yN4wzjj9IC-1MIye1uqcMfvd3qDHlzWlLM1vO9adcd5GZ8aaYg87a7m-vznJd1VtvaQ-l8TqYXa59z0Wgoyzr1UC3r_-1UlP9W6K0abiYTRDxvfIsvfdim4HozaA');
+
+ component.goToElogbookIfValid(PGM_MODULE);
+ expect(component.goToElogbookIfValid(PGM_MODULE)).toHaveBeenCalled;
+
+ }));
+
+
});
diff --git a/src/app/pages/module-grid/module-grid.component.ts b/src/app/pages/module-grid/module-grid.component.ts
index 80edcd1..9fc325b 100644
--- a/src/app/pages/module-grid/module-grid.component.ts
+++ b/src/app/pages/module-grid/module-grid.component.ts
@@ -38,9 +38,9 @@
this.getUserModules();
}
- private goToElogbookIfValid(userModule: UserModule): void {
+ goToElogbookIfValid(userModule: UserModule): void {
const elogbookLink = userModule.link + '?accessToken=' + this.sessionContext.getAccessToken();
-
+
this.authService.checkAuth().subscribe(res => {
window.open(elogbookLink, '_blank');
},
diff --git a/src/app/testing/user-module.ts b/src/app/testing/user-module.ts
index cf98739..b6b7f01 100644
--- a/src/app/testing/user-module.ts
+++ b/src/app/testing/user-module.ts
@@ -21,10 +21,10 @@
cols: 1,
rows: 1,
color: '#ffffff',
- link: '/elogbookFE',
+ link: '/elogbookFE',
pictureLink: 'https://www.openkonsequenz.de/medien/cache/main_image/m_logbuch_2443636.jpg',
requiredRole: 'elogbook_access'
- },
+ },
{
name: 'Bereitschaftsplanung',
cols: 1,
@@ -33,7 +33,7 @@
link: 'https://www.openkonsequenz.de/anwender/11-geplante-projekte/94-bereitschaftsplan',
pictureLink: 'https://www.openkonsequenz.de/medien/cache/main_image/l_bereitschaftsplan_57882047.jpg',
requiredRole: 'planning_access'
- },
+ },
{
name: 'Einspeisemanagement',
cols: 1,
@@ -51,7 +51,7 @@
link: 'https://www.openkonsequenz.de/anwender/11-geplante-projekte/64-geplante-netzmassnahme',
// tslint:disable-next-line:max-line-length
pictureLink: 'https://www.openkonsequenz.de//components/com_flexicontent/librairies/phpthumb/phpThumb.php?src=/medien/cache/main_image/l_ok_module5.jpg',
- requiredRole: 'planned_policies_access'
+ requiredRole: 'planned_policies_access'
}
];
@@ -65,4 +65,17 @@
pictureLink: 'https://www.openkonsequenz.de/medien/cache/main_image/m_logbuch_2443636.jpg',
requiredRole: 'elogbook_access'
}
-];
\ No newline at end of file
+];
+
+export const PGM_MODULE: UserModule =
+ {
+ name: 'Geplante Maßnahmen',
+ cols: 1,
+ rows: 1,
+ color: '#ffffff',
+ link: 'http://localhost:4220',
+ // tslint:disable-next-line:max-line-length
+ pictureLink: 'https://www.openkonsequenz.de//components/com_flexicontent/librairies/phpthumb/phpThumb.php?src=/medien/cache/main_image/l_ok_module5.jpg',
+ requiredRole: 'planned_policies_access'
+ }
+ ;
\ No newline at end of file