original_string: public function get_assignable_roles($otherusers = false) {
          if ($this->_assignableroles === null) {
              $this->_assignableroles = get_assignable_roles($this->context, ROLENAME_ALIAS, false); // verifies unassign access control too
          }
  
          if ($otherusers) {
              if (!is_array($this->_assignablerolesothers)) {
                  $this->_assignablerolesothers = array();
                  list($courseviewroles, $ignored) = get_roles_with_cap_in_context($this->context, 'moodle/course:view');
                  foreach ($this->_assignableroles as $roleid=>$role) {
                      if (isset($courseviewroles[$roleid])) {
                          $this->_assignablerolesothers[$roleid] = $role;
                      }
                  }
              }
              return $this->_assignablerolesothers;
          } else {
              return $this->_assignableroles;
          }
      }
code: public function get_assignable_roles($otherusers = false) {
          if ($this->_assignableroles === null) {
              $this->_assignableroles = get_assignable_roles($this->context, ROLENAME_ALIAS, false); // verifies unassign access control too
          }
  
          if ($otherusers) {
              if (!is_array($this->_assignablerolesothers)) {
                  $this->_assignablerolesothers = array();
                  list($courseviewroles, $ignored) = get_roles_with_cap_in_context($this->context, 'moodle/course:view');
                  foreach ($this->_assignableroles as $roleid=>$role) {
                      if (isset($courseviewroles[$roleid])) {
                          $this->_assignablerolesothers[$roleid] = $role;
                      }
                  }
              }
              return $this->_assignablerolesothers;
          } else {
              return $this->_assignableroles;
          }
      }
code_tokens: public function get_assignable_roles ( $ otherusers = false ) { if ( $ this -> _assignableroles === null ) { $ this -> _assignableroles = get_assignable_roles ( $ this -> context , ROLENAME_ALIAS , false ) ; // verifies unassign access control too } if ( $ otherusers ) { if ( ! is_array ( $ this -> _assignablerolesothers ) ) { $ this -> _assignablerolesothers = array ( ) ; list ( $ courseviewroles , $ ignored ) = get_roles_with_cap_in_context ( $ this -> context , 'moodle/course:view' ) ; foreach ( $ this -> _assignableroles as $ roleid => $ role ) { if ( isset ( $ courseviewroles [ $ roleid ] ) ) { $ this -> _assignablerolesothers [ $ roleid ] = $ role ; } } } return $ this -> _assignablerolesothers ; } else { return $ this -> _assignableroles ; } }
docstring: Gets all of the assignable roles for this course.
  
  @return array
docstring_tokens: Gets all of the assignable roles for this course .