* Site Admin group properties editing page
*
* Copyright 1999-2001 (c) VA Linux Systems
+ * Copyright 2010 (c) Franck Villaume - Capgemini
+ * Copyright (C) 2011 Alain Peyrat - Alcatel-Lucent
*
- * This file is part of GForge.
+ * This file is part of FusionForge. FusionForge is free software;
+ * you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software
+ * Foundation; either version 2 of the Licence, or (at your option)
+ * any later version.
*
- * GForge is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GForge is distributed in the hope that it will be useful,
+ * FusionForge is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with FusionForge; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
require_once('../env.inc.php');
session_require_global_perm ('forge_admin');
$group_id = getIntFromRequest('group_id');
-$group =& group_get_object($group_id);
+$group = group_get_object($group_id);
if (!$group || !is_object($group)) {
exit_no_group();
} elseif ($group->isError()) {
- exit_error('Error',$group->getErrorMessage());
+ exit_error($group->getErrorMessage(),'admin');
}
// This function performs very update
-function do_update(&$group, $is_public, $status,
- $group_type, $unix_box, $http_domain, $scm_box='') {
+function do_update(&$group, $is_public, $is_template, $status, $group_type, $unix_box, $http_domain, $scm_box='') {
global $feedback;
+ global $error_msg;
db_begin();
if (!$group->setStatus(session_get_user(), $status)) {
- $feedback .= $group->getErrorMessage();
+ $error_msg .= $group->getErrorMessage();
db_rollback();
return false;
}
if (!$group->updateAdmin(session_get_user(), $is_public, $group_type, $unix_box, $http_domain)) {
- $feedback .= $group->getErrorMessage();
+ $error_msg .= $group->getErrorMessage();
+ db_rollback();
+ return false;
+ }
+
+ if (!$group->setAsTemplate($is_template)) {
+ $error_msg .= $group->getErrorMessage();
db_rollback();
return false;
}
if($group->usesSCM() && !$group->setSCMBox($scm_box)) {
- $feedback .= $group->getErrorMessage();
+ $error_msg .= $group->getErrorMessage();
db_rollback();
return false;
}
db_commit();
- $feedback .= _('Updated').'<br /> ';
+ $feedback .= _('Updated');
return true;
}
if (getStringFromRequest('submit')) {
$form_public = getStringFromRequest('form_public');
+ $form_template = getStringFromRequest('form_template');
$form_status = getStringFromRequest('form_status');
$form_box = getStringFromRequest('form_box');
$form_domain = getStringFromRequest('form_domain');
$form_scm_box = getStringFromRequest('form_scm_box');
- do_update($group, $form_public, $form_status,
- 1, $form_box, $form_domain, $form_scm_box);
+ do_update($group, $form_public, $form_template, $form_status, 1, $form_box, $form_domain, $form_scm_box);
} else if (getStringFromRequest('resend')) {
$group->sendApprovalEmail();
- $feedback .= _('Instruction email sent').'<br /> ';
+ $feedback .= _('Instruction email sent');
}
-site_admin_header(array('title'=>_('Site Admin: Group Info')));
-
-echo '<h2>'.$group->getPublicName().'</h2>' ;?>
+$title = _('Site Admin: Project Info for ') . $group->getPublicName();
+site_admin_header(array('title'=>$title));
+?>
-<h3><?php echo util_make_link("/project/admin/?group_id=$group_id", _('[Project Admin]')); ?></h3>
-<h3><?php echo util_make_link("/admin/groupdelete.php?group_id=$group_id", _('Permanently Delete Project')); ?></h3>
+<h2><?php echo util_make_link("/project/admin/?group_id=$group_id", _('[Project Admin]')); ?></h2>
+<h2><?php echo util_make_link("/admin/groupdelete.php?group_id=$group_id", _('Permanently Delete Project')); ?></h2>
<form action="<?php echo getStringFromServer('PHP_SELF'); ?>" method="post">
-
<table>
<tr>
<td>
</td>
</tr>
<tr>
+<?php if (USE_PFO_RBAC) { ?>
+<td colspan="2"><?php
+printf(_('With PFO-RBAC, the “is_public” property is gone. Instead, to make a project public, <%1$s>link<%2$s> the global role “Anonymous/not logged in” then <%3$s>give<%4$s> it “Project visibility” permissions.'),
+ 'a href="' . util_make_url('/project/admin/users.php?group_id=' .
+ $group_id) . '"',
+ '/a',
+ 'a href="' . util_make_url('/project/admin/roleedit.php?group_id=' .
+ $group_id . '&role_id=' . RoleAnonymous::getInstance()->getID()) . '"',
+ '/a'
+);
+?></td>
+<?php } else { ?>
<td>
<?php echo _('Public?') ?>:
</td>
'form_public', $group->isPublic(), false
); ?>
</td>
+<?php } ?>
</tr>
<tr>
<td>
-<?php echo _('Unix Group Name:'); ?>
+<?php echo _('Template?') ?>:
+</td>
+<td>
+<?php
+ echo html_build_select_box_from_arrays(
+ array(
+ '0',
+ '1'
+ ),
+ array(
+ _('No'),
+ _('Yes')
+),
+ 'form_template', $group->isTemplate(), false
+); ?>
+</td>
+</tr>
+
+<tr>
+<td>
+<?php echo _('Unix Project Name:'); ?>
</td>
<td>
<?php echo $group->getUnixName(); ?>
<?php
if (forge_get_config('use_shell')) {
-?>
+?>
<tr>
<td>
<?php echo _('Home Box:'); ?>