ILIAS  trunk Revision v11.0_alpha-1831-g8615d53dadb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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.

References $DIC.

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

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.

References ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager\$rbacreview, ilObject\_lookupType(), ilRbacReview\assignedRoles(), ilObjPortfolioBase\clonePagesAndSettings(), ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager\getTemplatesForRoles(), and null.

84  : void
85  {
87  // get roles of user
88  $role_ids = $rbacreview->assignedRoles($user_id);
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  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
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
+ 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.

References ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager\$rbacreview, and ilRbacReview\getGlobalRoles().

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 &#39;global&#39; roles
+ Here is the call graph for this function:

◆ getTemplatesForRoles()

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

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

Referenced by ILIAS\Portfolio\Administration\PortfolioRoleAssignmentManager\assignPortfoliosOnLogin().

60  : array {
61  return $this->repo->getTemplatesForRoles($role_ids);
62  }
+ Here is the caller graph for this function:

Field Documentation

◆ $rbacreview

◆ $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: