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  43c8745eaf02c0b492c2113e09aa0b666d5aaf80 (commit)
       via  0977fb08296f71ed69022219d7fc9a573d136712 (commit)
       via  7d0828845ead25dd093f55e997574818e55e47ca (commit)
       via  724191bfb64d0cacb625df3e9536991537961fec (commit)
      from  f05d96fe27e748e388ab65558639649020ba0084 (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=43c8745eaf02c0b492c2113e09aa0b666d5aaf80

commit 43c8745eaf02c0b492c2113e09aa0b666d5aaf80
Author: Franck Villaume <[email protected]>
Date:   Sat Mar 18 11:31:12 2017 +0100

    fix formula in priority when new submit

diff --git a/src/common/widget/Widget_TrackerMain.class.php 
b/src/common/widget/Widget_TrackerMain.class.php
index 97ae654..abd9637 100644
--- a/src/common/widget/Widget_TrackerMain.class.php
+++ b/src/common/widget/Widget_TrackerMain.class.php
@@ -3,6 +3,7 @@
  * Main Tracker Content Widget Class
  *
  * Copyright 2016, Franck Villaume - TrivialDev
+ * Copyright 2017, Stephane-Eymeric Bredthauer - TrivialDev
  * http://fusionforge.org
  *
  * This file is a part of Fusionforge.
@@ -89,14 +90,14 @@ class Widget_TrackerMain extends Widget {
                $cells[][] = html_e('strong', array(), _('Assigned to')._(': 
'));
                if (forge_check_perm('tracker', $atid, 'manager')) {
                        if (in_array('assigned_to', $fieldInFormula)) {
-                               $techBoxClass = 'in-formula';
+                               $class = 'in-formula';
                        } else {
-                               $techBoxClass = '';
+                               $class = '';
                        }
                        if ($func == 'detail') {
-                               $cells[][] = $ath->technicianBox('assigned_to', 
$ah->getAssignedTo(), true, 'none', -1, '', false, array('form' => 
'trackerform', 'class'=>$class));
+                               $cells[][] = $ath->technicianBox('assigned_to', 
$ah->getAssignedTo(), true, 'none', -1, '', false, array('form' => 
'trackerform', 'class' => $class));
                        } else {
-                               $cells[][] = $ath->technicianBox('assigned_to', 
$assigned_to, true, 'none', -1, '', false, array('form' => 'trackerform', 
'class'=>$class));
+                               $cells[][] = $ath->technicianBox('assigned_to', 
$assigned_to, true, 'none', -1, '', false, array('form' => 'trackerform', 
'class' => $class));
                        }
                } else {
                        $cells[][] = $ah->getAssignedRealName().' 
('.$ah->getAssignedUnixName().')';
@@ -112,9 +113,9 @@ class Widget_TrackerMain extends Widget {
                                        $class = '';
                                }
                                if ($func == 'detail') {
-                                       $cells[][] = 
$ath->statusBox('status_id', $ah->getStatusID(), false, '', array('form' => 
'trackerform', 'class'=>$class));
+                                       $cells[][] = 
$ath->statusBox('status_id', $ah->getStatusID(), false, '', array('form' => 
'trackerform', 'class' => $class));
                                } else {
-                                       $cells[][] = 
$ath->statusBox('status_id', 'xzxz', false, '', array('form' => 'trackerform', 
'class'=>$class));
+                                       $cells[][] = 
$ath->statusBox('status_id', 'xzxz', false, '', array('form' => 'trackerform', 
'class' => $class));
                                }
                        } else {
                                $cells[][] = $ah->getStatusName();
@@ -124,15 +125,15 @@ class Widget_TrackerMain extends Widget {
                $cells = array();
                $cells[][] = html_e('strong', array(), _('Priority')._(': '));
                if (forge_check_perm('tracker', $atid, 'manager')) {
+                       if (in_array('priority', $fieldInFormula)) {
+                               $class = 'in-formula';
+                       } else {
+                               $class = '';
+                       }
                        if ($func == 'detail') {
-                               if (in_array('priority', $fieldInFormula)) {
-                                       $class = 'in-formula';
-                               } else {
-                                       $class = '';
-                               }
-                               $cells[][] = $ath->priorityBox('priority', 
$ah->getPriority(), false, array('form' => 'trackerform', 'class'=>$class));
+                               $cells[][] = $ath->priorityBox('priority', 
$ah->getPriority(), false, array('form' => 'trackerform', 'class' => $class));
                        } else {
-                               $cells[][] = $ath->priorityBox('priority', 
$priority, false, array('form' => 'trackerform', 'class'=>$class));
+                               $cells[][] = $ath->priorityBox('priority', 
$priority, false, array('form' => 'trackerform', 'class' => $class));
                        }
                } else {
                        $cells[][] = $ah->getPriority();

https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=0977fb08296f71ed69022219d7fc9a573d136712

commit 0977fb08296f71ed69022219d7fc9a573d136712
Author: Franck Villaume <[email protected]>
Date:   Sat Mar 18 11:30:32 2017 +0100

    copyright

diff --git a/src/common/widget/Widget_TrackerContent.class.php 
b/src/common/widget/Widget_TrackerContent.class.php
index 144580a..32f1073 100644
--- a/src/common/widget/Widget_TrackerContent.class.php
+++ b/src/common/widget/Widget_TrackerContent.class.php
@@ -3,6 +3,7 @@
  * Generic Tracker Content Widget Class
  *
  * Copyright 2016,2017, Franck Villaume - TrivialDev
+ * Copyright 2017, Stephane-Eymeric Bredthauer - TrivialDev
  * http://fusionforge.org
  *
  * This file is a part of Fusionforge.

https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=7d0828845ead25dd093f55e997574818e55e47ca

commit 7d0828845ead25dd093f55e997574818e55e47ca
Author: Franck Villaume <[email protected]>
Date:   Sat Mar 18 11:30:15 2017 +0100

    coding style

diff --git a/src/common/tracker/ArtifactType.class.php 
b/src/common/tracker/ArtifactType.class.php
index 513ab96..c788dd6 100644
--- a/src/common/tracker/ArtifactType.class.php
+++ b/src/common/tracker/ArtifactType.class.php
@@ -731,12 +731,12 @@ class ArtifactType extends FFError {
        function getFieldsInFormula() {
                $return = array();
                if ($this->usesCustomStatuses()) {
-                       $fields = array( 
'assigned_to','priority','summary','description');
+                       $fields = 
array('assigned_to','priority','summary','description');
                } else {
-                       $fields = array( 
'assigned_to','priority','summary','description','status');
+                       $fields = 
array('assigned_to','priority','summary','description','status');
                }
                $res = db_query_params('SELECT string_agg(formula,chr(10)) FROM 
artifact_extra_field_formula NATURAL INNER JOIN artifact_extra_field_list WHERE 
is_disabled=0 AND group_artifact_id=$1',
-                               array ($this->getID()));
+                                       array($this->getID()));
                if (db_numrows($res) > 0) {
                        $row = db_fetch_array($res);
                        if (preg_match_all("/([a-z]\w*)/m", $row[0], $matches)) 
{

https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=724191bfb64d0cacb625df3e9536991537961fec

commit 724191bfb64d0cacb625df3e9536991537961fec
Author: Stéphane-Eymeric Bredthauer <[email protected]>
Date:   Fri Mar 17 21:47:44 2017 +0100

    Tracker: Formula, internal fields as constants + some fix

diff --git a/src/common/tracker/ArtifactExpression.class.php 
b/src/common/tracker/ArtifactExpression.class.php
index 423f437..356be38 100644
--- a/src/common/tracker/ArtifactExpression.class.php
+++ b/src/common/tracker/ArtifactExpression.class.php
@@ -60,8 +60,8 @@ class ArtifactExpression extends FFError {
 
        public function __construct()
        {
-               $this->functionsDescription = array('in_array'=>_('Test if a 
value is in an (json) array'));
-               $this->functionsDescription = array('datetime_add'=>_('Add to a 
date/time a duration (duration in ISO 8601 Format)'));
+               $this->functionsDescription['in_array'] = _('Test if a value is 
in an (json) array');
+               $this->functionsDescription['datetime_add'] = _('Add to a 
date/time a duration (duration in ISO 8601 Format)');
                $this->expression = new Expression;
                $this->expression->suppress_errors = true;
                $this->expression->fb = array();
@@ -118,7 +118,7 @@ class ArtifactExpression extends FFError {
                if (is_integer($value)) {
                        $expression = $name.'='.$value;
                } else {
-                       $expression = $name.'=\''.$value.'\'';
+                       $expression = $name.'='.json_encode($value);
                }
                $result = $this->expression->evaluate($expression);
                $result = $this->vb[] = $name;
@@ -131,8 +131,17 @@ function expr_in_array($value, $jsonArray) {
 }
 
 function expr_datetime_add($datetime, $interval) {
+       if (!trim($datetime)) {
+               return '';
+       }
        $dateTimeObj = DateTime::createFromFormat(_('Y-m-d H:i'), $datetime);
+       if (!$dateTimeObj) {
+               return '';
+       }
        $intervalObj = new DateInterval($interval);
+       if (!$intervalObj) {
+               return '';
+       }
        $dateTimeObj->add($intervalObj);
        return $dateTimeObj->format(_('Y-m-d H:i'));
 }
diff --git a/src/common/tracker/ArtifactType.class.php 
b/src/common/tracker/ArtifactType.class.php
index c1091da..513ab96 100644
--- a/src/common/tracker/ArtifactType.class.php
+++ b/src/common/tracker/ArtifactType.class.php
@@ -724,6 +724,33 @@ class ArtifactType extends FFError {
        }
 
        /**
+        * getFieldsInFormula - Get array of extra fields used in formula
+        *
+        * @return      array   arrays of data;
+        */
+       function getFieldsInFormula() {
+               $return = array();
+               if ($this->usesCustomStatuses()) {
+                       $fields = array( 
'assigned_to','priority','summary','description');
+               } else {
+                       $fields = array( 
'assigned_to','priority','summary','description','status');
+               }
+               $res = db_query_params('SELECT string_agg(formula,chr(10)) FROM 
artifact_extra_field_formula NATURAL INNER JOIN artifact_extra_field_list WHERE 
is_disabled=0 AND group_artifact_id=$1',
+                               array ($this->getID()));
+               if (db_numrows($res) > 0) {
+                       $row = db_fetch_array($res);
+                       if (preg_match_all("/([a-z]\w*)/m", $row[0], $matches)) 
{
+                               foreach ($fields as $field) {
+                                       if (in_array($field,$matches[0])) {
+                                               $return[]=$field;
+                                       }
+                               }
+                       }
+               }
+               return $return;
+       }
+
+       /**
         * getExtraFieldsWithFormula - Get array of extra fields with formula
         *
         * @param       array   $types
diff --git a/src/common/tracker/actions/ajax.php 
b/src/common/tracker/actions/ajax.php
index 5311762..6014d81 100644
--- a/src/common/tracker/actions/ajax.php
+++ b/src/common/tracker/actions/ajax.php
@@ -80,6 +80,9 @@ function get_formulas_results($group, $atid, 
$extra_fields=array(), $status='',
        // Constants assignment
        // Internal Fields
        if (!$at->usesCustomStatuses()) {
+               if (!$status) {
+                       $status = $at->getStatusName(1);
+               }
                $expr->setConstant('status', $status);
                if ($expr->isError()) {
                        $ret['message'] = $expr->getErrorMessage()._(':').' 
status=\''.$status.'\'';
@@ -111,6 +114,7 @@ function get_formulas_results($group, $atid, 
$extra_fields=array(), $status='',
                return json_encode($ret);
                exit();
        }
+
        // Extra Fields
        $extraFields = $at->getExtraFields();
        foreach ($extraFields as $extraField) {
@@ -119,11 +123,12 @@ function get_formulas_results($group, $atid, 
$extra_fields=array(), $status='',
                        $type = $extraField['field_type'];
                        if ($type==ARTIFACT_EXTRAFIELDTYPE_INTEGER) {
                                $value = 
(integer)$extra_fields[$extraField['extra_field_id']];
-                       } elseif ($type==ARTIFACT_EXTRAFIELDTYPE_TEXT ||
-                                       $type==ARTIFACT_EXTRAFIELDTYPE_TEXTAREA 
||
-                                       $type==ARTIFACT_EXTRAFIELDTYPE_RELATION 
||
+                       } elseif ($type==ARTIFACT_EXTRAFIELDTYPE_RELATION ||
                                        
$type==ARTIFACT_EXTRAFIELDTYPE_DATETIME) {
                                $value = 
addslashes($extra_fields[$extraField['extra_field_id']]);
+                       } elseif ($type==ARTIFACT_EXTRAFIELDTYPE_TEXT ||
+                                       $type==ARTIFACT_EXTRAFIELDTYPE_TEXTAREA 
) {
+                               $value = 
$extra_fields[$extraField['extra_field_id']];
                        } elseif (in_array($type, 
unserialize(ARTIFACT_EXTRAFIELDTYPEGROUP_SINGLECHOICE))) {
                                $ef = new ArtifactExtraField($at, 
$extraField['extra_field_id']);
                                $efe = new 
ArtifactExtraFieldElement($ef,$extra_fields[$extraField['extra_field_id']] );
diff --git a/src/common/tracker/actions/mod-limited.php 
b/src/common/tracker/actions/mod-limited.php
index b809aef..9fca9bd 100644
--- a/src/common/tracker/actions/mod-limited.php
+++ b/src/common/tracker/actions/mod-limited.php
@@ -120,6 +120,7 @@ echo $HTML->listTableTop(); ?>
 
        <?php
                
$ath->renderExtraFields($ah->getExtraFieldData(),true,'none',false,'Any',array(),false,'UPDATE');
+               $fieldInFormula = $ath->getFieldsInFormula();
        ?>
 
        <tr>
@@ -139,7 +140,13 @@ echo $HTML->listTableTop(); ?>
                <td>
                        <strong><?php echo _('State')._(':'); ?></strong><br />
                        <span id="tracker-status_id" title="<?php echo 
util_html_secure(html_get_tooltip_description('status_id_tracker')) ?>">
-                       <?php echo $ath->statusBox ('status_id', 
$ah->getStatusID() ); ?>
+                       <?php
+                               if (in_array('status', $fieldInFormula)) {
+                                       echo $ath->statusBox('status_id', 
$ah->getStatusID(), false, 'none', array('class'=>'in-formula'));
+                               } else {
+                                       echo $ath->statusBox('status_id', 
$ah->getStatusID());
+                               }
+                       ?>
                        </span>
                </td>
                <td>
diff --git a/src/common/tracker/actions/mod.php 
b/src/common/tracker/actions/mod.php
index 173755f..5f9e714 100644
--- a/src/common/tracker/actions/mod.php
+++ b/src/common/tracker/actions/mod.php
@@ -155,17 +155,28 @@ echo html_build_select_box 
($res,'new_artifact_type_id',$ath->getID(),false);
        </tr>
        <?php
                
$ath->renderExtraFields($ah->getExtraFieldData(),true,'none',false,'Any',array(),false,'UPDATE');
+               $fieldInFormula = $ath->getFieldsInFormula();
        ?>
        <tr>
                <td><strong><?php echo _('Assigned to')._(': ') ?></strong><br 
/>
                <?php
-               echo $ath->technicianBox('assigned_to', $ah->getAssignedTo() );
+               if (in_array('assigned_to', $fieldInFormula)) {
+                       echo $ath->technicianBox('assigned_to', 
$ah->getAssignedTo(), true, 'none', -1, '', false, 
array('class'=>'in-formula'));
+               } else {
+                       echo $ath->technicianBox('assigned_to', 
$ah->getAssignedTo());
+               }
                echo " ";
                echo 
util_make_link('/tracker/admin/?group_id='.$group_id.'&atid='.$ath->getID().'&update_users=1',
 '('._('Admin').')');
                ?>
                </td><td>
                <strong><?php echo _('Priority'). _(': ') ?></strong><br />
-               <?php echo 
build_priority_select_box('priority',$ah->getPriority()); ?>
+               <?php
+               if (in_array('priority', $fieldInFormula)) {
+                       echo $ath->priorityBox('priority',$ah->getPriority(), 
false, array('class'=>'in-formula'));
+               } else {
+                       echo $ath->priorityBox('priority',$ah->getPriority());
+               }
+               ?>
                </td>
        </tr>
 
@@ -173,7 +184,13 @@ echo html_build_select_box 
($res,'new_artifact_type_id',$ath->getID(),false);
        <tr>
                <td>
                        <strong><?php echo _('State')._(': ') ?></strong><br />
-                       <?php echo $ath->statusBox ('status_id', 
$ah->getStatusID() ); ?>
+                       <?php
+                               if (in_array('status', $fieldInFormula)) {
+                                       echo $ath->statusBox('status_id', 
$ah->getStatusID(), false, 'none', array('class'=>'in-formula'));
+                               } else {
+                                       echo $ath->statusBox('status_id', 
$ah->getStatusID());
+                               }
+                       ?>
                </td>
                <td>
                </td>
@@ -182,20 +199,27 @@ echo html_build_select_box 
($res,'new_artifact_type_id',$ath->getID(),false);
        ?>
        <tr>
                <td colspan="2"><strong><?php echo 
_('Summary').utils_requiredField()._(':') ?></strong><br />
-               <input id="tracker-summary" required="required" title="<?php 
echo _('The summary text-box represents a short tracker item summary. Useful 
when browsing through several tracker items.') ?>" type="text" name="summary" 
size="70" value="<?php
-                       echo $ah->getSummary();
-                       ?>" maxlength="255" />
+               <?php if (in_array('summary', $fieldInFormula)) { ?>
+                       <input id="tracker-summary" required="required" 
title="<?php echo _('The summary text-box represents a short tracker item 
summary. Useful when browsing through several tracker items.') ?>" type="text" 
name="summary" size="70" value="<?php
+                               echo $ah->getSummary();
+                               ?>" maxlength="255" class="in-formula"/>
+               <?php } else { ?>
+                       <input id="tracker-summary" required="required" 
title="<?php echo _('The summary text-box represents a short tracker item 
summary. Useful when browsing through several tracker items.') ?>" type="text" 
name="summary" size="70" value="<?php
+                               echo $ah->getSummary();
+                               ?>" maxlength="255" />
+               <?php } ?>
                </td>
        </tr>
        <tr><td colspan="2">
-               <div id="edit" class="hide">
-               <strong><?php echo _('Detailed description') ?><?php echo 
utils_requiredField(); ?><?php echo _(': ') ?><?php echo 
notepad_button('document.forms.trackermodform.description') ?></strong>
-               <br />
-               <textarea id="tracker-description" required="required" 
name="description" rows="30" style="width: 100%" title="<?php echo 
html_get_tooltip_description('description') ?>"><?php echo $ah->getDetails(); 
?></textarea>
-               </div>
-               <div id="show" style="display:block;">
-               <?php echo $ah->showDetails(true); ?>
-               </div>
+
+               <?php
+                       if (in_array('description', $fieldInFormula)) {
+                               echo $ah->showDetails(true, 
array('class'=>'in-formula'));
+                       } else {
+                               echo $ah->showDetails(true);
+                       }
+               ?>
+
        </td></tr>
 <?php echo $HTML->listTableBottom(); ?>
 <div id="tabber" >
diff --git a/src/common/tracker/include/ArtifactTypeHtml.class.php 
b/src/common/tracker/include/ArtifactTypeHtml.class.php
index b944137..f57ae69 100644
--- a/src/common/tracker/include/ArtifactTypeHtml.class.php
+++ b/src/common/tracker/include/ArtifactTypeHtml.class.php
@@ -1347,6 +1347,15 @@ class ArtifactTypeHtml extends ArtifactType {
                return html_build_select_box($this->getStatuses(), $name, 
$checked, $show_100, $text_100, false, '', false, $attrs);
        }
 
+       /**
+        * priorityBox - show the priorities
+        *
+        * @return string       HTML code
+        */
+       function priorityBox($name = 'priority', $checked_val = '3', $nochange 
= false, $attrs = array(), $show_any = false){
+               return html_build_priority_select_box($name, $checked_val, 
$nochange, $attrs, $show_any);
+       }
+
        function javascript() {
                $jsvariable ="
        var invalidSelectMsg = '"._("One or more of the selected options is not 
allowed")."';
@@ -1376,12 +1385,11 @@ class ArtifactTypeHtml extends ArtifactType {
        }).on('keydown', function(event){
                if(event.keyCode !== 9) return false;
        });
-       $(".in-formula[name^='extra_fields']").on('change', function(){
-               
console.log('rtype=ajax&function=get_formulas_results&group_id='+groupId+'&atid='+atId+'&status='+$("select[name='status_id']
 option:selected").text()+'&assigned_to='+$("select[name='assigned_to'] 
option:selected").text()+'&priority='+$("select[name='priority'] 
option:selected").text()+'&summary='+$('input#tracker-summary').val()+'&description='+$('textarea#tracker-description').val()+'&'+$("[name^='extra_fields']"
 ).serialize());
+       $(".in-formula").on('change', function(){
                $.ajax({
                        type: 'POST',
                        url: 'index.php',
-                       data: 
'rtype=ajax&function=get_formulas_results&group_id='+groupId+'&atid='+atId+'&status='+$("select[name='status_id']
 option:selected").text()+'&assigned_to='+$("select[name='assigned_to'] 
option:selected").text()+'&priority='+$("select[name='priority'] 
option:selected").text()+'&summary='+$('input#tracker-summary').val()+'&description='+$('textarea#tracker-description').val()+'&'+$("[name^='extra_fields']"
 ).serialize(),
+                       data: 
'rtype=ajax&function=get_formulas_results&group_id='+groupId+'&atid='+atId+'&status='+$("select[name='status_id']
 option:selected").text()+'&assigned_to='+$("select[name='assigned_to'] 
option:selected").text()+'&priority='+$("select[name='priority'] 
option:selected").text()+'&'+$("[name^='extra_fields'], #tracker-summary, 
#tracker-description").serialize(),
                        async: false,
                        dataType: 'json',
                        success: function(answer){
diff --git a/src/common/tracker/include/build_submission_form.php 
b/src/common/tracker/include/build_submission_form.php
index 0b64383..36e15e5 100644
--- a/src/common/tracker/include/build_submission_form.php
+++ b/src/common/tracker/include/build_submission_form.php
@@ -58,32 +58,46 @@ function artifact_submission_form($ath, $group, 
$summary='', $details='', $assig
 
        
$ath->renderExtraFields($extra_fields,true,'none',false,'Any',array(),false,'NEW');
 
+       $fieldInFormula = $ath->getFieldsInFormula();
+
        if (forge_check_perm ('tracker', $ath->getID(), 'manager')) {
                $content = html_e('strong', array(), _('Assigned 
to')._(':')).html_e('br');
-               $content .= $ath->technicianBox('assigned_to', $assigned_to);
+               if (in_array('assigned_to', $fieldInFormula)) {
+                       $content .= $ath->technicianBox('assigned_to', 
$assigned_to, true, 'none', -1, '', false, array('class'=>'in-formula'));
+               } else {
+                       $content .= $ath->technicianBox('assigned_to', 
$assigned_to);
+               }
                $content .= 
'&nbsp;'.util_make_link('/tracker/admin/?group_id='.$group->getID().'&atid='.$ath->getID().'&update_users=1',
 '('._('Admin').')' );
                $cells = array();
                $cells[][] = $content;
 
                $content = html_e('strong', array(), 
_('Priority')._(':')).html_e('br');
-               if (empty($priority)) {
-                       $content .= html_build_priority_select_box('priority');
+               if (in_array('priority', $fieldInFormula)) {
+                       $content .= $ath->priorityBox('priority',$priority, 
false, array('class'=>'in-formula'));
                } else {
-                       $content .= 
html_build_priority_select_box('priority',$priority);
+                       $content .= $ath->priorityBox('priority',$priority);
                }
                $cells[][] = $content;
 
                echo $HTML->multiTableRow(array(), $cells);
        }
        $content = html_e('strong', array(), 
_('Summary').utils_requiredField()._(':')).html_e('br');
-       $content .= html_e('input', array('id'=>'tracker-summary', 
'value'=>$summary, 'required'=>'required', 'type'=>'text', 'name'=>'summary', 
'size'=>'80', 'maxlength'=>'255', 
'title'=>util_html_secure(html_get_tooltip_description('summary'))));
+       if (in_array('summary', $fieldInFormula)) {
+               $content .= html_e('input', array('id'=>'tracker-summary', 
'value'=>$summary, 'required'=>'required', 'type'=>'text', 'name'=>'summary', 
'size'=>'80', 'maxlength'=>'255', 
'title'=>util_html_secure(html_get_tooltip_description('summary')), 
'class'=>'in-formula'));
+       } else {
+               $content .= html_e('input', array('id'=>'tracker-summary', 
'value'=>$summary, 'required'=>'required', 'type'=>'text', 'name'=>'summary', 
'size'=>'80', 'maxlength'=>'255', 
'title'=>util_html_secure(html_get_tooltip_description('summary'))));
+       }
        $cells = array();
        $cells[] = array($content, 'colspan'=>'2');
        echo $HTML->multiTableRow(array(), $cells);
 
        $content = html_e('strong', array(), _('Detailed 
description').utils_requiredField()._(':'));
        $content .= 
notepad_button('document.forms.trackeraddform.details').html_e('br');
-       $content .= html_e('textarea', array('id'=>'tracker-description', 
'required'=>'required', 'name'=>'details', 'rows'=>'20', 'style'=>'width: 
100%', 'title'=>util_html_secure(html_get_tooltip_description('description'))), 
$details, false);
+       if (in_array('description', $fieldInFormula)) {
+               $content .= html_e('textarea', 
array('id'=>'tracker-description', 'required'=>'required', 'name'=>'details', 
'rows'=>'20', 'class'=>'fullwidth in-formula', 
'title'=>util_html_secure(html_get_tooltip_description('description'))), 
$details, false);
+       } else {
+               $content .= html_e('textarea', 
array('id'=>'tracker-description', 'required'=>'required', 'name'=>'details', 
'rows'=>'20', 'class'=>'fullwidth', 
'title'=>util_html_secure(html_get_tooltip_description('description'))), 
$details, false);
+       }
        $cells = array();
        $cells[] = array($content, 'colspan'=>'2');
        echo $HTML->multiTableRow(array(), $cells);
diff --git a/src/common/tracker/views/form-editformula.php 
b/src/common/tracker/views/form-editformula.php
index 1ef8926..4845720 100644
--- a/src/common/tracker/views/form-editformula.php
+++ b/src/common/tracker/views/form-editformula.php
@@ -65,7 +65,7 @@ $efarr [] = array('field_name'=>'Summary','alias'=>'summary', 
'field_type'=>ARTI
 $efarr [] = array('field_name'=>'Detailed description','alias'=>'description', 
'field_type'=>ARTIFACT_EXTRAFIELDTYPE_TEXTAREA, 'extra_field_id'=>0);
 
 if (!$ath->usesCustomStatuses()) {
-       $efarr [] = array('field_name'=>'Status','alias'=>'status', 
'field_type'=>'');
+       $efarr [] = array('field_name'=>'Status','alias'=>'status', 
'field_type'=>ARTIFACT_EXTRAFIELDTYPE_STATUS);
 }
 
 usort($efarr, function($a, $b) {
diff --git a/src/common/widget/Widget_TrackerMain.class.php 
b/src/common/widget/Widget_TrackerMain.class.php
index 26ac07d..97ae654 100644
--- a/src/common/widget/Widget_TrackerMain.class.php
+++ b/src/common/widget/Widget_TrackerMain.class.php
@@ -63,6 +63,7 @@ class Widget_TrackerMain extends Widget {
                $return = $HTML->listTableTop();
                $i = 0;
                $atf = new ArtifactTypeFactory ($group);
+               $fieldInFormula = $ath->getFieldsInFormula();
                $cells = array();
                if (forge_check_perm('tracker', $atid, 'manager') && ($func == 
'detail')) {
                        $tids = array();
@@ -87,10 +88,15 @@ class Widget_TrackerMain extends Widget {
                $cells = array();
                $cells[][] = html_e('strong', array(), _('Assigned to')._(': 
'));
                if (forge_check_perm('tracker', $atid, 'manager')) {
+                       if (in_array('assigned_to', $fieldInFormula)) {
+                               $techBoxClass = 'in-formula';
+                       } else {
+                               $techBoxClass = '';
+                       }
                        if ($func == 'detail') {
-                               $cells[][] = $ath->technicianBox('assigned_to', 
$ah->getAssignedTo(), true, 'none', -1, '', false, array('form' => 
'trackerform'));
+                               $cells[][] = $ath->technicianBox('assigned_to', 
$ah->getAssignedTo(), true, 'none', -1, '', false, array('form' => 
'trackerform', 'class'=>$class));
                        } else {
-                               $cells[][] = $ath->technicianBox('assigned_to', 
$assigned_to, true, 'none', -1, '', false, array('form' => 'trackerform'));
+                               $cells[][] = $ath->technicianBox('assigned_to', 
$assigned_to, true, 'none', -1, '', false, array('form' => 'trackerform', 
'class'=>$class));
                        }
                } else {
                        $cells[][] = $ah->getAssignedRealName().' 
('.$ah->getAssignedUnixName().')';
@@ -100,10 +106,15 @@ class Widget_TrackerMain extends Widget {
                        $cells = array();
                        $cells[][] = html_e('strong', array(), _('State')._(': 
'));
                        if (forge_check_perm('tracker', $atid, 'tech')) {
+                               if (in_array('status', $fieldInFormula)) {
+                                       $class = 'in-formula';
+                               } else {
+                                       $class = '';
+                               }
                                if ($func == 'detail') {
-                                       $cells[][] = 
$ath->statusBox('status_id', $ah->getStatusID(), false, '', array('form' => 
'trackerform'));
+                                       $cells[][] = 
$ath->statusBox('status_id', $ah->getStatusID(), false, '', array('form' => 
'trackerform', 'class'=>$class));
                                } else {
-                                       $cells[][] = 
$ath->statusBox('status_id', 'xzxz', false, '', array('form' => 'trackerform'));
+                                       $cells[][] = 
$ath->statusBox('status_id', 'xzxz', false, '', array('form' => 'trackerform', 
'class'=>$class));
                                }
                        } else {
                                $cells[][] = $ah->getStatusName();
@@ -114,9 +125,14 @@ class Widget_TrackerMain extends Widget {
                $cells[][] = html_e('strong', array(), _('Priority')._(': '));
                if (forge_check_perm('tracker', $atid, 'manager')) {
                        if ($func == 'detail') {
-                               $cells[][] = 
build_priority_select_box('priority', $ah->getPriority(), false, array('form' 
=> 'trackerform'));
+                               if (in_array('priority', $fieldInFormula)) {
+                                       $class = 'in-formula';
+                               } else {
+                                       $class = '';
+                               }
+                               $cells[][] = $ath->priorityBox('priority', 
$ah->getPriority(), false, array('form' => 'trackerform', 'class'=>$class));
                        } else {
-                               $cells[][] = 
build_priority_select_box('priority', $priority, false, array('form' => 
'trackerform'));
+                               $cells[][] = $ath->priorityBox('priority', 
$priority, false, array('form' => 'trackerform', 'class'=>$class));
                        }
                } else {
                        $cells[][] = $ah->getPriority();
diff --git a/src/common/widget/Widget_TrackerSummary.class.php 
b/src/common/widget/Widget_TrackerSummary.class.php
index 4667e8f..143d2f9 100644
--- a/src/common/widget/Widget_TrackerSummary.class.php
+++ b/src/common/widget/Widget_TrackerSummary.class.php
@@ -61,6 +61,8 @@ class Widget_TrackerSummary extends Widget {
                global $summary;
                global $details;
 
+               $fieldInFormula = $ath->getFieldsInFormula();
+
                $return = '';
                $inputAttrs = array('form' => 'trackerform', 'type' => 'text', 
'name' => 'summary', 'style' => 'width:99%', 'value' => $summary);
                if ($func == 'detail') {
@@ -78,20 +80,29 @@ class Widget_TrackerSummary extends Widget {
                        $inputAttrs['required'] = 'required';
                        $requiredInfo = utils_requiredField();
                }
+               if (in_array('summary', $fieldInFormula)) {
+                       $inputAttrs['class'] = 'in-formula';
+               }
                $return .= html_e('p', array(), _('Summary')._(': 
').$requiredInfo.html_e('input', $inputAttrs));
+
+               if (in_array('description', $fieldInFormula)) {
+                       $class = 'in-formula';
+               } else {
+                       $class = '';
+               }
                if ($func == 'detail') {
                        if (forge_check_perm('tracker', $atid, 'manager')) {
                                $editable = true;
                        } else {
                                $editable = false;
                        }
-                       $return .= $ah->showDetails($editable, array('form' => 
'trackerform'));
+                       $return .= $ah->showDetails($editable, array('form' => 
'trackerform', 'class'=>$class));
                } elseif ($func == 'add') {
                        $return .= notepad_func();
                        $return .= $HTML->listTableTop();
                        $content = html_e('strong', array(), _('Detailed 
description').$requiredInfo._(':'));
                        $content .= 
notepad_button('document.forms.trackerform.details');
-                       $content .= html_e('textarea', array('form' => 
'trackerform', 'id'=>'tracker-description', 'required'=>'required', 
'name'=>'details', 'rows'=>'20', 'style'=>'box-sizing: border-box; width: 
100%', 'title'=>util_html_secure(html_get_tooltip_description('description'))), 
$details, false);
+                       $content .= html_e('textarea', array('form' => 
'trackerform', 'id'=>'tracker-description', 'required'=>'required', 
'name'=>'details', 'rows'=>'20', 'class'=>$class, 'style'=>'box-sizing: 
border-box; width: 100%', 
'title'=>util_html_secure(html_get_tooltip_description('description'))), 
$details, false);
                        $cells = array();
                        $cells[][] = $content;
                        $return .= $HTML->multiTableRow(array(), $cells);
diff --git a/src/www/include/expression.php b/src/www/include/expression.php
index e95d2b7..c2c5a5e 100644
--- a/src/www/include/expression.php
+++ b/src/www/include/expression.php
@@ -202,7 +202,6 @@ class Expression {
                 * }
                 */
                $first_argument = false;
-               $ternary = false;
                while ( 1 ) { // 1 Infinite Loop ;)
                        $op = substr ( $expr, $index, 2 ); // get the first two 
characters at the current index
                        if (preg_match ( 
"/^[+\-*\/^_\"<>=%(){\[!~,?:](?!=|~)/", $op ) || preg_match ( "/\w/", $op )) {

-----------------------------------------------------------------------

Summary of changes:
 src/common/tracker/ArtifactExpression.class.php    | 15 +++++--
 src/common/tracker/ArtifactType.class.php          | 27 +++++++++++
 src/common/tracker/actions/ajax.php                | 11 +++--
 src/common/tracker/actions/mod-limited.php         |  9 +++-
 src/common/tracker/actions/mod.php                 | 52 ++++++++++++++++------
 .../tracker/include/ArtifactTypeHtml.class.php     | 14 ++++--
 .../tracker/include/build_submission_form.php      | 26 ++++++++---
 src/common/tracker/views/form-editformula.php      |  2 +-
 src/common/widget/Widget_TrackerContent.class.php  |  1 +
 src/common/widget/Widget_TrackerMain.class.php     | 29 +++++++++---
 src/common/widget/Widget_TrackerSummary.class.php  | 15 ++++++-
 src/www/include/expression.php                     |  1 -
 12 files changed, 162 insertions(+), 40 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