Author: jfthomps Date: Mon Oct 24 18:52:52 2011 New Revision: 1188289 URL: http://svn.apache.org/viewvc?rev=1188289&view=rev Log: VCL-513 allow block allocation control per affiliation VCL-427 for block allocations, setting the managing user group to none means no one can edit it if a normal user created it
blockallocations.php: removed any references to the managing user group from these functions: -blockAllocationForm -AJblockAllocationSubmit -getCurrentBlockHTML -getPendingBlockHTML -AJdeleteBlockAllocationConfirm -AJacceptBlockAllocationSubmit -processBlockAllocationInput -getBlockAllocationData blockallocations.js: removed any references to the managing user group from these functions: -blockFormVerifyWeekly -blockFormSubmitWeekly -blockFormVerifyMonthly -blockFormSubmitMonthly -blockFormVerifyList -blockFormSubmitList -clearHideConfirmForm -clearHideConfirmDelete -clearHideConfirmAccept -deleteBlockConfirmCB -acceptBlockSubmit -rejectBlockSubmit Modified: incubator/vcl/trunk/web/.ht-inc/blockallocations.php incubator/vcl/trunk/web/js/blockallocations.js Modified: incubator/vcl/trunk/web/.ht-inc/blockallocations.php URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/web/.ht-inc/blockallocations.php?rev=1188289&r1=1188288&r2=1188289&view=diff ============================================================================== --- incubator/vcl/trunk/web/.ht-inc/blockallocations.php (original) +++ incubator/vcl/trunk/web/.ht-inc/blockallocations.php Mon Oct 24 18:52:52 2011 @@ -184,35 +184,6 @@ function blockAllocationForm() { print " <img src=\"images/helpicon.png\" id=\"grouphelp\" />\n"; print " </td>\n"; print " </tr>\n"; - if($mode != 'requestBlockAllocation') { - if(! empty($data['admingroupid']) && ! array_key_exists($data['admingroupid'], $groups)) { - $groups[$data['admingroupid']] = array('name' => getUserGroupName($data['admingroupid'], 1)); - $extragroups[$data['admingroupid']] = array('name' => getUserGroupName($data['admingroupid'], 1)); - uasort($groups, "sortKeepIndex"); - } - print " <tr>\n"; - print " <th align=right>Managing User Group</th>\n"; - print " <td>\n"; - if(USEFILTERINGSELECT && count($groups) < FILTERINGSELECTTHRESHOLD) { - print " <select dojoType=\"dijit.form.FilteringSelect\" id=admingroupsel style=\"width: 300px\" "; - print "queryExpr=\"*\${0}*\" highlightMatch=\"all\" autoComplete=\"false\">\n"; - } - else - print " <select id=admingroupsel>\n"; - print " <option value=\"0\">None (owner only)</option>\n"; - foreach($groups as $id => $group) { - if($group['name'] == ' None@') - continue; - if($id == $data['admingroupid']) - print " <option value=\"$id\" selected>{$group['name']}</option>\n"; - else - print " <option value=\"$id\">{$group['name']}</option>\n"; - } - print " </select>\n"; - print " <img src=\"images/helpicon.png\" id=\"admingrouphelp\" />\n"; - print " </td>\n"; - print " </tr>\n"; - } print " <tr>\n"; print " <th align=right>Number of seats:</th>\n"; print " <td>\n"; @@ -450,10 +421,6 @@ function blockAllocationForm() { print " <td><span id=\"confgroup\"></span></td>\n"; print " </tr>\n"; print " <tr>\n"; - print " <th align=\"right\"><span id=\"confadmintitle\"></span></th>\n"; - print " <td><span id=\"confadmingroup\"></span></td>\n"; - print " </tr>\n"; - print " <tr>\n"; print " <th align=\"right\">Seats:</th>\n"; print " <td><span id=\"confseats\"></span></td>\n"; print " </tr>\n"; @@ -619,7 +586,6 @@ function AJblockAllocationSubmit() { . "groupid, " . "repeating, " . "ownerid, " - . "admingroupid, " . "managementnodeid, " . "expireTime, " . "status) " @@ -630,7 +596,6 @@ function AJblockAllocationSubmit() { . "{$data['groupid']}, " . "'{$data['type']}', " . "{$data['ownerid']}, " - . "{$data['admingroupid']}, " . "$mnid, " . "'{$data['expiretime']}', " . "'accepted')"; @@ -674,7 +639,6 @@ function AJblockAllocationSubmit() { . "numMachines = {$data['seats']}, " . "groupid = {$data['groupid']}, " . "ownerid = {$data['ownerid']}, " - . "admingroupid = {$data['admingroupid']}, " . "repeating = '{$data['type']}', " . "expireTime = '{$data['expiretime']}' " . "WHERE id = $blockreqid"; @@ -703,7 +667,6 @@ function AJblockAllocationSubmit() { . "groupid, " . "repeating, " . "ownerid, " - . "admingroupid, " . "expireTime, " . "status, " . "comments) " @@ -714,7 +677,6 @@ function AJblockAllocationSubmit() { . "{$data['groupid']}, " . "'{$data['type']}', " . "{$user['id']}, " - . "0, " . "'{$data['expiretime']}', " . "'requested', " . "'$esccomments')"; @@ -1101,21 +1063,15 @@ function getCurrentBlockHTML($listonly=0 . "b.numMachines AS machinecnt, " . "b.groupid as usergroupid, " . "CONCAT(g.name, '@', a.name) AS `group`, " - . "b.admingroupid as admingroupid, " - . "CONCAT(ga.name, '@', aa.name) AS `admingroup`, " . "b.repeating AS available " . "FROM image i, " . "blockRequest b " . "LEFT JOIN usergroup g ON (b.groupid = g.id) " . "LEFT JOIN affiliation a ON (g.affiliationid = a.id) " - . "LEFT JOIN usergroup ga ON (b.admingroupid = ga.id) " - . "LEFT JOIN affiliation aa ON (ga.affiliationid = aa.id) " . "LEFT JOIN user u ON (b.ownerid = u.id) " . "LEFT JOIN affiliation ua ON (u.affiliationid = ua.id) " - . "WHERE (b.ownerid = {$user['id']} "; - if(! empty($groupids)) - $query .= "OR b.admingroupid IN ($groupids) "; - $query .= ") AND b.imageid = i.id AND " + . "WHERE b.ownerid = {$user['id']} AND " + . "b.imageid = i.id AND " . "b.status = 'accepted' " . "ORDER BY b.name"; $allblockids = array(); @@ -1265,7 +1221,6 @@ function getCurrentBlockHTML($listonly=0 $rt .= " <TH>Environment</TH>\n"; $rt .= " <TH>Reserved<br>Machines</TH>\n"; $rt .= " <TH>Reserved<br>For</TH>\n"; - $rt .= " <TH>Manageable<br>By</TH>\n"; $rt .= " <TH>Repeating</TH>\n"; $rt .= " <TH>Next Start Time</TH>\n"; $rt .= " </TR>\n"; @@ -1302,10 +1257,6 @@ function getCurrentBlockHTML($listonly=0 $rt .= " <TD>{$block['image']}</TD>\n"; $rt .= " <TD>{$block['machinecnt']}</TD>\n"; $rt .= " <TD>{$block['group']}</TD>\n"; - if(empty($block['admingroup'])) - $rt .= " <TD>None (owner only)</TD>\n"; - else - $rt .= " <TD>{$block['admingroup']}</TD>\n"; $rt .= " <TD>{$block['available']}</TD>\n"; if($block['nextstartactive']) { $cont = addContinuationsEntry('viewBlockStatus', array('id' => $block['id'])); @@ -1341,10 +1292,6 @@ function getCurrentBlockHTML($listonly=0 $rt .= " <td><span id=\"confgroup\"></span></td>\n"; $rt .= " </tr>\n"; $rt .= " <tr>\n"; - $rt .= " <th align=\"right\">Managing User Group:</th>\n"; - $rt .= " <td><span id=\"confadmingroup\"></span></td>\n"; - $rt .= " </tr>\n"; - $rt .= " <tr>\n"; $rt .= " <th align=\"right\">Seats:</th>\n"; $rt .= " <td><span id=\"confseats\"></span></td>\n"; $rt .= " </tr>\n"; @@ -1972,24 +1919,6 @@ function getPendingBlockHTML($listonly=0 $rt .= "regExp=\"^([-a-zA-Z0-9\. ]){3,80}$\">\n"; $rt .= " </td>\n"; $rt .= " </tr>\n"; - $rt .= " <tr>\n"; - $rt .= " <th align=right>Managing User Group:</th>\n"; - $rt .= " <td>\n"; - if(USEFILTERINGSELECT && count($groups) < FILTERINGSELECTTHRESHOLD) { - $rt .= " <select dojoType=\"dijit.form.FilteringSelect\" id=admingroupsel "; - $rt .= "queryExpr=\"*\${0}*\" highlightMatch=\"none\" autoComplete=\"false\">\n"; - } - else - $rt .= " <select id=admingroupsel>\n"; - $rt .= " <option value=\"0\">None (owner only)</option>\n"; - foreach($groups as $id => $group) { - if($group['name'] == ' None@') - continue; - $rt .= " <option value=\"$id\">{$group['name']}</option>\n"; - } - $rt .= " </select>\n"; - $rt .= " </td>\n"; - $rt .= " </tr>\n"; $rt .= "</table><br>\n"; $rt .= "<div id=\"acceptemailblock\">\n"; $rt .= "The following text will be emailed to <span id=\"acceptemailuser\"></span>:<br>\n"; @@ -2104,7 +2033,6 @@ function AJdeleteBlockAllocationConfirm( 'image' => $data['image'], 'seats' => $data['machinecnt'], 'usergroup' => $data['group'], - 'admingroup' => $data['admingroup'], 'repeating' => $data['available'], 'startdate' => $data['swdate'], 'lastdate' => $data['ewdate'], @@ -2124,7 +2052,6 @@ function AJdeleteBlockAllocationConfirm( 'image' => $data['image'], 'seats' => $data['machinecnt'], 'usergroup' => $data['group'], - 'admingroup' => $data['admingroup'], 'repeating' => $data['available'], 'startdate' => $data['smdate'], 'lastdate' => $data['emdate']); @@ -2149,7 +2076,6 @@ function AJdeleteBlockAllocationConfirm( 'image' => $data['image'], 'seats' => $data['machinecnt'], 'usergroup' => $data['group'], - 'admingroup' => $data['admingroup'], 'repeating' => $data['available']); $slots = array(); foreach($data['date'] as $key => $val) { @@ -2160,8 +2086,6 @@ function AJdeleteBlockAllocationConfirm( } $rt['slots'] = $slots; } - if($data['admingroupid'] == 0) - $rt['admingroup'] = 'None (owner only)'; $cont = addContinuationsEntry('AJdeleteBlockAllocationSubmit', array('blockid' => $data['id']), SECINDAY, 0, 0); $rt['cont'] = $cont; sendJSON($rt); @@ -2387,7 +2311,6 @@ function AJacceptBlockAllocationSubmit() if($setusergroup) $usergroupid = processInputVar('groupid', ARG_NUMERIC); $name = processInputVar('brname', ARG_STRING); - $admingroupid = processInputVar('admingroupid', ARG_NUMERIC); $emailtext = processInputVar('emailtext', ARG_STRING); $err = 0; @@ -2408,10 +2331,6 @@ function AJacceptBlockAllocationSubmit() } } $groups = getUserGroups(0, $user['affiliationid']); - if(! $err && $admingroupid != 0 && ! array_key_exists($admingroupid, $groups)) { - $errmsg = "Invalid managing user group submitted."; - $err = 1; - } if(! $err && $setusergroup && ! array_key_exists($usergroupid, $groups)) { $errmsg = "Invalid user group submitted."; $err = 1; @@ -2431,8 +2350,7 @@ function AJacceptBlockAllocationSubmit() else $esccomments = mysql_real_escape_string("COMMENTS: $comments|USER NOT EMAILED"); $query = "UPDATE blockRequest " - . "SET name = '$name', " - . "admingroupid = $admingroupid, "; + . "SET name = '$name', "; if($setusergroup) $query .= "groupid = $usergroupid, "; $query .= "status = 'accepted', " @@ -2940,7 +2858,6 @@ function AJupdateBlockStatus() { /// \b imageid - selected image id\n /// \b seats - number of machines to allocate\n /// \b groupid - user group id for selected user group\n -/// \b admingroupid - user group id for selected admin user group\n /// \b type - 'weekly', 'monthly', or 'list'\n /// \b slots - array of date/time slots in 'YYYY-MM-DD|HH:MM|HH:MM' format (date|start|end)\n /// \b times - array of times in HH:MM|HH:MM format (start|end)\n @@ -2967,7 +2884,6 @@ function processBlockAllocationInput() { $return['imageid'] = processInputVar('imageid', ARG_NUMERIC); $return['seats'] = processInputVar('seats', ARG_NUMERIC); $return['groupid'] = processInputVar('groupid', ARG_NUMERIC); - $return['admingroupid'] = processInputVar('admingroupid', ARG_NUMERIC); $type = processInputVar('type', ARG_STRING); $err = 0; if($method != 'request' && ! preg_match('/^([-a-zA-Z0-9\. \(\)]){3,80}$/', $return['name'])) { @@ -2994,10 +2910,6 @@ function processBlockAllocationInput() { $errmsg = 'The submitted user group is invalid.'; $err = 1; } - if(! $err && $method != 'request' && ! array_key_exists($return['admingroupid'], $groups) && $return['admingroupid'] != 0) { - $errmsg = 'The submitted admin user group is invalid.'; - $err = 1; - } if(! $err && ($return['seats'] < MIN_BLOCK_MACHINES || $return['seats'] > MAX_BLOCK_MACHINES)) { $errmsg = 'The submitted number of seats must be between ' . MIN_BLOCK_MACHINES . ' and ' . MAX_BLOCK_MACHINES . '.'; @@ -3245,7 +3157,6 @@ function getBlockAllocationStatus($id) { /// \b ownerid - id from user table of block allocation owner\n /// \b owner - block allocation owner\n /// \b usergroupid - id of group associated with block allocation\n -/// \b admingroupid - id of admin group associated with block allocation\n /// \b repeating - weekly, monthly, or list\n /// \b type - array with weekly, monthly, or list set to 'checked' and the /// others set to an empty string\n @@ -3271,7 +3182,6 @@ function getBlockAllocationData($blockid 'ownerid' => '', 'owner' => '', 'usergroupid' => '', - 'admingroupid' => '', 'repeating' => '', 'swdate' => '', 'ewdate' => '', @@ -3296,7 +3206,6 @@ function getBlockAllocationData($blockid . "b.ownerid, " . "CONCAT(u.unityid, '@', a.name) AS owner, " . "b.groupid AS usergroupid, " - . "b.admingroupid, " . "b.repeating, " . "d.start AS swdate, " . "d.end AS ewdate, " Modified: incubator/vcl/trunk/web/js/blockallocations.js URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/web/js/blockallocations.js?rev=1188289&r1=1188288&r2=1188289&view=diff ============================================================================== --- incubator/vcl/trunk/web/js/blockallocations.js (original) +++ incubator/vcl/trunk/web/js/blockallocations.js Mon Oct 24 18:52:52 2011 @@ -480,10 +480,6 @@ function blockFormVerifyWeekly(mode) { dojo.byId('confgroup').innerHTML = 'specified in comments'; else dojo.byId('confgroup').innerHTML = getSelectText('groupsel'); - if(mode != 'request') { - dojo.byId('confadmintitle').innerHTML = 'Managing User Group:'; - dojo.byId('confadmingroup').innerHTML = getSelectText('admingroupsel'); - } dojo.byId('confrepeat').innerHTML = 'Weekly'; dojo.byId('conftitle1').innerHTML = 'First Date:'; dojo.byId('confvalue1').innerHTML = dijit.byId('wkfirstdate').getDisplayedValue(); @@ -565,7 +561,6 @@ function blockFormSubmitWeekly(mode) { if(mode != 'request') { data.name = dijit.byId('brname').value; data.owner = dijit.byId('browner').value; - data.admingroupid = getSelectValue('admingroupsel'); } else data.comments = dijit.byId('comments').value; @@ -629,10 +624,6 @@ function blockFormVerifyMonthly(mode) { dojo.byId('confgroup').innerHTML = 'specified in comments'; else dojo.byId('confgroup').innerHTML = getSelectText('groupsel'); - if(mode != 'request') { - dojo.byId('confadmintitle').innerHTML = 'Managing User Group:'; - dojo.byId('confadmingroup').innerHTML = getSelectText('admingroupsel'); - } dojo.byId('confrepeat').innerHTML = 'Monthly'; dojo.byId('conftitle1').innerHTML = 'First Date:'; dojo.byId('confvalue1').innerHTML = dijit.byId('mnfirstdate').getDisplayedValue(); @@ -705,7 +696,6 @@ function blockFormSubmitMonthly(mode) { if(mode != 'request') { data.name = dijit.byId('brname').value; data.owner = dijit.byId('browner').value; - data.admingroupid = getSelectValue('admingroupsel'); } else data.comments = dijit.byId('comments').value; @@ -739,10 +729,6 @@ function blockFormVerifyList(mode) { dojo.byId('confgroup').innerHTML = 'specified in comments'; else dojo.byId('confgroup').innerHTML = getSelectText('groupsel'); - if(mode != 'request') { - dojo.byId('confadmintitle').innerHTML = 'Managing User Group:'; - dojo.byId('confadmingroup').innerHTML = getSelectText('admingroupsel'); - } dojo.byId('confrepeat').innerHTML = 'List of Dates/Times'; dojo.byId('conftitle1').innerHTML = 'Repeat on:'; var slots = new Array(); @@ -795,7 +781,6 @@ function blockFormSubmitList(mode) { if(mode != 'request') { data.name = dijit.byId('brname').value; data.owner = dijit.byId('browner').value; - data.admingroupid = getSelectValue('admingroupsel'); } else data.comments = dijit.byId('comments').value; @@ -811,8 +796,6 @@ function clearHideConfirmForm() { dojo.byId('confimage').innerHTML = ''; dojo.byId('confseats').innerHTML = ''; dojo.byId('confgroup').innerHTML = ''; - dojo.byId('confadmintitle').innerHTML = ''; - dojo.byId('confadmingroup').innerHTML = ''; dojo.byId('confrepeat').innerHTML = ''; dojo.byId('conftitle1').innerHTML = ''; dojo.byId('confvalue1').innerHTML = ''; @@ -832,7 +815,6 @@ function clearHideConfirmDelete() { dojo.byId('confimage').innerHTML = ''; dojo.byId('confseats').innerHTML = ''; dojo.byId('confgroup').innerHTML = ''; - dojo.byId('confadmingroup').innerHTML = ''; dojo.byId('confrepeat').innerHTML = ''; dojo.byId('conftitle1').innerHTML = ''; dojo.byId('confvalue1').innerHTML = ''; @@ -883,10 +865,6 @@ function clearHideConfirmAccept() { else dojo.byId('groupsel').value = 0; dojo.byId('brname').value = ''; - if(dijit.byId('admingroupsel')) - dijit.byId('admingroupsel').attr('displayedValue', 'None (owner only)'); - else - dojo.byId('admingroupsel').value = 0; dojo.byId('acceptemailuser').innerHTML = ''; dijit.byId('acceptemailtext').attr('value', ''); } @@ -924,7 +902,6 @@ function deleteBlockConfirmCB(data, ioAr dojo.byId('confimage').innerHTML = data.items.image; dojo.byId('confseats').innerHTML = data.items.seats; dojo.byId('confgroup').innerHTML = data.items.usergroup; - dojo.byId('confadmingroup').innerHTML = data.items.admingroup; dojo.byId('confrepeat').innerHTML = 'Weekly'; dojo.byId('conftitle1').innerHTML = 'First Date:'; dojo.byId('confvalue1').innerHTML = data.items.startdate; @@ -941,7 +918,6 @@ function deleteBlockConfirmCB(data, ioAr dojo.byId('confimage').innerHTML = data.items.image; dojo.byId('confseats').innerHTML = data.items.seats; dojo.byId('confgroup').innerHTML = data.items.usergroup; - dojo.byId('confadmingroup').innerHTML = data.items.admingroup; dojo.byId('confrepeat').innerHTML = 'Monthly'; dojo.byId('conftitle1').innerHTML = 'First Date:'; dojo.byId('confvalue1').innerHTML = data.items.startdate; @@ -958,7 +934,6 @@ function deleteBlockConfirmCB(data, ioAr dojo.byId('confimage').innerHTML = data.items.image; dojo.byId('confseats').innerHTML = data.items.seats; dojo.byId('confgroup').innerHTML = data.items.usergroup; - dojo.byId('confadmingroup').innerHTML = data.items.admingroup; dojo.byId('confrepeat').innerHTML = 'List of Dates/Times'; dojo.byId('conftitle1').innerHTML = 'Repeat on:'; dojo.byId('confvalue1').innerHTML = data.items.slots.join('<br>'); @@ -1099,7 +1074,6 @@ function acceptBlockSubmit() { var data = {continuation: cont, groupid: getSelectValue('groupsel'), brname: dijit.byId('brname').value, - admingroupid: getSelectValue('admingroupsel'), emailtext: dijit.byId('acceptemailtext').attr('value')}; document.body.style.cursor = 'wait'; RPCwrapper(data, generalReqCB); @@ -1173,7 +1147,6 @@ function rejectBlockSubmit() { var data = {continuation: cont, groupid: getSelectValue('groupsel'), brname: dijit.byId('brname').value, - admingroupid: getSelectValue('admingroupsel'), emailtext: dijit.byId('rejectemailtext').attr('value')}; document.body.style.cursor = 'wait'; RPCwrapper(data, generalReqCB);