Project

General

Profile

« Previous | Next » 

Revision 46067

View differences:

UserRegistrationForm.java
479 479

  
480 480
    private User getPerson() {
481 481

  
482
        User person;
482
        final User person;
483 483
        if(isEdit)
484 484
            person = registeredPerson;
485 485
        else
......
522 522

  
523 523
        List<UserRole> personRoles = new ArrayList<>();
524 524

  
525
        for(String role : selectedRoles) {
525
        for(final String roleId : selectedRoles) {
526 526

  
527 527
            UserRole personRole = new UserRole();
528 528
            UserRolePK urPk = new UserRolePK();
529 529

  
530 530
            urPk.setUser(person);
531
            //TODO get role from db
532
            urPk.setRole(new Role(role));
531
            urPk.setRole(new Role(roleId));
533 532
            personRole.setPk(urPk);
534 533

  
535 534
            if(GoldOAPortal.currentUser==null) {
536
                if (role.equals("researcher"))
535
                if (roleId.equals("researcher"))
537 536
                    personRole.setApproved(true);
538 537
                else
539 538
                    personRole.setApproved(false);
540 539
            } else {
541
                if(Utils.currentUserHasRole(role)) {
542
                    personRole.setApproved(Utils.isRoleApprovedForCurrentUser(role));
540
                if(Utils.currentUserHasRole(roleId)) {
541
                    personRole.setApproved(Utils.isRoleApprovedForCurrentUser(roleId));
543 542
                } else {
544
                    if (role.equals("researcher"))
543
                    if (roleId.equals("researcher"))
545 544
                        personRole.setApproved(true);
546 545
                    else
547 546
                        personRole.setApproved(false);
548 547
                }
549 548
            }
550 549

  
551
            personRoles.add(personRole);
550
            person.getRoles().add(personRole);
551

  
552 552
        }
553 553

  
554
        for(String role : notShownRoles) {
554
        for(String roleId : notShownRoles) {
555 555

  
556 556
            UserRole personRole = new UserRole();
557 557
            UserRolePK urPk = new UserRolePK();
558 558

  
559 559
            urPk.setUser(person);
560
            urPk.setRole(new Role(role));
560
            urPk.setRole(new Role(roleId));
561 561
            personRole.setPk(urPk);
562 562

  
563 563
            if(GoldOAPortal.currentUser==null) {
564
                if (role.equals("researcher"))
564
                if (roleId.equals("researcher"))
565 565
                    personRole.setApproved(true);
566 566
                else
567 567
                    personRole.setApproved(false);
568 568
            } else {
569
                if(Utils.currentUserHasRole(role)) {
570
                    personRole.setApproved(Utils.isRoleApprovedForCurrentUser(role));
569
                if(Utils.currentUserHasRole(roleId)) {
570
                    personRole.setApproved(Utils.isRoleApprovedForCurrentUser(roleId));
571 571
                } else {
572
                    if (role.equals("researcher"))
572
                    if (roleId.equals("researcher"))
573 573
                        personRole.setApproved(true);
574 574
                    else
575 575
                        personRole.setApproved(false);
576 576
                }
577 577
            }
578

  
579 578
            personRoles.add(personRole);
580 579
        }
581 580
        person.setRole(personRoles);

Also available in: Unified diff