Skip to content
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ php:
- 5.5
- 5.6
- 7.0
- 7.1

sudo: false

Expand Down
1 change: 0 additions & 1 deletion Config/Migration/001_plugin_records.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

App::uses('NetCommonsMigration', 'NetCommons.Config/Migration');
App::uses('Space', 'Rooms.Model');
class_exists('Space');

/**
* Add plugin migration
Expand Down
13 changes: 7 additions & 6 deletions Controller/TaskContentEditController.php
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,12 @@ public function edit() {
$this->set('listTitle', $this->_taskTitle);
$key = $this->params['key'];
$taskContent = $this->TaskContent->getTask($key);
if (empty($taskContent)) {
return $this->throwBadRequest();
}

$calendarKey = $taskContent['TaskContent']['calendar_key']; //ADD カレンダ連携キーの取り出し
//ADD カレンダ連携キーの取り出し
$calendarKey = $taskContent['TaskContent']['calendar_key'];
$taskContent['TaskContent']['use_calendar'] = ($calendarKey == "") ? 0 : 1;
if (! $this->request->data) {
$this->request->data = $taskContent;
Expand All @@ -158,10 +162,6 @@ public function edit() {
// ToDo担当者ユーザー保持
$this->request->data = $this->TaskCharge->getSelectUsers($this->request->data, false);

if (empty($taskContent)) {
return $this->throwBadRequest();
}

if ($this->TaskContent->canEditWorkflowContent($taskContent) === false) {
return $this->throwBadRequest();
}
Expand All @@ -174,7 +174,8 @@ public function edit() {
$this->_taskSetting['TaskSetting']['task_key'];
$this->request->data['TaskContent']['key'] = $key;

$this->request->data['TaskContent']['calendar_key'] = $calendarKey; //ADD カレンダー連携キー転写
//ADD カレンダー連携キー転写
$this->request->data['TaskContent']['calendar_key'] = $calendarKey;

// set status
$status = $this->Workflow->parseStatus();
Expand Down
9 changes: 6 additions & 3 deletions Controller/TaskContentsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,9 @@ private function __list($conditions) {
$params = array();
$afterOrder = array(
'TaskContent.task_end_date' => 'asc',
'TaskContent.title' => 'asc',
'TaskContent.priority' => 'desc',
'TaskContent.progress_rate' => 'desc',
'TaskContent.title' => 'asc',
'TaskContent.modified' => 'desc'
);

Expand Down Expand Up @@ -242,9 +243,11 @@ private function __list($conditions) {
$params = $this->__setTaskChargeContents($params, $userParam);

// ToDo一覧を取得
$taskContents = $this->TaskContent->getTaskContentList($params, $order);
$results = $this->TaskContent->getTaskContentList($params, $order);
$taskContents = Hash::extract($results, 'tasks');

// 期限間近のToDo一覧を取得
$deadLineTasks = Hash::extract($taskContents, '{n}.TaskContents.{n}[isDeadLine=' . true . ']');
$deadLineTasks = Hash::extract($results, 'deadLineTasks');

// 期限間近のToDo一覧
$this->set('deadLineTasks', $deadLineTasks);
Expand Down
22 changes: 14 additions & 8 deletions Model/TaskContent.php
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,7 @@ protected function _getValidateTaskDate($validate = array()) {
* @return array
*/
public function getTaskContentList($params = array(), $order = array()) {
$results = array();
$conditions = $this->getConditions(Current::read('Block.id'), $params);

$taskContents = $this->find('all',
Expand Down Expand Up @@ -409,6 +410,8 @@ public function getTaskContentList($params = array(), $order = array()) {
$isDeadLine = $this->isDeadLine($taskContent['TaskContent']['date_color']);
$addedTaskContents[] = array_merge($taskContent, array('isDeadLine' => $isDeadLine));
}
// 期限間近・期限切れの一覧を取得
$deadLineTasks = Hash::extract($addedTaskContents, '{n}[isDeadLine=' . true . ']');

// カテゴリIDがキーのコンテンツ連想配列を生成
$sortedTaskContents = Hash::combine(
Expand Down Expand Up @@ -442,7 +445,7 @@ public function getTaskContentList($params = array(), $order = array()) {
));
$categoryRates = Hash::combine($categoryData, '{n}.TaskContent.category_id', '{n}.TaskContent');

$results = array();
$resultArr = array();
foreach ($categories as $category) {
$result = array();
if (isset($sortedTaskContents[$category['id']])) {
Expand All @@ -459,10 +462,13 @@ public function getTaskContentList($params = array(), $order = array()) {
$categoryLangArr, $category['id'], array('name' => __d('tasks', 'No category'))
);
$result['Category']['category_priority'] = $categoryPriority;
$results[] = $result;
$resultArr[] = $result;
}
}

$results['deadLineTasks'] = $deadLineTasks;
$results['tasks'] = $resultArr;

return $results;
}

Expand Down Expand Up @@ -652,11 +658,11 @@ public function saveContent($data) {
//カレンダー連携ここから ADD
$cmd = 'del';
if ($data['TaskContent']['is_date_set']) {
$cmd =($data['TaskContent']['use_calendar']) ? 'save' : 'del';
$cmd = ($data['TaskContent']['use_calendar']) ? 'save' : 'del';
}
if ($cmd==='save') {
if ($cmd === 'save') {
//実施期間設定あり&&カレンダー登録する
$this->loadModels([
$this->loadModels([
'CalendarActionPlan' => 'Calendars.CalendarActionPlan',
]);

Expand Down Expand Up @@ -718,7 +724,7 @@ public function saveContent($data) {
'isDelRepeat' => false, //tasksはfalse固定
));
$delCalendarKey = $this->CalendarDeleteActionPlan->deletePlanForLink($data);
// if ($data['TaskContent']['calendar_key'] == $delCalendarKey) {
//if ($data['TaskContent']['calendar_key'] == $delCalendarKey) {
//削除が成功したので、calenar_keyをクリアし、use_calendarをOFFにして、
//TaskContentにsave(update)しておく。
$data['TaskContent']['calendar_key'] = '';
Expand All @@ -728,7 +734,7 @@ public function saveContent($data) {
throw new InternalErrorException(__d('net_commons', 'Internal Server Error'));
}
$data['TaskContent'] = $savedData['TaskContent'];
// }
//}
$this->CalendarDeleteActionPlan->Behaviors->unload('Calendars.CalendarLink');
} else {
//calendar_keyが記録されていないので、なにもしない
Expand Down Expand Up @@ -861,7 +867,7 @@ public function deleteContentByKey($key) {
}

//カレンダー連携ここから ADD
$this->loadModels([
$this->loadModels([
'CalendarDeleteActionPlan' => 'Calendars.CalendarDeleteActionPlan',
]);
//削除用settings指定
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ public function testBeforeFilterGet() {
//テスト実行
$this->_testGetAction(
array(
'action' => 'edit', 'block_id' => $blockId
'action' => 'edit', 'block_id' => $blockId, 'key' => 'content_key_9'
),
array(
'method' => 'assertEmpty'
Expand Down
9 changes: 9 additions & 0 deletions Test/Case/Controller/TaskContentEditController/EditTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,22 @@ class TaskContentEditControllerEditTest extends WorkflowControllerEditTest {
* @var array
*/
public $fixtures = array(
'plugin.tasks.calendar_for_task',
'plugin.tasks.calendar_event_for_task',
'plugin.tasks.calendar_frame_setting_for_task',
'plugin.tasks.calendar_frame_setting_select_room_for_task',
'plugin.tasks.calendar_rrule_for_task',
'plugin.tasks.calendar_event_share_user_for_task',
'plugin.tasks.calendar_event_content_for_task',
'plugin.rooms.room_role',
'plugin.categories.category',
'plugin.categories.category_order',
'plugin.categories.categories_language',
'plugin.tasks.task',
'plugin.tasks.task_charge',
'plugin.tasks.task_content',
'plugin.tasks.block_setting_for_task',
'plugin.tasks.rooms_language_for_task',
'plugin.workflow.workflow_comment',
);

Expand Down
9 changes: 9 additions & 0 deletions Test/Case/Controller/TaskContentsController/ViewTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,22 @@ class TaskContentsControllerViewTest extends WorkflowControllerViewTest {
* @var array
*/
public $fixtures = array(
'plugin.tasks.calendar_for_task',
'plugin.tasks.calendar_event_for_task',
'plugin.tasks.calendar_frame_setting_for_task',
'plugin.tasks.calendar_frame_setting_select_room_for_task',
'plugin.tasks.calendar_rrule_for_task',
'plugin.tasks.calendar_event_share_user_for_task',
'plugin.tasks.calendar_event_content_for_task',
'plugin.rooms.room_role',
'plugin.categories.category',
'plugin.categories.category_order',
'plugin.categories.categories_language',
'plugin.tasks.task',
'plugin.tasks.task_charge',
'plugin.tasks.task_content',
'plugin.tasks.block_setting_for_task',
'plugin.tasks.rooms_language_for_task',
'plugin.workflow.workflow_comment',
'plugin.content_comments.content_comment',
);
Expand Down
9 changes: 9 additions & 0 deletions Test/Case/Model/TaskContent/DeleteContentByKeyTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,22 @@ class TaskContentDeleteContentByKeyTest extends NetCommonsModelTestCase {
* @var array
*/
public $fixtures = array(
'plugin.tasks.calendar_for_task',
'plugin.tasks.calendar_event_for_task',
'plugin.tasks.calendar_frame_setting_for_task',
'plugin.tasks.calendar_frame_setting_select_room_for_task',
'plugin.tasks.calendar_rrule_for_task',
'plugin.tasks.calendar_event_share_user_for_task',
'plugin.tasks.calendar_event_content_for_task',
'plugin.rooms.room_role',
'plugin.categories.category',
'plugin.categories.category_order',
'plugin.categories.categories_language',
'plugin.tasks.task',
'plugin.tasks.task_charge',
'plugin.tasks.task_content',
'plugin.tasks.block_setting_for_task',
'plugin.tasks.rooms_language_for_task',
'plugin.workflow.workflow_comment',
'plugin.content_comments.content_comment',
);
Expand Down
12 changes: 12 additions & 0 deletions Test/Case/Model/TaskContent/SaveContentTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@ class TaskContentSaveContentTest extends WorkflowSaveTest {
* @var array
*/
public $fixtures = array(
'plugin.tasks.calendar_for_task',
'plugin.tasks.calendar_event_for_task',
'plugin.tasks.calendar_frame_setting_for_task',
'plugin.tasks.calendar_frame_setting_select_room_for_task',
'plugin.tasks.calendar_rrule_for_task',
'plugin.tasks.calendar_event_share_user_for_task',
'plugin.tasks.calendar_event_content_for_task',
'plugin.rooms.room_role',
'plugin.categories.category',
'plugin.categories.category_order',
'plugin.categories.categories_language',
Expand All @@ -37,6 +45,7 @@ class TaskContentSaveContentTest extends WorkflowSaveTest {
'plugin.tasks.task_charge',
'plugin.tasks.task_content',
'plugin.tasks.block_setting_for_task',
'plugin.tasks.rooms_language_for_task',
'plugin.categories.category',
'plugin.workflow.workflow_comment',
);
Expand Down Expand Up @@ -87,6 +96,9 @@ public function dataProviderSave() {
$data['TaskContent'] = (new TaskContentFixture())->records[1];
$data['TaskCharge'][] = (new TaskChargeFixture())->records[0];
$data['TaskContent']['status'] = '1';

$data['TaskContent']['use_calendar'] = false;
$data['TaskContent']['calendar_key'] = '';

$results = array();
// * 編集の登録処理
Expand Down
16 changes: 16 additions & 0 deletions Test/Case/Model/TaskContent/SetReminderMailTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@
App::uses('NetCommonsModelTestCase', 'NetCommons.TestSuite');
App::uses('TaskContentFixture', 'Tasks.Test/Fixture');
App::uses('TaskChargeFixture', 'Tasks.Test/Fixture');
App::uses('CalendarFixture', 'Calendars.Test/Fixture');
App::uses('CalendarFixture', 'Calendars.Test/Fixture');
App::uses('CalendarEventFixture', 'Calendars.Test/Fixture');
App::uses('CalendarEventContentFixture', 'Calendars.Test/Fixture');
App::uses('CalendarFrameSettingFixture', 'Calendars.Test/Fixture');
App::uses('CalendarFrameSettingSelectRoomFixture', 'Calendars.Test/Fixture');

/**
* TaskContent::setReminderMail()のテスト
Expand All @@ -28,6 +34,15 @@ class TaskContentSetReminderMailTest extends NetCommonsModelTestCase {
* @var array
*/
public $fixtures = array(
'plugin.tasks.calendar_for_task',
'plugin.tasks.calendar_event_for_task',
'plugin.tasks.calendar_frame_setting_for_task',
'plugin.tasks.calendar_frame_setting_select_room_for_task',
'plugin.tasks.calendar_rrule_for_task',
'plugin.tasks.calendar_event_share_user_for_task',
'plugin.tasks.calendar_event_content_for_task',
'plugin.rooms.room_role',
// 'plugin.tasks.event_content',
'plugin.categories.category',
'plugin.categories.category_order',
'plugin.categories.categories_language',
Expand All @@ -38,6 +53,7 @@ class TaskContentSetReminderMailTest extends NetCommonsModelTestCase {
'plugin.tasks.task_charge',
'plugin.tasks.task_content',
'plugin.tasks.block_setting_for_task',
'plugin.tasks.rooms_language_for_task',
'plugin.categories.category',
'plugin.workflow.workflow_comment',
);
Expand Down
62 changes: 62 additions & 0 deletions Test/Fixture/CalendarEventContentForTaskFixture.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?php
/**
* CalendarEventContentForTaskFixture
*/

App::uses('CalendarEventContentFixture', 'Calendars.Test/Fixture');

/**
* Summary for CalendarEventContentFixture
*/
class CalendarEventContentForTaskFixture extends CalendarEventContentFixture {

/**
* Plugin key
*
* @var string
*/
public $pluginKey = 'calendars';

/**
* Model name
*
* @var string
*/
public $name = 'CalendarEventContents';

/**
* Full Table Name
*
* @var string
*/
public $table = 'calendar_event_contents';

/**
* Records
*
* @var array
*/
public $records = array(
array(
'id' => 1,
'model' => 'calendarmodel',
'content_key' => 'calendarplan1',
'calendar_event_id' => 1,
'created_user' => 1,
'created' => '2016-03-24 07:09:51',
'modified_user' => 1,
'modified' => '2016-03-24 07:09:51'
),
);

/**
* Initialize the fixture.
*
* @return void
*/
public function init() {
require_once App::pluginPath('Calendars') . 'Config' . DS . 'Schema' . DS . 'schema.php';
$this->fields = (new CalendarsSchema())->tables[Inflector::tableize($this->name)];
parent::init();
}
}
Loading