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 fb8430bd634aa4da577a614f684ceb4504174c0c (commit)
from 4dcb2d82d4320690c667273f874a4e3a5f0d779a (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=fb8430bd634aa4da577a614f684ceb4504174c0c
commit fb8430bd634aa4da577a614f684ceb4504174c0c
Author: Stéphane-Eymeric Bredthauer <[email protected]>
Date: Tue Nov 15 19:22:02 2016 +0100
Tracker: no extrafeild default value= no data in db
diff --git a/src/common/tracker/ArtifactExtraField.class.php
b/src/common/tracker/ArtifactExtraField.class.php
index 4b27221..1ab000e 100644
--- a/src/common/tracker/ArtifactExtraField.class.php
+++ b/src/common/tracker/ArtifactExtraField.class.php
@@ -50,7 +50,7 @@ define('ARTIFACT_EXTRAFIELDTYPE_RELEASE',16);
define ("ARTIFACT_EXTRAFIELDTYPE_SINGLECHOICETYPE", serialize (array
(ARTIFACT_EXTRAFIELDTYPE_SELECT, ARTIFACT_EXTRAFIELDTYPE_RADIO,
ARTIFACT_EXTRAFIELDTYPE_STATUS)));
define ("ARTIFACT_EXTRAFIELDTYPE_MULTICHOICETYPE", serialize (array
(ARTIFACT_EXTRAFIELDTYPE_CHECKBOX, ARTIFACT_EXTRAFIELDTYPE_MULTISELECT)));
define ("ARTIFACT_EXTRAFIELDTYPE_CHOICETYPE", serialize
(array_merge(unserialize(ARTIFACT_EXTRAFIELDTYPE_SINGLECHOICETYPE),
unserialize(ARTIFACT_EXTRAFIELDTYPE_MULTICHOICETYPE))));
-define ("ARTIFACT_EXTRAFIELDTYPE_SPECALCHOICETYPE", serialize(array(
ARTIFACT_EXTRAFIELDTYPE_USER )));
+define ("ARTIFACT_EXTRAFIELDTYPE_SPECALCHOICETYPE",
serialize(array(ARTIFACT_EXTRAFIELDTYPE_USER,
ARTIFACT_EXTRAFIELDTYPE_RELEASE)));
define ("ARTIFACT_EXTRAFIELDTYPE_VALUETYPE", serialize (array
(ARTIFACT_EXTRAFIELDTYPE_TEXT,ARTIFACT_EXTRAFIELDTYPE_TEXTAREA,ARTIFACT_EXTRAFIELDTYPE_RELATION,ARTIFACT_EXTRAFIELDTYPE_INTEGER,ARTIFACT_EXTRAFIELDTYPE_FORMULA,ARTIFACT_EXTRAFIELDTYPE_DATETIME)));
class ArtifactExtraField extends FFError {
@@ -527,17 +527,21 @@ class ArtifactExtraField extends FFError {
}
}
} elseif (is_integer($default)) {
- $efe = new ArtifactExtraFieldElement($this,
$default);
- if (!$efe || !is_object($efe)) {
- if (is_object($efe)) {
- $this->setError(_('Unable to
create extra field element').' (id='.$default.')
'._(':').$efe->getErrorMessage());
- } else {
- $this->setError(_('Unable to
create extra field element'.' (id='.$default.')'));
+ if ($default == '100') {
+ $return = $this->resetDefaultValues();
+ } else {
+ $efe = new
ArtifactExtraFieldElement($this, $default);
+ if (!$efe || !is_object($efe)) {
+ if (is_object($efe)) {
+
$this->setError(_('Unable to create extra field element').' (id='.$default.')
'._(':').$efe->getErrorMessage());
+ } else {
+
$this->setError(_('Unable to create extra field element'.' (id='.$default.')'));
+ }
+ $return = false;
+ } elseif
(!$efe->update($efe->getName(), $efe->getStatusID(), $efe->getAutoAssignto(),
true)) {
+ $this->setError(_('Unable to
update extra field element').' '.$efe->getName().'
'._(':').$efe->getErrorMessage());
+ $return = false;
}
- $return = false;
- } elseif (!$efe->update($efe->getName(),
$efe->getStatusID(), $efe->getAutoAssignto(), true)) {
- $this->setError(_('Unable to update
extra field element').' '.$efe->getName().' '._(':').$efe->getErrorMessage());
- $return = false;
}
} else {
$this->setError(_('Unable to set default
value')._(':').$default);
@@ -545,36 +549,47 @@ class ArtifactExtraField extends FFError {
}
} elseif (in_array($type,
unserialize(ARTIFACT_EXTRAFIELDTYPE_SINGLECHOICETYPE))) {
if (is_integer($default)) {
- $efe = new ArtifactExtraFieldElement($this,
$default);
- if (!$efe || !is_object($efe)) {
- if (is_object($efe)) {
- $this->setError(_('Unable to
create extra field element').' (id='.$default.')
'._(':').$efe->getErrorMessage());
- } else {
- $this->setError(_('Unable to
create extra field element'.' (id='.$default.')'));
+ if ($default == '100') {
+ $return = $this->resetDefaultValues();
+ } else {
+ $efe = new
ArtifactExtraFieldElement($this, $default);
+ if (!$efe || !is_object($efe)) {
+ if (is_object($efe)) {
+
$this->setError(_('Unable to create extra field element').' (id='.$default.')
'._(':').$efe->getErrorMessage());
+ } else {
+
$this->setError(_('Unable to create extra field element'.' (id='.$default.')'));
+ }
+ $return = false;
+ } elseif
(!$efe->update($efe->getName(), $efe->getStatusID(), $efe->getAutoAssignto(),
true)) {
+ $this->setError(_('Unable to
update extra field element').' '.$efe->getName().'
'._(':').$efe->getErrorMessage());
+ $return = false;
}
- $return = false;
- } elseif (!$efe->update($efe->getName(),
$efe->getStatusID(), $efe->getAutoAssignto(), true)) {
- $this->setError(_('Unable to update
extra field element').' '.$efe->getName().' '._(':').$efe->getErrorMessage());
- $return = false;
}
} else {
$this->setError(_('Unable to set default
value')._(':').$default);
$return = false;
}
- } elseif (in_array($type,
unserialize(ARTIFACT_EXTRAFIELDTYPE_VALUETYPE)) || $type ==
ARTIFACT_EXTRAFIELDTYPE_USER || $type == ARTIFACT_EXTRAFIELDTYPE_RELEASE) {
- $efID = $this->getID();
- $res = db_query_params ('SELECT default_value FROM
artifact_extra_field_default WHERE extra_field_id=$1',
- array ($efID)) ;
- if (db_numrows($res) > 0) {
- $res = db_query_params ('UPDATE
artifact_extra_field_default SET default_value = $1 WHERE extra_field_id=$2',
- array ($default, $efID));
+ } elseif (in_array($type,
unserialize(ARTIFACT_EXTRAFIELDTYPE_VALUETYPE)) || in_array($type,
unserialize(ARTIFACT_EXTRAFIELDTYPE_SPECALCHOICETYPE))) {
+ if
(in_array($type,unserialize(ARTIFACT_EXTRAFIELDTYPE_SPECALCHOICETYPE)) &&
$default=='100' ||
+ $type==ARTIFACT_EXTRAFIELDTYPE_INTEGER
&& $default=='0' ||
+ $type==ARTIFACT_EXTRAFIELDTYPE_TEXT &&
trim($default)=='' ||
+ $type==ARTIFACT_EXTRAFIELDTYPE_TEXTAREA
&& trim($default)=='') {
+ $return = $this->resetDefaultValues();
} else {
- $res = db_query_params ('INSERT INTO
artifact_extra_field_default (extra_field_id, default_value) VALUES ($1,$2)',
- array ($efID, $default)) ;
- }
- if (!$res) {
- $this->setError(db_error());
- $return = false;
+ $efID = $this->getID();
+ $res = db_query_params ('SELECT default_value
FROM artifact_extra_field_default WHERE extra_field_id=$1',
+ array ($efID)) ;
+ if (db_numrows($res) > 0) {
+ $res = db_query_params ('UPDATE
artifact_extra_field_default SET default_value = $1 WHERE extra_field_id=$2',
+ array ($default,
$efID));
+ } else {
+ $res = db_query_params ('INSERT INTO
artifact_extra_field_default (extra_field_id, default_value) VALUES ($1,$2)',
+ array ($efID,
$default)) ;
+ }
+ if (!$res) {
+ $this->setError(db_error());
+ $return = false;
+ }
}
}
return $return;
@@ -586,19 +601,13 @@ class ArtifactExtraField extends FFError {
* @return boolean
*/
function resetDefaultValues() {
- $type = $this->getType();
- $return = true;
- if (in_array($type, ARTIFACT_EXTRAFIELDTYPE_SPECALCHOICETYPE)) {
- //drop fake artifact_extra_field_elements set with
is_default = 1
- } elseif (in_array($type,
unserialize(ARTIFACT_EXTRAFIELDTYPE_MULTICHOICETYPE)) || in_array($type,
unserialize(ARTIFACT_EXTRAFIELDTYPE_SINGLECHOICETYPE))) {
- $result = db_query_params ('DELETE FROM
artifact_extra_field_default WHERE extra_field_id = $1',
- array ($this->getID()));
- if (!$result) {
- $this->setError(db_error());
- $return = false;
- }
- } elseif (in_array($type,
unserialize(ARTIFACT_EXTRAFIELDTYPE_VALUETYPE))) {
- //drop fake artifact_extra_field_elements set with
is_default = 1
+ $result = db_query_params ('DELETE FROM
artifact_extra_field_default WHERE extra_field_id = $1',
+ array ($this->getID()));
+ if (!$result) {
+ $this->setError(db_error());
+ $return = false;
+ } else {
+ $return = true;
}
return $return;
}
diff --git a/src/common/tracker/actions/admin-updates.php
b/src/common/tracker/actions/admin-updates.php
index 03d3470..38ac319 100644
--- a/src/common/tracker/actions/admin-updates.php
+++ b/src/common/tracker/actions/admin-updates.php
@@ -267,12 +267,14 @@ if (getStringFromRequest('add_extrafield')) {
$error_msg .= _('Update failed')._(':
').$ac->getErrorMessage();
$ac->clearError();
} else {
- if($default && !$ac->setDefaultValues($default)){
- $error_msg .= _('Update failed')._(':
').$ac->getErrorMessage();
- $ac->clearError();
- } else {
- $feedback .= _('Custom Field updated');
- $next = 'add_extrafield';
+ if($default!==false) {
+ if (!$ac->setDefaultValues($default)){
+ $error_msg .= _('Update failed')._(':
').$ac->getErrorMessage();
+ $ac->clearError();
+ } else {
+ $feedback .= _('Custom Field updated');
+ $next = 'add_extrafield';
+ }
}
}
}
@@ -634,29 +636,15 @@ if (getStringFromRequest('add_extrafield')) {
} elseif ($ac->isError()) {
$error_msg .= $ac->getErrorMessage();
} else {
- $updated_flag = 0;
if (in_array($ac->getType(),
unserialize(ARTIFACT_EXTRAFIELDTYPE_SINGLECHOICETYPE))) {
- $id = getIntFromRequest('is_default');
- if ($id == 100) {
- if (!$ac->resetDefaultValues()) {
- $feedback .= _('Tracker Updated');
- } else {
- $error_msg .= _('Update failed')._(':
').$ac->getErrorMessage();
- }
- } else {
- if ($ac->setDefaultValues($id)) {
- $feedback .= _('Tracker Updated');
- } else {
- $error_msg .= _('Update failed')._(':
').$ac->getErrorMessage();
- }
- }
+ $is_default = getIntFromRequest('is_default');
} else {
$is_default = getArrayFromRequest('is_default');
- if ($ac->setDefaultValues($is_default)) {
- $feedback .= _('Tracker Updated');
- } else {
- $error_msg .= _('Update failed')._(':
').$ac->getErrorMessage();
- }
+ }
+ if ($ac->setDefaultValues($is_default)) {
+ $feedback .= _('Default value(s) Updated');
+ } else {
+ $error_msg .= _('Update default value(s) failed')._(':
').$ac->getErrorMessage();
}
}
-----------------------------------------------------------------------
Summary of changes:
src/common/tracker/ArtifactExtraField.class.php | 103 +++++++++++++-----------
src/common/tracker/actions/admin-updates.php | 40 ++++-----
2 files changed, 70 insertions(+), 73 deletions(-)
hooks/post-receive
--
FusionForge
_______________________________________________
Fusionforge-commits mailing list
[email protected]
http://lists.fusionforge.org/cgi-bin/mailman/listinfo/fusionforge-commits