ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager Class Reference
+ Collaboration diagram for ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager:

Public Member Functions

 __construct ()
 
 add (int $template_ref_id, int $role_id)
 
 delete (int $template_ref_id, int $role_id)
 
 getTemplatesForRoles (array $role_ids)
 
 getAllAssignmentData ()
 
 getAvailableRoles ()
 
 assignPortfoliosOnLogin (int $user_id)
 

Protected Attributes

ilRbacReview $rbacreview
 
PortfolioRoleAssignmentDBRepository $repo
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager::__construct ( )

Definition at line 30 of file class.PortfolioRoleAssignmentManager.php.

31 {
32 global $DIC;
33
34 $this->rbacreview = $DIC->rbac()->review();
35 $this->repo = new PortfolioRoleAssignmentDBRepository();
36 }
global $DIC
Definition: shib_login.php:26

References $DIC.

Member Function Documentation

◆ add()

ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager::add ( int  $template_ref_id,
int  $role_id 
)

Definition at line 38 of file class.PortfolioRoleAssignmentManager.php.

41 : void {
42 $this->repo->add(
43 $template_ref_id,
44 $role_id
45 );
46 }

◆ assignPortfoliosOnLogin()

ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager::assignPortfoliosOnLogin ( int  $user_id)

Definition at line 84 of file class.PortfolioRoleAssignmentManager.php.

84 : void
85 {
87 // get roles of user
89 // get portfolio templates
90 $template_ref_ids = $this->getTemplatesForRoles($role_ids);
91 // create portfolios
92 foreach ($template_ref_ids as $template_ref_id) {
93 if (\ilObject::_lookupType($template_ref_id, true) === "prtt") {
94 $source = new \ilObjPortfolioTemplate($template_ref_id, true);
95 // create portfolio
96 $target = new \ilObjPortfolio();
97 $target->setTitle($source->getTitle());
98 $target->setOwner($user_id);
99 $target->create();
100 $target_id = $target->getId();
101 \ilObjPortfolioTemplate::clonePagesAndSettings($source, $target, null, true);
102 }
103 }
104 }
static clonePagesAndSettings(ilObjPortfolioBase $a_source, ilObjPortfolioBase $a_target, ?array $a_recipe=null, bool $copy_all=false)
Build template from portfolio and vice versa.
static _lookupType(int $id, bool $reference=false)
assignedRoles(int $a_usr_id)
get all assigned roles to a given user

References $user_id, ilObject\_lookupType(), and ilObjPortfolioBase\clonePagesAndSettings().

+ Here is the call graph for this function:

◆ delete()

ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager::delete ( int  $template_ref_id,
int  $role_id 
)

Definition at line 48 of file class.PortfolioRoleAssignmentManager.php.

51 : void {
52 $this->repo->delete(
53 $template_ref_id,
54 $role_id
55 );
56 }

◆ getAllAssignmentData()

ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager::getAllAssignmentData ( )

Definition at line 64 of file class.PortfolioRoleAssignmentManager.php.

64 : array
65 {
66 return $this->repo->getAllAssignmentData();
67 }

◆ getAvailableRoles()

ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager::getAvailableRoles ( )
Returns
array<int,string>

Definition at line 72 of file class.PortfolioRoleAssignmentManager.php.

72 : array
73 {
75 $global_roles = $rbacreview->getGlobalRoles();
76 $roles = array();
77 foreach ($global_roles as $roleid) {
78 $role_obj = new \ilObjRole($roleid);
79 $roles[$role_obj->getId()] = $role_obj->getTitle();
80 }
81 return $roles;
82 }
getGlobalRoles()
get only 'global' roles

◆ getTemplatesForRoles()

ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager::getTemplatesForRoles ( array  $role_ids)

Definition at line 58 of file class.PortfolioRoleAssignmentManager.php.

60 : array {
61 return $this->repo->getTemplatesForRoles($role_ids);
62 }

Field Documentation

◆ $rbacreview

ilRbacReview ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager::$rbacreview
protected

Definition at line 27 of file class.PortfolioRoleAssignmentManager.php.

◆ $repo

PortfolioRoleAssignmentDBRepository ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager::$repo
protected

Definition at line 28 of file class.PortfolioRoleAssignmentManager.php.


The documentation for this class was generated from the following file: