diff --git a/src/IDF/Form/IssueCreate.php b/src/IDF/Form/IssueCreate.php index f6b2d84..5fcaed3 100644 --- a/src/IDF/Form/IssueCreate.php +++ b/src/IDF/Form/IssueCreate.php @@ -112,6 +112,12 @@ class IDF_Form_IssueCreate extends Pluf_Form 'size' => 15, ), )); + $this->fields['due_dtime'] = new Pluf_Form_Field_Datetime( + array('required' => false, + 'label' => __('Due Date'), + 'initial' => '', + 'widget_attrs' => array('size' => 15,), + )); $this->fields['relation_type0'] = new Pluf_Form_Field_Varchar( array('required' => false, @@ -368,6 +374,7 @@ class IDF_Form_IssueCreate extends Pluf_Form $issue->status = new IDF_Tag($_t[0]); // first one is the default $issue->owner = null; } + $issue->due_dtime = $this->cleaned_data['due_dtime']; $issue->summary = trim($this->cleaned_data['summary']); $issue->create(); foreach ($tags as $tag) { diff --git a/src/IDF/Form/IssueUpdate.php b/src/IDF/Form/IssueUpdate.php index 0362eb3..4063bfe 100644 --- a/src/IDF/Form/IssueUpdate.php +++ b/src/IDF/Form/IssueUpdate.php @@ -103,6 +103,12 @@ class IDF_Form_IssueUpdate extends IDF_Form_IssueCreate 'size' => 15, ), )); + $this->fields['due_dtime'] = new Pluf_Form_Field_Datetime( + array('required' => false, + 'label' => __('Due Date'), + 'initial' => $this->issue->due_dtime, + 'widget_attrs' => array('size' => 15,), + )); $idx = 0; // note: clean_relation_type0 and clean_relation_issue0 already @@ -385,6 +391,10 @@ class IDF_Form_IssueUpdate extends IDF_Form_IssueCreate or ((!is_null($owner) and !is_null($this->issue->get_owner())) and $owner->id != $this->issue->get_owner()->id)) { $changes['ow'] = (is_null($owner)) ? '---' : $owner->login; } + $due_dtime = $this->cleaned_data['due_dtime']; + if (trim($this->issue->due_dtime) != trim($this->cleaned_data['due_dtime'])) { + $changes['du'] = trim($this->cleaned_data['due_dtime']); + } // Issue relations - additions foreach ($this->cleaned_data['_added_issue_relations'] as $verb => $ids) { $other_verb = $this->relation_types[$verb]; @@ -431,6 +441,7 @@ class IDF_Form_IssueUpdate extends IDF_Form_IssueCreate $this->issue->summary = trim($this->cleaned_data['summary']); $this->issue->status = $status; $this->issue->owner = $owner; + $this->issue->due_dtime = $due_dtime; } // Create the comment $comment = new IDF_IssueComment(); diff --git a/src/IDF/Issue.php b/src/IDF/Issue.php index 23a0b66..00eece9 100644 --- a/src/IDF/Issue.php +++ b/src/IDF/Issue.php @@ -91,6 +91,12 @@ class IDF_Issue extends Pluf_Model 'model' => 'IDF_Tag', 'verbose' => __('labels'), ), + 'due_dtime' => + array( + 'type' => 'Pluf_DB_Field_Datetime', + 'blank' => true, + 'verbose' => __('due date'), + ), 'status' => array( 'type' => 'Pluf_DB_Field_Foreignkey', diff --git a/src/IDF/templates/idf/issues/create.html b/src/IDF/templates/idf/issues/create.html index 9d681a7..66d4d4e 100644 --- a/src/IDF/templates/idf/issues/create.html +++ b/src/IDF/templates/idf/issues/create.html @@ -63,6 +63,11 @@ +{$form.f.due_dtime.labelTag}: +{if $form.f.due_dtime.errors}{$form.f.due_dtime.fieldErrors}{/if} +{$form.f.due_dtime|unsafe} + + {$form.f.relation_type0.labelTag}: {if $form.f.relation_type0.errors}{$form.f.relation_type0.fieldErrors}{/if} diff --git a/src/IDF/templates/idf/issues/view.html b/src/IDF/templates/idf/issues/view.html index 606437d..16a1137 100644 --- a/src/IDF/templates/idf/issues/view.html +++ b/src/IDF/templates/idf/issues/view.html @@ -128,6 +128,11 @@ {$form.f.owner|unsafe} +{$form.f.due_dtime.labelTag}: +{if $form.f.due_dtime.errors}{$form.f.due_dtime.fieldErrors}{/if} +{$form.f.due_dtime|unsafe} + + {$form.f.relation_type0.labelTag}: