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 35f383beae92939abbb29a22ddd5e6ce06f4159a (commit)
via 38bce24cd906ff1d2a9dfad7ffaaceb5d760eee8 (commit)
from 1345b75abcc4fb657aa62097582c478a0bc23704 (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=35f383beae92939abbb29a22ddd5e6ce06f4159a
commit 35f383beae92939abbb29a22ddd5e6ce06f4159a
Author: Franck Villaume <[email protected]>
Date: Mon May 8 16:31:07 2017 +0200
forge cli: support homepage creation on groupImport
diff --git a/src/bin/forge b/src/bin/forge
index 7334423..07294eb 100755
--- a/src/bin/forge
+++ b/src/bin/forge
@@ -471,6 +471,7 @@ class CliActions {
db_rollback();
return false;
} else {
+
$importRefMapping['group'][$stream['setup']['data_array']['group_id']] =
$new_group->getID();
//add users as members to the project
$default_role_ids = $new_group->getRolesId();
$default_role_id = $default_role_ids[0];
@@ -510,6 +511,15 @@ class CliActions {
}
@unlink($filename);
}
+ //setup homepage
+ if (isset($stream['setup']['homepage'])) {
+ $lm = new WidgetLayoutManager();
+ if
(!$lm->createLayoutForProjectFromArray($this->getMappingId($stream['setup']['data_array']['group_id'],
'group'), $stream['setup']['homepage'])) {
+ echo _('Unable to create group
homepage layout')."\n";
+ db_rollback();
+ return false;
+ }
+ }
echo _('Group imported.')."\n";
db_commit();
return true;
@@ -726,6 +736,14 @@ 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);
diff --git a/src/common/widget/WidgetLayoutManager.class.php
b/src/common/widget/WidgetLayoutManager.class.php
index 1c05225..bfc0f41 100644
--- a/src/common/widget/WidgetLayoutManager.class.php
+++ b/src/common/widget/WidgetLayoutManager.class.php
@@ -2,7 +2,7 @@
/**
* Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights
reserved
* Copyright (C) 2011 Alain Peyrat - Alcatel-Lucent
- * Copyright 2013-2016, Franck Villaume - TrivialDev
+ * Copyright 2013-2017, Franck Villaume - TrivialDev
*
* This file is a part of Fusionforge.
*
@@ -187,7 +187,7 @@ class WidgetLayoutManager {
if (!$success) {
$success = db_error();
db_rollback();
- exit_error(sprintf(_('DB Error: %s'), $success),
'widgets');
+ exit_error(_('DB Error')._(': ').$success, 'widgets');
}
db_commit();
}
@@ -217,7 +217,7 @@ class WidgetLayoutManager {
if (!$success) {
$success = db_error();
db_rollback();
- exit_error(sprintf(_('DB Error: %s'), $success),
'widgets');
+ exit_error(_('DB Error')._(': ').$success, 'widgets');
}
db_commit();
}
@@ -323,12 +323,25 @@ class WidgetLayoutManager {
if (!$success) {
$success = db_error();
db_rollback();
- exit_error(sprintf(_('DB Error: %s'), $success),
'widgets');
+ exit_error(_('DB Error')._(': ').$success, 'widgets');
}
db_commit();
}
/**
+ * createLayoutForTrackerFromArray
+ *
+ * Create a specific layout for a new tracker, based on an descriptive
array.
+ * The descriptive array is generated by getLayout function.
+ *
+ * @param int $owner_id the id of the newly created
tracker
+ * @param array $layoutDescArr the descriptive array.
+ */
+ function createLayoutForTrackerFromArray($owner_id, $layoutDescArr) {
+ return true;
+ }
+
+ /**
* createDefaultLayoutForProject
*
* Create the first layout for a new project, based on its parent
template.
@@ -346,13 +359,13 @@ class WidgetLayoutManager {
WHERE owner_type = $2
AND owner_id = $3
";
- if (db_query_params($sql,array($group_id,
self::OWNER_TYPE_GROUP,$template_id))) {
+ if (db_query_params($sql, array($group_id,
self::OWNER_TYPE_GROUP, $template_id))) {
$sql = "SELECT layout_id, column_id, name, rank,
is_minimized, is_removed, display_preferences, content_id
FROM layouts_contents
WHERE owner_type = $1
AND owner_id = $2
";
- if ($req = db_query_params($sql,array(
self::OWNER_TYPE_GROUP,$template_id))) {
+ if ($req = db_query_params($sql,
array(self::OWNER_TYPE_GROUP, $template_id))) {
while($data = db_fetch_array($req)) {
$w = Widget::getInstance($data['name']);
if ($w) {
@@ -362,7 +375,7 @@ class WidgetLayoutManager {
$sql = "INSERT INTO
layouts_contents(owner_id, owner_type, content_id, layout_id, column_id, name,
rank, is_minimized, is_removed, display_preferences)
VALUES
($1,$2,$3,$4,$5,$6,$7,$8,$9,$10);
";
- db_query_params($sql,
array($group_id , self::OWNER_TYPE_GROUP , $content_id , $data['layout_id'] ,
$data['column_id'] , $data['name'] , $data['rank'] , $data['is_minimized'] ,
$data['is_removed'] , $data['display_preferences'] ));
+ db_query_params($sql,
array($group_id, self::OWNER_TYPE_GROUP, $content_id, $data['layout_id'],
$data['column_id'], $data['name'], $data['rank'], $data['is_minimized'],
$data['is_removed'], $data['display_preferences']));
echo db_error();
}
}
@@ -373,6 +386,57 @@ class WidgetLayoutManager {
}
/**
+ * createLayoutForProjectFromArray
+ *
+ * Create a specific layout for a new project, based on an descriptive
array.
+ * The descriptive array is generated by getLayout function.
+ *
+ * @param int $group_id the id of the newly created
project
+ * @param array $layoutDescArr the descriptive array.
+ */
+ function createLayoutForProjectFromArray($group_id, $layoutDescArr) {
+ if (isset($layoutDescArr['rows']) &&
is_array($layoutDescArr['rows'])) {
+ $pm = ProjectManager::instance();
+ $project = $pm->getProject($group_id);
+ db_query_params('DELETE FROM layouts_contents WHERE
owner_id = $1 AND owner_type = $2', array($group_id, self::OWNER_TYPE_GROUP));
+ db_query_params('DELETE FROM owner_layouts WHERE
owner_id = $1 AND owner_type = $2', array($group_id, self::OWNER_TYPE_GROUP));
+ $sql = "INSERT INTO layouts(name, description, scope)
VALUES ('custom', '', 'P')";
+ if ($res = db_query_params($sql, array())) {
+ if ($new_layout_id = db_insertid($res,
'layouts', 'id')) {
+ $sql = 'INSERT INTO
owner_layouts(layout_id, is_default, owner_id, owner_type) VALUES ($1, $2, $3,
$4)';
+ if (db_query_params($sql,
array($new_layout_id, 1, $group_id, self::OWNER_TYPE_GROUP))) {
+ //Create rows & columns
+ foreach($layoutDescArr['rows']
as $cols) {
+ $sql = "INSERT INTO
layouts_rows(layout_id, rank) VALUES ($1, $2)";
+ if ($res =
db_query_params($sql, array($new_layout_id, $cols['rank']))) {
+ if ($row_id =
db_insertid($res,'layouts_rows', 'id')) {
+
foreach($cols['columns'] as $column) {
+
$sql = "INSERT INTO layouts_rows_columns(layout_row_id, width) VALUES ($1, $2)";
+
db_query_params($sql, array($row_id, $column['width']));
+
$column_id = db_insertid($res,'layouts_rows_columns', 'id');
+
foreach ($column['contents'] as $new_widget) {
+
$sql = "INSERT INTO layouts_contents (owner_id, owner_type, content_id,
layout_id, column_id, name, rank, is_minimized, is_removed, display_preferences)
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10);
+
";
+
db_query_params($sql, array($group_id, self::OWNER_TYPE_GROUP,
$new_widget['content']['content_id'], $new_layout_id, $column_id,
$new_widget['content']['id'], 0, $new_widget['is_minimized'], 0,
$new_widget['display_preferences']));
+
echo db_error();
+
}
+ }
+ }
+ }
+ }
+ } else {
+ return false;
+ }
+ }
+ }
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ /**
* displayAvailableWidgets - Display all widgets that the user can add
to the layout
*
* @param int $owner_id
@@ -545,20 +609,17 @@ class WidgetLayoutManager {
}
//If the structure contains at least
one column, create a new layout
if (count($rows)) {
- $sql = "INSERT INTO
layouts(name, description, scope)
- VALUES ('custom', '',
'P')";
+ $sql = "INSERT INTO
layouts(name, description, scope) VALUES ('custom', '', 'P')";
if ($res =
db_query_params($sql, array())) {
if ($new_layout_id =
db_insertid($res, 'layouts', 'id')) {
//Create rows &
columns
$rank = 0;
foreach($rows
as $cols) {
- $sql =
"INSERT INTO layouts_rows(layout_id, rank)
-
VALUES ($1,$2)";
+ $sql =
"INSERT INTO layouts_rows(layout_id, rank) VALUES ($1, $2)";
if
($res = db_query_params($sql, array($new_layout_id, $rank++))) {
if ($row_id = db_insertid($res,'layouts_rows', 'id')) {
foreach($cols as $width) {
-
$sql = "INSERT INTO layouts_rows_columns(layout_row_id, width)
-
VALUES ($1,$2)";
+
$sql = "INSERT INTO layouts_rows_columns(layout_row_id, width)
VALUES ($1, $2)";
db_query_params($sql, array($row_id, $width));
}
}
@@ -605,15 +666,12 @@ class WidgetLayoutManager {
if ($old_scope != 'S') {
$structure =
$this->_retrieveStructureOfLayout($old_layout_id);
foreach($structure['rows'] as
$row) {
- $sql = "DELETE FROM
layouts_rows
- WHERE id = $1";
+ $sql = "DELETE FROM
layouts_rows WHERE id = $1";
db_query_params($sql,
array($row['id']));
- $sql = "DELETE FROM
layouts_rows_columns
- WHERE
layout_row_id = $1";
+ $sql = "DELETE FROM
layouts_rows_columns WHERE layout_row_id = $1";
db_query_params($sql,
array($row['id']));
}
- $sql = "DELETE FROM layouts
- WHERE id = $1";
+ $sql = "DELETE FROM layouts
WHERE id = $1";
db_query_params($sql,
array($old_layout_id));
}
@@ -718,6 +776,7 @@ class WidgetLayoutManager {
}
return $categ;
}
+
/**
* addWidget
*
@@ -775,7 +834,7 @@ class WidgetLayoutManager {
if (db_numrows($res) && !$widget->isUnique() && db_result($res,
0, 'column_id') == 0) {
//search for rank
$sql = "SELECT min(rank) - 1 AS rank FROM
layouts_contents WHERE owner_type =$1 AND owner_id = $2 AND layout_id = $3 AND
column_id = $4 ";
- $res = db_query_params($sql,array($owner_type,
$owner_id, $layout_id,$column_id));
+ $res = db_query_params($sql, array($owner_type,
$owner_id, $layout_id, $column_id));
echo db_error();
$rank = db_result($res, 0, 'rank');
@@ -786,7 +845,7 @@ class WidgetLayoutManager {
AND owner_id = $4
AND name = $5
AND layout_id = $6";
-
db_query_params($sql,array($column_id,$rank,$owner_type, $owner_id,$name,
$layout_id));
+ db_query_params($sql, array($column_id,
$rank,$owner_type, $owner_id,$name, $layout_id));
echo db_error();
} else {
//Insert
@@ -796,7 +855,7 @@ class WidgetLayoutManager {
LEFT JOIN layouts_contents AS R2 USING (
owner_type, owner_id, layout_id, column_id )
ORDER BY rank ASC
LIMIT 1";
-
db_query_params($sql,array($name,$content_id,$owner_type,$owner_id,$layout_id,$column_id));
+ db_query_params($sql, array($name, $content_id,
$owner_type, $owner_id, $layout_id, $column_id));
echo db_error();
}
$this->feedback();
@@ -819,7 +878,7 @@ class WidgetLayoutManager {
*/
function removeWidget($owner_id, $owner_type, $layout_id, $name,
$instance_id, &$widget) {
$sql = "DELETE FROM layouts_contents WHERE owner_type =$1 AND
owner_id = $2 AND layout_id = $3 AND name = $4 AND content_id = $5";
-
db_query_params($sql,array($owner_type,$owner_id,$layout_id,$name,$instance_id));
+ db_query_params($sql, array($owner_type, $owner_id, $layout_id,
$name, $instance_id));
if (!db_error()) {
$widget->destroy($instance_id);
}
@@ -836,7 +895,7 @@ class WidgetLayoutManager {
*/
function mimizeWidget($owner_id, $owner_type, $layout_id, $name,
$instance_id) {
$sql = "UPDATE layouts_contents SET is_minimized = 1 WHERE
owner_type = $1 AND owner_id = $2 AND layout_id = $3 AND name = $4 AND
content_id = $5";
-
db_query_params($sql,array($owner_type,$owner_id,$layout_id,$name,$instance_id));
+ db_query_params($sql, array($owner_type, $owner_id, $layout_id,
$name, $instance_id));
echo db_error();
}
@@ -851,7 +910,7 @@ class WidgetLayoutManager {
*/
function maximizeWidget($owner_id, $owner_type, $layout_id, $name,
$instance_id) {
$sql = "UPDATE layouts_contents SET is_minimized = 0 WHERE
owner_type =$1 AND owner_id =$2 AND layout_id = $3 AND name = $4 AND content_id
= $5";
-
db_query_params($sql,array($owner_type,$owner_id,$layout_id,$name,$instance_id));
+ db_query_params($sql, array($owner_type, $owner_id, $layout_id,
$name, $instance_id));
echo db_error();
}
@@ -866,7 +925,7 @@ class WidgetLayoutManager {
*/
function displayWidgetPreferences($owner_id, $owner_type, $layout_id,
$name, $instance_id) {
$sql = "UPDATE layouts_contents SET display_preferences = 1,
is_minimized = 0 WHERE owner_type = $1 AND owner_id = $2 AND layout_id = $3 AND
name = $4 AND content_id = $5";
-
db_query_params($sql,array($owner_type,$owner_id,$layout_id,$name,$instance_id));
+ db_query_params($sql, array($owner_type, $owner_id, $layout_id,
$name, $instance_id));
echo db_error();
}
@@ -881,7 +940,7 @@ class WidgetLayoutManager {
*/
function hideWidgetPreferences($owner_id, $owner_type, $layout_id,
$name, $instance_id) {
$sql = "UPDATE layouts_contents SET display_preferences = 0
WHERE owner_type = $1 AND owner_id = $2 AND layout_id = $3 AND name = $4 AND
content_id = $5";
-
db_query_params($sql,array($owner_type,$owner_id,$layout_id,$name,$instance_id));
+ db_query_params($sql, array($owner_type, $owner_id, $layout_id,
$name, $instance_id));
echo db_error();
}
@@ -910,7 +969,7 @@ class WidgetLayoutManager {
//Compute differences
$originals = array();
$sql = "SELECT * FROM layouts_contents WHERE
owner_type = $1 AND owner_id = $2 AND column_id = $3 ORDER BY rank";
- $res = db_query_params($sql,array($owner_type,
$owner_id, $column_id));
+ $res = db_query_params($sql, array($owner_type,
$owner_id, $column_id));
echo db_error();
while($data = db_fetch_array($res)) {
$originals[] =
array($data['content_id'], $data['name']);
@@ -934,7 +993,7 @@ class WidgetLayoutManager {
WHERE owner_type = $1
AND owner_id = $2
AND column_id = $3". $_and;
- db_query_params($sql,array($owner_type,
$owner_id, $column_id));
+ db_query_params($sql,
array($owner_type, $owner_id, $column_id));
echo db_error();
}
@@ -957,7 +1016,7 @@ class WidgetLayoutManager {
WHERE owner_type = $2
AND owner_id = $3' . $_and ."
AND layout_id = $4";
-
db_query_params($sql,array($column_id,$owner_type,$owner_id,$layout_id));
+ db_query_params($sql, array($column_id,
$owner_type, $owner_id, $layout_id));
echo db_error();
}
@@ -966,7 +1025,7 @@ class WidgetLayoutManager {
$values = array();
foreach($names as $name) {
$sql = 'UPDATE layouts_contents SET
rank = $1 WHERE owner_type =$2 AND owner_id = $3 AND column_id = $4 AND name =
$5 AND content_id = $6';
- db_query_params($sql,
array($rank++,$owner_type,$owner_id,$column_id,$name[1],$name[0]));
+ db_query_params($sql, array($rank++,
$owner_type, $owner_id, $column_id, $name[1], $name[0]));
echo db_error();
}
}
@@ -989,11 +1048,11 @@ class WidgetLayoutManager {
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));
+ $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));
+ $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()) {
https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=38bce24cd906ff1d2a9dfad7ffaaceb5d760eee8
commit 38bce24cd906ff1d2a9dfad7ffaaceb5d760eee8
Author: Franck Villaume <[email protected]>
Date: Mon May 8 15:10:00 2017 +0200
less string
diff --git a/src/www/include/user_home.php b/src/www/include/user_home.php
index d35a951..0d6c131 100644
--- a/src/www/include/user_home.php
+++ b/src/www/include/user_home.php
@@ -61,7 +61,7 @@ if (forge_get_config('use_diary')) {
$res = db_query_params('SELECT count(*) from user_diary WHERE
user_id=$1 AND is_public=1',
array($user_id));
- echo _('Diary/Note entries:').' '.db_result($res, 0, 0).'
+ echo _('Diary/Note entries')._(': ').db_result($res, 0, 0).'
<p>';
//.'<span rel="foaf:weblog">'
echo
util_make_link('/developer/diary.php?diary_user='.$user_id,htmlentities(_('View
Diary and Notes')));
@@ -93,7 +93,7 @@ if (count ($projects) < 1) {
<p><?php echo _('This user is not a member of any project.') ?></p>
<?php
} else { // endif no groups
- print "<p>"._('This user is a member of the following
projects:')."</p>\n";
+ echo html_e('p', array(), _('This user is a member of the following
projects')._(':'));
foreach ($projects as $p) {
if (!forge_check_perm('project_read', $p->getID())) {
-----------------------------------------------------------------------
Summary of changes:
src/bin/forge | 18 ++++
src/common/widget/WidgetLayoutManager.class.php | 125 +++++++++++++++++-------
src/www/include/user_home.php | 4 +-
3 files changed, 112 insertions(+), 35 deletions(-)
hooks/post-receive
--
FusionForge
_______________________________________________
Fusionforge-commits mailing list
[email protected]
http://lists.fusionforge.org/cgi-bin/mailman/listinfo/fusionforge-commits