[Fusionforge-commits] FusionForge branch master updated. v6.0.5-1817-g4542b8c

Franck Villaume nerville at libremir.placard.fr.eu.org
Sat May 13 11:22:23 CEST 2017


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".

The branch, master has been updated
       via  4542b8c1cbc4f71e1dabaa0fd1fa59ff484dda46 (commit)
      from  aaf9db10cf691ae0ddcee32e49081a40049c7545 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=4542b8c1cbc4f71e1dabaa0fd1fa59ff484dda46

commit 4542b8c1cbc4f71e1dabaa0fd1fa59ff484dda46
Author: Franck Villaume <franck.villaume at trivialdev.com>
Date:   Sat May 13 11:21:37 2017 +0200

    forge cli: add missing information for trackerDump, creat layout after adding extrafields in trackerImport

diff --git a/src/bin/forge b/src/bin/forge
index 7342b80..7971052 100755
--- a/src/bin/forge
+++ b/src/bin/forge
@@ -736,14 +736,6 @@ class CliActions {
 				return false;
 			}
 			$importRefMapping['artifact_type'][$stream['setup']['group_artifact_id']] = $at->getID();
-			if (isset($stream['setup']['use_tracker_widget_display'])) {
-				$lm = new WidgetLayoutManager();
-				if (!$lm->createLayoutForTrackerFromArray($this->getMappingId($stream['setup']['group_artifact_id'], 'artifact_type'), $stream['setup']['use_tracker_widget_display'])) {
-					echo _('Unable to create tracker layout')."\n";
-					db_rollback();
-					return false;
-				}
-			}
 			if (isset($stream['setup']['extra_fields']) && is_array($stream['setup']['extra_fields'])) {
 				foreach ($stream['setup']['extra_fields'] as $extra_field) {
 					$ef = new ArtifactExtraField($at);
@@ -779,6 +771,14 @@ class CliActions {
 					}
 				}
 			}
+			if (isset($stream['setup']['use_tracker_widget_display'])) {
+				$lm = new WidgetLayoutManager();
+				if (!$lm->createLayoutForTrackerFromArray($this->getMappingId($stream['setup']['group_artifact_id'], 'artifact_type'), $stream['setup']['use_tracker_widget_display'])) {
+					echo _('Unable to create tracker layout')."\n";
+					db_rollback();
+					return false;
+				}
+			}
 			if (isset($stream['data']) && is_array($stream['data'])) {
 				foreach ($stream['data'] as $n_artifact) {
 					$filename = 'artifactDump-'.$n_artifact['data_array']['artifact_id'].'.'.$format;
diff --git a/src/common/widget/WidgetLayoutManager.class.php b/src/common/widget/WidgetLayoutManager.class.php
index b29d8f5..a24f9c2 100644
--- a/src/common/widget/WidgetLayoutManager.class.php
+++ b/src/common/widget/WidgetLayoutManager.class.php
@@ -338,7 +338,11 @@ class WidgetLayoutManager {
 	 * @param	array	$layoutDescArr  the descriptive array.
 	 */
 	function createLayoutForTrackerFromArray($owner_id, $layoutDescArr) {
-		return true;
+		if (isset($layoutDescArr['rows']) && is_array($layoutDescArr['rows'])) {
+			return true;
+		} else {
+			return false;
+		}
 	}
 
 	/**
diff --git a/src/common/widget/Widget_TrackerContent.class.php b/src/common/widget/Widget_TrackerContent.class.php
index 7ca4ead..b8de75d 100644
--- a/src/common/widget/Widget_TrackerContent.class.php
+++ b/src/common/widget/Widget_TrackerContent.class.php
@@ -27,6 +27,7 @@ require_once $gfwww.'include/jquery_plugins.php';
 
 class Widget_TrackerContent extends Widget {
 	var $trackercontent_title;
+	var $layoutExtraFieldIDs;
 
 	function __construct() {
 		$request =& HTTPRequest::instance();
@@ -58,7 +59,6 @@ class Widget_TrackerContent extends Widget {
 	function loadContent($id) {
 		$this->content_id = $id;
 		$this->fetchData($id);
-
 	}
 
 	function fetchData($id) {
@@ -67,6 +67,7 @@ class Widget_TrackerContent extends Widget {
 			$title = db_result($res, 0, 'title');
 		}
 		$this->trackercontent_title = $title;
+		$this->layoutExtraFieldIDs = $this->getLayoutExtraFieldIDs($id);
 	}
 
 	function create(&$request) {
@@ -110,9 +111,9 @@ class Widget_TrackerContent extends Widget {
 				'<tr>
 				<td>'
 				.html_e('div', array('class' => 'layout-manager-row-add'), '+');
-		$layoutExtraFieldIDs = $this->getLayoutExtraFieldIDs($this->content_id);
-		if (count($layoutExtraFieldIDs) > 0) {
-			foreach ($layoutExtraFieldIDs as $row_id => $column_id) {
+
+		if (count($this->layoutExtraFieldIDs) > 0) {
+			foreach ($this->layoutExtraFieldIDs as $row_id => $column_id) {
 				$cells = array();
 				$content .= '<table class="layout-manager-row" id="widget_layout_build">
 							<tr>
@@ -357,9 +358,8 @@ EOS;
 		global $extra_fields;
 
 		$return = '';
-		$layoutExtraFieldIDs = $this->getLayoutExtraFieldIDs($this->content_id);
 		$readonly = false;
-		if (count($layoutExtraFieldIDs) > 0) {
+		if (count($this->layoutExtraFieldIDs) > 0) {
 			$mandatoryDisplay = false;
 			$selected = array();
 			if (is_object($ah)) {
@@ -374,7 +374,7 @@ EOS;
 			if (!forge_check_perm('tracker', $atid, 'submit')) {
 				$readonly = true;
 			}
-			foreach ($layoutExtraFieldIDs as $row_id => $column_id) {
+			foreach ($this->layoutExtraFieldIDs as $row_id => $column_id) {
 				$return .= $HTML->listTableTop();
 				$cells = array();
 				foreach ($column_id as $extrafieldID) {

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

Summary of changes:
 src/bin/forge                                     | 16 ++++++++--------
 src/common/widget/WidgetLayoutManager.class.php   |  6 +++++-
 src/common/widget/Widget_TrackerContent.class.php | 14 +++++++-------
 3 files changed, 20 insertions(+), 16 deletions(-)


hooks/post-receive
-- 
FusionForge



More information about the Fusionforge-commits mailing list