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 .=
' '.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