AssessmentController

Extends\LSBaseController

Class LSBaseController

this controller will have all the necessary methods from the old AdminController

package

Default

Methods

Basic initialiser to the base controller class

__construct(string $id,\CWebModule $module = null)
inherited
access

public

Arguments

$id

string

$module

\CWebModule

Check that installation was already done by looking for config.php Will redirect to the installer script if not exists.

_checkInstallation(): void
inherited
access

protected

It's import to have the accessRules set (security issue).

accessRules(): array

Only logged in users should have access to actions. All other permissions should be checked in the action itself.

Response

array

Activates assessment mode for the survey.

actionActivate( $surveyid)

Arguments

$surveyid

Deletes an assessment.

actionDelete(integer $surveyid): void

Arguments

$surveyid

integer

Feed JSON to modal.

actionEdit(integer $surveyid): void

Gets the data for the assessment from db and gives it back to the modal view to show the values.

Arguments

$surveyid

integer

Renders th view for: show the list of assessments(if assessment is activated) or the button to activate assessment mode

actionIndex(integer $surveyid)

Arguments

$surveyid

integer

the survey id

Save btn of modal view. This could be update or insert.

actionInsertUpdate(integer $surveyid)

Redirects to the correct action

Arguments

$surveyid

integer

Insert the assessment with multilanguages

add( $surveyid)

Arguments

$surveyid

This part comes from renderWrappedTemplate (not the best way to refactoring, but a temporary solution)

beforeRender(string $view): boolean
inherited

todo REFACTORING find all actions that set $aData['surveyid'] and change the layout directly in the action

Arguments

$view

string

Response

boolean

collectEditData

collectEditData(array $aData): array

Arguments

$aData

array

Response

array

return the groups of the current survey

collectGroupData(\Survey $oSurvey,array &$aData = array()): array

Arguments

$oSurvey

\Survey

$aData

array

Response

array

$aGroups groupnames in array

Creates an absolute URL based on the given controller and action information.

createAbsoluteUrl(string $route,array $params = array(),string $schema = '',string $ampersand = '&'): string
inherited

Arguments

$route

string

the URL route. This should be in the format of 'ControllerID/ActionID'.

$params

array

additional GET parameters (name=>value). Both the name and value will be URL-encoded.

$schema

string

schema to use (e.g. http, https). If empty, the schema used for the current request will be used.

$ampersand

string

the token separating name-value pairs in the URL.

Response

string

the constructed URL

customInit

customInit()
inherited

getAssessmentPostData

getAssessmentPostData(integer $iSurveyID,string $language): array

Arguments

$iSurveyID

integer

$language

string

Response

array

Loads a helper

loadHelper(string $helper): void
inherited
access

public

Arguments

$helper

string

Loads a library

loadLibrary(string $library): void
inherited
access

public

Arguments

$library

string

Loads page states from a hidden input.

loadPageStates(): array
inherited

Response

array

the loaded page states

prepareDataArray

prepareDataArray(array &$aData,boolean $collectEdit = false): array

Arguments

$aData

array

$collectEdit

boolean

Response

array

Method to render an array as a json document (this one called by a lot of actions in different controllers)

renderJSON(array $aData, $success = true): void
inherited

Arguments

$aData

array

$success

Checks for action specific authorization and then executes an action

run(string $action): void
inherited

TODO: check the dbupdate mechanism, do we really want to check db update before every action??

access

public

Throws
\CException
\CHttpException

Arguments

$action

string

Load and set session vars

sessionControl(): void
inherited

todo REFACTORING see comments in mehtod

access

protected

Set languages config for assessment

setLanguagesBeforeAction(\Survey $oSurvey)

Arguments

$oSurvey

\Survey

Set search params from Yii grid view.

setSearchParams(\Assessment $oAssessments): void

Arguments

$oAssessments

\Assessment

Updates an assessment. Receives input from POST

update(integer $iSurveyID): void

Arguments

$iSurveyID

integer

Properties

this is needed for the preview rendering inside the questioneditor

sTemplate :null
inherited
var

this is needed for the preview rendering inside the questioneditor

Type(s)

null

import for all new controllers/actions (REFACTORING) to pass data before rendering the content

aData :array
inherited
var

import for all new controllers/actions (REFACTORING) to pass data before rendering the content

Type(s)

array

userId of the logged in user

userId :integer
inherited
var

userId of the logged in user

Type(s)

integer

This array contains the survey / group / question id used by the menu widget.

navData :array
inherited
var

Type(s)

array