This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".
The branch, master has been updated
via 08ea867e225d9a5deee3cb9ac0cd3378f8e71da8 (commit)
from fa8e8ce57d7b4509d65e6b8d510540ed7b0575d0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=08ea867e225d9a5deee3cb9ac0cd3378f8e71da8
commit 08ea867e225d9a5deee3cb9ac0cd3378f8e71da8
Author: Stéphane-Eymeric Bredthauer <[email protected]>
Date: Sun Nov 20 20:10:30 2016 +0100
Tracker: fix Datetime type
diff --git a/src/common/tracker/Artifact.class.php
b/src/common/tracker/Artifact.class.php
index 2d9bd51..75b5999 100644
--- a/src/common/tracker/Artifact.class.php
+++ b/src/common/tracker/Artifact.class.php
@@ -1626,8 +1626,13 @@ class Artifact extends FFObject {
if ($extra_fields[$efid] === '') {
//nothing in field to update - text fields may
be blank
} else {
- //determine the type of field and whether it
should have multiple rows supporting it
$type=$ef[$efid]['field_type'];
+ //special treatment for DATETIME
+ if ($type == ARTIFACT_EXTRAFIELDTYPE_DATETIME
&& $extra_fields[$efid]!='' ) {
+ $dateTime =
DateTime::createFromFormat('Y-m-d H:i', $extra_fields[$efid]);
+ $extra_fields[$efid] =
$dateTime->format('U');
+ }
+ //determine the type of field and whether it
should have multiple rows supporting it
if (($type == ARTIFACT_EXTRAFIELDTYPE_CHECKBOX)
|| ($type==ARTIFACT_EXTRAFIELDTYPE_MULTISELECT)) {
$multi_rows=true;
$count=count($extra_fields[$efid]);
diff --git a/src/common/tracker/ArtifactExtraField.class.php
b/src/common/tracker/ArtifactExtraField.class.php
index c788cb6..79195d1 100644
--- a/src/common/tracker/ArtifactExtraField.class.php
+++ b/src/common/tracker/ArtifactExtraField.class.php
@@ -47,10 +47,6 @@ define('ARTIFACT_EXTRAFIELDTYPE_USER',14);
/* 15: reserved MULTIUSER */
define('ARTIFACT_EXTRAFIELDTYPE_RELEASE',16);
-define('ARTIFACT_EXTRAFIELDSUBTYPE_DATE',1);
-define('ARTIFACT_EXTRAFIELDSUBTYPE_TIME',2);
-define('ARTIFACT_EXTRAFIELDSUBTYPE_DATETIME',3);
-
define ("ARTIFACT_EXTRAFIELDTYPEGROUP_SINGLECHOICE", serialize (array
(ARTIFACT_EXTRAFIELDTYPE_SELECT, ARTIFACT_EXTRAFIELDTYPE_RADIO,
ARTIFACT_EXTRAFIELDTYPE_STATUS)));
define ("ARTIFACT_EXTRAFIELDTYPEGROUP_MULTICHOICE", serialize (array
(ARTIFACT_EXTRAFIELDTYPE_CHECKBOX, ARTIFACT_EXTRAFIELDTYPE_MULTISELECT)));
define ("ARTIFACT_EXTRAFIELDTYPEGROUP_CHOICE", serialize
(array_merge(unserialize(ARTIFACT_EXTRAFIELDTYPEGROUP_SINGLECHOICE),
unserialize(ARTIFACT_EXTRAFIELDTYPEGROUP_MULTICHOICE))));
diff --git a/src/common/tracker/include/ArtifactTypeHtml.class.php
b/src/common/tracker/include/ArtifactTypeHtml.class.php
index 3d3e329..58dc480 100644
--- a/src/common/tracker/include/ArtifactTypeHtml.class.php
+++ b/src/common/tracker/include/ArtifactTypeHtml.class.php
@@ -183,11 +183,12 @@ class ArtifactTypeHtml extends ArtifactType {
$keys=array_keys($efarr);
for ($k=0; $k<count($keys); $k++) {
$i=$keys[$k];
- if ($efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_SELECT ||
- $efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_CHECKBOX ||
- $efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_RADIO ||
- $efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_STATUS ||
- $efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_MULTISELECT) {
+ $type = $efarr[$i]['field_type'];
+ if ($type == ARTIFACT_EXTRAFIELDTYPE_SELECT ||
+ $type ==
ARTIFACT_EXTRAFIELDTYPE_CHECKBOX ||
+ $type == ARTIFACT_EXTRAFIELDTYPE_RADIO
||
+ $type == ARTIFACT_EXTRAFIELDTYPE_STATUS
||
+ $type ==
ARTIFACT_EXTRAFIELDTYPE_MULTISELECT) {
$efarr[$i]['field_type'] =
ARTIFACT_EXTRAFIELDTYPE_MULTISELECT;
} else {
$efarr[$i]['field_type'] =
ARTIFACT_EXTRAFIELDTYPE_TEXT;
@@ -206,12 +207,13 @@ class ArtifactTypeHtml extends ArtifactType {
$selected[$efarr[$i]['extra_field_id']]
= '';
$value =
$selected[$efarr[$i]['extra_field_id']];
+ $type = $efarr[$i]['field_type'];
- if ($efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_SELECT ||
- $efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_CHECKBOX ||
- $efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_RADIO ||
- $efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_STATUS ||
- $efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_MULTISELECT) {
+ if ($type == ARTIFACT_EXTRAFIELDTYPE_SELECT ||
+ $type ==
ARTIFACT_EXTRAFIELDTYPE_CHECKBOX ||
+ $type == ARTIFACT_EXTRAFIELDTYPE_RADIO
||
+ $type == ARTIFACT_EXTRAFIELDTYPE_STATUS
||
+ $type ==
ARTIFACT_EXTRAFIELDTYPE_MULTISELECT) {
if ($value == 100) {
$value =
$efarr[$i]['show100label'];
} else {
@@ -228,13 +230,15 @@ class ArtifactTypeHtml extends ArtifactType {
}
$value = join('<br />', $new);
}
- } elseif ($efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_TEXT ||
- $efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_TEXTAREA) {
+ } elseif ($type == ARTIFACT_EXTRAFIELDTYPE_TEXT
||
+ $type ==
ARTIFACT_EXTRAFIELDTYPE_TEXTAREA) {
$value =
preg_replace('/((http|https|ftp):\/\/\S+)/',
"<a
href=\"\\1\" target=\"_blank\">\\1</a>", $value);
- } elseif ($efarr[$i]['field_type'] ==
ARTIFACT_EXTRAFIELDTYPE_RELATION) {
+ } elseif ($type ==
ARTIFACT_EXTRAFIELDTYPE_RELATION) {
// Convert artifact id to links.
$value =
preg_replace_callback('/\b(\d+)\b/', create_function('$matches', 'return
_artifactid2url($matches[1], \'title\');'), $value);
+ } elseif ($type ==
ARTIFACT_EXTRAFIELDTYPE_DATETIME && $value!='') {
+ $value = date('Y-m-d H:i', $value);
}
$template =
str_replace('{$PostName:'.$efarr[$i]['field_name'].'}', $post_name, $template);
$template =
str_replace('{$'.$efarr[$i]['field_name'].'}', $value, $template);
@@ -977,7 +981,10 @@ class ArtifactTypeHtml extends ArtifactType {
* @return string datetime.
*/
function renderDatetime($extra_field_id, $datetime, $attrs = array()) {
- return html_e('input', array_merge(array('type'=>'text',
'class'=>'datetimepicker'), $attrs));
+ if (!$datetime=='') {
+ $datetime = date('Y-m-d H:i',$datetime);
+ }
+ return html_e('input', array_merge(array('type'=>'text',
'name'=>'extra_fields['.$extra_field_id.']', 'class'=>'datetimepicker',
'value'=>$datetime),$attrs));
}
function technicianBox
($name='assigned_to[]',$checked='xzxz',$show_100=true,$text_100='none',$extra_id='-1',$extra_name='',$multiple=false)
{
diff --git a/src/www/include/jquery_plugins.php
b/src/www/include/jquery_plugins.php
index 2f127d3..a075a4c 100644
--- a/src/www/include/jquery_plugins.php
+++ b/src/www/include/jquery_plugins.php
@@ -28,6 +28,6 @@ function init_datetimepicker() {
if (!in_array($language_code,array('en-GB','pt-BR','sr-YU','zh-TW'))) {
$language_code = substr($language_code, 0, 2);
}
- $javascript = "$.datetimepicker.setLocale('".$language_code."');
$('.datetimepicker').datetimepicker();";
+ $javascript = "$.datetimepicker.setLocale('".$language_code."');
$('.datetimepicker').datetimepicker({format:'Y-m-d H:i'});";
return html_e('script', array( 'type'=>'text/javascript'),
'//<![CDATA['."\n".'$(function(){'.$javascript.'});'."\n".'//]]>');
}
-----------------------------------------------------------------------
Summary of changes:
src/common/tracker/Artifact.class.php | 7 ++++-
src/common/tracker/ArtifactExtraField.class.php | 4 ---
.../tracker/include/ArtifactTypeHtml.class.php | 35 +++++++++++++---------
src/www/include/jquery_plugins.php | 2 +-
4 files changed, 28 insertions(+), 20 deletions(-)
hooks/post-receive
--
FusionForge
_______________________________________________
Fusionforge-commits mailing list
[email protected]
http://lists.fusionforge.org/cgi-bin/mailman/listinfo/fusionforge-commits