index : flyspray | |
Archlinux32 customized Flyspray installation | gitolite user |
summaryrefslogtreecommitdiff |
author | Andreas Baumann <mail@andreasbaumann.cc> | 2020-02-01 09:05:48 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2020-02-01 09:05:48 +0100 |
commit | 6854cb3f4d8219cf1829e32122eb2502a916eae9 (patch) | |
tree | 350feb504587d932e02837a1442b059759927646 /scripts/pm.php |
-rw-r--r-- | scripts/pm.php | 61 |
diff --git a/scripts/pm.php b/scripts/pm.php new file mode 100644 index 0000000..c9884e8 --- /dev/null +++ b/scripts/pm.php @@ -0,0 +1,61 @@ +<?php + + /********************************************************\ + | Project Managers Toolbox | + | ~~~~~~~~~~~~~~~~~~~~~~~~ | + | This script is for Project Managers to modify settings | + | for their project, including general permissions, | + | members, group permissions, and dropdown list items. | + \********************************************************/ + +if (!defined('IN_FS')) { + die('Do not access this file directly.'); +} + +if (!$user->perms('manage_project') || !$proj->id) { + Flyspray::show_error(16); +} + +switch ($area = Req::val('area', 'prefs')) { + case 'pendingreq': + $sql = $db->query("SELECT * + FROM {admin_requests} ar + LEFT JOIN {tasks} t ON ar.task_id = t.task_id + LEFT JOIN {users} u ON ar.submitted_by = u.user_id + WHERE ar.project_id = ? AND resolved_by = 0 + ORDER BY ar.time_submitted ASC", array($proj->id)); + + $page->assign('pendings', $db->fetchAllArray($sql)); + + case 'prefs': + case 'groups': + $page->assign('globalgroups', Flyspray::listGroups(0)); # global user groups + $page->assign('groups', Flyspray::listGroups($proj->id)); # project specific user groups + case 'editgroup': + // yeah, utterly stupid, is changed in 1.0 already + if (Req::val('area') == 'editgroup') { + $group_details = Flyspray::getGroupDetails(Req::num('id')); + if (!$group_details || $group_details['project_id'] != $proj->id) { + Flyspray::show_error(L('groupnotexist')); + Flyspray::redirect(createURL('pm', 'groups', $proj->id)); + } + $page->uses('group_details'); + } + case 'tasktype': + case 'tag': + case 'resolution': + case 'os': + case 'version': + case 'cat': + case 'status': + case 'newgroup': + + $page->setTitle($fs->prefs['page_title'] . L('pmtoolbox')); + $page->pushTpl('pm.menu.tpl'); + $page->pushTpl('pm.'.$area.'.tpl'); + break; + + default: + Flyspray::show_error(17); +} +?> |