-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathQuizMailSettingsController.php
More file actions
70 lines (63 loc) · 2.15 KB
/
QuizMailSettingsController.php
File metadata and controls
70 lines (63 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
/**
* Quiz Mail Setting Controller
*
* @author Noriko Arai <arai@nii.ac.jp>
* @author AllCreator <info@allcreator.net>
* @link http://www.netcommons.org NetCommons Project
* @license http://www.netcommons.org/license.txt NetCommons License
* @copyright Copyright 2014, NetCommons Project
*/
App::uses('MailSettingsController', 'Mails.Controller');
App::uses('MailSettingFixedPhrase', 'Mails.Model');
/**
* Quiz Mail Setting Controller
*
* @author AllCreator <info@allcreator.net>
* @package NetCommons\Questionnaires\Controller
*/
class QuizMailSettingsController extends MailSettingsController {
/**
* use helpers
*
* @var array
*/
public $helpers = array(
'Blocks.BlockRolePermissionForm',
'Blocks.BlockTabs' => array(
'mainTabs' => array(
'block_index' => array('url' => array('controller' => 'quiz_blocks')),
'role_permissions' => array('url' => array('controller' => 'quiz_block_role_permissions')),
'frame_settings' => array('url' => array('controller' => 'quiz_frame_settings')),
'mail_settings' => array('url' => array('controller' => 'quiz_mail_settings')),
),
),
'Mails.MailForm',
);
/**
* beforeFilter
*
* @return void
* @throws NotFoundException
* @see NetCommonsAppController::beforeFilter()
*/
public function beforeFilter() {
parent::beforeFilter();
// メール設定 多段の場合にセット
$this->MailSettings->permission =
array('mail_content_receivable', 'mail_answer_receivable');
$this->MailSettings->typeKeys =
array(MailSettingFixedPhrase::DEFAULT_TYPE, MailSettingFixedPhrase::ANSWER_TYPE);
// 設定画面を表示する前にこのルームのアンケートブロックがあるか確認
// 万が一、まだ存在しない場合には作成しておく
// afterFrameSaveが呼ばれないような状況の想定
$Quiz = ClassRegistry::init('Quizzes.Quiz');
$frame['Frame'] = Current::read('Frame');
// 設定系画面でフレームが存在しないということはない、ということを前提にする
if (! $frame['Frame']) {
throw new NotFoundException();
}
$Quiz->afterFrameSave($frame);
$this->backUrl = NetCommonsUrl::backToPageUrl(true);
}
}