diff --git a/module/todo/config/form.php b/module/todo/config/form.php index 34bbe3ae93..c0a912ca5d 100644 --- a/module/todo/config/form.php +++ b/module/todo/config/form.php @@ -12,7 +12,7 @@ $config->todo->create->form['pri'] = array('required' => true, 'type' $config->todo->create->form['date'] = array('required' => false, 'type' => 'string', 'default' => helper::today()); $config->todo->create->form['begin'] = array('required' => false, 'type' => 'int', 'default' => 2400); $config->todo->create->form['end'] = array('required' => false, 'type' => 'int', 'default' => 2400); -$config->todo->create->form['private'] = array('required' => false, 'type' => 'int', 'default' => 0); +$config->todo->create->form['private'] = array('required' => false, 'type' => 'string', 'default' => '0'); $config->todo->create->form['assignedDate'] = array('required' => false, 'type' => 'string', 'default' => helper::now()); $config->todo->create->form['assignedTo'] = array('required' => false, 'type' => 'string', 'default' => ''); $config->todo->create->form['assignedBy'] = array('required' => false, 'type' => 'string', 'default' => ''); @@ -42,7 +42,7 @@ $config->todo->edit->form['type'] = array('required' => false, 'type' => $config->todo->edit->form['date'] = array('required' => false, 'type' => 'string', 'default' => helper::today()); $config->todo->edit->form['begin'] = array('required' => false, 'type' => 'int', 'default' => 2400); $config->todo->edit->form['end'] = array('required' => false, 'type' => 'int', 'default' => 2400); -$config->todo->edit->form['private'] = array('required' => false, 'type' => 'int', 'default' => 0); +$config->todo->edit->form['private'] = array('required' => false, 'type' => 'string', 'default' => '0'); $config->todo->edit->form['assignedTo'] = array('required' => false, 'type' => 'string', 'default' => ''); $config->todo->edit->form['objectID'] = array('required' => false, 'type' => 'int', 'default' => 0); $config->todo->edit->form['desc'] = array('required' => false, 'type' => 'string', 'default' => '', 'control' => 'editor'); diff --git a/module/todo/js/common.ui.js b/module/todo/js/common.ui.js index 47e097d3dd..dfc227e425 100644 --- a/module/todo/js/common.ui.js +++ b/module/todo/js/common.ui.js @@ -63,11 +63,13 @@ function changeAssignedTo() { $('#private').prop('disabled', true); $('#private').closest('.checkbox-primary').addClass('disabled'); + $('#private')[0].value = '0'; } else { $('#private').prop('disabled', false); $('#private').closest('.checkbox-primary').removeClass('disabled'); + $('#private')[0].value = 'on'; } } diff --git a/module/todo/ui/create.html.php b/module/todo/ui/create.html.php index e638971e66..c524f1ab4d 100644 --- a/module/todo/ui/create.html.php +++ b/module/todo/ui/create.html.php @@ -334,10 +334,11 @@ formPanel set::width('1/3'), set::label($lang->todo->assignTo), set::required(true), + set::disabled(true), set::items($users), set::value($app->user->account), set::name('assignedTo'), - on::change("$('#private').prop('disabled', e.target.value !== '{$app->user->account}');") + on::change('changeAssignedTo()') ), formGroup ( @@ -347,8 +348,8 @@ formPanel setID('private'), set::name('private'), set::text($lang->todo->private), - set::value(1), - on::change("zui.Picker.query('#assignedTo').render({disabled: e.target.checked})") + set::checked(true), + on::change("zui.Picker.query('[name=assignedTo]').render({disabled: e.target.checked})") ), btn ( diff --git a/module/todo/ui/edit.html.php b/module/todo/ui/edit.html.php index 7ccb994c90..de21e4fac9 100644 --- a/module/todo/ui/edit.html.php +++ b/module/todo/ui/edit.html.php @@ -452,12 +452,11 @@ formPanel 'id' => 'private', 'name' => 'private', 'text' => $lang->todo->private, - 'value' => 1, - 'checked' => $todo->private + 'checked' => !empty($todo->private) ) ), set::disabled($todo->assignedTo != $app->user->account || $todo->assignedTo != $todo->account), - on::change('togglePrivate(e.target)') + on::change("zui.Picker.query('[name=assignedTo]').render({disabled: e.target.checked})") ), btn ( diff --git a/module/todo/zen.php b/module/todo/zen.php index d503ae65d3..097f369335 100755 --- a/module/todo/zen.php +++ b/module/todo/zen.php @@ -118,11 +118,12 @@ class todoZen extends todo ->setDefault('assignedTo', $this->app->user->account) ->setDefault('assignedBy', $this->app->user->account) ->setDefault('assignedDate', helper::now()) - ->cleanInt('pri, begin, end, private') + ->cleanInt('pri, begin, end') ->setIF($hasObject && $objectType, 'objectID', (int)$objectID) ->setIF(empty($rawData->date) || $this->post->switchDate || $this->post->cycle, 'date', FUTURE_TIME) ->setIF(empty($rawData->begin) || $this->post->switchTime, 'begin', '2400') ->setIF(empty($rawData->begin) || empty($rawData->end) || $this->post->switchTime, 'end', '2400') + ->setIF($rawData->private == 'on', 'private', 1) ->setIF($rawData->status == 'done', 'finishedBy', $this->app->user->account) ->setIF($rawData->status == 'done', 'finishedDate', helper::now()) ->stripTags($this->config->todo->editor->create['id'], $this->config->allowedTags) @@ -273,15 +274,15 @@ class todoZen extends todo /* Process todo. */ $todo = $form->add('account', $oldTodo->account) - ->cleanInt('pri, begin, end, private') + ->cleanInt('pri, begin, end') ->setIF(in_array($objectType, array('bug', 'task', 'story')), 'name', '') ->setIF($hasObject && $objectType, 'objectID', $objectID) ->setIF(empty($postData->date) || $this->post->switchDate || $this->post->cycle, 'date', FUTURE_TIME) ->setIF(empty($postData->begin) || $this->post->dateSwitcher, 'begin', '2400') ->setIF(empty($postData->end) || $this->post->dateSwitcher, 'end', '2400') + ->setIF($postData->private == 'on', 'private', 1) ->setDefault('assignedBy', $oldTodo->assignedTo != $this->post->assignedTo ? $this->app->user->account : $oldTodo->assignedBy) ->setDefault('type', $objectType) - ->setDefault('private', 0) ->stripTags($this->config->todo->editor->edit['id'], $this->config->allowedTags) ->remove(implode(',', $this->config->todo->moduleList) . ',uid') ->get();