11// Copyright The Linux Foundation and each contributor to CommunityBridge.
22// SPDX-License-Identifier: MIT
33
4- import { Component , OnInit , Input , EventEmitter , Output } from '@angular/core' ;
4+ import { Component , OnInit , Input , EventEmitter , Output , ViewChild , TemplateRef } from '@angular/core' ;
55import { AlertService } from '../../services/alert.service' ;
66import { ClaContributorService } from 'src/app/core/services/cla-contributor.service' ;
77import { ProjectModel } from 'src/app/core/models/project' ;
88import { UserFromSessionModel , UserFromTokenModel } from 'src/app/core/models/user' ;
99import { StorageService } from '../../services/storage.service' ;
1010import { AppSettings } from 'src/app/config/app-settings' ;
11+ import { NgbModal } from '@ng-bootstrap/ng-bootstrap' ;
1112
1213@Component ( {
1314 selector : 'app-project-title' ,
1415 templateUrl : './project-title.component.html' ,
1516 styleUrls : [ './project-title.component.scss' ]
1617} )
1718export class ProjectTitleComponent implements OnInit {
19+ @ViewChild ( 'warningModal' ) warningModal : TemplateRef < any > ;
20+
1821 @Input ( ) projectId : string ;
1922 @Input ( ) userId : string ;
2023 @Output ( ) errorEmitter : EventEmitter < any > = new EventEmitter < any > ( ) ;
2124 @Output ( ) successEmitter : EventEmitter < any > = new EventEmitter < any > ( ) ;
25+ @Output ( ) setUserIdEmitter : EventEmitter < any > = new EventEmitter < any > ( ) ;
2226
27+ message : string ;
28+ redirectUrl : string ;
2329 project = new ProjectModel ( ) ;
2430 user = new UserFromTokenModel ( ) ;
2531 userFromSession = new UserFromSessionModel ( ) ;
2632 constructor (
2733 private alertService : AlertService ,
2834 private storageService : StorageService ,
2935 private claContributorService : ClaContributorService ,
36+ private modalService : NgbModal
3037 ) { }
3138
3239 ngOnInit ( ) : void {
@@ -49,34 +56,32 @@ export class ProjectTitleComponent implements OnInit {
4956 }
5057
5158 getProject ( ) {
52- if ( this . projectId ) {
53- this . claContributorService . getProject ( this . projectId ) . subscribe (
54- ( response ) => {
55- this . project = response ;
56- this . storageService . setItem ( AppSettings . PROJECT_NAME , this . project . project_name ) ;
57- this . storageService . setItem ( AppSettings . PROJECT_ID , this . projectId ) ;
58- this . storageService . setItem ( AppSettings . PROJECT , this . project ) ;
59- this . successEmitter . emit ( 'Project' ) ;
60- } ,
61- ( exception ) => {
62- this . errorEmitter . emit ( true ) ;
63- this . claContributorService . handleError ( exception ) ;
64- }
65- ) ;
66- } else {
67- this . errorEmitter . emit ( true ) ;
68- this . alertService . error ( 'Invalid project id in URL' ) ;
69- }
59+ console . log ( this . projectId )
60+ this . claContributorService . getProject ( this . projectId ) . subscribe (
61+ ( response ) => {
62+ this . project = response ;
63+ this . storageService . setItem ( AppSettings . PROJECT_NAME , this . project . project_name ) ;
64+ this . storageService . setItem ( AppSettings . PROJECT_ID , this . projectId ) ;
65+ this . storageService . setItem ( AppSettings . PROJECT , this . project ) ;
66+ this . successEmitter . emit ( 'Project' ) ;
67+ } ,
68+ ( exception ) => {
69+ this . errorEmitter . emit ( true ) ;
70+ this . claContributorService . handleError ( exception ) ;
71+ }
72+ ) ;
7073 }
7174
7275
7376 getUser ( ) {
7477 this . claContributorService . getUserFromToken ( ) . subscribe (
7578 ( response ) => {
79+ console . log ( 'getUserFromToken response ==>' , response )
7680 this . user = response ;
7781 this . storageService . setItem ( AppSettings . USER_ID , this . user . userID ) ;
7882 this . storageService . setItem ( AppSettings . USER , this . user ) ;
7983 this . successEmitter . emit ( 'User' ) ;
84+ this . setUserIdEmitter . emit ( this . user . userID ) ;
8085 } ,
8186 ( ) => {
8287 // If user is not found in token, get user from session
@@ -87,8 +92,8 @@ export class ProjectTitleComponent implements OnInit {
8792
8893 getUserFromSession ( ) {
8994 this . claContributorService . getUserFromSession ( ) . subscribe (
90- ( response ) => {
91- console . log ( response )
95+ ( response : any ) => {
96+ console . log ( 'getUserFromSession response ==>' , response )
9297 this . userFromSession = response ;
9398 this . storageService . setItem ( AppSettings . USER_ID , this . userFromSession . user_id ) ;
9499 this . storageService . setItem ( AppSettings . USER , {
@@ -104,11 +109,9 @@ export class ProjectTitleComponent implements OnInit {
104109 this . successEmitter . emit ( 'User' ) ;
105110 } ,
106111 ( exception ) => {
107- console . log ( exception )
108- // window.open('https://github.com/login/oauth/authorize?response_type=code&client_id=38f6d46ff92b7ed04071&redirect_uri=https%3A%2F%2Fapi.lfcla.dev.platform.linuxfoundation.org%2Fv2%2Fgithub%2Finstallation&scope=user%3Aemail&state=4CSOmSBNwx8Oi5liEEi5wEyKy3IkWQ', '_self');
112+ console . log ( 'getUserFromSession exception ==>' , exception )
109113 this . errorEmitter . emit ( true ) ;
110- // this.alertService.error('An error occurred while retrieving the GitHub user from the session. '+
111- // 'To use this feature, you must be logged in to your GitHub account and your browser must be set to accept cookies.');
114+ this . alertService . error ( 'An error occurred while retrieving the GitHub user from the session.' ) ;
112115 this . claContributorService . handleError ( exception ) ;
113116 }
114117 ) ;
0 commit comments