Add some common responses to the entry processing page, selectable via radio buttons. This
should make admin responses more consistent and make it quicker and easier to process submissions.
This commit is contained in:
@@ -13,6 +13,10 @@ class ObjectManager
|
||||
var $oMultiPage;
|
||||
var $oTableRow;
|
||||
|
||||
// an array of common responses used when replying to
|
||||
// queued entries
|
||||
var $aCommonResponses;
|
||||
|
||||
function ObjectManager($sClass, $sTitle = "list", $iId = false)
|
||||
{
|
||||
$this->sClass = $sClass;
|
||||
@@ -20,6 +24,23 @@ class ObjectManager
|
||||
$this->iId = $iId;
|
||||
$this->oMultiPage = new MultiPage(FALSE);
|
||||
$this->oTableRow = new TableRow(null);
|
||||
|
||||
// initialize the common responses array
|
||||
$this->aCommonResponses = array();
|
||||
$this->aCommonResponses[] = "Thank you for your submission.";
|
||||
$this->aCommonResponses[] = "Please move crash/debug output to a bug".
|
||||
" in Wine's Bugzilla at http://bugs.winehq.org and resubmit.";
|
||||
$this->aCommonResponses[] = "We appreciate your submission but it".
|
||||
" needs to be more detailed before it will be most useful to other users of".
|
||||
" the Application Datbase.".
|
||||
" Please try to improve the entry and resubmit.";
|
||||
$this->aCommonResponses[] = "We appreciate your submission but it".
|
||||
" requires improvement to its grammar and/or spelling".
|
||||
" before it will be most useful to other users of".
|
||||
" the Application Database.".
|
||||
" Please try to improve the entry and resubmit.";
|
||||
$this->aCommonResponses[] = "Please do not copy large amount of text from".
|
||||
" the program's website";
|
||||
}
|
||||
|
||||
/* Check whether the associated class has the given method */
|
||||
@@ -194,6 +215,29 @@ class ObjectManager
|
||||
echo '<td><textarea name="sReplyText" style="width: 100%" cols="80" '.
|
||||
'rows="10">'.$sDefaultReply.'</textarea></td></tr>',"\n";
|
||||
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
// output radio buttons for some common responses
|
||||
echo '<tr valign=top><td class="color0"></td><td class="color0">'.
|
||||
'<b>Common replies</b><br/> Email <a href="mailto:'.APPDB_OWNER_EMAIL.'">'.
|
||||
APPDB_OWNER_EMAIL.'</a> if you want to suggest a new common reply.</td></tr>',"\n";
|
||||
|
||||
// NOTE: We use the label tag so the user can click anywhere in
|
||||
// the text of the radio button to select the radio button.
|
||||
// Otherwise the user has to click on the very small circle portion
|
||||
// of the button to select it
|
||||
foreach($this->aCommonResponses as $iIndex => $sReply)
|
||||
{
|
||||
echo '<tr valign=top><td class="color0"></td>',"\n";
|
||||
echo '<td class="color0"><label for="'.$iIndex.'"><input'.
|
||||
' type="radio" name="sOMCommonReply" id="'.$iIndex.'" value="'.$sReply.'"/>'.
|
||||
$sReply.'</label></td>',"\n";
|
||||
echo '</tr>',"\n";
|
||||
}
|
||||
// end output radio buttons for common responses
|
||||
/////////////////////////////////////////////////
|
||||
|
||||
|
||||
/* buttons for operations we can perform on this entry */
|
||||
echo '<tr valign=top><td class=color3 align=center colspan=2>' ,"\n";
|
||||
echo '<input name="sSubmit" type="submit" value="Submit" class="button" '.
|
||||
@@ -407,6 +451,12 @@ class ObjectManager
|
||||
/* Process form data generated by adding or updating an entry */
|
||||
function processForm($aClean)
|
||||
{
|
||||
// FIXME: hack so if we modify $aClean in here any objects that use the global
|
||||
// $aClean will see the modified value. Should be replaced when we have
|
||||
// general purpose objectManager email code in place since the sReplyText value
|
||||
// is the value we modify and we'll be passing that into methods in the future
|
||||
global $aClean;
|
||||
|
||||
if(!$aClean['sSubmit'])
|
||||
return;
|
||||
|
||||
@@ -425,6 +475,15 @@ class ObjectManager
|
||||
$aClean['sReplyText'] = "";
|
||||
}
|
||||
|
||||
// handle the common response radio button value
|
||||
// if sReplyText is empty, if sOMCommonReply was set because
|
||||
// the user selected a radio button then use that text instead
|
||||
if(($aClean['sReplyText'] == "") && isset($aClean['sOMCommonReply']))
|
||||
{
|
||||
$aClean['sReplyText'] = $aClean['sOMCommonReply'];
|
||||
}
|
||||
|
||||
|
||||
$oObject->getOutputEditorValues($aClean);
|
||||
|
||||
/* Check input, if necessary */
|
||||
|
||||
@@ -54,8 +54,8 @@ if($aClean['bIsRejected'] == 'true')
|
||||
|
||||
$oOtherObject = new $oObject->sClass($oObject->iId);
|
||||
|
||||
/* Certain actions must be performed before the header is set
|
||||
processForm return TRUE on success, or a user-readable list of errors
|
||||
/* Certain actions must be performed before the header is set. */
|
||||
/* processForm returns TRUE on success, or a user-readable list of errors
|
||||
on failure */
|
||||
$sErrors = $oObject->processForm($aClean);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user