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

Reply via email to