not exactly working at the moment
This commit is contained in:
parent
9db3e02444
commit
cd66dbb780
4 changed files with 88 additions and 66 deletions
|
|
@ -420,12 +420,20 @@ dav::log 'EMSSubmission::www_editSubmission: asseId ne new';
|
||||||
}
|
}
|
||||||
# TODO add the comment form
|
# TODO add the comment form
|
||||||
$newform->submit;
|
$newform->submit;
|
||||||
return $asset->processStyle(
|
my $title = $assetId eq 'new' ? $i18n->get('new submission') || 'new' : $asset->get('submissionId');
|
||||||
|
my $content = $asset->processStyle(
|
||||||
$asset->processTemplate({
|
$asset->processTemplate({
|
||||||
errors => $params->{errors} || [],
|
errors => $params->{errors} || [],
|
||||||
backUrl => $parent->getUrl,
|
backUrl => $parent->getUrl,
|
||||||
pageForm => $newform->print,
|
pageForm => $newform->print,
|
||||||
},$parent->getParent->get('eventSubmissionTemplateId')));
|
},$parent->getParent->get('eventSubmissionTemplateId')));
|
||||||
|
if( $session->form->get('asJson') ) {
|
||||||
|
$session->http->setMimeType( 'application/json' );
|
||||||
|
return JSON->new->encode( { text => $content, title => $title } );
|
||||||
|
} else {
|
||||||
|
$session->http->setMimeType( 'text/html' );
|
||||||
|
return $content;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -322,12 +322,21 @@ dav::dump 'editSubmissionForm::dump before generate:',$fields;
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$newform->submit;
|
$newform->submit;
|
||||||
return $asset->processStyle(
|
my $title = $assetId eq 'new' ? $i18n->get('new form') || 'new' : $asset->get('title');
|
||||||
|
my $content = $asset->processStyle(
|
||||||
$asset->processTemplate({
|
$asset->processTemplate({
|
||||||
errors => $params->{errors} || [],
|
errors => $params->{errors} || [],
|
||||||
backUrl => $parent->getUrl,
|
backUrl => $parent->getUrl,
|
||||||
pageForm => $newform->print,
|
pageForm => $newform->print,
|
||||||
},$parent->get('eventSubmissionTemplateId')));
|
},$parent->get('eventSubmissionTemplateId')));
|
||||||
|
if( $session->form->get('asJson') ) {
|
||||||
|
$session->http->setMimeType( 'application/json' );
|
||||||
|
return JSON->new->encode( { text => $content, title => $title } );
|
||||||
|
} else {
|
||||||
|
$session->http->setMimeType( 'text/html' );
|
||||||
|
return $content;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -1349,8 +1349,8 @@ sub www_getSubmissionById {
|
||||||
$result->{hasError} = 1;
|
$result->{hasError} = 1;
|
||||||
$result->{errors} = [ 'failed to load submission' ];
|
$result->{errors} = [ 'failed to load submission' ];
|
||||||
} else {
|
} else {
|
||||||
$result->{itemText} = $res->[0]->www_editSubmission;
|
$result->{text} = $res->[0]->www_editSubmission;
|
||||||
$result->{submissionId} = $submissionId;
|
$result->{title} = $submissionId;
|
||||||
}
|
}
|
||||||
$self->session->http->setMimeType('application/json');
|
$self->session->http->setMimeType('application/json');
|
||||||
return JSON->new->encode($result);
|
return JSON->new->encode($result);
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,72 @@ WebGUI.EMS = function (configs) {
|
||||||
dt.getDataSource().sendRequest(WebGUI.EMS.buildQueryString(newState, dt), oCallback);
|
dt.getDataSource().sendRequest(WebGUI.EMS.buildQueryString(newState, dt), oCallback);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//***********************************************************************************
|
||||||
|
//This method is out here so it can be overridden. The datatable uses this method to sort it's columns
|
||||||
|
WebGUI.EMS.newTab = function(url) {
|
||||||
|
// the 'loading' 'indicator'
|
||||||
|
if( typeof(WebGUI.EMS.loadingIndicator) == "undefined" ) {
|
||||||
|
WebGUI.EMS.loadingIndicator = new YAHOO.widget.Overlay( "loadingIndicator", {
|
||||||
|
fixedcenter : true,
|
||||||
|
visible : false
|
||||||
|
} );
|
||||||
|
WebGUI.EMS.loadingIndicator.setBody( "Loading ..." +
|
||||||
|
"<img id='loadingIndicator' title='Loading' src='/extras/wobject/EMS/indicator.gif'/>"
|
||||||
|
);
|
||||||
|
WebGUI.EMS.loadingIndicator.render(document.body);
|
||||||
|
}
|
||||||
|
WebGUI.EMS.loadingIndicator.show();
|
||||||
|
|
||||||
|
// Create callback object for the request
|
||||||
|
var oCallback = {
|
||||||
|
success: function(o) {
|
||||||
|
var response = eval('(' + o.responseText + ')');
|
||||||
|
var myTab;
|
||||||
|
if(response.hasError){
|
||||||
|
var message = "";
|
||||||
|
for(var i = 0; i < response.errors.length; i++) {
|
||||||
|
message += response.errors[i];
|
||||||
|
}
|
||||||
|
alert(message);
|
||||||
|
return;
|
||||||
|
} else if( typeof(WebGUI.EMS.Items[response.submissionId]) == "undefined"
|
||||||
|
|| WebGUI.EMS.Items[response.submissionId] == null ) {
|
||||||
|
// if there is a tab .. close it,
|
||||||
|
// at least until I can get the JS/HTML re-written to handle multiple tabs
|
||||||
|
// there should only be one
|
||||||
|
for( var ticketId in WebGUI.EMS.Tickets ) { WebGUI.EMS.closeTab(ticketId) }
|
||||||
|
var myContent = document.createElement("div");
|
||||||
|
myContent.innerHTML = response.itemText;
|
||||||
|
myTab = new YAHOO.widget.Tab({
|
||||||
|
label: response.submissionId + '<span class="close"><img src="/extras/wobject/EMS/close12_1.gif" alt="X" title="' +
|
||||||
|
WebGUI.EMS.i18n.get('Asset_EMSSubmission','close tab') + '" /></span>',
|
||||||
|
contentEl: myContent
|
||||||
|
});
|
||||||
|
WebGUI.EMS.Tabs.addTab( myTab );
|
||||||
|
YAHOO.util.Event.on(myTab.getElementsByClassName('close')[0], 'click', WebGUI.EMS.closeTab , myTab);
|
||||||
|
WebGUI.EMS.Items[response.submissionId] = new Object();
|
||||||
|
WebGUI.EMS.Items[response.submissionId].Tab = myTab;
|
||||||
|
} else {
|
||||||
|
myTab = WebGUI.EMS.Tickets[response.submissionId].Tab;
|
||||||
|
myTab.set('content', response.itemText);
|
||||||
|
}
|
||||||
|
// make sure the script on the ticket has run
|
||||||
|
// if( typeof( WebGUI.ticketJScriptRun ) == "undefined" ) {
|
||||||
|
// eval( document.getElementById("ticketJScript").innerHTML );
|
||||||
|
// }
|
||||||
|
// delete WebGUI.ticketJScriptRun;
|
||||||
|
WebGUI.EMS.loadingIndicator.hide();
|
||||||
|
WebGUI.EMS.lastTab = WebGUI.EMS.Tabs.get('activeTab');
|
||||||
|
WebGUI.EMS.Tabs.set('activeTab',myTab);
|
||||||
|
},
|
||||||
|
failure: function(o) {
|
||||||
|
WebGUI.EMS.loadingIndicator.hide();
|
||||||
|
alert("AJAX call failed");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var request = YAHOO.util.Connect.asyncRequest('GET', url + ';asJson=1' , oCallback);
|
||||||
|
};
|
||||||
|
|
||||||
//***********************************************************************************
|
//***********************************************************************************
|
||||||
//This method is out here so it can be overridden. The datatable uses this method to sort it's columns
|
//This method is out here so it can be overridden. The datatable uses this method to sort it's columns
|
||||||
WebGUI.EMS.sortColumn = function(oColumn,sDir) {
|
WebGUI.EMS.sortColumn = function(oColumn,sDir) {
|
||||||
|
|
@ -177,72 +243,11 @@ WebGUI.EMS = function (configs) {
|
||||||
// This method does the actual work of loading an item into a tab
|
// This method does the actual work of loading an item into a tab
|
||||||
//
|
//
|
||||||
WebGUI.EMS.loadItem = function ( submissionId, pathname ) {
|
WebGUI.EMS.loadItem = function ( submissionId, pathname ) {
|
||||||
// the 'loading' 'indicator'
|
|
||||||
if( typeof(WebGUI.EMS.loadingIndicator) == "undefined" ) {
|
|
||||||
WebGUI.EMS.loadingIndicator = new YAHOO.widget.Overlay( "loadingIndicator", {
|
|
||||||
fixedcenter : true,
|
|
||||||
visible : false
|
|
||||||
} );
|
|
||||||
WebGUI.EMS.loadingIndicator.setBody( "Loading ..." +
|
|
||||||
"<img id='loadingIndicator' title='Loading' src='/extras/wobject/EMS/indicator.gif'/>"
|
|
||||||
);
|
|
||||||
WebGUI.EMS.loadingIndicator.render(document.body);
|
|
||||||
}
|
|
||||||
WebGUI.EMS.loadingIndicator.show();
|
|
||||||
|
|
||||||
if( typeof(pathname) == "undefined" ) {
|
if( typeof(pathname) == "undefined" ) {
|
||||||
pathname = WebGUI.EMS.url ;
|
pathname = WebGUI.EMS.url ;
|
||||||
}
|
}
|
||||||
var url = pathname + "?func=getSubmissionById;submissionId=" + submissionId;
|
var url = pathname + "?func=getSubmissionById;submissionId=" + submissionId;
|
||||||
|
WebGUI.EMS.newTab(submissionId, url );
|
||||||
// Create callback object for the request
|
|
||||||
var oCallback = {
|
|
||||||
success: function(o) {
|
|
||||||
var response = eval('(' + o.responseText + ')');
|
|
||||||
var myTab;
|
|
||||||
if(response.hasError){
|
|
||||||
var message = "";
|
|
||||||
for(var i = 0; i < response.errors.length; i++) {
|
|
||||||
message += response.errors[i];
|
|
||||||
}
|
|
||||||
alert(message);
|
|
||||||
return;
|
|
||||||
} else if( typeof(WebGUI.EMS.Items[response.submissionId]) == "undefined"
|
|
||||||
|| WebGUI.EMS.Items[response.submissionId] == null ) {
|
|
||||||
// if there is a tab .. close it,
|
|
||||||
// at least until I can get the JS/HTML re-written to handle multiple tabs
|
|
||||||
// there should only be one
|
|
||||||
for( var ticketId in WebGUI.EMS.Tickets ) { WebGUI.EMS.closeTab(ticketId) }
|
|
||||||
var myContent = document.createElement("div");
|
|
||||||
myContent.innerHTML = response.itemText;
|
|
||||||
myTab = new YAHOO.widget.Tab({
|
|
||||||
label: response.submissionId + '<span class="close"><img src="/extras/wobject/EMS/close12_1.gif" alt="X" title="' +
|
|
||||||
WebGUI.EMS.i18n.get('Asset_EMSSubmission','close tab') + '" /></span>',
|
|
||||||
contentEl: myContent
|
|
||||||
});
|
|
||||||
WebGUI.EMS.Tabs.addTab( myTab );
|
|
||||||
YAHOO.util.Event.on(myTab.getElementsByClassName('close')[0], 'click', WebGUI.EMS.closeTab , myTab);
|
|
||||||
WebGUI.EMS.Items[response.submissionId] = new Object();
|
|
||||||
WebGUI.EMS.Items[response.submissionId].Tab = myTab;
|
|
||||||
} else {
|
|
||||||
myTab = WebGUI.EMS.Tickets[response.submissionId].Tab;
|
|
||||||
myTab.set('content', response.itemText);
|
|
||||||
}
|
|
||||||
// make sure the script on the ticket has run
|
|
||||||
// if( typeof( WebGUI.ticketJScriptRun ) == "undefined" ) {
|
|
||||||
// eval( document.getElementById("ticketJScript").innerHTML );
|
|
||||||
// }
|
|
||||||
// delete WebGUI.ticketJScriptRun;
|
|
||||||
WebGUI.EMS.loadingIndicator.hide();
|
|
||||||
WebGUI.EMS.lastTab = WebGUI.EMS.Tabs.get('activeTab');
|
|
||||||
WebGUI.EMS.Tabs.set('activeTab',myTab);
|
|
||||||
},
|
|
||||||
failure: function(o) {
|
|
||||||
WebGUI.EMS.loadingIndicator.hide();
|
|
||||||
alert("AJAX call failed");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
var request = YAHOO.util.Connect.asyncRequest('GET', url, oCallback);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//***********************************************************************************
|
//***********************************************************************************
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue