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 6e26477950c362ce467f708c6fe17797d5047d2a (commit)
from c4535672a5e234e4b15be8f3b493755aa30237a4 (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=6e26477950c362ce467f708c6fe17797d5047d2a
commit 6e26477950c362ce467f708c6fe17797d5047d2a
Author: Franck Villaume <[email protected]>
Date: Tue Mar 21 09:04:16 2017 +0100
forge cli: add dump of widget configuration
diff --git a/src/bin/forge b/src/bin/forge
index 2220233..9ca09c1 100755
--- a/src/bin/forge
+++ b/src/bin/forge
@@ -195,12 +195,16 @@ class CliActions {
return $artifactDump;
}
- function groupDump($group_id, $format = 'json') {
+ function groupDump($lgroup_id, $format = 'json') {
+ // that is ugly... group_id is used as global var. it needs to
be defined.
+ global $group_id;
+ $group_id = $lgroup_id;
$groupDump['id'] = $group_id;
$group = group_get_object($group_id);
if ($group && is_object($group) && !$group->isError()) {
$groupDump['setup'] = (array)$group;
$groupDump['setup']['membersArr'] =
$group->getMembers(false);
+ $groupDump['setup']['homepage'] =
$group->getWidgetLayoutConfig();
if ($group->usesDocman()) {
$groupDump['docman'] =
$this->docmanDump($group_id, 'return');
}
@@ -413,8 +417,8 @@ if (count($argv) >= 3) {
$ctl = new CliActions();
if (method_exists($ctl, $action)) {
- if (isset($params)) {
- $ctl->$action($name, $params);
+ if (isset($params[0])) {
+ $ctl->$action($name, $params[0]);
} else {
$ctl->$action($name);
}
diff --git a/src/common/docman/DocumentFactory.class.php
b/src/common/docman/DocumentFactory.class.php
index e7fd8cc..673dd1e 100644
--- a/src/common/docman/DocumentFactory.class.php
+++ b/src/common/docman/DocumentFactory.class.php
@@ -349,8 +349,10 @@ class DocumentFactory extends FFError {
$docArr['versions'] = $dvf->getVersions();
$docArr['monitor'] = $doc->getMonitorIds();
$serialIDs = $dvf->getSerialIDs();
- $drf = new DocumentReviewFactory($doc);
- $docArr['reviews'] =
$drf->getReviews($serialIDs);
+ if (forge_get_config('use_docman_review')) {
+ $drf = new DocumentReviewFactory($doc);
+ $docArr['reviews'] =
$drf->getReviews($serialIDs);
+ }
$return[] = $docArr;
}
}
diff --git a/src/common/docman/DocumentManager.class.php
b/src/common/docman/DocumentManager.class.php
index cdbe394..9f4aa86 100644
--- a/src/common/docman/DocumentManager.class.php
+++ b/src/common/docman/DocumentManager.class.php
@@ -284,6 +284,7 @@ class DocumentManager extends FFError {
$settingsArr['force_docman_reindex'] =
$this->Group->data_array['force_docman_reindex'];
$settingsArr['use_webdav'] =
$this->Group->data_array['use_webdav'];
$settingsArr['use_docman_create_online'] =
$this->Group->data_array['use_docman_create_online'];
+ $settingsArr['use_docman_review'] =
forge_get_config('use_docman_review');
return $settingsArr;
}
diff --git a/src/common/include/Group.class.php
b/src/common/include/Group.class.php
index 3a21393..c687124 100644
--- a/src/common/include/Group.class.php
+++ b/src/common/include/Group.class.php
@@ -6,7 +6,7 @@
* Copyright 2009-2013, Roland Mas
* Copyright 2010-2011, Franck Villaume - Capgemini
* Copyright 2010-2012, Alain Peyrat - Alcatel-Lucent
- * Copyright 2012-2016, Franck Villaume - TrivialDev
+ * Copyright 2012-2017, Franck Villaume - TrivialDev
* Copyright 2013, French Ministry of National Education
* Copyright 2017, Stéphane-Eymeric Bredthauer - TrivialDev
* http://fusionforge.org
@@ -34,7 +34,6 @@ require_once $gfcommon.'forum/Forum.class.php';
require_once $gfcommon.'forum/ForumFactory.class.php';
require_once $gfcommon.'pm/ProjectGroup.class.php';
require_once $gfcommon.'pm/ProjectGroupFactory.class.php';
-require_once $gfcommon.'include/Role.class.php';
require_once $gfcommon.'frs/FRSPackage.class.php';
require_once $gfcommon.'frs/FRSRelease.class.php';
require_once $gfcommon.'docman/DocumentGroup.class.php';
@@ -45,6 +44,8 @@ require_once $gfcommon.'survey/SurveyFactory.class.php';
require_once $gfcommon.'survey/SurveyQuestionFactory.class.php';
require_once $gfcommon.'include/gettext.php';
require_once $gfcommon.'include/GroupJoinRequest.class.php';
+require_once $gfcommon.'include/Role.class.php';
+require_once $gfcommon.'widget/WidgetLayoutManager.class.php';
$GROUP_OBJ=array();
@@ -3131,6 +3132,11 @@ if there is anything we can do to help you.
function getEffortUnitSet() {
return $this->data_array['unit_set_id'];
}
+
+ function getWidgetLayoutConfig() {
+ $lm = new WidgetLayoutManager();
+ return $lm->getLayout($this->getID(),
WidgetLayoutManager::OWNER_TYPE_GROUP);
+ }
}
/**
diff --git a/src/common/tracker/ArtifactType.class.php
b/src/common/tracker/ArtifactType.class.php
index c01c1cc..3d7bb1e 100644
--- a/src/common/tracker/ArtifactType.class.php
+++ b/src/common/tracker/ArtifactType.class.php
@@ -31,6 +31,7 @@ require_once
$gfcommon.'tracker/ArtifactExtraFieldElement.class.php';
require_once $gfcommon.'tracker/ArtifactStorage.class.php';
require_once $gfcommon.'tracker/EffortUnitSet.class.php';
require_once $gfcommon.'include/MonitorElement.class.php';
+require_once $gfcommon.'widget/WidgetLayoutManager.class.php';
/**
* Gets an ArtifactType object from the artifact type id
@@ -1536,31 +1537,36 @@ class ArtifactType extends FFError {
}
$extrafields[] = array(
- "extra_field_id"=> $aefobj->getID(),
- "field_name" => $aefobj->getName(),
- "field_type" => $aefobj->getType(),
- "attribute1" => $aefobj->getAttribute1(),
- "attribute2" => $aefobj->getAttribute2(),
- "is_required" => $aefobj->isRequired(),
+ "extra_field_id" => $aefobj->getID(),
+ "field_name" => $aefobj->getName(),
+ "field_type" => $aefobj->getType(),
+ "attribute1" =>
$aefobj->getAttribute1(),
+ "attribute2" =>
$aefobj->getAttribute2(),
+ "is_required" =>
$aefobj->isRequired(),
"alias" => $aefobj->getAlias(),
"available_values" => $avs,
- "default_selected_id" => 0 //TODO
(not implemented yet)
+ "default_selected_id" => 0 //TODO
(not implemented yet)
);
}
$return = array(
- 'group_artifact_id' =>
$this->data_array['group_artifact_id'],
- 'group_id' => $this->data_array['group_id'],
- 'name' => $this->data_array['name'],
- 'description' =>
$this->data_array['description'],
- 'due_period' => $this->data_array['due_period'],
- 'datatype' => $this->data_array['datatype'],
- 'status_timeout' =>
$this->data_array['status_timeout'],
- 'extra_fields' => $extrafields,
- 'custom_status_field' =>
$this->data_array['custom_status_field']
- );
+ 'group_artifact_id' =>
$this->data_array['group_artifact_id'],
+ 'group_id' =>
$this->data_array['group_id'],
+ 'name' =>
$this->data_array['name'],
+ 'description' =>
$this->data_array['description'],
+ 'due_period' =>
$this->data_array['due_period'],
+ 'datatype' =>
$this->data_array['datatype'],
+ 'status_timeout' =>
$this->data_array['status_timeout'],
+ 'extra_fields' => $extrafields,
+ 'custom_status_field' =>
$this->data_array['custom_status_field'],
+ 'use_tracker_widget_display' =>
$this->getWidgetLayoutConfig());
return $return;
}
+
+ function getWidgetLayoutConfig() {
+ $lm = new WidgetLayoutManager();
+ return $lm->getLayout($this->getID(),
WidgetLayoutManager::OWNER_TYPE_TRACKER);
+ }
}
// Local Variables:
diff --git a/src/common/widget/WidgetLayoutManager.class.php
b/src/common/widget/WidgetLayoutManager.class.php
index 3af1fea..9bc6600 100644
--- a/src/common/widget/WidgetLayoutManager.class.php
+++ b/src/common/widget/WidgetLayoutManager.class.php
@@ -974,6 +974,51 @@ class WidgetLayoutManager {
}
}
+ function getLayout($owner_id, $owner_type) {
+ $layout = null;
+ $sql = "SELECT l.*
+ FROM layouts AS l INNER JOIN owner_layouts AS o ON(l.id
= o.layout_id)
+ WHERE o.owner_type = $1
+ AND o.owner_id = $2
+ AND o.is_default = 1
+ ";
+ $req = db_query_params($sql, array($owner_type ,$owner_id));
+ if ($data = db_fetch_array($req)) {
+ $layout = new WidgetLayout($data['id'], $data['name'],
$data['description'], $data['scope']);
+ $sql = 'SELECT * FROM layouts_rows WHERE layout_id = $1
ORDER BY rank';
+ $req_rows = db_query_params($sql,array($layout->id));
+ while ($data = db_fetch_array($req_rows)) {
+ $row = new WidgetLayout_Row($data['id'],
$data['rank']);
+ $sql = 'SELECT * FROM layouts_rows_columns
WHERE layout_row_id = $1';
+ $req_cols =
db_query_params($sql,array($row->id));
+ while ($data = db_fetch_array($req_cols)) {
+ $col = new
WidgetLayout_Row_Column($data['id'], $data['width']);
+ $sql = "SELECT * FROM layouts_contents
WHERE owner_type = $1 AND owner_id = $2 AND column_id = $3 ORDER BY rank";
+ $req_content =
db_query_params($sql,array($owner_type, $owner_id, $col->id));
+ while ($data =
db_fetch_array($req_content)) {
+ $c =
Widget::getInstance($data['name']);
+ if ($c && $c->isAvailable()) {
+
$c->loadContent($data['content_id']);
+ $col->add($c,
$data['is_minimized'], $data['display_preferences']);
+ }
+ unset($c);
+ }
+ $row->add($col);
+ unset($col);
+ }
+ foreach ($row->columns as $lcol) {
+ unset($lcol->row);
+ }
+ $layout->add($row);
+ unset($row);
+ foreach ($layout->rows as $lrow) {
+ unset($lrow->layout);
+ }
+ }
+ }
+ return (array)$layout;
+ }
+
/**
* compute the differences between two arrays
* @param array $tab1
-----------------------------------------------------------------------
Summary of changes:
src/bin/forge | 10 ++++--
src/common/docman/DocumentFactory.class.php | 6 ++--
src/common/docman/DocumentManager.class.php | 1 +
src/common/include/Group.class.php | 10 ++++--
src/common/tracker/ArtifactType.class.php | 40 ++++++++++++----------
src/common/widget/WidgetLayoutManager.class.php | 45 +++++++++++++++++++++++++
6 files changed, 88 insertions(+), 24 deletions(-)
hooks/post-receive
--
FusionForge
_______________________________________________
Fusionforge-commits mailing list
[email protected]
http://lists.fusionforge.org/cgi-bin/mailman/listinfo/fusionforge-commits