80. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 12/20/2017 5:56:06 PM Eastern Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

80.1 Files compared

# Location File Last Modified
1 Genisis_2.0_v6_bld6.zip\Source Code\UI\Client\src\services userService.js Thu Dec 14 19:56:24 2017 UTC
2 Genisis_2.0_v6_bld6.zip\Source Code\UI\Client\src\services userService.js Wed Dec 20 21:11:55 2017 UTC

80.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 17 552
Changed 16 32
Inserted 0 0
Removed 0 0

80.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

80.4 Active regular expressions

No regular expressions were active.

80.5 Comparison detail

  1   'use stric t';
  2  
  3   angular.mo dule('geni sis').serv ice('user' , ['api',  'session',  '$locatio n',
  4     '$rootSc ope', 'sys tem',
  5     function  ($api, $s ession, $l ocation, $ rootScope,  $system)  {
  6       //try  to load an  existing  user sessi on
  7       var se rvice = th is;
  8       var _u ser = $ses sion.get(' user');
  9       var _p rimaryUser  = {};
  10       var _t estAble =  false;
  11       // Arr ay of elev ated Users
  12       // var  _elevated Users = $s ystem.elev atedUsers( );
  13  
  14       this.s etTestAble  = functio n () {
  15         // U se this bl ock if we  want to in clude in S QA
  16         // _ testAble =  (
  17         //      _elevat edUsers.in cludes(_pr imaryUser. emailId) & &
  18         //      $system .vaDevelop ment()
  19         //    ) ||
  20         //    $system.i sAWSTestEn v();
  21         _tes tAble = $s ystem.isAW STestEnv() ;
  22       };
  23  
  24       // Ini tialize _t estAble;
  25       this.s etTestAble ();
  26  
  27       this.t estAble =  function ( ) {
  28         retu rn _testAb le;
  29       };
  30  
  31       var _t estUsers =  [{
  32         name : 'researc her1',
  33           value: 'ge nisisresea rcher1@ PII '
  34       }, {
  35         name : 'researc her2',
  36           value: 'ge nisisresea rcher2@ PII ',
  37       }, {
  38         name : 'researc her3',
  39           value: 'ge nisisresea rcher3@ PII ',
  40       }, {
  41         name : 'researc her4',
  42           value: 'ge nisisresea rcher4@ PII ',
  43       }, {
  44         name : 'Genisis 2 Manager1 ',
  45           value: 'ge nisismgr1@ PII '
  46       }, {
  47         name : 'Genisis 2 Manager2 ',
  48           value: 'ge nisismgr2@ PII '
  49       }, {
  50         name : 'Genisis 2 Manager3 ',
  51           value: 'ge nisismgr3@ PII '
  52       }, {
  53         name : 'Genisis 2 Manager4 ',
  54           value: 'ge nisismgr4@ PII '
  55       }, {
  56         name : 'GSA1 (  Sys Admin) ',
  57           value: 'ge nisisad1@ PII '
  58       }, {
  59         name : 'GSA2 (  Sys Admin) ',
  60           value: 'ge nisisad2@ PII '
  61       }, {
  62         name : 'GSA3 (  Sys Admin) ',
  63           value: 'ge nisisad3@ PII '
  64       }, {
  65         name : 'GSA4 (  Sys Admin) ',
  66           value: 'ge nisisad4@ PII '
  67       }, {
  68         name : 'Vinci M anager1',
  69           value: 'vi ncimgr1@ PII '
  70       }, {
  71         name : 'Vinci M anager2',
  72           value: 'vi ncimgr2@ PII '
  73       }, {
  74         name : 'Vinci M anager3',
  75           value: 'vi ncimgr3@ PII '
  76       }, {
  77         name : 'Vinci M anager4',
  78           value: 'vi ncimgr4@ PII '
  79       }];
  80  
  81       this.f indSelecte dUser = fu nction ()  {
  82         var  user = {};
  83         for  (var i = 0 ; i < _tes tUsers.len gth; i++)  {
  84           if  (_testUse rs[i].valu e === _use r.emailId)  {
  85              user = _te stUsers[i] ;
  86           }
  87         }
  88         retu rn user;
  89       };
  90  
  91       this.u serSelecti ons = func tion () {
  92         retu rn _testUs ers;
  93       };
  94  
  95       /**
  96        * Ret urn the us er  object
  97        * @re turn Objec t the user 's info
  98        **/
  99       this.i nfo = func tion () {
  100         retu rn _user;
  101       };
  102  
  103       this.t estAble =  function ( ) {
  104         retu rn _testAb le;
  105       };
  106  
  107       this.p rimaryUser  = functio n () {
  108         retu rn _primar yUser;
  109       };
  110  
  111       this.s etPrimaryU ser = func tion (user ) {
  112         if ( Object.key s(_primary User).leng th === 0)  {
  113           _p rimaryUser  = user;
  114         }
  115       };
  116  
  117       /**
  118        * Log in
  119        * @pa ram string  email
  120        * @pa ram string  password
  121        * @re turn boole an login s tatus
  122        **/
  123       this.l ogin = fun ction (ema il) {
  124         var  payload =  {
  125           va lue: email ,
  126           co ntext: 'em ail',
  127           da ta: null
  128         };
  129  
  130         retu rn $api.re trieve('us ers', payl oad).then(
  131           fu nction (re quest) {
  132              if (reques t && reque st.success ) {
  133                //update  the user  object wit h the api  payload
  134                //  cons ole.log(JS ON.parse(r equest.res ponse).sta tus);
  135                if (requ est.respon se.status  !== 'Activ e') {
  136                  $locat ion.path(' /sso');
  137                } else {
  138                  _user  = request. response;
  139                  //save  the user  session
  140                  $sessi on.set('us er', _user );
  141                  servic e.setPrima ryUser(_us er);
  142                  servic e.setTestA ble();
  143                  $locat ion.path(' /requests' );
  144                  $locat ion.replac e();
  145                  return  true;
  146                }
  147              } else if  (request & & request. message) {
  148                $rootSco pe.errors. push(reque st.message );
  149              } else {
  150                $rootSco pe.errors. push('Inva lid API Re sponse');
  151              }
  152  
  153              return fal se;
  154           }
  155         );
  156       };
  157  
  158       /**
  159        * Log ging out o f GenISIS  system
  160        * Cle ar user se ssion and  redirect t o the logi n page
  161        **/
  162       this.l ogout = fu nction ()  {
  163         $ses sion.delet e();
  164         _use r = {};
  165         _pri maryUser =  {};
  166         $loc ation.path ('/logout' );
  167         $loc ation.repl ace();
  168       };
  169  
  170       this.s ystemUserR efresh = f unction (e mail) {
  171         $ses sion.delet e();
  172         _use r = {};
  173         $loc ation.path ('/');
  174         $loc ation.repl ace();
  175         this .login(ema il);
  176       };
  177  
  178       /**
  179        * Ret urn the na me of the  user id
  180        * @re turn int u ser id num ber
  181        **/
  182       this.i d = functi on () {
  183         retu rn _user.e mailId;
  184       };
  185  
  186       this.e mail = fun ction () {
  187         retu rn _user.e mail;
  188       };
  189  
  190       this.u sername =  function ( ) {
  191         retu rn _user.u sername;
  192       };
  193  
  194       /**
  195        * Ret urn the na me of the  user
  196        * @re turn strin g first an d last nam e
  197        **/
  198       this.n ame = func tion () {
  199         retu rn _user.f irstName +  ' ' + _us er.lastNam e;
  200       };
  201  
  202       this.i sActive =  function ( ) {
  203         if ( _user.stat us === 'Ac tive') {
  204           re turn true;
  205         } el se {
  206           re turn false ;
  207         }
  208       };
  209  
  210       /**
  211        * Fig ure out if  this user  is logged  in or not
  212        * @re turn boole an valid u ser data
  213        **/
  214       this.l oggedIn =  function ( ) {
  215         if ( _user.user Id !== und efined) {
  216           re turn true;
  217         }
  218  
  219         retu rn false;
  220       };
  221  
  222       /**
  223        * Ret urn the ro le of this  user
  224        * @re turn strin g user's r ole
  225        **/
  226       this.p ermissions  = functio n () {
  227         retu rn _user.r ole;
  228       };
  229  
  230       /**
  231        * Che ck if the  user is a  requester
  232        * @re turn boole an
  233        **/
  234       this.r equester =  function  () {
  235         retu rn _user.r ole === 'r equester'  ? true : f alse;
  236       };
  237  
  238       /**
  239        * Che ck if the  user is a  data desti nation man ager
  240        * @re turn boole an
  241        **/
  242       this.g enisis2Mgr  = functio n () {
  243         retu rn _user.r ole === 'G enisis2 Ma nager' ? t rue : fals e;
  244       };
  245  
  246       /**
  247        * Che ck if the  user is a  data sourc e manager
  248        * @re turn boole an
  249        **/
  250       this.v inciMgr =  function ( ) {
  251         retu rn _user.r ole === 'V INCI Manag er' ? true  : false;
  252       };
  253  
  254       /**
  255        * Che ck if the  user is a  admin
  256        * @re turn boole an
  257        **/
  258       this.A dministrat or = funct ion () {
  259         retu rn _user.r ole === 'A dministrat or' ? true  : false;
  260       };
  261  
  262       this.a llowedToAc cess = fun ction (pat h) {
  263         swit ch (path)  {
  264         case  'copyRequ est':
  265           if  (this.vin ciMgr()) {
  266              return tru e;
  267              //return f alse;
  268           }  else {
  269              return tru e;
  270           }
  271           br eak;
  272         case  'createRe quest':
  273           if  (this.vin ciMgr()) {
  274              return tru e;
  275              //return f alse;
  276           }  else {
  277              return tru e;
  278           }
  279           br eak;
  280         case  'systemAd ministrati on':
  281           if  (this.Adm inistrator ()) {
  282              return tru e;
  283           }  else {
  284              return fal se;
  285           }
  286           br eak;
  287         case  null:
  288           re turn true;
  289         }
  290       };
  291     }
  292   ]);