[evolvis-commits] r18261: update to tip of integration branch

mirabilos at evolvis.org mirabilos at evolvis.org
Sat Apr 7 16:11:25 CEST 2012


Author: mirabilos
Date: 2012-04-07 16:11:25 +0200 (Sat, 07 Apr 2012)
New Revision: 18261

Modified:
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/Error.class.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/Group.class.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/config-vars.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/constants.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/exit.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/session.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/mail/MailingList.class.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactExtraField.class.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactType.class.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactWorkflow.class.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/artifact_type_definitions.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/deb-specific/install-chroot.sh
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/debian/changelog
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/debian/evolvis.postinst
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/config.ini.d/defaults.ini
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/local.d/30homegroupother
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/local.inc.example
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/translations/de.po
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/translations/fusionforge.pot
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/utils/fixscripts/populate_template_project.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/utils/migrate-to-ini-files.sh
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/register/index.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/softwaremap/index.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/themes/css/fusionforge.css
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-clonetracker.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-updateextrafield.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-workflow.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/updates.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/include/ArtifactTypeHtml.class.php
   branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/tracker.php
Log:
update to tip of integration branch


Property changes on: branches/QA-2011Q4:evolvis-qs.lan.tarent.de
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/gforge_base/evolvisforge-5.1:7226,17132-17168,17573-17576,17584,17592,17595,17631,17646-17652,17928-17931,17933,17942-17943,18046-18050,18062-18064,18096-18097,18156-18159,18166-18168,18194-18197,18230-18231
/branches/messer-51:17836,17838

   + /trunk/gforge_base/evolvisforge-5.1:7226,17132-17168,17573-17576,17584,17592,17595,17631,17646-17652,17928-17931,17933,17942-17943,18046-18050,18062-18064,18096-18097,18156-18159,18166-18168,18194-18197,18230-18231,18257-18259
/branches/messer-51:17836,17838

Modified: svk:merge
   - 8ed69402-faa4-4b47-986e-66d49b2a90d8:/branches/messer-51:17838
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17168
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17584
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17592
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17595
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17631
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17652
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17933
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17943
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18050
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18064
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18097
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18159
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18168
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18197
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18231
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:7226

   + 8ed69402-faa4-4b47-986e-66d49b2a90d8:/branches/messer-51:17838
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17168
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17584
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17592
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17595
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17631
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17652
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17933
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:17943
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18050
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18064
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18097
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18159
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18168
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18197
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18231
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:18259
8ed69402-faa4-4b47-986e-66d49b2a90d8:/trunk/gforge_base/evolvisforge-5.1:7226


Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/Error.class.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/Error.class.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/Error.class.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -71,6 +71,14 @@
 	 * @param	int	The error code
 	 */
 	function setError($string, $code=ERROR__UNCLASSIFIED_ERROR) {
+		global $sysdebug_enable;
+
+		if (util_ifsetor($sysdebug_enable) &&
+		    forge_get_config('sysdebug_backtraces')) {
+			ffDebug('error', get_class($this) . '::setError("' .
+			    $string . '", ' . $code . ')',
+			    debug_string_backtrace());
+		}
 		$this->error_state=true;
 		$this->error_message=$string;
 		$this->error_code=$code;

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/Group.class.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/Group.class.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/Group.class.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -1675,7 +1675,7 @@
 		//
 		//	Remove all the members
 		//
-		$members =& $this->getMembers();
+		$members = $this->getMembers();
 		foreach ($members as $i) {
 			$this->removeUser($i->getID());
 		}
@@ -1847,7 +1847,7 @@
 		//
 		$sqf = new SurveyQuestionFactory($this);
 		$sq_arr =& $sqf->getSurveyQuestions();
-		foreach ($sq_arr as $i) {
+		if ($sq_arr) foreach ($sq_arr as $i) {
 			if (!is_object($i)) {
 				continue;
 			}
@@ -1866,7 +1866,7 @@
 			if (!is_object($i)) {
 				continue;
 			}
-			if (!$i->delete(1,1)) {
+			if (!$i->delete(2, 2)) {
 				$this->setError(_('Could not properly delete the mailing list'));
 				db_rollback();
 				return false;
@@ -2531,7 +2531,7 @@
 						$t = new ArtifactType ($this) ;
 						$t->create ($this->replaceTemplateStrings($o->getName()),$this->replaceTemplateStrings($o->getDescription()),$o->isPublic(),$o->allowsAnon(),$o->emailAll(),$o->getEmailAddress(),$o->getDuePeriod()/86400,0,$o->getSubmitInstructions(),$o->getBrowseInstructions()) ;
 						$id_mappings['tracker'][$o->getID()] = $t->getID() ;
-						$t->cloneFieldsFrom ($o->getID()) ;
+						$t->cloneFieldsFrom($template, $o->getID());
 					}
 				}
 			}
@@ -2605,7 +2605,7 @@
 				}
 			}
 
-			$this->setUseSCM ($template->usesSCM()) ;
+//			$this->setUseSCM ($template->usesSCM()) ;
 
 			foreach ($template->getPlugins() as $plugin_id => $plugin_name) {
 				$this->setPluginUse ($plugin_name) ;
@@ -3243,36 +3243,36 @@
 
 class ProjectComparator {
 	var $criterion = 'name' ;
+	var $reverse = false ;
 
 	function Compare ($a, $b) {
 		switch ($this->criterion) {
 		case 'name':
 		default:
-			$namecmp = strcoll ($a->getPublicName(), $b->getPublicName()) ;
-			if ($namecmp != 0) {
-				return $namecmp ;
+			$res = strcoll ($a->getPublicName(), $b->getPublicName()) ;
+			if ($res != 0) {
+				break;
 			}
 			/* If several projects share a same public name */
-			return strcoll ($a->getUnixName(), $b->getUnixName()) ;
+			$res = strcoll ($a->getUnixName(), $b->getUnixName()) ;
 			break ;
 		case 'unixname':
-			return strcmp ($a->getUnixName(), $b->getUnixName()) ;
+			$res = strcmp ($a->getUnixName(), $b->getUnixName()) ;
 			break ;
 		case 'id':
 			$aid = $a->getID() ;
 			$bid = $b->getID() ;
-			if ($a == $b) {
-				return 0;
-			}
-			return ($a < $b) ? -1 : 1;
+			$res = ($a == $b) ? 0 : ($a < $b) ? -1 : 1;
 			break ;
 		}
+		return ($this->reverse ? -$res : $res);
 	}
 }
 
-function sortProjectList (&$list, $criterion='name') {
+function sortProjectList (&$list, $criterion='name', $reverse=false) {
 	$cmp = new ProjectComparator () ;
 	$cmp->criterion = $criterion ;
+	$cmp->reverse = $reverse ;
 
 	return usort ($list, array ($cmp, 'Compare')) ;
 }

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/config-vars.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/config-vars.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/config-vars.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -360,11 +360,6 @@
 } else {
 	forge_define_config_item ('peer_rating_group', 'core', 4) ;
 }
-if (isset ($GLOBALS['sys_template_group'])) {
-	forge_define_config_item ('template_group', 'core', $GLOBALS['sys_template_group']) ;
-} else {
-	forge_define_config_item ('template_group', 'core', 5) ;
-}
 if (isset ($GLOBALS['sys_sendmail_path'])) {
 	forge_define_config_item ('sendmail_path', 'core', $GLOBALS['sys_sendmail_path']) ;
 } else {

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/constants.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/constants.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/constants.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -68,7 +68,6 @@
 define('GROUP_IS_STATS', forge_get_config('stats_group'));
 define('GROUP_IS_NEWS', forge_get_config('news_group'));
 define('GROUP_IS_PEER_RATINGS', forge_get_config('peer_rating_group'));
-define('GROUP_IS_TEMPLATE', forge_get_config('template_group'));
 
 /* Admin */
 define('ADMIN_CRONMAN_ROWS', 30);

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/exit.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/exit.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/exit.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -32,7 +32,7 @@
  * @param	string  toptab for navigation bar
  */
 function exit_error($text="", $toptab='') {
-	global $HTML, $group_id, $forge_exit_handler;
+	global $HTML, $group_id, $sysdebug_enable, $forge_exit_handler;
 
 	if ($forge_exit_handler) {
 		$forge_exit_handler($text);
@@ -40,6 +40,10 @@
 	}
 	$HTML->header(array('title'=>_('Exiting with error'), 'group'=>$group_id, 'toptab'=>$toptab));
 	echo $HTML->error_msg(htmlspecialchars($text));
+	if ($sysdebug_enable) echo html_e('div', array(
+		'id' => 'ffBacktrace',
+	    ), str_replace("<br />", '</tt></p><p><tt>', /* suboptimal */
+	    util_ttwrap(htmlspecialchars(debug_string_backtrace()))));
 	$HTML->footer(array());
 	exit;
 }

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/session.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/session.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/include/session.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -566,7 +566,19 @@
 	if (count ($admins) == 0) {
 		exit_error(_('No admin users ?'),'');
 	}
-	session_set_new ($admins[0]->getID());
+	/*
+	 * Use the user with the lowest numerical user ID.
+	 * This is to prevent complaints from real humans
+	 * if the system is doing something in their stead
+	 * (for example by populate_template_project.php).
+	 * Usually, “admin” has the ID 101.
+	 */
+	$admin_ids = array();
+	foreach ($admins as $admin) {
+		$admin_ids[] = $admin->getID();
+	}
+	sort($admin_ids);
+	session_set_new($admin_ids[0]);
 }
 
 /**

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/mail/MailingList.class.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/mail/MailingList.class.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/mail/MailingList.class.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -384,7 +384,8 @@
 	function delete($sure,$really_sure) {
 		$mn = $this->getName();
 		$gn = $this->Group->getUnixName();
-		if ($mn == $gn."-commits" || $mn == $gn."-discuss") {
+		if (($mn == $gn."-commits" || $mn == $gn."-discuss") &&
+		    $sure != 2) {
 			$this->setError(_('Sorry, this mailing list is special and must not be deleted.'), ERROR__PERMISSION_DENIED_ERROR);
 			return false;
 		}

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactExtraField.class.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactExtraField.class.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactExtraField.class.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -35,6 +35,18 @@
 define('ARTIFACT_EXTRAFIELDTYPE_RELATION',9);
 define('ARTIFACT_EXTRAFIELDTYPE_INTEGER',10);
 
+function &ArtifactExtraField_getAvailableValues($id) {
+	$rv = array();
+	$res = db_query_params('SELECT * FROM artifact_extra_field_elements
+		WHERE extra_field_id = $1
+		ORDER BY element_pos ASC, element_id ASC',
+	    array($id));
+	while (($row = db_fetch_array($res))) {
+		$rv[] = $row;
+	}
+	return ($rv);
+}
+
 class ArtifactExtraField extends Error {
 
 	/** 
@@ -172,29 +184,6 @@
 				if (!$this->ArtifactType->setCustomStatusField($id)) {
 					db_rollback();
 					return false;
-				} else {
-					//
-					//	Must insert some default statuses for each artifact
-					//
-					$ao = new ArtifactExtraFieldElement($this);
-					if (!$ao || !is_object($ao)) {
-						$feedback .= 'Unable to create ArtifactExtraFieldElement Object';
-						db_rollback();
-						return false;
-					} else {
-						if (!$ao->create('Open', '1')) {
-							$feedback .= _('Error inserting an element').': '.$ao->getErrorMessage();
-							$ao->clearError();
-							db_rollback();
-							return false;
-						}
-						if (!$ao->create('Closed', '2')) {
-							$feedback .= _('Error inserting an element').': '.$ao->getErrorMessage();
-							$ao->clearError();
-							db_rollback();
-							return false;
-						}
-					}
 				}
 			} elseif (strstr(ARTIFACT_EXTRAFIELD_FILTER_INT,$field_type) !== false) {
 //
@@ -344,12 +333,7 @@
 	 *	@return array
 	 */
 	function getAvailableValues() {
-		$res = db_query_params ('SELECT * FROM artifact_extra_field_elements WHERE extra_field_id=$1',
-					array ($this->getID()));
-		$return = array();
-		while ($row = db_fetch_array($res)) {
-			$return[] = $row;
-		}
+		$return =& ArtifactExtraField_getAvailableValues($this->getID());
 		return $return;
 	}
 
@@ -575,30 +559,42 @@
 	}
 
 	function reorderValues($element_id, $new_pos) {
-
-		$res = db_query_params ('SELECT element_id FROM artifact_extra_field_elements WHERE extra_field_id=$1 ORDER BY element_pos ASC, element_id ASC',
-			array($this->getID()));
-		$max = db_numrows($res);
+		$res =& ArtifactExtraField_getAvailableValues($this->getID());
+		$max = count($res);
 		if ($new_pos < 1 || $new_pos > $max) {
 			$this->setError(_('Out of range value'));
 			return false;
 		}
-		$i = 1;
-		while ($i <= $max) {
-			if ($i == $new_pos) {
-				$data[] = $element_id;
-				$i++;
+		$new_pos--;
+		$cur_pos = -1;
+		for ($i = 0; $i < $max; ++$i) {
+			if ($res[$i]['element_id'] == $element_id) {
+				$cur_pos = $i;
 			}
-			if (($row = db_fetch_array($res)) && $row['element_id'] != $element_id) {
-				$data[] = $row['element_id'];
-				$i++;
+		}
+		if ($cur_pos == -1 || $cur_pos == $new_pos) {
+			/* element not found or already at right position */
+			return true;
+		}
+		$nd = array();
+		$nc = 0;
+		for ($i = 0; $i < $max; ++$i) {
+			if ($i == $cur_pos) {
+				$np = $new_pos;
+			} else {
+				if ($nc == $new_pos) {
+					$nc++;
+				}
+				$np = $nc++;
 			}
+			$nd[$np] = array($i, $res[$i]['element_id']);
 		}
-		for ($i = 0; $i < count($data); $i++) {
-			if (! $this->updateOrder($data[$i], $i + 1))
+		for ($i = 0; $i < $max; ++$i) {
+			if ($nd[$i][0] != $i &&
+			    !$this->updateOrder($nd[$i][1], $i + 1)) {
 				return false;
+			}
 		}
-
 		return true;
 	}
 

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactType.class.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactType.class.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactType.class.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -26,6 +26,7 @@
  */
 
 require_once $gfcommon.'include/Error.class.php';
+require_once $gfcommon.'tracker/ArtifactExtraField.class.php';
 require_once $gfcommon.'tracker/ArtifactExtraFieldElement.class.php';
 
 	/**
@@ -510,7 +511,7 @@
 				$status_id=db_result($res,0,'status_id');
 			} else {
 				// custom status was not passed... use the first status from the database
-				$res = db_query_params ('SELECT status_id FROM artifact_extra_field_elements WHERE extra_field_id=$1 ORDER BY element_id ASC LIMIT 1 OFFSET 0',
+				$res = db_query_params ('SELECT status_id FROM artifact_extra_field_elements WHERE extra_field_id=$1 ORDER BY element_pos ASC, element_id ASC LIMIT 1 OFFSET 0',
 						       array ($csfield)) ;
 				if (db_numrows($res) == 0) {		// No values available
 					$this->setError('Error Remapping Status');
@@ -645,16 +646,7 @@
 	 *
 	 *	@return	boolean	true/false on success
 	 */
-	function cloneFieldsFrom($clone_tracker_id) {
-
-		$g =& group_get_object(forge_get_config('template_group'));
-		if (!$g || !is_object($g)) {
-			$this->setError('Could Not Get Template Group');
-			return false;
-		} elseif ($g->isError()) {
-			$this->setError('Template Group Error '.$g->getErrorMessage());
-			return false;
-		}
+	function cloneFieldsFrom($g, $clone_tracker_id) {
 		$at = new ArtifactType($g,$clone_tracker_id);
 		if (!$at || !is_object($at)) {
 			$this->setError('Could Not Get Tracker To Clone');
@@ -664,8 +656,8 @@
 			return false;
 		}
 		$efs = $at->getExtraFields();
+		ksort($efs);
 
-
 		//
 		//	Iterate list of extra fields
 		//
@@ -673,7 +665,7 @@
 		foreach ($efs as $ef) {
 			//new field in this tracker
 			$nef = new ArtifactExtraField($this);
-			if (!$nef->create( addslashes(util_unconvert_htmlspecialchars($ef['field_name'])), $ef['field_type'], $ef['attribute1'], $ef['attribute2'], $ef['is_required'], $ef['alias'])) {
+			if (!$nef->create(util_unconvert_htmlspecialchars($ef['field_name']), $ef['field_type'], $ef['attribute1'], $ef['attribute2'], $ef['is_required'], $ef['alias'])) {
 				$this->setError('Error Creating New Extra Field: '.$nef->getErrorMessage());
 				db_rollback();
 				return false;
@@ -681,12 +673,11 @@
 			//
 			//	Iterate the elements
 			//
-			$resel = db_query_params ('SELECT * FROM artifact_extra_field_elements WHERE extra_field_id=$1',
-						  array ($ef['extra_field_id'])) ;
-			while ($el = db_fetch_array($resel)) {
+			$resel =& ArtifactExtraField_getAvailableValues($ef['extra_field_id']);
+			foreach ($resel as $el) {
 				//new element
 				$nel = new ArtifactExtraFieldElement($nef);
-				if (!$nel->create( addslashes(util_unconvert_htmlspecialchars($el['element_name'])), $el['status_id'] )) {
+				if (!$nel->create(util_unconvert_htmlspecialchars($el['element_name']), $el['status_id'] )) {
 					db_rollback();
 					$this->setError('Error Creating New Extra Field Element: '.$nel->getErrorMessage());
 					return false;
@@ -723,16 +714,7 @@
 			return false;
 		}
 		if (!isset($this->extra_field[$id])) {
-			$this->extra_field[$id] = array();
-			$res = db_query_params  ('SELECT element_id,element_name,status_id
-				FROM artifact_extra_field_elements
-				WHERE extra_field_id = $1
-				ORDER BY element_pos ASC, element_id ASC',
-						 array ($id)) ;
-			$i=0;
-			while($arr = db_fetch_array($res)) {
-				$this->extra_field[$id][$i++] = $arr;
-			}
+			$this->extra_field[$id] =& ArtifactExtraField_getAvailableValues($id);
 //			if (count($this->extra_field[$id]) == 0) {
 //				return;
 //			}

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactWorkflow.class.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactWorkflow.class.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/ArtifactWorkflow.class.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -87,6 +87,9 @@
 	 * When a new element is created, add all the new events in the workflow.
 	 */
 	function addNode($element_id) {
+		/* flush cache used by getExtraFieldElements */
+		unset($this->ath->extra_field[$this->field_id]);
+
 		$elearray = $this->ath->getExtraFieldElements($this->field_id);
 		foreach ($elearray as $e) {
 			if ($element_id !== $e['element_id']) {

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/artifact_type_definitions.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/artifact_type_definitions.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/common/tracker/artifact_type_definitions.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -26,7 +26,8 @@
 //	Here is where you define different sets of default elements
 //
 
-$oss=array('All',
+$oss = array(
+	'All',
 	/* Desktop Microsoft */
 	'Windows 3.1',
 	'Windows 95',
@@ -61,6 +62,7 @@
 
 	/* Mostly Unix */
 	'Linux',
+	'ÆrieBSD',
 	'BSDi BSD/OS',
 	'DragonFly BSD',
 	'FreeBSD',
@@ -75,7 +77,8 @@
 	'Hurd',
 	'IRIX',
 	'Minix',
-	'QNX/Neutrino',
+	'SCO OpenServer',
+	'SCO UnixWare',
 	'Solaris',
 	'SunOS',
 	'Tru64 (OSF/1)',
@@ -99,7 +102,9 @@
 	'EPOC32 (Psion)',
 	'Maemo',
 	'MeeGo',
+	'Mer',
 	'Symbian',
+	'Tizen',
 	'Windows CE',
 	'Windows Mobile',
 	'Windows Phone 7',
@@ -114,6 +119,7 @@
 	'Contiki',
 	'LynxOS',
 	'MenuetOS',
+	'QNX/Neutrino',
 	'RTEMS',
 	'VxWorks',
 
@@ -128,8 +134,8 @@
 	/* Old Unix */
 	'A/UX',
 	'BS2000/OSD',
+	'Dell UNIX (SVR4)',
 	'DomainOS / Aegis',
-	'SCO OpenServer/Unixware',
 	'SINIX',
 	'DEC ULTRIX',
 	'Xenix',
@@ -156,17 +162,17 @@
 	'TRS-DOS (Tandy)',
 	'TSX-32',
 
-	'other'
+	'other',
 );
 
 $severities = array(
+	'enhancement',
+	'trivial',
+	'minor',
+	'normal',
+	'major',
+	'critical',
 	'blocker',
-	'critical',
-	'major',
-	'normal',
-	'minor',
-	'trivial',
-	'enhancement'
 );
 
 $resolutions = array(
@@ -194,12 +200,13 @@
 
 $os=array('Operating System',ARTIFACT_EXTRAFIELDTYPE_SELECT,0,0,0,$oss);
 $url=array('URL',ARTIFACT_EXTRAFIELDTYPE_TEXT,40,100,0,array());
-$component=array('Component',ARTIFACT_EXTRAFIELDTYPE_TEXT,40,100,0,array());
-$browser=array('Browser',ARTIFACT_EXTRAFIELDTYPE_TEXT,40,100,0,array());
-$verfound=array('Version Found',ARTIFACT_EXTRAFIELDTYPE_TEXT,20,64,0,array());
-$verfixed=array('Version Fixed',ARTIFACT_EXTRAFIELDTYPE_TEXT,20,64,0,array());
+$component=array('Component',ARTIFACT_EXTRAFIELDTYPE_TEXT,40,127,0,array());
+$browser=array('Browser',ARTIFACT_EXTRAFIELDTYPE_TEXT,40,127,0,array());
+$verfound=array('Version Found',ARTIFACT_EXTRAFIELDTYPE_TEXT,40,64,0,array());
+$verfixed=array('Version Fixed',ARTIFACT_EXTRAFIELDTYPE_TEXT,40,64,0,array());
 $resolution=array('Resolution',ARTIFACT_EXTRAFIELDTYPE_STATUS,0,0,1,$resolutions);
 $severity=array('Severity',ARTIFACT_EXTRAFIELDTYPE_SELECT,0,0,0,$severities);
+$relitem=array('Linked Bugs',ARTIFACT_EXTRAFIELDTYPE_RELATION,40,255,0,array());
 
 //
 //	Here is where you define which trackers to create
@@ -221,18 +228,18 @@
 	$verfixed,
 	$resolution,
 	$severity,
+	$relitem,
 );
-$evolvis_renderer = '';
 
-$trackers[]=array('Bugs','Bug Tracking System',1,0,'','',30,0,'','',1, $evolvis_fields, $evolvis_renderer);
+$trackers[]=array('Bugs','Bug Tracking System',1,0,'','',30,0,'','',1, $evolvis_fields);
 
-$trackers[]=array('Support','Tech Support Tracking System',1,0,'','',30,0,'','',2, $evolvis_fields, $evolvis_renderer);
+$trackers[]=array('Support','Tech Support Tracking System',1,0,'','',30,0,'','',2, $evolvis_fields);
 
 $trackers[]=array('Patches','Patch Tracking System',1,0,'','',30,0,'','',3,
-	array($component, $verfound, $verfixed, $resolution, $severity, $url), '');
+    array($component, $verfound, $verfixed, $resolution, $severity, $url, $relitem));
 
 $trackers[]=array('Feature Requests','Feature Request Tracking System',1,0,'','',30,0,'','',4,
-	array($url, $component, $browser, $os), '');
+    array($url, $component, $browser, $os, $relitem));
 
 
 /* Funktionsreferenz: https://evolvis.org/tracker/t_follow.php/1073 */
@@ -287,7 +294,8 @@
 		array('abgenommen', 2),
 		array('gelöscht', 3),
 	    )),
-    ), '');
+	$relitem,
+    ));
 
 // Local Variables:
 // mode: php

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/deb-specific/install-chroot.sh
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/deb-specific/install-chroot.sh	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/deb-specific/install-chroot.sh	2012-04-07 14:11:25 UTC (rev 18261)
@@ -16,7 +16,7 @@
 
 case $1 in
 configure)
-	echo "Installing chroot environnement at $CHROOTDIR"
+	echo "Installing chroot environment at $CHROOTDIR"
 	test -d "$CHROOTDIR" || install -d -m 755 "$CHROOTDIR"
 	test -d "$CHROOTDIR" || exit 1
 	for dir in \

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/debian/changelog
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/debian/changelog	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/debian/changelog	2012-04-07 14:11:25 UTC (rev 18261)
@@ -1,3 +1,23 @@
+fusionforge (5.1.1+evolvis52) unstable; urgency=high
+
+  * [#2964] [#2965] [#2966] [#2968] Make template groups actually
+    usable and fix many bugs related to creating them, using and
+    instantiating them and handling Tracker Extra Fields
+  * Rewrite some code to use EvolvisTable and make it more legible
+  * [#2967] Add new standard tracker field “Linked Bugs” of type
+    relation; make Resolution into the custom status/workflow field;
+    make textfields of the same input width and adjust sizes; sort
+  * Enable Extratabs and MediaWiki plugins in the Template group
+  * When instantiating the template, ignore its SCM plugin setting
+  * Use the Forge Admin with the lowest numerical UID (normally
+    #101 “admin”) when impersonating an admin session, not a̲n̲y̲one
+  * Unbreak permanently deleting groups with standard mailing lists
+  * Improve debugging functions (backtraces)
+  * [#2963] Do not backslash-escape many strings where it’s wrong
+  * Use project list for /softwaremap/ (tag cloud may be empty)
+
+ -- Thorsten Glaser <t.glaser at tarent.de>  Sat, 07 Apr 2012 15:38:00 +0200
+
 fusionforge (5.1.1+evolvis51) unstable; urgency=low
 
   [ Roland Mas ]

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/debian/evolvis.postinst
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/debian/evolvis.postinst	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/debian/evolvis.postinst	2012-04-07 14:11:25 UTC (rev 18261)
@@ -38,11 +38,11 @@
 	fi
 
 	if test -z "$2" || \
-	    dpkg --compare-versions "$2" lt 5.1.1+evolvis51; then
-		# fresh installation or upgrade from <= evolvis 51
-		# => create a template project for evolvis 51
+	    dpkg --compare-versions "$2" lt 5.1.1+evolvis52; then
+		# fresh installation or upgrade from <= evolvis 52
+		# => create a template project for evolvis 52
 		/usr/share/gforge/bin/populate_template_project.php \
-		    new evtemplate51 'Evolvis Template v51'
+		    new evtemplate52 'Evolvis Template v52'
 	fi
 	;;
 

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/config.ini.d/defaults.ini
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/config.ini.d/defaults.ini	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/config.ini.d/defaults.ini	2012-04-07 14:11:25 UTC (rev 18261)
@@ -48,7 +48,6 @@
 sendmail_path = "/usr/sbin/sendmail"
 show_source = no
 stats_group = 3
-template_group = 5
 unix_cipher = MD5
 url_prefix = "/"
 use_docman = yes

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/local.d/30homegroupother
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/local.d/30homegroupother	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/local.d/30homegroupother	2012-04-07 14:11:25 UTC (rev 18261)
@@ -77,7 +77,6 @@
 $sys_news_group={newsadmin_groupid};
 $sys_stats_group={statsadmin_groupid};
 $sys_peer_rating_group={peerrating_groupid};
-$sys_template_group={template_project};
 $default_trove_cat={default_trove_cat};
 
 // JPGRAPH Package

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/local.inc.example
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/local.inc.example	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/etc/local.inc.example	2012-04-07 14:11:25 UTC (rev 18261)
@@ -282,7 +282,6 @@
 $sys_news_group=2;
 $sys_stats_group=3;
 $sys_peer_rating_group=4;
-$sys_template_group=5;
 $default_trove_cat=18;
 
 // JPGRAPH Package

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/translations/de.po
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/translations/de.po	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/translations/de.po	2012-04-07 14:11:25 UTC (rev 18261)
@@ -1,10 +1,10 @@
 # German translations for Evolvis.
 msgid ""
 msgstr ""
-"Project-Id-Version: EvolvisForge 5.1+evolvis51\n"
+"Project-Id-Version: EvolvisForge 5.1+evolvis52\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-04-05 16:29+0200\n"
-"PO-Revision-Date: 2012-04-05 16:01+0200\n"
+"POT-Creation-Date: 2012-04-07 15:21+0200\n"
+"PO-Revision-Date: 2012-04-07 15:26+0200\n"
 "Last-Translator: Thorsten Glaser <t.glaser at tarent.de>\n"
 "Language-Team: german\n"
 "Language: de\n"
@@ -30,7 +30,7 @@
 msgstr "Suchanfrage speichern als "
 
 #: common/docman/Document.class.php:82 common/forum/Forum.class.php:115
-#: common/include/Error.class.php:184 common/mail/MailingList.class.php:79
+#: common/include/Error.class.php:192 common/mail/MailingList.class.php:79
 #: common/survey/Survey.class.php:78 common/survey/SurveyQuestion.class.php:70
 #: plugins/mailman/include/MailmanList.class.php:104
 msgid "Group_id in db result does not match Group Object"
@@ -790,7 +790,7 @@
 msgstr "Nachname:"
 
 #: common/docman/views/listfile.php:121
-#: common/tracker/ArtifactExtraField.class.php:326
+#: common/tracker/ArtifactExtraField.class.php:315
 #: plugins/globalsearch/common/globalsearch_edit_utils.php:218
 #: www/admin/groupedit.php:106 www/admin/grouplist.php:35
 #: www/admin/pluginman.php:118 www/admin/search.php:94
@@ -1068,7 +1068,7 @@
 
 #: common/forum/Forum.class.php:444 common/forum/Forum.class.php:479
 #: common/frs/FRSPackage.class.php:268 common/frs/FRSPackage.class.php:300
-#: common/tracker/ArtifactType.class.php:549
+#: common/tracker/ArtifactType.class.php:550
 msgid "You can only monitor if you are logged in"
 msgstr "Sie können nur Foren beobachten/überwachen, wenn Sie angemeldet sind."
 
@@ -1091,10 +1091,10 @@
 
 #: common/forum/Forum.class.php:620 common/frs/FRSPackage.class.php:447
 #: common/frs/FRSRelease.class.php:356 common/include/Group.class.php:1652
-#: common/mail/MailingList.class.php:393 common/pm/ProjectGroup.class.php:376
+#: common/mail/MailingList.class.php:394 common/pm/ProjectGroup.class.php:376
 #: common/pm/ProjectTask.class.php:518 common/tracker/Artifact.class.php:490
-#: common/tracker/ArtifactExtraField.class.php:429
-#: common/tracker/ArtifactType.class.php:816
+#: common/tracker/ArtifactExtraField.class.php:413
+#: common/tracker/ArtifactType.class.php:798
 msgid "Please tick all checkboxes."
 msgstr "Bitte hake alle Ankreuzkästchen an."
 
@@ -1674,25 +1674,25 @@
 msgid "Database initialisation error:"
 msgstr "Datenbankmanipulation"
 
-#: common/include/Error.class.php:125 common/include/Group.class.php:444
+#: common/include/Error.class.php:133 common/include/Group.class.php:444
 #: common/include/Group.class.php:526
 msgid "Permission denied."
 msgstr "Erlaubnis verweigert"
 
-#: common/include/Error.class.php:142 common/include/User.class.php:279
+#: common/include/Error.class.php:150 common/include/User.class.php:279
 msgid "Invalid Email Address"
 msgstr "Ungültige E-Mail Adresse"
 
-#: common/include/Error.class.php:146
+#: common/include/Error.class.php:154
 msgid "(none given)"
 msgstr "(keine gegeben)"
 
-#: common/include/Error.class.php:167
+#: common/include/Error.class.php:175
 #, fuzzy, php-format
 msgid "Error On Update: %s"
 msgstr "Fehler bei der Aktualisierung:"
 
-#: common/include/Error.class.php:210
+#: common/include/Error.class.php:218
 msgid "Missing Parameters"
 msgstr "Fehlende Parameter"
 
@@ -2921,7 +2921,7 @@
 
 #: common/include/descriptive.php:134
 #: www/search/include/renderers/SkillHtmlSearchRenderer.class.php:48
-#: www/tracker/admin/form-workflow.php:61
+#: www/tracker/admin/form-workflow.php:80
 msgid "From"
 msgstr "Von"
 
@@ -2952,7 +2952,7 @@
 msgid "Exiting with error"
 msgstr "Beendigung mit Fehler"
 
-#: common/include/exit.php:58
+#: common/include/exit.php:62
 #, fuzzy
 msgid ""
 "Permission denied. This project's administrator will have to grant you "
@@ -2960,12 +2960,12 @@
 msgstr ""
 "Dieser Projekt-Administrator muß Sie berechtigen, um diese Seite zu sehen."
 
-#: common/include/exit.php:71
+#: common/include/exit.php:75
 #, fuzzy
 msgid "You are not logged in."
 msgstr "Projekt-Administrator"
 
-#: common/include/exit.php:83
+#: common/include/exit.php:87
 #, fuzzy
 msgid ""
 "Permission denied. No project was chosen, project does not exist or you "
@@ -2973,21 +2973,21 @@
 msgstr ""
 "Keine Gruppe wurde ausgewählt oder Sie können auf diese nicht zugreifen"
 
-#: common/include/exit.php:97
+#: common/include/exit.php:101
 #, fuzzy
 msgid "Missing required parameters : "
 msgstr "Fehler - es fehlen benötigte Parameter"
 
-#: common/include/exit.php:102
+#: common/include/exit.php:106
 #, fuzzy, php-format
 msgid "Missing required parameters."
 msgstr "Fehler - es fehlen benötigte Parameter"
 
-#: common/include/exit.php:120
+#: common/include/exit.php:124
 msgid "The Site Administrator has turned off this feature."
 msgstr "Der Site Administrator hat dieses Feature ausgeschaltet."
 
-#: common/include/exit.php:129
+#: common/include/exit.php:133
 msgid "You Attempted To Double-submit this item. Please avoid double-clicking."
 msgstr ""
 "Sie haben versucht dieses Element doppelt abzuschicken. Bitte vermeiden Sie "
@@ -3538,7 +3538,7 @@
 msgid "Error Getting mailing list"
 msgstr "Existierende Mailinglisten"
 
-#: common/mail/MailingList.class.php:388
+#: common/mail/MailingList.class.php:389
 msgid "Sorry, this mailing list is special and must not be deleted."
 msgstr "Sorry, diese Malingliste kann nicht gelöscht werden."
 
@@ -3821,7 +3821,7 @@
 msgstr "Produkt: Nur Gruppenmitglieder können private Produkttypen sehen"
 
 #: common/tracker/Artifact.class.php:206 common/tracker/Artifact.class.php:751
-#: www/tracker/tracker.php:96 www/tracker/tracker.php:294
+#: www/tracker/tracker.php:96 www/tracker/tracker.php:292
 msgid ""
 "Artifact: This ArtifactType Does Not Allow Anonymous Submissions. Please "
 "Login."
@@ -3865,63 +3865,57 @@
 msgid "ArtifactCanned: name and assignee are Required"
 msgstr "ArtifactCanned: Name und Bevollmächtigter werden benötigt"
 
-#: common/tracker/ArtifactExtraField.class.php:108
-#: common/tracker/ArtifactExtraField.class.php:378
+#: common/tracker/ArtifactExtraField.class.php:120
+#: common/tracker/ArtifactExtraField.class.php:362
 msgid "a field name is required"
 msgstr "Ein Feldname ist erforderlich"
 
-#: common/tracker/ArtifactExtraField.class.php:124
-#: common/tracker/ArtifactExtraField.class.php:387
+#: common/tracker/ArtifactExtraField.class.php:136
+#: common/tracker/ArtifactExtraField.class.php:371
 #, php-format
 msgid "Field name \"%s\" already exists"
 msgstr "Feldname \"%s\" existiert bereits"
 
-#: common/tracker/ArtifactExtraField.class.php:186
-#: common/tracker/ArtifactExtraField.class.php:192
-#: www/tracker/admin/updates.php:100 www/tracker/admin/updates.php:199
-msgid "Error inserting an element"
-msgstr "Fehler beim Einfügen eines Elementes"
-
-#: common/tracker/ArtifactExtraField.class.php:320
+#: common/tracker/ArtifactExtraField.class.php:309
 #: www/tracker/admin/form-addextrafield.php:125
 msgid "Select Box"
 msgstr "Auswahl Box"
 
-#: common/tracker/ArtifactExtraField.class.php:321
+#: common/tracker/ArtifactExtraField.class.php:310
 #: www/tracker/admin/form-addextrafield.php:126
 msgid "Check Box"
 msgstr "Check Box"
 
-#: common/tracker/ArtifactExtraField.class.php:322
+#: common/tracker/ArtifactExtraField.class.php:311
 #: www/tracker/admin/form-addextrafield.php:127
 msgid "Radio Buttons"
 msgstr "Radio Buttons"
 
-#: common/tracker/ArtifactExtraField.class.php:323
+#: common/tracker/ArtifactExtraField.class.php:312
 #: www/tracker/admin/form-addextrafield.php:128
 msgid "Text Field"
 msgstr "Textfeld"
 
-#: common/tracker/ArtifactExtraField.class.php:324
+#: common/tracker/ArtifactExtraField.class.php:313
 #: www/tracker/admin/form-addextrafield.php:129
 msgid "Multi-Select Box"
 msgstr "Mehrfachauswahl Box"
 
-#: common/tracker/ArtifactExtraField.class.php:325
+#: common/tracker/ArtifactExtraField.class.php:314
 #: www/tracker/admin/form-addextrafield.php:130
 msgid "Text Area"
 msgstr "Textbereich"
 
-#: common/tracker/ArtifactExtraField.class.php:327
+#: common/tracker/ArtifactExtraField.class.php:316
 #, fuzzy
 msgid "Relation"
 msgstr "Auflösung"
 
-#: common/tracker/ArtifactExtraField.class.php:328
+#: common/tracker/ArtifactExtraField.class.php:317
 msgid "Integer"
 msgstr "Integer"
 
-#: common/tracker/ArtifactExtraField.class.php:496
+#: common/tracker/ArtifactExtraField.class.php:480
 msgid ""
 "The alias (field name) contains invalid characters. Only letters, numbers, "
 "commercial at (@), underscores (_) and hyphen (-) allowed."
@@ -3929,13 +3923,13 @@
 "Der Alias (Feldname) enthält ungültige Zeichen. Nur Buchstaben, Zahlen, "
 "Klammeraffe (@), Unterstrich (_) und Bindestrich (-) sind erlaubt."
 
-#: common/tracker/ArtifactExtraField.class.php:499
+#: common/tracker/ArtifactExtraField.class.php:483
 #, php-format
 msgid "'%1$s' is a reserved alias. Please provide another name."
 msgstr ""
 "'%1$s' ist ein reservierter Alias. Bitte wählen Sie einen anderen Namen."
 
-#: common/tracker/ArtifactExtraField.class.php:583
+#: common/tracker/ArtifactExtraField.class.php:565
 msgid "Out of range value"
 msgstr "Wert außerhalb des zulässigen Bereichs"
 
@@ -3974,27 +3968,27 @@
 msgid "Query does not exist"
 msgstr "Anfrage existiert nicht"
 
-#: common/tracker/ArtifactType.class.php:207
-#: common/tracker/ArtifactType.class.php:979
+#: common/tracker/ArtifactType.class.php:208
+#: common/tracker/ArtifactType.class.php:961
 msgid ""
 "ArtifactType: Name, Description, Due Period, and Status Timeout are required"
 msgstr ""
 "ArtifactType: Name, Beschreibung, Frist, und Statustimeout werden benötigt"
 
-#: common/tracker/ArtifactType.class.php:214
-#: common/tracker/ArtifactType.class.php:997
+#: common/tracker/ArtifactType.class.php:215
+#: common/tracker/ArtifactType.class.php:979
 msgid "E-mail address(es) appeared invalid"
 msgstr "Die E-Mail-Adresse(n) erscheint ungültig"
 
-#: common/tracker/ArtifactType.class.php:567
+#: common/tracker/ArtifactType.class.php:568
 msgid "Now Monitoring Tracker"
 msgstr "Sie beobachten nun den Tracker."
 
-#: common/tracker/ArtifactType.class.php:577
+#: common/tracker/ArtifactType.class.php:578
 msgid "Tracker Monitoring Deactivated"
 msgstr "Beobachtung des Trackers deaktiviert."
 
-#: common/tracker/ArtifactType.class.php:990
+#: common/tracker/ArtifactType.class.php:972
 #, fuzzy
 msgid "Tracker name already used"
 msgstr "Gruppenname bereits verwendet"
@@ -4028,7 +4022,7 @@
 #: www/tracker/admin/form-addcanned.php:69
 #: www/tracker/admin/form-addextrafield.php:145
 #: www/tracker/admin/form-addextrafieldoption.php:104
-#: www/tracker/admin/form-clonetracker.php:59
+#: www/tracker/admin/form-clonetracker.php:89
 #: www/tracker/admin/form-customizelist.php:77
 #: www/tracker/admin/form-deleteextrafieldelement.php:63
 #: www/tracker/admin/form-extrafieldcopy.php:97
@@ -4037,7 +4031,7 @@
 #: www/tracker/admin/form-updateextrafieldelement.php:67
 #: www/tracker/admin/form-updatetracker.php:83
 #: www/tracker/admin/form-uploadtemplate.php:39
-#: www/tracker/admin/form-workflow.php:121
+#: www/tracker/admin/form-workflow.php:158
 #: www/tracker/admin/form-workflow_roles.php:76 www/tracker/admin/ind.php:165
 msgid "Submit"
 msgstr "Abschicken"
@@ -9803,7 +9797,7 @@
 
 #: www/activity/index.php:273 www/activity/index.php:278
 #: www/tracker/taskmgr.php:104 www/tracker/taskmgr.php:170
-#: www/tracker/tracker.php:321
+#: www/tracker/tracker.php:319
 msgid "Tracker Item"
 msgstr "Tracker Element"
 
@@ -15642,7 +15636,7 @@
 "FEHLER - Datei muß größer als 20 bytes und kleiner als 256000 Bytes sein"
 
 #: www/project/admin/editimages.php:59 www/tracker/tracker.php:151
-#: www/tracker/tracker.php:400
+#: www/tracker/tracker.php:398
 #, fuzzy
 msgid "Invalid filename"
 msgstr "Ungültiger Dateiname."
@@ -16268,7 +16262,7 @@
 msgid "Grant extra role"
 msgstr "weitere Rolle erteilen"
 
-#: www/project/admin/users.php:397 www/tracker/admin/form-workflow.php:119
+#: www/project/admin/users.php:397
 msgid "Edit Roles"
 msgstr "Rollen bearbeiten"
 
@@ -17314,7 +17308,7 @@
 msgstr "Projektübersicht"
 
 #: www/search/include/renderers/SkillHtmlSearchRenderer.class.php:49
-#: www/tracker/admin/form-workflow.php:62
+#: www/tracker/admin/form-workflow.php:81
 msgid "To"
 msgstr "An"
 
@@ -18930,11 +18924,13 @@
 msgstr "Ein neues anpassbares Feld hinzufügen"
 
 #: www/tracker/admin/form-addextrafield.php:115
+#: www/tracker/admin/form-updateextrafield.php:48
 #, fuzzy
 msgid "Custom Field name (human-readable)"
 msgstr "Extrafeld aktualisiert"
 
 #: www/tracker/admin/form-addextrafield.php:119
+#: www/tracker/admin/form-updateextrafield.php:72
 #, fuzzy
 msgid "Field alias (internal name)"
 msgstr "Seiten-Mailinglisten Verwaltung"
@@ -18996,8 +18992,8 @@
 #: www/tracker/admin/updates.php:39 www/tracker/admin/updates.php:58
 #: www/tracker/admin/updates.php:87 www/tracker/admin/updates.php:181
 #: www/tracker/admin/updates.php:223 www/tracker/admin/updates.php:246
-#: www/tracker/admin/updates.php:375 www/tracker/admin/updates.php:395
-#: www/tracker/admin/updates.php:418 www/tracker/admin/updates.php:470
+#: www/tracker/admin/updates.php:381 www/tracker/admin/updates.php:401
+#: www/tracker/admin/updates.php:424 www/tracker/admin/updates.php:476
 #, fuzzy
 msgid "Unable to create ArtifactExtraField Object"
 msgstr "Außerstande ein ArtifactExtraField Objekt anzulegen"
@@ -19032,32 +19028,27 @@
 msgid "Add New Element"
 msgstr "Neues Element hinzufügen"
 
-#: www/tracker/admin/form-clonetracker.php:32
-#, fuzzy
-msgid "Unable to Create Template Group Object"
-msgstr "Außerstande ein ArtifactCanned Objekt anzulegen"
+#: www/tracker/admin/form-clonetracker.php:67
+msgid "Error looking up template projects"
+msgstr "Kann Vorlagenprojekte nicht finden"
 
-#: www/tracker/admin/form-clonetracker.php:48
-#: www/tracker/include/ArtifactTypeHtml.class.php:837
-msgid "Clone Tracker"
-msgstr "Tracker-Vorlage klonen"
+#: www/tracker/admin/form-clonetracker.php:68
+msgid "No template project found"
+msgstr "Keine Vorlagenprojekte gefunden"
 
-#: www/tracker/admin/form-clonetracker.php:51
-#, fuzzy
-msgid ""
-"The site administrator must first set up template trackers in the template "
-"projet with default values and set permissions propertly so you can access "
-"them."
-msgstr ""
-"Wählen Sie den Template Tracker zum Klonen. Der Site Administrator muß "
-"Tracker mit Standardwerten aufsetzen und Erlaubnisse korrekt einrichten "
-"damit Sie Zugang erhalten."
+#: www/tracker/admin/form-clonetracker.php:72
+msgid "Some errors occured during template project lookup"
+msgstr "Beim Finden der Vorlagenprojekte tauchten Fehler auf"
 
-#: www/tracker/admin/form-clonetracker.php:54
+#: www/tracker/admin/form-clonetracker.php:75 www/tracker/admin/tracker.php:61
+msgid "Apply Template Tracker"
+msgstr "Vorlagenprojekt-Tracker auf diesen Tracker anwenden (klonen)"
+
+#: www/tracker/admin/form-clonetracker.php:77
 msgid "Choose the template tracker to clone."
-msgstr "Template-Tracker zum klonen auswählen"
+msgstr "Template-Tracker zum Klonen auswählen"
 
-#: www/tracker/admin/form-clonetracker.php:57
+#: www/tracker/admin/form-clonetracker.php:84
 msgid ""
 "WARNING!!! Cloning this tracker will duplicate all the fields and all the "
 "elements from those fields into this tracker. There is nothing to prevent "
@@ -19127,7 +19118,7 @@
 
 #: www/tracker/admin/form-deleteextrafieldelement.php:42
 #: www/tracker/admin/form-updateextrafieldelement.php:40
-#: www/tracker/admin/updates.php:252 www/tracker/admin/updates.php:476
+#: www/tracker/admin/updates.php:252 www/tracker/admin/updates.php:482
 msgid "Unable to create ArtifactExtraFieldElement Object"
 msgstr "Außerstande ein ArtifactExtraFieldElement Objekt anzulegen"
 
@@ -19182,10 +19173,6 @@
 msgid "Modify a custom field in %s"
 msgstr "Bearbeiten Sie ein benutzerdefiniertes Feld in %s"
 
-#: www/tracker/admin/form-updateextrafield.php:48
-msgid "Custom Field Name"
-msgstr "Extrafeldname"
-
 #: www/tracker/admin/form-updateextrafield.php:53
 #, fuzzy
 msgid "Text Area Rows"
@@ -19206,10 +19193,6 @@
 msgid "Text Field Maxlength"
 msgstr "Textfeld maximale Länge/Textbereich Spalten"
 
-#: www/tracker/admin/form-updateextrafield.php:72
-msgid "Field alias"
-msgstr "Alias (Feldname)"
-
 #: www/tracker/admin/form-updateextrafield.php:75
 #, fuzzy
 msgid "Field is mandatory"
@@ -19281,7 +19264,7 @@
 msgid "Select Template"
 msgstr "Template löschen"
 
-#: www/tracker/admin/form-workflow.php:30
+#: www/tracker/admin/form-workflow.php:33
 #, fuzzy
 msgid ""
 "To create a workflow, you need first to create a custom field of type "
@@ -19290,38 +19273,56 @@
 "Um einen Workflow zu erzeugen müssen Sie zuerst ein benutzerdefiniertes Feld "
 "des 'Status'-Typs anlegen."
 
-#: www/tracker/admin/form-workflow.php:34
-msgid "Internal error: Illegal number of status fields (WKFL01)."
-msgstr "Interner Fehler: Ungültiger Statuswert im Feld (WKFL01)."
+#: www/tracker/admin/form-workflow.php:36
+msgid "Internal error: Illegal number of status fields (only one allowed)."
+msgstr "Interner Fehler: Ungültige Anzahl an Statusfeldern (nur eins erlaubt)."
 
-#: www/tracker/admin/form-workflow.php:37
+#: www/tracker/admin/form-workflow.php:40
 msgid "Configure workflow"
 msgstr "Workflow konfigurieren"
 
-#: www/tracker/admin/form-workflow.php:55
-#, fuzzy, php-format
+#: www/tracker/admin/form-workflow.php:47
+msgid "Cannot continue due to an error."
+msgstr "Kann ob eines Fehlers nicht fortfahren."
+
+#: www/tracker/admin/form-workflow.php:62
+#, php-format
 msgid "Allowed initial values for the %1$s field"
-msgstr "Erlaubte Ausgangswerte für das %1$s - Feld"
+msgstr "Erlaubte Ausgangswerte für das %1$s-Feld"
 
-#: www/tracker/admin/form-workflow.php:63
-#, fuzzy
+#: www/tracker/admin/form-workflow.php:93
 msgid "Initial values"
-msgstr "Ungültige Bewertungsgröße"
+msgstr "Anfänglich erlaubte Werte"
 
-#: www/tracker/admin/form-workflow.php:66
-#, fuzzy
-msgid "From Value"
-msgstr "Alter Wert"
+#: www/tracker/admin/form-workflow.php:105
+#, php-format
+msgid "Allowed transitions for the %1$s field"
+msgstr "Erlaubte Übergänge für das %1$s-Feld"
 
+#: www/tracker/admin/form-workflow.php:143
+#: www/tracker/admin/form-workflow.php:145
+#: www/tracker/admin/form-workflow.php:154
+msgid "Edit roles"
+msgstr "Rollen bearbeiten"
+
+#: www/tracker/admin/form-workflow.php:152
+#, php-format
+msgid ""
+"Tip: Click on %s to configure allowed roles for a transition (all by "
+"default)."
+msgstr ""
+"Tip: auf %s klicken, um die erlaubten Rollen für einen Übergang "
+"(Zustandstransition) zu konfigurieren; standardmäßig sind alle Rollen "
+"freigeschaltet."
+
 #: www/tracker/admin/form-workflow_roles.php:56
-#, fuzzy, php-format
+#, php-format
 msgid "Configuring allowed roles for the transitions from %1$s to %2$s"
-msgstr "Konfigurieren Sie erlaube Rollen für den Übergang von %1$s zu %2$s"
+msgstr "Konfiguriere erlaube Rollen für den Übergang von %1$s zu %2$s"
 
 #: www/tracker/admin/ind.php:48
-#, fuzzy
 msgid "Tracker created successfully"
-msgstr "Aufgabe erfolgreich erstellt"
+msgstr "Tracker erfolgreich erstellt"
 
 #: www/tracker/admin/ind.php:62 www/tracker/ind.php:27
 #, fuzzy
@@ -19465,10 +19466,6 @@
 msgid "Create/change generic response messages for the tracker."
 msgstr "Allgemeine Antworten für den Tracker hinzufügen/ändern"
 
-#: www/tracker/admin/tracker.php:61
-msgid "Apply Template Tracker"
-msgstr "Template-Tracker auf diesen anwenden"
-
 #: www/tracker/admin/tracker.php:62
 msgid "Duplicate parameters and fields from a template trackers in this one."
 msgstr "Parameter und Felder aus einem Template-Tracker in diesen kopieren"
@@ -19489,6 +19486,10 @@
 msgid "Custom Field Deleted"
 msgstr "Anpassbares Feld Gelöscht"
 
+#: www/tracker/admin/updates.php:100 www/tracker/admin/updates.php:199
+msgid "Error inserting an element"
+msgstr "Fehler beim Einfügen eines Elementes"
+
 #: www/tracker/admin/updates.php:103
 msgid "Element inserted"
 msgstr "Element eingefügt"
@@ -19506,8 +19507,8 @@
 msgid "Canned Response Inserted"
 msgstr "Vorgespeicherte Antwort eingefügt"
 
-#: www/tracker/admin/updates.php:144 www/tracker/admin/updates.php:301
-#: www/tracker/admin/updates.php:325 www/tracker/admin/updates.php:339
+#: www/tracker/admin/updates.php:144 www/tracker/admin/updates.php:307
+#: www/tracker/admin/updates.php:331 www/tracker/admin/updates.php:345
 msgid "Error updating"
 msgstr "Fehler beim Aktualisieren"
 
@@ -19521,8 +19522,8 @@
 msgstr "Tracker-Vorlage klonen"
 
 #: www/tracker/admin/updates.php:228 www/tracker/admin/updates.php:259
-#: www/tracker/admin/updates.php:380 www/tracker/admin/updates.php:403
-#: www/tracker/admin/updates.php:423
+#: www/tracker/admin/updates.php:386 www/tracker/admin/updates.php:409
+#: www/tracker/admin/updates.php:429
 msgid "Error updating a custom field"
 msgstr "Fehler beim Aktualisieren eines Extrafeldnamens"
 
@@ -19539,52 +19540,57 @@
 msgid "Clone ID"
 msgstr "Forge ID"
 
-#: www/tracker/admin/updates.php:278
+#: www/tracker/admin/updates.php:281
 #, fuzzy
+msgid "Error looking up template project"
+msgstr "Fehler beim Erstellen des Mitarbeiter-Objektes: %s"
+
+#: www/tracker/admin/updates.php:284
+#, fuzzy
 msgid "Error cloning fields: "
 msgstr "Fehler beim Einfügen eines Extrafeldes"
 
-#: www/tracker/admin/updates.php:280
+#: www/tracker/admin/updates.php:286
 #, fuzzy
 msgid "Successfully Cloned Tracker Fields "
 msgstr "Tracker Verknüpfung erfolgreich hinzugefügt"
 
-#: www/tracker/admin/updates.php:304 www/tracker/admin/updates.php:328
-#: www/tracker/admin/updates.php:383 www/tracker/admin/updates.php:412
-#: www/tracker/admin/updates.php:426
+#: www/tracker/admin/updates.php:310 www/tracker/admin/updates.php:334
+#: www/tracker/admin/updates.php:389 www/tracker/admin/updates.php:418
+#: www/tracker/admin/updates.php:432
 msgid "Tracker Updated"
 msgstr "Tracker aktualisiert"
 
-#: www/tracker/admin/updates.php:362
+#: www/tracker/admin/updates.php:368
 #, fuzzy
 msgid "Renderer Uploaded"
 msgstr "Hochgeladen"
 
-#: www/tracker/admin/updates.php:364
+#: www/tracker/admin/updates.php:370
 #, fuzzy
 msgid "Renderer File empty"
 msgstr "Renderer hochgeladen"
 
-#: www/tracker/admin/updates.php:439
+#: www/tracker/admin/updates.php:445
 #, fuzzy
 msgid "ERROR: Initial values not saved, no initial state given."
 msgstr ""
 "FEHLER: Ausgangswerte nicht gespeichert, kein Ausgangszustand existiert."
 
-#: www/tracker/admin/updates.php:443
+#: www/tracker/admin/updates.php:449
 msgid "Initial values saved."
 msgstr "Ausgangswerte gespeichert."
 
-#: www/tracker/admin/updates.php:452 www/tracker/admin/updates.php:461
+#: www/tracker/admin/updates.php:458 www/tracker/admin/updates.php:467
 msgid "Workflow saved"
 msgstr "Workflow gespeichert."
 
-#: www/tracker/admin/updates.php:479
+#: www/tracker/admin/updates.php:485
 #, fuzzy
 msgid "Error deleting an element"
 msgstr "Fehler beim Einfügen eines Elementes"
 
-#: www/tracker/admin/updates.php:482
+#: www/tracker/admin/updates.php:488
 #, fuzzy
 msgid "Element deleted"
 msgstr "Element aktualisiert"
@@ -19758,10 +19764,10 @@
 msgstr "Ja, ich möchte dieses Produkt löschen"
 
 #: www/tracker/download.php:51 www/tracker/taskmgr.php:36
-#: www/tracker/tracker.php:94 www/tracker/tracker.php:290
-#: www/tracker/tracker.php:481 www/tracker/tracker.php:508
-#: www/tracker/tracker.php:537 www/tracker/tracker.php:558
-#: www/tracker/tracker.php:607
+#: www/tracker/tracker.php:94 www/tracker/tracker.php:288
+#: www/tracker/tracker.php:479 www/tracker/tracker.php:506
+#: www/tracker/tracker.php:535 www/tracker/tracker.php:556
+#: www/tracker/tracker.php:605
 msgid "Artifact Could Not Be Created"
 msgstr "Artefakt konnte nicht erzeugt werden"
 
@@ -19906,6 +19912,10 @@
 msgid "-tooltip:tracker:cannedresp"
 msgstr ""
 
+#: www/tracker/include/ArtifactTypeHtml.class.php:837
+msgid "Clone Tracker"
+msgstr "Vorlagentracker anwenden (klonen)"
+
 #: www/tracker/include/ArtifactTypeHtml.class.php:840
 msgid "-tooltip:tracker:clonetracker"
 msgstr ""
@@ -20162,7 +20172,7 @@
 msgstr "Bearbeiter"
 
 #: www/tracker/reporting/trackeract_graph.php:49
-#: www/tracker/reporting/trackerpie_graph.php:63 www/tracker/tracker.php:303
+#: www/tracker/reporting/trackerpie_graph.php:63 www/tracker/tracker.php:301
 msgid "Error: "
 msgstr "Fehler: "
 
@@ -20203,7 +20213,7 @@
 msgid "No eMail address given"
 msgstr "Keine eMail-Adresse angegeben"
 
-#: www/tracker/tracker.php:143 www/tracker/tracker.php:394
+#: www/tracker/tracker.php:143 www/tracker/tracker.php:392
 #, fuzzy
 msgid "Could Not Create File Object"
 msgstr "Konnte kein Foren-Objekt einholen"
@@ -20217,73 +20227,73 @@
 msgid "Item [#%d] successfully created"
 msgstr "Element [#%d] erfolgreich angelegt"
 
-#: www/tracker/tracker.php:256
+#: www/tracker/tracker.php:254
 msgid "Updated Successfully"
 msgstr "Aktualisierung erfolgreich"
 
-#: www/tracker/tracker.php:303
+#: www/tracker/tracker.php:301
 #, fuzzy, php-format
 msgid "Could not get Project Task for %d"
 msgstr "Konnte kein Foren-Objekt einholen"
 
-#: www/tracker/tracker.php:331 www/tracker/tracker.php:350
+#: www/tracker/tracker.php:329 www/tracker/tracker.php:348
 msgid "Comment added"
 msgstr "Kommentar hinzugefügt"
 
-#: www/tracker/tracker.php:375
+#: www/tracker/tracker.php:373
 #, php-format
 msgid "ERROR: Skipping attachment %d: file is too large."
 msgstr "FEHLER: Überspringe Anhang %d: Datei ist zu groß "
 
-#: www/tracker/tracker.php:379
+#: www/tracker/tracker.php:377
 #, php-format
 msgid "ERROR: Skipping attachment %d: transfer interrupted."
 msgstr "FEHLER: Überspringe Anhang %d: Übermittlung unterbrochen"
 
-#: www/tracker/tracker.php:403
+#: www/tracker/tracker.php:401
 msgid "File Upload: Error"
 msgstr "Dateihochlade-Fehler"
 
-#: www/tracker/tracker.php:406
+#: www/tracker/tracker.php:404
 msgid "File Upload: Successful"
 msgstr "Datei hochladen: Erfolgreich"
 
-#: www/tracker/tracker.php:423
+#: www/tracker/tracker.php:421
 #, fuzzy
 msgid "Could Not Create File Object::"
 msgstr "Konnte kein Foren-Objekt einholen"
 
-#: www/tracker/tracker.php:428
+#: www/tracker/tracker.php:426
 #, fuzzy
 msgid "File Delete"
 msgstr "Datei gelöscht"
 
-#: www/tracker/tracker.php:431
+#: www/tracker/tracker.php:429
 msgid "File Delete: Successful"
 msgstr "Datei löschen: Erfolgreich"
 
-#: www/tracker/tracker.php:444
+#: www/tracker/tracker.php:442
 #, php-format
 msgid "Item [#%d] successfully updated"
 msgstr "Element [#%d] erfolgreich aktualisiert"
 
-#: www/tracker/tracker.php:486 www/tracker/tracker.php:513
+#: www/tracker/tracker.php:484 www/tracker/tracker.php:511
 msgid "Monitoring Started"
 msgstr "Beobachtung gestartet"
 
-#: www/tracker/tracker.php:488 www/tracker/tracker.php:515
+#: www/tracker/tracker.php:486 www/tracker/tracker.php:513
 msgid "Monitoring Deactivated"
 msgstr "Beobachtung des Trackers deaktiviert."
 
-#: www/tracker/tracker.php:563
+#: www/tracker/tracker.php:561
 msgid "Confirmation failed. Artifact not deleted"
 msgstr "Bestätigung fehlgeschlagen. Produkt wurde nicht gelöscht"
 
-#: www/tracker/tracker.php:567
+#: www/tracker/tracker.php:565
 msgid "Artifact Delete Failed"
 msgstr "Löschen des Produktes fehlgeschlagen."
 
-#: www/tracker/tracker.php:569
+#: www/tracker/tracker.php:567
 msgid "Artifact Deleted Successfully"
 msgstr "Produkt erfolgreich gelöscht"
 

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/translations/fusionforge.pot
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/translations/fusionforge.pot	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/translations/fusionforge.pot	2012-04-07 14:11:25 UTC (rev 18261)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-04-05 16:29+0200\n"
+"POT-Creation-Date: 2012-04-07 15:37+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -35,7 +35,7 @@
 msgstr ""
 
 #: common/docman/Document.class.php:82 common/forum/Forum.class.php:115
-#: common/include/Error.class.php:184 common/mail/MailingList.class.php:79
+#: common/include/Error.class.php:192 common/mail/MailingList.class.php:79
 #: common/survey/Survey.class.php:78 common/survey/SurveyQuestion.class.php:70
 #: plugins/mailman/include/MailmanList.class.php:104
 msgid "Group_id in db result does not match Group Object"
@@ -710,7 +710,7 @@
 msgstr ""
 
 #: common/docman/views/listfile.php:121
-#: common/tracker/ArtifactExtraField.class.php:326
+#: common/tracker/ArtifactExtraField.class.php:315
 #: plugins/globalsearch/common/globalsearch_edit_utils.php:218
 #: www/admin/groupedit.php:106 www/admin/grouplist.php:35
 #: www/admin/pluginman.php:118 www/admin/search.php:94
@@ -974,7 +974,7 @@
 
 #: common/forum/Forum.class.php:444 common/forum/Forum.class.php:479
 #: common/frs/FRSPackage.class.php:268 common/frs/FRSPackage.class.php:300
-#: common/tracker/ArtifactType.class.php:549
+#: common/tracker/ArtifactType.class.php:550
 msgid "You can only monitor if you are logged in"
 msgstr ""
 
@@ -997,10 +997,10 @@
 
 #: common/forum/Forum.class.php:620 common/frs/FRSPackage.class.php:447
 #: common/frs/FRSRelease.class.php:356 common/include/Group.class.php:1652
-#: common/mail/MailingList.class.php:393 common/pm/ProjectGroup.class.php:376
+#: common/mail/MailingList.class.php:394 common/pm/ProjectGroup.class.php:376
 #: common/pm/ProjectTask.class.php:518 common/tracker/Artifact.class.php:490
-#: common/tracker/ArtifactExtraField.class.php:429
-#: common/tracker/ArtifactType.class.php:816
+#: common/tracker/ArtifactExtraField.class.php:413
+#: common/tracker/ArtifactType.class.php:798
 msgid "Please tick all checkboxes."
 msgstr ""
 
@@ -1509,25 +1509,25 @@
 msgid "Database initialisation error:"
 msgstr ""
 
-#: common/include/Error.class.php:125 common/include/Group.class.php:444
+#: common/include/Error.class.php:133 common/include/Group.class.php:444
 #: common/include/Group.class.php:526
 msgid "Permission denied."
 msgstr ""
 
-#: common/include/Error.class.php:142 common/include/User.class.php:279
+#: common/include/Error.class.php:150 common/include/User.class.php:279
 msgid "Invalid Email Address"
 msgstr ""
 
-#: common/include/Error.class.php:146
+#: common/include/Error.class.php:154
 msgid "(none given)"
 msgstr ""
 
-#: common/include/Error.class.php:167
+#: common/include/Error.class.php:175
 #, php-format
 msgid "Error On Update: %s"
 msgstr ""
 
-#: common/include/Error.class.php:210
+#: common/include/Error.class.php:218
 msgid "Missing Parameters"
 msgstr ""
 
@@ -2603,7 +2603,7 @@
 
 #: common/include/descriptive.php:134
 #: www/search/include/renderers/SkillHtmlSearchRenderer.class.php:48
-#: www/tracker/admin/form-workflow.php:61
+#: www/tracker/admin/form-workflow.php:80
 msgid "From"
 msgstr ""
 
@@ -2634,36 +2634,36 @@
 msgid "Exiting with error"
 msgstr ""
 
-#: common/include/exit.php:58
+#: common/include/exit.php:62
 msgid ""
 "Permission denied. This project's administrator will have to grant you "
 "permission to view this page."
 msgstr ""
 
-#: common/include/exit.php:71
+#: common/include/exit.php:75
 msgid "You are not logged in."
 msgstr ""
 
-#: common/include/exit.php:83
+#: common/include/exit.php:87
 msgid ""
 "Permission denied. No project was chosen, project does not exist or you "
 "can't access it."
 msgstr ""
 
-#: common/include/exit.php:97
+#: common/include/exit.php:101
 msgid "Missing required parameters : "
 msgstr ""
 
-#: common/include/exit.php:102
+#: common/include/exit.php:106
 #, php-format
 msgid "Missing required parameters."
 msgstr ""
 
-#: common/include/exit.php:120
+#: common/include/exit.php:124
 msgid "The Site Administrator has turned off this feature."
 msgstr ""
 
-#: common/include/exit.php:129
+#: common/include/exit.php:133
 msgid "You Attempted To Double-submit this item. Please avoid double-clicking."
 msgstr ""
 
@@ -3151,7 +3151,7 @@
 msgid "Error Getting mailing list"
 msgstr ""
 
-#: common/mail/MailingList.class.php:388
+#: common/mail/MailingList.class.php:389
 msgid "Sorry, this mailing list is special and must not be deleted."
 msgstr ""
 
@@ -3430,7 +3430,7 @@
 msgstr ""
 
 #: common/tracker/Artifact.class.php:206 common/tracker/Artifact.class.php:751
-#: www/tracker/tracker.php:96 www/tracker/tracker.php:294
+#: www/tracker/tracker.php:96 www/tracker/tracker.php:292
 msgid ""
 "Artifact: This ArtifactType Does Not Allow Anonymous Submissions. Please "
 "Login."
@@ -3473,73 +3473,67 @@
 msgid "ArtifactCanned: name and assignee are Required"
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:108
-#: common/tracker/ArtifactExtraField.class.php:378
+#: common/tracker/ArtifactExtraField.class.php:120
+#: common/tracker/ArtifactExtraField.class.php:362
 msgid "a field name is required"
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:124
-#: common/tracker/ArtifactExtraField.class.php:387
+#: common/tracker/ArtifactExtraField.class.php:136
+#: common/tracker/ArtifactExtraField.class.php:371
 #, php-format
 msgid "Field name \"%s\" already exists"
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:186
-#: common/tracker/ArtifactExtraField.class.php:192
-#: www/tracker/admin/updates.php:100 www/tracker/admin/updates.php:199
-msgid "Error inserting an element"
-msgstr ""
-
-#: common/tracker/ArtifactExtraField.class.php:320
+#: common/tracker/ArtifactExtraField.class.php:309
 #: www/tracker/admin/form-addextrafield.php:125
 msgid "Select Box"
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:321
+#: common/tracker/ArtifactExtraField.class.php:310
 #: www/tracker/admin/form-addextrafield.php:126
 msgid "Check Box"
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:322
+#: common/tracker/ArtifactExtraField.class.php:311
 #: www/tracker/admin/form-addextrafield.php:127
 msgid "Radio Buttons"
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:323
+#: common/tracker/ArtifactExtraField.class.php:312
 #: www/tracker/admin/form-addextrafield.php:128
 msgid "Text Field"
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:324
+#: common/tracker/ArtifactExtraField.class.php:313
 #: www/tracker/admin/form-addextrafield.php:129
 msgid "Multi-Select Box"
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:325
+#: common/tracker/ArtifactExtraField.class.php:314
 #: www/tracker/admin/form-addextrafield.php:130
 msgid "Text Area"
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:327
+#: common/tracker/ArtifactExtraField.class.php:316
 msgid "Relation"
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:328
+#: common/tracker/ArtifactExtraField.class.php:317
 msgid "Integer"
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:496
+#: common/tracker/ArtifactExtraField.class.php:480
 msgid ""
 "The alias (field name) contains invalid characters. Only letters, numbers, "
 "commercial at (@), underscores (_) and hyphen (-) allowed."
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:499
+#: common/tracker/ArtifactExtraField.class.php:483
 #, php-format
 msgid "'%1$s' is a reserved alias. Please provide another name."
 msgstr ""
 
-#: common/tracker/ArtifactExtraField.class.php:583
+#: common/tracker/ArtifactExtraField.class.php:565
 msgid "Out of range value"
 msgstr ""
 
@@ -3574,26 +3568,26 @@
 msgid "Query does not exist"
 msgstr ""
 
-#: common/tracker/ArtifactType.class.php:207
-#: common/tracker/ArtifactType.class.php:979
+#: common/tracker/ArtifactType.class.php:208
+#: common/tracker/ArtifactType.class.php:961
 msgid ""
 "ArtifactType: Name, Description, Due Period, and Status Timeout are required"
 msgstr ""
 
-#: common/tracker/ArtifactType.class.php:214
-#: common/tracker/ArtifactType.class.php:997
+#: common/tracker/ArtifactType.class.php:215
+#: common/tracker/ArtifactType.class.php:979
 msgid "E-mail address(es) appeared invalid"
 msgstr ""
 
-#: common/tracker/ArtifactType.class.php:567
+#: common/tracker/ArtifactType.class.php:568
 msgid "Now Monitoring Tracker"
 msgstr ""
 
-#: common/tracker/ArtifactType.class.php:577
+#: common/tracker/ArtifactType.class.php:578
 msgid "Tracker Monitoring Deactivated"
 msgstr ""
 
-#: common/tracker/ArtifactType.class.php:990
+#: common/tracker/ArtifactType.class.php:972
 msgid "Tracker name already used"
 msgstr ""
 
@@ -3626,7 +3620,7 @@
 #: www/tracker/admin/form-addcanned.php:69
 #: www/tracker/admin/form-addextrafield.php:145
 #: www/tracker/admin/form-addextrafieldoption.php:104
-#: www/tracker/admin/form-clonetracker.php:59
+#: www/tracker/admin/form-clonetracker.php:89
 #: www/tracker/admin/form-customizelist.php:77
 #: www/tracker/admin/form-deleteextrafieldelement.php:63
 #: www/tracker/admin/form-extrafieldcopy.php:97
@@ -3635,7 +3629,7 @@
 #: www/tracker/admin/form-updateextrafieldelement.php:67
 #: www/tracker/admin/form-updatetracker.php:83
 #: www/tracker/admin/form-uploadtemplate.php:39
-#: www/tracker/admin/form-workflow.php:121
+#: www/tracker/admin/form-workflow.php:158
 #: www/tracker/admin/form-workflow_roles.php:76 www/tracker/admin/ind.php:165
 msgid "Submit"
 msgstr ""
@@ -8580,7 +8574,7 @@
 
 #: www/activity/index.php:273 www/activity/index.php:278
 #: www/tracker/taskmgr.php:104 www/tracker/taskmgr.php:170
-#: www/tracker/tracker.php:321
+#: www/tracker/tracker.php:319
 msgid "Tracker Item"
 msgstr ""
 
@@ -13824,7 +13818,7 @@
 msgstr ""
 
 #: www/project/admin/editimages.php:59 www/tracker/tracker.php:151
-#: www/tracker/tracker.php:400
+#: www/tracker/tracker.php:398
 msgid "Invalid filename"
 msgstr ""
 
@@ -14355,7 +14349,7 @@
 msgid "Grant extra role"
 msgstr ""
 
-#: www/project/admin/users.php:397 www/tracker/admin/form-workflow.php:119
+#: www/project/admin/users.php:397
 msgid "Edit Roles"
 msgstr ""
 
@@ -15260,7 +15254,7 @@
 msgstr ""
 
 #: www/search/include/renderers/SkillHtmlSearchRenderer.class.php:49
-#: www/tracker/admin/form-workflow.php:62
+#: www/tracker/admin/form-workflow.php:81
 msgid "To"
 msgstr ""
 
@@ -16717,10 +16711,12 @@
 msgstr ""
 
 #: www/tracker/admin/form-addextrafield.php:115
+#: www/tracker/admin/form-updateextrafield.php:48
 msgid "Custom Field name (human-readable)"
 msgstr ""
 
 #: www/tracker/admin/form-addextrafield.php:119
+#: www/tracker/admin/form-updateextrafield.php:72
 msgid "Field alias (internal name)"
 msgstr ""
 
@@ -16778,8 +16774,8 @@
 #: www/tracker/admin/updates.php:39 www/tracker/admin/updates.php:58
 #: www/tracker/admin/updates.php:87 www/tracker/admin/updates.php:181
 #: www/tracker/admin/updates.php:223 www/tracker/admin/updates.php:246
-#: www/tracker/admin/updates.php:375 www/tracker/admin/updates.php:395
-#: www/tracker/admin/updates.php:418 www/tracker/admin/updates.php:470
+#: www/tracker/admin/updates.php:381 www/tracker/admin/updates.php:401
+#: www/tracker/admin/updates.php:424 www/tracker/admin/updates.php:476
 msgid "Unable to create ArtifactExtraField Object"
 msgstr ""
 
@@ -16812,27 +16808,27 @@
 msgid "Add New Element"
 msgstr ""
 
-#: www/tracker/admin/form-clonetracker.php:32
-msgid "Unable to Create Template Group Object"
+#: www/tracker/admin/form-clonetracker.php:67
+msgid "Error looking up template projects"
 msgstr ""
 
-#: www/tracker/admin/form-clonetracker.php:48
-#: www/tracker/include/ArtifactTypeHtml.class.php:837
-msgid "Clone Tracker"
+#: www/tracker/admin/form-clonetracker.php:68
+msgid "No template project found"
 msgstr ""
 
-#: www/tracker/admin/form-clonetracker.php:51
-msgid ""
-"The site administrator must first set up template trackers in the template "
-"projet with default values and set permissions propertly so you can access "
-"them."
+#: www/tracker/admin/form-clonetracker.php:72
+msgid "Some errors occured during template project lookup"
 msgstr ""
 
-#: www/tracker/admin/form-clonetracker.php:54
+#: www/tracker/admin/form-clonetracker.php:75 www/tracker/admin/tracker.php:61
+msgid "Apply Template Tracker"
+msgstr ""
+
+#: www/tracker/admin/form-clonetracker.php:77
 msgid "Choose the template tracker to clone."
 msgstr ""
 
-#: www/tracker/admin/form-clonetracker.php:57
+#: www/tracker/admin/form-clonetracker.php:84
 msgid ""
 "WARNING!!! Cloning this tracker will duplicate all the fields and all the "
 "elements from those fields into this tracker. There is nothing to prevent "
@@ -16892,7 +16888,7 @@
 
 #: www/tracker/admin/form-deleteextrafieldelement.php:42
 #: www/tracker/admin/form-updateextrafieldelement.php:40
-#: www/tracker/admin/updates.php:252 www/tracker/admin/updates.php:476
+#: www/tracker/admin/updates.php:252 www/tracker/admin/updates.php:482
 msgid "Unable to create ArtifactExtraFieldElement Object"
 msgstr ""
 
@@ -16944,10 +16940,6 @@
 msgid "Modify a custom field in %s"
 msgstr ""
 
-#: www/tracker/admin/form-updateextrafield.php:48
-msgid "Custom Field Name"
-msgstr ""
-
 #: www/tracker/admin/form-updateextrafield.php:53
 msgid "Text Area Rows"
 msgstr ""
@@ -16964,10 +16956,6 @@
 msgid "Text Field Maxlength"
 msgstr ""
 
-#: www/tracker/admin/form-updateextrafield.php:72
-msgid "Field alias"
-msgstr ""
-
 #: www/tracker/admin/form-updateextrafield.php:75
 msgid "Field is mandatory"
 msgstr ""
@@ -17032,33 +17020,51 @@
 msgid "Select Template"
 msgstr ""
 
-#: www/tracker/admin/form-workflow.php:30
+#: www/tracker/admin/form-workflow.php:33
 msgid ""
 "To create a workflow, you need first to create a custom field of type "
 "'Status'."
 msgstr ""
 
-#: www/tracker/admin/form-workflow.php:34
-msgid "Internal error: Illegal number of status fields (WKFL01)."
+#: www/tracker/admin/form-workflow.php:36
+msgid "Internal error: Illegal number of status fields (only one allowed)."
 msgstr ""
 
-#: www/tracker/admin/form-workflow.php:37
+#: www/tracker/admin/form-workflow.php:40
 msgid "Configure workflow"
 msgstr ""
 
-#: www/tracker/admin/form-workflow.php:55
+#: www/tracker/admin/form-workflow.php:47
+msgid "Cannot continue due to an error."
+msgstr ""
+
+#: www/tracker/admin/form-workflow.php:62
 #, php-format
 msgid "Allowed initial values for the %1$s field"
 msgstr ""
 
-#: www/tracker/admin/form-workflow.php:63
+#: www/tracker/admin/form-workflow.php:93
 msgid "Initial values"
 msgstr ""
 
-#: www/tracker/admin/form-workflow.php:66
-msgid "From Value"
+#: www/tracker/admin/form-workflow.php:105
+#, php-format
+msgid "Allowed transitions for the %1$s field"
 msgstr ""
 
+#: www/tracker/admin/form-workflow.php:143
+#: www/tracker/admin/form-workflow.php:145
+#: www/tracker/admin/form-workflow.php:154
+msgid "Edit roles"
+msgstr ""
+
+#: www/tracker/admin/form-workflow.php:152
+#, php-format
+msgid ""
+"Tip: Click on %s to configure allowed roles for a transition (all by "
+"default)."
+msgstr ""
+
 #: www/tracker/admin/form-workflow_roles.php:56
 #, php-format
 msgid "Configuring allowed roles for the transitions from %1$s to %2$s"
@@ -17185,10 +17191,6 @@
 msgid "Create/change generic response messages for the tracker."
 msgstr ""
 
-#: www/tracker/admin/tracker.php:61
-msgid "Apply Template Tracker"
-msgstr ""
-
 #: www/tracker/admin/tracker.php:62
 msgid "Duplicate parameters and fields from a template trackers in this one."
 msgstr ""
@@ -17209,6 +17211,10 @@
 msgid "Custom Field Deleted"
 msgstr ""
 
+#: www/tracker/admin/updates.php:100 www/tracker/admin/updates.php:199
+msgid "Error inserting an element"
+msgstr ""
+
 #: www/tracker/admin/updates.php:103
 msgid "Element inserted"
 msgstr ""
@@ -17225,8 +17231,8 @@
 msgid "Canned Response Inserted"
 msgstr ""
 
-#: www/tracker/admin/updates.php:144 www/tracker/admin/updates.php:301
-#: www/tracker/admin/updates.php:325 www/tracker/admin/updates.php:339
+#: www/tracker/admin/updates.php:144 www/tracker/admin/updates.php:307
+#: www/tracker/admin/updates.php:331 www/tracker/admin/updates.php:345
 msgid "Error updating"
 msgstr ""
 
@@ -17239,8 +17245,8 @@
 msgstr ""
 
 #: www/tracker/admin/updates.php:228 www/tracker/admin/updates.php:259
-#: www/tracker/admin/updates.php:380 www/tracker/admin/updates.php:403
-#: www/tracker/admin/updates.php:423
+#: www/tracker/admin/updates.php:386 www/tracker/admin/updates.php:409
+#: www/tracker/admin/updates.php:429
 msgid "Error updating a custom field"
 msgstr ""
 
@@ -17256,45 +17262,49 @@
 msgid "Clone ID"
 msgstr ""
 
-#: www/tracker/admin/updates.php:278
+#: www/tracker/admin/updates.php:281
+msgid "Error looking up template project"
+msgstr ""
+
+#: www/tracker/admin/updates.php:284
 msgid "Error cloning fields: "
 msgstr ""
 
-#: www/tracker/admin/updates.php:280
+#: www/tracker/admin/updates.php:286
 msgid "Successfully Cloned Tracker Fields "
 msgstr ""
 
-#: www/tracker/admin/updates.php:304 www/tracker/admin/updates.php:328
-#: www/tracker/admin/updates.php:383 www/tracker/admin/updates.php:412
-#: www/tracker/admin/updates.php:426
+#: www/tracker/admin/updates.php:310 www/tracker/admin/updates.php:334
+#: www/tracker/admin/updates.php:389 www/tracker/admin/updates.php:418
+#: www/tracker/admin/updates.php:432
 msgid "Tracker Updated"
 msgstr ""
 
-#: www/tracker/admin/updates.php:362
+#: www/tracker/admin/updates.php:368
 msgid "Renderer Uploaded"
 msgstr ""
 
-#: www/tracker/admin/updates.php:364
+#: www/tracker/admin/updates.php:370
 msgid "Renderer File empty"
 msgstr ""
 
-#: www/tracker/admin/updates.php:439
+#: www/tracker/admin/updates.php:445
 msgid "ERROR: Initial values not saved, no initial state given."
 msgstr ""
 
-#: www/tracker/admin/updates.php:443
+#: www/tracker/admin/updates.php:449
 msgid "Initial values saved."
 msgstr ""
 
-#: www/tracker/admin/updates.php:452 www/tracker/admin/updates.php:461
+#: www/tracker/admin/updates.php:458 www/tracker/admin/updates.php:467
 msgid "Workflow saved"
 msgstr ""
 
-#: www/tracker/admin/updates.php:479
+#: www/tracker/admin/updates.php:485
 msgid "Error deleting an element"
 msgstr ""
 
-#: www/tracker/admin/updates.php:482
+#: www/tracker/admin/updates.php:488
 msgid "Element deleted"
 msgstr ""
 
@@ -17460,10 +17470,10 @@
 msgstr ""
 
 #: www/tracker/download.php:51 www/tracker/taskmgr.php:36
-#: www/tracker/tracker.php:94 www/tracker/tracker.php:290
-#: www/tracker/tracker.php:481 www/tracker/tracker.php:508
-#: www/tracker/tracker.php:537 www/tracker/tracker.php:558
-#: www/tracker/tracker.php:607
+#: www/tracker/tracker.php:94 www/tracker/tracker.php:288
+#: www/tracker/tracker.php:479 www/tracker/tracker.php:506
+#: www/tracker/tracker.php:535 www/tracker/tracker.php:556
+#: www/tracker/tracker.php:605
 msgid "Artifact Could Not Be Created"
 msgstr ""
 
@@ -17596,6 +17606,10 @@
 msgid "-tooltip:tracker:cannedresp"
 msgstr ""
 
+#: www/tracker/include/ArtifactTypeHtml.class.php:837
+msgid "Clone Tracker"
+msgstr ""
+
 #: www/tracker/include/ArtifactTypeHtml.class.php:840
 msgid "-tooltip:tracker:clonetracker"
 msgstr ""
@@ -17828,7 +17842,7 @@
 msgstr ""
 
 #: www/tracker/reporting/trackeract_graph.php:49
-#: www/tracker/reporting/trackerpie_graph.php:63 www/tracker/tracker.php:303
+#: www/tracker/reporting/trackerpie_graph.php:63 www/tracker/tracker.php:301
 msgid "Error: "
 msgstr ""
 
@@ -17865,7 +17879,7 @@
 msgid "No eMail address given"
 msgstr ""
 
-#: www/tracker/tracker.php:143 www/tracker/tracker.php:394
+#: www/tracker/tracker.php:143 www/tracker/tracker.php:392
 msgid "Could Not Create File Object"
 msgstr ""
 
@@ -17878,71 +17892,71 @@
 msgid "Item [#%d] successfully created"
 msgstr ""
 
-#: www/tracker/tracker.php:256
+#: www/tracker/tracker.php:254
 msgid "Updated Successfully"
 msgstr ""
 
-#: www/tracker/tracker.php:303
+#: www/tracker/tracker.php:301
 #, php-format
 msgid "Could not get Project Task for %d"
 msgstr ""
 
-#: www/tracker/tracker.php:331 www/tracker/tracker.php:350
+#: www/tracker/tracker.php:329 www/tracker/tracker.php:348
 msgid "Comment added"
 msgstr ""
 
-#: www/tracker/tracker.php:375
+#: www/tracker/tracker.php:373
 #, php-format
 msgid "ERROR: Skipping attachment %d: file is too large."
 msgstr ""
 
-#: www/tracker/tracker.php:379
+#: www/tracker/tracker.php:377
 #, php-format
 msgid "ERROR: Skipping attachment %d: transfer interrupted."
 msgstr ""
 
-#: www/tracker/tracker.php:403
+#: www/tracker/tracker.php:401
 msgid "File Upload: Error"
 msgstr ""
 
-#: www/tracker/tracker.php:406
+#: www/tracker/tracker.php:404
 msgid "File Upload: Successful"
 msgstr ""
 
-#: www/tracker/tracker.php:423
+#: www/tracker/tracker.php:421
 msgid "Could Not Create File Object::"
 msgstr ""
 
-#: www/tracker/tracker.php:428
+#: www/tracker/tracker.php:426
 msgid "File Delete"
 msgstr ""
 
-#: www/tracker/tracker.php:431
+#: www/tracker/tracker.php:429
 msgid "File Delete: Successful"
 msgstr ""
 
-#: www/tracker/tracker.php:444
+#: www/tracker/tracker.php:442
 #, php-format
 msgid "Item [#%d] successfully updated"
 msgstr ""
 
-#: www/tracker/tracker.php:486 www/tracker/tracker.php:513
+#: www/tracker/tracker.php:484 www/tracker/tracker.php:511
 msgid "Monitoring Started"
 msgstr ""
 
-#: www/tracker/tracker.php:488 www/tracker/tracker.php:515
+#: www/tracker/tracker.php:486 www/tracker/tracker.php:513
 msgid "Monitoring Deactivated"
 msgstr ""
 
-#: www/tracker/tracker.php:563
+#: www/tracker/tracker.php:561
 msgid "Confirmation failed. Artifact not deleted"
 msgstr ""
 
-#: www/tracker/tracker.php:567
+#: www/tracker/tracker.php:565
 msgid "Artifact Delete Failed"
 msgstr ""
 
-#: www/tracker/tracker.php:569
+#: www/tracker/tracker.php:567
 msgid "Artifact Deleted Successfully"
 msgstr ""
 

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/utils/fixscripts/populate_template_project.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/utils/fixscripts/populate_template_project.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/utils/fixscripts/populate_template_project.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -231,6 +231,13 @@
 	}
 	$project->normalizeAllRoles () ;
 
+	foreach (array(
+		'extratabs',
+		'mediawiki',
+	    ) as $plugname) {
+		$project->setPluginUse($plugname);
+	}
+
 	db_commit();
 
 	return true;

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/utils/migrate-to-ini-files.sh
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/utils/migrate-to-ini-files.sh	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/utils/migrate-to-ini-files.sh	2012-04-07 14:11:25 UTC (rev 18261)
@@ -82,7 +82,6 @@
 add_config core src_path >> $tmp
 add_config core stats_group >> $tmp
 add_config core sys_proxy >> $tmp
-add_config core template_group >> $tmp
 add_config core themes_root >> $tmp
 add_config core unix_cipher >> $tmp
 add_config core upload_dir >> $tmp

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/register/index.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/register/index.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/register/index.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -51,7 +51,7 @@
 }
 
 $template_projects = group_get_template_projects() ;
-sortProjectList ($template_projects) ;
+sortProjectList ($template_projects, 'id', true) ;
 
 if (getStringFromRequest('submit')) {
 	if (!form_key_is_valid(getStringFromRequest('form_key'))) {

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/softwaremap/index.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/softwaremap/index.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/softwaremap/index.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -24,6 +24,11 @@
 
 require_once('../env.inc.php');
 require_once $gfcommon.'include/pre.php';
+
+/* always use the group list in Evolvis */
+session_redirect('softwaremap/full_list.php');
+/* NOTREACHED */
+
 if (forge_get_config('use_project_tags')) {
 	session_redirect('softwaremap/tag_cloud.php');
 } elseif (forge_get_config('use_trove')){

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/themes/css/fusionforge.css
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/themes/css/fusionforge.css	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/themes/css/fusionforge.css	2012-04-07 14:11:25 UTC (rev 18261)
@@ -755,12 +755,24 @@
 	border-width: 0px;
 	padding: 0px;
 	color: red;
+	text-align: left;
 }
 
 #ffErrors .warning {
 	background-color: inherit;
 }
 
+#ffBacktrace {
+	padding:12px;
+	margin:12px;
+	border:1px solid black;
+}
+
+#ffBacktrace p {
+	text-indent:-3em;
+	margin-left:3em;
+}
+
 .img-shadow-l {
 	float:left;
 	background: url(../../images/img-shadowAlpha.png) no-repeat bottom right !important;

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-clonetracker.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-clonetracker.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-clonetracker.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -1,9 +1,10 @@
 <?php
-/**
- * FusionForge Tracker Cloning Form
+/*-
+ * FusionForge form for applying a template tracker ("cloning")
  *
- * Copyright 2010, FusionForge Team
- * http://fusionforge.org
+ * Copyright © 2012
+ *	Thorsten Glaser <t.glaser at tarent.de>
+ * All rights reserved.
  *
  * This file is part of FusionForge. FusionForge is free software;
  * you can redistribute it and/or modify it under the terms of the
@@ -21,46 +22,71 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-$g = group_get_object(forge_get_config('template_group'));
-if (!$g || !is_object($g)) {
-	exit_no_group();
-} elseif ($g->isError()) {
-	exit_error($g->getErrorMessage(),'tracker');
-} else {
-	$atf = new ArtifactTypeFactory($g);
-	if (!$atf || !is_object($atf)) {
-		exit_error(_('Unable to Create Template Group Object'),'tracker');
-	} elseif ($atf->isError()) {
-		exit_error($atf->getErrorMessage(),'tracker');
-	} else {
-		$ata = $atf->getArtifactTypes();
-		$ids = array();
-		$titles = array();
-		for ($i=0; $i<count($ata); $i++) {
-			if (!$ata[$i] || $ata[$i]->isError()) {
-//skip it
-			} else {
-				$ids[]=$ata[$i]->getID();
-				$titles[]=$g->getPublicName().'::'.$ata[$i]->getName();
-			}
-		}
+$tlist = group_get_template_projects();
+sortProjectList($tlist, 'id', true);
 
-		$ath->adminHeader(array ('title'=>_('Clone Tracker')));
+$ids = array();
+$names = array();
+$has_error = false;
 
-		if (empty($ata)) {
-			echo '<div class="warning_msg">'._('The site administrator must first set up template trackers in the template projet with default values and set permissions propertly so you can access them.').'</div>';
-		} else {
-		?>
-		<p><?php echo _('Choose the template tracker to clone.') ?></p>
-		<form action="<?php echo getStringFromServer('PHP_SELF').'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
-		<input type="hidden" name="clone_tracker" value="y" />
-		<div class="warning" ><?php echo _('WARNING!!! Cloning this tracker will duplicate all the fields and all the elements from those fields into this tracker. There is nothing to prevent you from cloning multiple times or making a huge mess. You have been warned!') ?></div>
-		<p><?php echo html_build_select_box_from_arrays($ids,$titles,'clone_id','',false); ?></p>
-		<input type="submit" name="post_changes" value="<?php echo _('Submit') ?>" />
-		</form>
-<?php
+foreach ($tlist as $tp) {
+	if (!$tp || !is_object($tp) || $tp->isError()) {
+		/* skip it */
+		$has_error = true;
+		continue;
+	}
+	$atf = new ArtifactTypeFactory($tp);
+	if (!$atf || !is_object($atf) || $atf->isError()) {
+		$has_error = true;
+		continue;
+	}
+	$ats = $atf->getArtifactTypes();
+	$ata = array();
+	foreach ($ats as $at) {
+		if (!$at || !is_object($at) || $at->isError()) {
+			$has_error = true;
+			continue;
 		}
-		$ath->footer(array());
+		$ata[$at->getID()] = $at;
 	}
+	uasort($ata, create_function('$a, $b', '
+		$av = $a->getName();
+		$bv = $b->getName();
+
+		return strcoll($av, $bv);
+	    '));
+	foreach ($ata as $aid => $at) {
+		$ids[] = $aid;
+		$names[] = sprintf('%s::%s (%d::%d)',
+		    $tp->getPublicName(), $at->getName(),
+		    $tp->getID(), $aid);
+	}
 }
-?>
+
+if (!$ids) {
+	exit_error($has_error ? _('Error looking up template projects') :
+	    _('No template project found'), 'tracker');
+}
+
+if ($has_error) {
+	$warning_msg = _('Some errors occured during template project lookup');
+}
+
+$ath->adminHeader(array('title' => _('Apply Template Tracker')));
+
+echo "<p>" . _('Choose the template tracker to clone.') . "</p>\n";
+
+echo '<form action="' . getStringFromServer('PHP_SELF') .
+    '?group_id=' . $group_id . '&atid=' . $ath->getID() .
+    '" method="post">
+	<input type="hidden" name="clone_tracker" value="y" />
+	<div class="warning">' .
+    _('WARNING!!! Cloning this tracker will duplicate all the fields and all the elements from those fields into this tracker. There is nothing to prevent you from cloning multiple times or making a huge mess. You have been warned!') .
+    '</div>
+	<p>' . html_build_select_box_from_arrays($ids, $names,
+    'clone_id', '', false) . '</p>
+	<input type="submit" name="post_changes" value="' .
+    _('Submit') . '" />
+</form>';
+
+$ath->footer(array());

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-updateextrafield.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-updateextrafield.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-updateextrafield.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -45,7 +45,7 @@
 	<input type="hidden" name="update_box" value="y" />
 	<input type="hidden" name="id" value="<?php echo $ac->getID(); ?>" />
 	<p>
-		<strong><?php echo _('Custom Field Name') ?>:</strong><br />
+		<strong><?php echo _('Custom Field name (human-readable)') ?>:</strong><br />
 		<input type="text" name="name" value="<?php echo $ac->getName(); ?>" />
 	</p>
 	<p>
@@ -69,7 +69,7 @@
 		<?php } ?>
 	</p>
 	<p>
-		<strong><?php echo _('Field alias') ?>:</strong><br />
+		<strong><?php echo _('Field alias (internal name)') ?>:</strong><br />
 		<input type="text" name="alias" value="<?php echo $ac->getAlias(); ?>" />
 	</p>
 	<p><input type="checkbox" name="is_required" <?php if ($ac->isRequired()) echo "checked=\"checked\""; ?> /><?php echo _('Field is mandatory')?></p>

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-workflow.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-workflow.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/form-workflow.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -1,9 +1,11 @@
 <?php
-/**
- * Update Artifact Type Form
+/*-
+ * FusionForge tracker form to define a workflow
  *
  * Copyright 2010, FusionForge Team
- * http://fusionforge.org
+ * Copyright © 2012
+ *	Thorsten Glaser <t.glaser at tarent.de>
+ * All rights reserved.
  *
  * This file is part of FusionForge. FusionForge is free software;
  * you can redistribute it and/or modify it under the terms of the
@@ -21,108 +23,139 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-require_once('common/tracker/ArtifactWorkflow.class.php');
+require_once $gfcommon.'include/EvolvisTable.class.php';
+require_once $gfcommon.'tracker/ArtifactWorkflow.class.php';
 
 $has_error = false;
 $efarr = $ath->getExtraFields(array(ARTIFACT_EXTRAFIELDTYPE_STATUS));
 if (count($efarr) === 0) {
 	$has_error = true;
-   	$error_msg .= _('To create a workflow, you need first to create a custom field of type \'Status\'.');
+	$error_msg .= _('To create a workflow, you need first to create a custom field of type \'Status\'.');
 } elseif (count($efarr) !== 1) {
-	// Internal error.
 	$has_error = true;
-	$error_msg .= _('Internal error: Illegal number of status fields (WKFL01).');
+	$error_msg .= _('Internal error: Illegal number of status fields (only one allowed).');
 }
 
-$ath->adminHeader(array ('title'=> _('Configure workflow'),'pagename'=>'tracker_admin_customize_liste','titlevals'=>array($ath->getName())));
+$ath->adminHeader(array(
+	'title' => _('Configure workflow'),
+	'pagename' => 'tracker_admin_customize_liste',
+	'titlevals' => array($ath->getName()),
+    ));
 
-/*
-	List of possible user built Selection Boxes for an ArtifactType
-*/
-if (!$has_error) {
-    		
-  	$keys=array_keys($efarr);
-   	$field_id = $keys[0];
-   	$field_name = $efarr[$field_id]['field_name'];
+if ($has_error) {
+	echo html_e('p', array(),
+	    util_html_encode(_('Cannot continue due to an error.')));
+	$ath->footer(array());
+	exit(0);
+}
 
-   	$atw = new ArtifactWorkflow($ath, $field_id);
+$keys = array_keys($efarr);
+$field_id = $keys[0];
+$field_name = $efarr[$field_id]['field_name'];
 
-	$elearray = $ath->getExtraFieldElements($field_id);
-	$states = $elearray;
+$atw = new ArtifactWorkflow($ath, $field_id);
 
-?>
-	    	
-   	<h2><?php printf(_('Allowed initial values for the %1$s field'), $field_name) ?></h2>
-	<form action="<?php echo getStringFromServer('PHP_SELF').'?group_id='.$group_id.'&atid='.$ath->getID(); ?>" method="post">
-	<input type="hidden" name="field_id" value="<?php echo $field_id ?>" />
-	<input type="hidden" name="workflow" value="1" />
-   	
-<?php 
-	$from = _('From').' ';
-	$to = _('To').' ';
-	$init = _('Initial values').' ';
+$elearray = $ath->getExtraFieldElements($field_id);
+$states = $elearray;
 
-	$title_arr=array();
-	$title_arr[]=_('From Value');
-	foreach ($elearray as $status) {
-		$title_arr[]=$status['element_name'];		
-	}
-	echo $GLOBALS['HTML']->listTableTop($title_arr);
-	echo "\n";
+echo html_e('h2', array(),
+    util_html_encode(sprintf(_('Allowed initial values for the %1$s field'),
+    $field_name))) . html_eo('form', array(
+	'action' => util_gethref(false, array(
+		'group_id' => $group_id,
+		'atid' => $ath->getID(),
+	    ), false),
+	'method' => 'post',
+    )) . html_e('input', array(
+	'type' => 'hidden',
+	'name' => 'field_id',
+	'value' => $field_id,
+    )) . html_e('input', array(
+	'type' => 'hidden',
+	'name' => 'workflow',
+	'value' => 1,
+    ));
 
-	// Special treatement for the initial value (in the Submit form).
-	echo '<tr id="initval"><th style="text-align:left">'.$init.'</th>'."\n";
-	$next = $atw->getNextNodes('100');
+/* cache gettext lookups */
+$from = _('From').' ';
+$to = _('To').' ';
+
+$titles = array('');
+foreach ($elearray as $status) {
+	$titles[] = $status['element_name'];
+}
+$e = new EvolvisTable($titles);
+
+$r = $e->tr(array(
+	'id' => 'initval',
+	'style' => 'text-align:left;',
+    ));
+$r->th()->set(_('Initial values'));
+$next = $atw->getNextNodes('100');
+foreach ($states as $s) {
+	$r->td()->setraw(html_e('input', array(
+		'type' => 'checkbox',
+		'name' => 'wk[100][' . $s['element_id'] . ']',
+		'checked' => (in_array($s['element_id'], $next) ? 'checked' :
+		    false),
+	    )) . ' ' . html_image('spacer.gif', 20, 20));
+}
+
+echo $e->emit() . html_e('h2', array(),
+    util_html_encode(sprintf(_('Allowed transitions for the %1$s field'),
+    $field_name)));
+
+$count = count($titles);
+for ($i = 1; $i < $count; ++$i) {
+	$titles[$i] = $to . $titles[$i];
+}
+$e = new EvolvisTable($titles);
+
+$i = 1;
+foreach ($elearray as $status) {
+	$r = $e->tr(array(
+		'id' => ('configuring-' . $i++),
+		'style' => 'text-align:left;',
+	    ));
+	$r->th()->set($from . $status['element_name']);
+	$next = $atw->getNextNodes($status['element_id']);
 	foreach ($states as $s) {
-		$name = 'wk[100]['. $s['element_id'].']';
-		$value = in_array($s['element_id'], $next)? ' checked="checked"' : '';
-		$str = '<input type="checkbox" name="'.$name.'"'.$value.' />';
-				$str .= ' '.html_image('spacer.gif', 20, 20);
-		echo '<td align="center">'.$str.'</td>'."\n";
+		$r->td()->setraw($status['element_id'] === $s['element_id'] ?
+		    html_e('input', array(
+			'type' => 'checkbox',
+			'checked' => 'checked',
+			'disabled' => 'disabled',
+		    )) : (html_e('input', array(
+				'type' => 'checkbox',
+				'name' => 'wk[' . $status['element_id'] .
+				    '][' . $s['element_id'] . ']',
+				'checked' => (in_array($s['element_id'], $next) ?
+				    'checked' : false),
+			    )) . ' ' . (in_array($s['element_id'], $next) ?
+			    html_e('a', array(
+				'href' => util_gethref(false, array(
+					'group_id' => $group_id,
+					'atid' => $ath->getID(),
+					'workflow_roles' => 1,
+					'from' => $status['element_id'],
+					'next' => $s['element_id'],
+				    ), false),
+				'title' => _('Edit roles'),
+			    ), html_image('ic/acl_roles20.png', 20, 20, array(
+				'alt' => _('Edit roles'),
+			    ))) : html_image('spacer.gif', 20, 20))));
 	}
-	echo '</tr>'."\n";
-	echo $GLOBALS['HTML']->listTableBottom();
+}
 
-	$count=count($title_arr);
-	$totitle_arr = array();
-	for ($i=0; $i<$count; $i++) {
-		$totitle_arr[] = $title_arr[$i]? $to.$title_arr[$i] : '';
-	}
-	echo $GLOBALS['HTML']->listTableTop($totitle_arr);
-	
-	$i=1;
-	foreach ($elearray as $status) {
-		echo '<tr id="configuring-'.$i++.'"><th style="text-align:left">'.$from.$status['element_name'].'</th>'."\n";
-		$next = $atw->getNextNodes($status['element_id']);
-		foreach ($states as $s) {
-			if ($status['element_id'] !== $s['element_id']) {
-				$name = 'wk['.$status['element_id'].']['. $s['element_id'].']';
-				$value = in_array($s['element_id'], $next)? ' checked="checked"' : '';
-				$str = '<input type="checkbox" name="'.$name.'"'.$value.' />';
-				if ($value) {
-					$url = getStringFromServer('PHP_SELF').'?group_id='.$group_id.'&atid='.$ath->getID().'&workflow_roles=1&from='.$status['element_id'].'&next='.$s['element_id'];
-					$str .= ' <a href="'.$url.'" title="Edit roles">'.html_image('ic/acl_roles20.png', 20, 20, array('alt'=>'Edit Roles')).'</a>';
-				} else {
-							$str .= ' '.html_image('spacer.gif', 20, 20);
-				}
-			} else {
-				$str = '<input type="checkbox" checked="checked" disabled="disabled" />';
-						$str .= ' '.html_image('spacer.gif', 20, 20);
-			}
-			echo '<td align="center">'.$str.'</td>'."\n";
-		}
-		echo '</tr>'."\n";
-	}
-	echo $GLOBALS['HTML']->listTableBottom();
+echo $e->emit() . html_e('div', array(
+	'class' => 'tips',
+    ), sprintf(_('Tip: Click on %s to configure allowed roles for a transition (all by default).'),
+    html_image('ic/acl_roles20.png', 20, 20, array(
+	'alt' => _('Edit roles'),
+    )))) . html_e('p', array(), html_e('input', array(
+	'type' => 'submit',
+	'name' => 'post_changes',
+	'value' => _('Submit'),
+    ))) . '</form>';
 
-?>
-<div class="tips">Tip: Click on <?php echo html_image('ic/acl_roles20.png', 20, 20, array('alt'=> _('Edit Roles'))) ?> to configure allowed roles for a transition (all by default).</div>	
-<p>
-<input type="submit" name="post_changes" value="<?php echo _('Submit') ?>" /></p>
-</form>
-<?php
-}
-
 $ath->footer(array());
-
-?>

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/updates.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/updates.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/admin/updates.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -274,7 +274,13 @@
 			if (!$clone_id) {
 				exit_missing_param('',array(_('Clone ID')),'tracker');
 			}
-			if (!$ath->cloneFieldsFrom($clone_id)) {
+			$clone_gid = artifacttype_get_groupid($clone_id);
+			$clone_group = $clone_gid ? group_get_object($clone_gid) : false;
+			if (!$clone_group || !is_object($clone_group) ||
+			    $clone_group->isError()) {
+				exit_error(_('Error looking up template project'), 'tracker');
+			}
+			if (!$ath->cloneFieldsFrom($clone_group, $clone_id)) {
 				exit_error(_('Error cloning fields: ').$ath->getErrorMessage(),'tracker');
 			} else {
 				$feedback .= _('Successfully Cloned Tracker Fields ');
@@ -353,7 +359,7 @@
 					echo ('Invalid filename :'.$input_file['tmp_name']);
 					exit;
 				}
-				$input_data = addslashes(fread(fopen($input_file['tmp_name'], 'r'), $size));
+				$input_data = fread(fopen($input_file['tmp_name'], 'r'), $size);
 
 				db_query_params ('UPDATE artifact_group_list SET custom_renderer=$1 WHERE group_artifact_id=$2',
 					 	array ($input_data,
@@ -419,7 +425,7 @@
 			} elseif ($ac->isError()) {
 				$error_msg .= $ac->getErrorMessage();
 			} else {
-				if (!$ac->alphaorderValues($id)) {
+				if (!$ac->alphaorderValues()) {
 					$error_msg .= _('Error updating a custom field').' : '.$ac->getErrorMessage();
 					$ac->clearError();
 				} else {

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/include/ArtifactTypeHtml.class.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/include/ArtifactTypeHtml.class.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/include/ArtifactTypeHtml.class.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -390,7 +390,7 @@
 
 	function geteftipname($v) {
 		return ($v['field_type'] == ARTIFACT_EXTRAFIELDTYPE_STATUS ?
-		    'status_id' : ('ef-' . $v['field_name']));
+		    'status_id' : ('ef-' . $v['alias']));
 	}
 
 	function generateEfRender($v, $mode) {

Modified: branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/tracker.php
===================================================================
--- branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/tracker.php	2012-04-07 14:10:47 UTC (rev 18260)
+++ branches/QA-2011Q4:evolvis-qs.lan.tarent.de/src/www/tracker/tracker.php	2012-04-07 14:11:25 UTC (rev 18261)
@@ -234,8 +234,6 @@
 							} else {
 								$ef[$efid] = $f;
 							}
-						} else {
-							$ef[$efid] = addslashes($ef[$efid]);
 						}
 					}
 				}



More information about the evolvis-commits mailing list