Fixes to project management system introduced by removing legacy Ajax module
This commit is contained in:
parent
7fa8398ab7
commit
0f74429d81
4 changed files with 79 additions and 94 deletions
|
|
@ -4,6 +4,7 @@
|
||||||
- fixed: Shop Payment Methods
|
- fixed: Shop Payment Methods
|
||||||
- fixed: Asset Manager breaks when an asset is locked
|
- fixed: Asset Manager breaks when an asset is locked
|
||||||
- fixed: Asset Manager is slow to load
|
- fixed: Asset Manager is slow to load
|
||||||
|
- fixed: project management application unable to add or edit tasks.
|
||||||
|
|
||||||
7.5.12
|
7.5.12
|
||||||
- skipping this release
|
- skipping this release
|
||||||
|
|
|
||||||
|
|
@ -1178,27 +1178,6 @@ sub www_editTask {
|
||||||
my $config = $session->config;
|
my $config = $session->config;
|
||||||
my $i18n = $self->i18n;
|
my $i18n = $self->i18n;
|
||||||
my $user = $session->user;
|
my $user = $session->user;
|
||||||
my $style = $session->style;
|
|
||||||
|
|
||||||
my $extras = $config->get("extrasURL");
|
|
||||||
my $assetExtras = $config->get("extrasURL")."/wobject/ProjectManager";
|
|
||||||
|
|
||||||
$style->setScript($assetExtras."/projectDisplay.js",{
|
|
||||||
type=>"text/javascript"
|
|
||||||
}
|
|
||||||
);
|
|
||||||
$style->setScript($assetExtras."/taskEdit.js",{
|
|
||||||
type=>"text/javascript"
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
$var->{'form.header'} = qq{
|
|
||||||
<script src="$extras/yui/build/yahoo/yahoo-min.js" type="text/javascript"></script>
|
|
||||||
<script src="$extras/yui/build/event/event-min.js" type="text/javascript"></script>
|
|
||||||
<script src="$extras/yui/build/connection/connection-min.js" type="text/javascript"></script>
|
|
||||||
<script src="$assetExtras/projectDisplay.js" type="text/javascript"></script>
|
|
||||||
<script src="$assetExtras/taskEdit.js" type="text/javascript"></script>
|
|
||||||
};
|
|
||||||
|
|
||||||
#Set variables from form data
|
#Set variables from form data
|
||||||
my $projectId = $form->get("projectId");
|
my $projectId = $form->get("projectId");
|
||||||
|
|
@ -1575,7 +1554,7 @@ sub www_viewProject {
|
||||||
|
|
||||||
|
|
||||||
#Set page styles
|
#Set page styles
|
||||||
$style->setLink($assetExtras."/modal.css", {
|
$style->setLink($assetExtras."/subModal.css", {
|
||||||
rel=>"stylesheet",
|
rel=>"stylesheet",
|
||||||
type=>"text/css",
|
type=>"text/css",
|
||||||
}
|
}
|
||||||
|
|
@ -1596,15 +1575,7 @@ sub www_viewProject {
|
||||||
type=>"text/javascript",
|
type=>"text/javascript",
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
#$style->setScript($extras."/js/at/AjaxRequest.js",{
|
|
||||||
# type=>"text/javascript"
|
|
||||||
# }
|
|
||||||
#);
|
|
||||||
|
|
||||||
$style->setScript($assetExtras."/modal.js",{
|
|
||||||
type=>"text/javascript"
|
|
||||||
}
|
|
||||||
);
|
|
||||||
$style->setScript($extras."/contextMenu/contextMenu.js",{
|
$style->setScript($extras."/contextMenu/contextMenu.js",{
|
||||||
type=>"text/javascript"
|
type=>"text/javascript"
|
||||||
}
|
}
|
||||||
|
|
@ -1620,6 +1591,11 @@ sub www_viewProject {
|
||||||
{ type=>'text/javascript' }
|
{ type=>'text/javascript' }
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$self->session->style->setScript(
|
||||||
|
$self->session->url->extras('yui/build/dom/dom-min.js'),
|
||||||
|
{ type=>'text/javascript' }
|
||||||
|
);
|
||||||
|
|
||||||
$self->session->style->setScript(
|
$self->session->style->setScript(
|
||||||
$self->session->url->extras('yui/build/connection/connection-min.js'),
|
$self->session->url->extras('yui/build/connection/connection-min.js'),
|
||||||
{ type=>'text/javascript' }
|
{ type=>'text/javascript' }
|
||||||
|
|
@ -1630,6 +1606,11 @@ sub www_viewProject {
|
||||||
{ type=>'text/javascript' }
|
{ type=>'text/javascript' }
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$style->setScript($assetExtras."/modal.js",{
|
||||||
|
type=>"text/javascript"
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
#$self->session->style->setScript(
|
#$self->session->style->setScript(
|
||||||
# $self->session->url->extras('yui-webgui/build/datepicker/datepicker.js'),
|
# $self->session->url->extras('yui-webgui/build/datepicker/datepicker.js'),
|
||||||
# { type=>'text/javascript' }
|
# { type=>'text/javascript' }
|
||||||
|
|
|
||||||
|
|
@ -302,11 +302,36 @@ function cMenu_draw(){
|
||||||
var output = "";
|
var output = "";
|
||||||
output += '<div id="cMenu_' + this.id + '_menu" class="cMenu_skin">';
|
output += '<div id="cMenu_' + this.id + '_menu" class="cMenu_skin">';
|
||||||
for (i=0;i<this.linkUrls.length;i++) {
|
for (i=0;i<this.linkUrls.length;i++) {
|
||||||
|
var urlparts = this.linkUrls[i].split("?");
|
||||||
|
var dataparts = urlparts[1].split(";");
|
||||||
|
var projectId = "";
|
||||||
|
var taskId = "";
|
||||||
|
var insertAt = "";
|
||||||
|
for (var j = 0; j < dataparts.length; j++) {
|
||||||
|
var keyval = dataparts[j].split("=");
|
||||||
|
var key = keyval[0];
|
||||||
|
var val = keyval[1];
|
||||||
|
if(key == "projectId") {
|
||||||
|
projectId = val;
|
||||||
|
}
|
||||||
|
else if(key == "taskId") {
|
||||||
|
taskId = val;
|
||||||
|
}
|
||||||
|
else if(key == "insertAt") {
|
||||||
|
insertAt = val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var clazz = "submodal-400-300";
|
var clazz = "submodal-400-300";
|
||||||
if(this.linkUrls[i].indexOf("delete") != -1) {
|
var id = projectId + "~~" + taskId + "~~" + insertAt;
|
||||||
clazz=""
|
var url = "#";
|
||||||
|
if(this.linkUrls[i].indexOf("delete") != -1) {
|
||||||
|
clazz = "";
|
||||||
|
url = this.linkUrls[i];
|
||||||
|
id = "";
|
||||||
}
|
}
|
||||||
output += "<a href=\"" + this.linkUrls[i] + "\" class=\"" + clazz + "\">" + this.linkLabels[i] + "</a><br />";
|
|
||||||
|
output += "<a href=\"" + url + "\" class=\"" + clazz + "\" id=\"" + id +"\">" + this.linkLabels[i] + "</a><br />";
|
||||||
}
|
}
|
||||||
output += '</div>';
|
output += '</div>';
|
||||||
if (this.type == "image") {
|
if (this.type == "image") {
|
||||||
|
|
|
||||||
|
|
@ -7,30 +7,11 @@ function initPopUp() {
|
||||||
var elms = document.getElementsByTagName('a');
|
var elms = document.getElementsByTagName('a');
|
||||||
for (i = 0; i < elms.length; i++) {
|
for (i = 0; i < elms.length; i++) {
|
||||||
if (elms[i].className.indexOf("submodal") == 0) {
|
if (elms[i].className.indexOf("submodal") == 0) {
|
||||||
YAHOO.util.Event.addListener(elms[i], "click", showEditWindow);
|
YAHOO.util.Event.addListener(elms[i], "click", showPopWin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function showEditWindow(e) {
|
|
||||||
var link = YAHOO.util.Event.getTarget(e);
|
|
||||||
|
|
||||||
if(link == "") {
|
|
||||||
alert ("Could not get target from event. Pop up failed. Please refresh the page and try again.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var id = link.id;
|
|
||||||
var url = getWebguiProperty("pageURL");
|
|
||||||
url += "?func=editTask";
|
|
||||||
url += ";projectId="+getProjectFromId(id);
|
|
||||||
url += ";taskId="+getTaskFromId(id);
|
|
||||||
|
|
||||||
window.open(url, "task", 'status=1,scrollbars=0,toolbar=0,location=0,menubar=0,directories=0,resizable=1,height=600,width=400');
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getProjectFromId(id) {
|
function getProjectFromId(id) {
|
||||||
var parts = id.split("~~");
|
var parts = id.split("~~");
|
||||||
return parts[0];
|
return parts[0];
|
||||||
|
|
@ -41,6 +22,21 @@ function getTaskFromId(id) {
|
||||||
return parts[1];
|
return parts[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getInsertAtFromId(id) {
|
||||||
|
var parts = id.split("~~");
|
||||||
|
if(parts.length < 3) return null;
|
||||||
|
var pos = parts[2];
|
||||||
|
if(pos == "") return null;
|
||||||
|
return pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
function hidePopWin() {
|
||||||
|
var taskDialog = document.getElementById("popupInner");
|
||||||
|
var parent = taskDialog.parentNode;
|
||||||
|
parent.removeChild(taskDialog);
|
||||||
|
initPopUp();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function showPopWin( e ) {
|
function showPopWin( e ) {
|
||||||
|
|
||||||
|
|
@ -51,7 +47,13 @@ function showPopWin( e ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var urlpart = link.href.split("?");
|
var id = link.id;
|
||||||
|
var url = getWebguiProperty("pageURL");
|
||||||
|
var dataPart = "func=editTask&projectId=" + getProjectFromId(id) + "&taskId=" + getTaskFromId(id);
|
||||||
|
var insertAt = getInsertAtFromId(id);
|
||||||
|
if(insertAt) {
|
||||||
|
dataPart += "&insertAt="+insertAt;
|
||||||
|
}
|
||||||
|
|
||||||
this.success = true;
|
this.success = true;
|
||||||
this.taskDialog = null;
|
this.taskDialog = null;
|
||||||
|
|
@ -61,59 +63,35 @@ function showPopWin( e ) {
|
||||||
failure : function(req) { this.success = false; }
|
failure : function(req) { this.success = false; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(this.success == false) {
|
||||||
|
alert("Could not retrieve task form due to a connection error. Pop up failed. Please refresh the page and try again.");
|
||||||
|
}
|
||||||
|
|
||||||
var status = YAHOO.util.Connect.asyncRequest('POST',urlpart[0],callback,urlpart[1]);
|
|
||||||
|
var status = YAHOO.util.Connect.asyncRequest('POST',url,callback,dataPart);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function doDialog (req) {
|
function doDialog (req) {
|
||||||
var contentArea = document.getElementById("contentArea");
|
var contentArea = document.getElementById("contentArea");
|
||||||
alert(contentArea);
|
|
||||||
contentArea.innerHTML = "" + contentArea.innerHTML + req.responseText;
|
contentArea.innerHTML = "" + contentArea.innerHTML + req.responseText;
|
||||||
this.taskDialog = document.getElementById("taskDialog");
|
var taskDialog = document.getElementById("popupInner");
|
||||||
|
|
||||||
// Instantiate the Dialog
|
// Instantiate the Dialog
|
||||||
var dialog = new YAHOO.widget.Dialog(this.taskDialog, {
|
var dialog = new YAHOO.widget.Dialog(taskDialog, {
|
||||||
width : "400px",
|
width : "400px",
|
||||||
fixedcenter : true,
|
fixedcenter : false,
|
||||||
visible : false,
|
visible : true,
|
||||||
constraintoviewport : true,
|
constraintoviewport : false,
|
||||||
modal : true,
|
modal : false,
|
||||||
buttons : [
|
x : 200,
|
||||||
{ text:"Submit", handler:this.handleSubmit, isDefault:true },
|
y : 200
|
||||||
{ text:"Cancel", handler:this.handleCancel } ]
|
});
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Wire up the success and failure handlers
|
|
||||||
dialog.callback = {
|
|
||||||
success: handleSuccess,
|
|
||||||
failure: handleFailure
|
|
||||||
};
|
|
||||||
|
|
||||||
// Render the Dialog
|
// Render the Dialog
|
||||||
dialog.render();
|
dialog.render();
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleSubmit(e) {
|
YAHOO.util.Event.onDOMReady(initPopUp);
|
||||||
document.editTaskForm.submit();
|
|
||||||
};
|
|
||||||
|
|
||||||
function handleCancel(e) {
|
|
||||||
document.editTaskForm.cancel();
|
|
||||||
};
|
|
||||||
|
|
||||||
function handleSuccess(e) {
|
|
||||||
//var response = o.responseText;
|
|
||||||
//response = response.split("<!")[0];
|
|
||||||
//document.getElementById("resp").innerHTML = response;
|
|
||||||
alert("SUCCESS!!");
|
|
||||||
};
|
|
||||||
|
|
||||||
function handleFailure(e) {
|
|
||||||
alert("Submission failed: " + o.status);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue