3 * FusionForge Tracker Listing
5 * Copyright 1999-2000 (c) The SourceForge Crew
6 * Copyright 2010, FusionForge Team
7 * Copyright (C) 2012 Alain Peyrat - Alcatel-Lucent
8 * http://fusionforge.org
10 * This file is part of FusionForge. FusionForge is free software;
11 * you can redistribute it and/or modify it under the terms of the
12 * GNU General Public License as published by the Free Software
13 * Foundation; either version 2 of the Licence, or (at your option)
16 * FusionForge is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License along
22 * with FusionForge; if not, write to the Free Software Foundation, Inc.,
23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 require_once('../../env.inc.php');
27 require_once $gfcommon.'include/pre.php';
28 require_once $gfcommon.'tracker/Artifact.class.php';
29 require_once $gfcommon.'tracker/ArtifactFile.class.php';
30 require_once $gfcommon.'tracker/include/ArtifactFileHtml.class.php';
31 require_once $gfcommon.'tracker/ArtifactType.class.php';
32 require_once $gfcommon.'tracker/ArtifactTypeFactory.class.php';
33 require_once $gfcommon.'tracker/include/ArtifactTypeFactoryHtml.class.php';
34 require_once $gfcommon.'tracker/include/ArtifactTypeHtml.class.php';
35 require_once $gfcommon.'tracker/include/ArtifactHtml.class.php';
36 require_once $gfcommon.'tracker/ArtifactCanned.class.php';
37 require_once $gfcommon.'tracker/ArtifactExtraField.class.php';
38 require_once $gfcommon.'tracker/ArtifactExtraFieldElement.class.php';
40 $group_id = getIntFromRequest('group_id');
41 $atid = getIntFromRequest('atid');
45 $group = group_get_object($group_id);
46 if (!$group || !is_object($group)) {
49 if ($group->isError()) {
50 if($group->isPermissionDeniedError()) {
51 exit_permission_denied($group->getErrorMessage(),'tracker');
53 exit_error($group->getErrorMessage(),'tracker');
57 if ($group_id && $atid) {
59 // UPDATING A PARTICULAR ARTIFACT TYPE
62 session_require_perm ('tracker_admin', $group_id) ;
65 // Create the ArtifactType object
67 $ath = new ArtifactTypeHtml($group,$atid);
68 if (!$ath || !is_object($ath)) {
69 exit_error(_('ArtifactType could not be created'),'tracker');
71 if ($ath->isError()) {
72 exit_error($ath->getErrorMessage(),'tracker');
76 if (getStringFromRequest('post_changes') ||
77 getStringFromRequest('updownorder_opt') ||
78 getStringFromRequest('post_changes_order') ||
79 getStringFromRequest('post_changes_alphaorder')) {
80 include $gfcommon.'tracker/actions/admin-updates.php';
82 } elseif (getStringFromRequest('edittemplate')) {
84 include $gfcommon.'tracker/views/form-edittemplate.php';
86 } elseif (getStringFromRequest('deletetemplate')) {
88 $confirm = getStringFromRequest('confirm');
89 $cancel = getStringFromRequest('cancel');
92 header ("Location: /tracker/admin/?group_id=$group_id&atid=$atid");
96 $ath->adminHeader(array ('title'=>_('Delete Layout Template')));
97 echo $HTML->confirmBox(_('You are about to delete your current Layout Template')
98 . '<br/><br/>' . _('Do you really want to do that?'),
99 array('group_id' => $group_id, 'atid' => $atid, 'deletetemplate' => 1),
100 array('confirm' => _('Delete'), 'cancel' => _('Cancel')));
101 $ath->footer(array());
105 db_query_params ('UPDATE artifact_group_list SET custom_renderer=$1 WHERE group_artifact_id=$2',
108 $feedback .= _('Layout Template Deleted');
109 $next = 'add_extrafield';
113 // FORMS TO ADD/UPDATE DATABASE
118 $actions = array('add_extrafield', 'customize_list', 'workflow', 'workflow_roles', 'add_opt',
119 'updownorder_opt', 'post_changes_order', 'post_changes_alphaorder', 'copy_opt', 'add_canned',
120 'clone_tracker', 'edittemplate',
121 'update_canned', 'delete_canned', 'update_box', 'update_opt', 'delete', 'delete_opt', 'deleteextrafield','update_type');
123 foreach ($actions as $a) {
124 if (getStringFromRequest($a)) {
131 if ($action == 'add_extrafield') {
133 include $gfcommon.'tracker/views/form-addextrafield.php';
135 } elseif ($action == 'customize_list') {
137 include $gfcommon.'tracker/views/form-customizelist.php';
139 } elseif ($action == 'workflow') {
141 include $gfcommon.'tracker/views/form-workflow.php';
143 } elseif ($action == 'workflow_roles') {
145 include $gfcommon.'tracker/views/form-workflow_roles.php';
147 } elseif ($action == 'add_opt' ||
148 $action == 'updownorder_opt' ||
149 $action == 'post_changes_order' ||
150 $action == 'post_changes_alphaorder') {
152 include $gfcommon.'tracker/views/form-addextrafieldoption.php';
154 } elseif ($action == 'copy_opt') {
156 include $gfcommon.'tracker/views/form-extrafieldcopy.php';
158 } elseif ($action == 'add_canned') {
160 include $gfcommon.'tracker/views/form-addcanned.php';
162 } elseif ($action == 'delete_canned') {
164 $confirm = getStringFromRequest('confirm');
165 $cancel = getStringFromRequest('cancel');
166 $id = getIntFromRequest('id');
169 header ("Location: /tracker/admin/?group_id=$group_id&atid=$atid&add_canned=1");
173 $ath->adminHeader(array ('title'=>_('Delete Canned Response'), 'modal' => 1));
174 echo $HTML->confirmBox(_('You are about to delete your canned response')
175 . '<br/><br/>' . _('Do you really want to do that?'),
176 array('group_id' => $group_id, 'atid' => $atid, 'delete_canned' => 1, 'id' => $id),
177 array('confirm' => _('Delete'), 'cancel' => _('Cancel')));
178 $ath->footer(array());
182 $acr = $acr = new ArtifactCanned($ath,$id);
183 if (!$acr || !is_object($acr)) {
184 $error_msg .= _('Unable to create ArtifactCanned Object');
186 if (!$acr->delete()) {
187 $error_msg .= _('Error') . _(': ') . $acr->getErrorMessage();
190 $feedback .= _('Canned Response Deleted');
193 include $gfcommon.'tracker/views/form-addcanned.php';
195 } elseif ($action == 'clone_tracker') {
197 include $gfcommon.'tracker/views/form-clonetracker.php';
199 } elseif ($action == 'update_canned') {
201 include $gfcommon.'tracker/views/form-updatecanned.php';
203 } elseif ($action == 'update_box') {
205 include $gfcommon.'tracker/views/form-updateextrafield.php';
207 } elseif ($action == 'update_opt') {
209 include $gfcommon.'tracker/views/form-updateextrafieldelement.php';
211 } elseif ($action == 'delete_opt') {
213 include $gfcommon.'tracker/views/form-deleteextrafieldelement.php';
215 } elseif ($action == 'delete') {
217 include $gfcommon.'tracker/views/form-deletetracker.php';
219 } elseif ($action == 'deleteextrafield') {
221 include $gfcommon.'tracker/views/form-deleteextrafield.php';
223 } elseif ($action == 'update_type') {
225 include $gfcommon.'tracker/views/form-updatetracker.php';
229 include $gfcommon.'tracker/actions/admin-tracker.php';
233 } elseif ($group_id) {
234 if (getStringFromRequest('tracker_deleted')) {
235 $feedback .= _('Successfully Deleted.');
238 if (getIntFromRequest('new_tracker')) {
240 include $gfcommon.'tracker/views/form-newtracker.php';
242 } elseif (getStringFromRequest('clone_tracker')) {
243 $ath = new ArtifactTypeFactoryHtml($group);
244 include $gfcommon.'tracker/views/form-clonetracker.php';
246 } elseif (getStringFromRequest('admin_roadmap')) {
247 include $gfcommon.'tracker/views/form-adminroadmap.php';
250 include $gfcommon.'tracker/actions/admin-ind.php';
256 // c-file-style: "bsd"