-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathQuestionnaireMailSettingsController.php
More file actions
78 lines (71 loc) · 2.29 KB
/
QuestionnaireMailSettingsController.php
File metadata and controls
78 lines (71 loc) · 2.29 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
71
72
73
74
75
76
77
78
<?php
/**
* Questionnaire 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');
/**
* Questionnaire Mail Setting Controller
*
* @author AllCreator <info@allcreator.net>
* @package NetCommons\Questionnaires\Controller
*/
class QuestionnaireMailSettingsController extends MailSettingsController {
/**
* use helpers
*
* @var array
*/
public $helpers = array(
'Blocks.BlockRolePermissionForm',
'Blocks.BlockTabs' => array(
'mainTabs' => array(
'block_index' => array(
'url' => array('controller' => 'questionnaire_blocks')
),
'role_permissions' => array(
'url' => array('controller' => 'questionnaire_block_role_permissions')
),
'frame_settings' => array(
'url' => array('controller' => 'questionnaire_frame_settings')
),
'mail_settings' => array(
'url' => array('controller' => 'questionnaire_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が呼ばれないような状況の想定
$Questionnaire = ClassRegistry::init('Questionnaires.Questionnaire');
$frame['Frame'] = Current::read('Frame');
// 設定系画面でフレームが存在しないということはない、ということを前提にする
if (! $frame['Frame']) {
throw new NotFoundException();
}
$Questionnaire->afterFrameSave($frame);
$this->backUrl = NetCommonsUrl::backToPageUrl(true);
}
}