Commit 5d5a0a86 authored by Marco Mariani's avatar Marco Mariani

Merge branch 'mmariani-jslint' into slaprunner

parents 356e6558 625aa19a
...@@ -16,7 +16,7 @@ class Parser(OptionParser): ...@@ -16,7 +16,7 @@ class Parser(OptionParser):
""" """
def __init__(self, usage=None, version=None): def __init__(self, usage=None, version=None):
""" """
Initialize all options possibles. Initialize all possible options.
""" """
OptionParser.__init__(self, usage=usage, version=version, OptionParser.__init__(self, usage=usage, version=version,
option_list=[ option_list=[
......
$(document).ready( function() { /*jslint undef: true */
/*global $, document, window, $SCRIPT_ROOT */
/* vim: set et sts=4: */
$(document).ready(function () {
"use strict";
var send = false; var send = false;
$("#update").click(function(){ $("#update").click(function () {
var haspwd = false; var haspwd = false,
var hasAccount = !($("input#hasAccount").val() === ""); hasAccount = ($("input#hasAccount").val() !== "");
if($("input#username").val() === "" || !$("input#username").val().match(/^[\w\d\._-]+$/)){ if ($("input#username").val() === "" || !$("input#username").val().match(/^[\w\d\._\-]+$/)) {
$("#error").Popup("Invalid user name. Please check it!", {type:'alert', duration:3000}); $("#error").Popup("Invalid user name. Please check it!", {type: 'alert', duration: 3000});
return false; return false;
} }
else if ($("input#username").val().length <6){ if ($("input#username").val().length < 6) {
$("#error").Popup("Username must have at least 6 characters", {type:'alert', duration:3000}); $("#error").Popup("Username must have at least 6 characters", {type: 'alert', duration: 3000});
return false; return false;
} }
if($("input#name").val() === ""){ if ($("input#name").val() === "") {
$("#error").Popup("Please enter your name and surname!", {type:'alert', duration:3000}); $("#error").Popup("Please enter your name and surname!", {type: 'alert', duration: 3000});
return false; return false;
} }
if(!$("input#email").val().match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)){ if (!$("input#email").val().match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) {
$("#error").Popup("Please enter a valid email adress!", {type:'alert', duration:3000}); $("#error").Popup("Please enter a valid email adress!", {type: 'alert', duration: 3000});
return false; return false;
} }
if(!hasAccount && !$("input#password").val().match(/^[\w\d\._-]+$/)){ if (!hasAccount && !$("input#password").val().match(/^[\w\d\._\-]+$/)) {
$("#error").Popup("Please enter your new password!", {type:'alert', duration:3000}); $("#error").Popup("Please enter your new password!", {type: 'alert', duration: 3000});
return false; return false;
} }
if ($("input#password").val() !== "" && $("input#password").val().length <6){ if ($("input#password").val() !== "" && $("input#password").val().length < 6) {
$("#error").Popup("The password must have at least 6 characters", {type:'alert', duration:3000}); $("#error").Popup("The password must have at least 6 characters", {type: 'alert', duration: 3000});
return false; return false;
} }
if($("input#password").val() !== ""){ if ($("input#password").val() !== "") {
if($("input#password").val() === "" || !$("input#password").val().match(/^[\w\d\._-]+$/)){ if ($("input#password").val() === "" || !$("input#password").val().match(/^[\w\d\._\-]+$/)) {
$("#error").Popup("Please enter your new password!", {type:'alert', duration:3000}); $("#error").Popup("Please enter your new password!", {type: 'alert', duration: 3000});
return false; return false;
} }
if($("input#password").val() !== $("input#cpassword").val()){ if ($("input#password").val() !== $("input#cpassword").val()) {
$("#error").Popup("your password does not match!", {type:'alert', duration:3000}); $("#error").Popup("your password does not match!", {type: 'alert', duration: 3000});
return false; return false;
} }
haspwd = true; haspwd = true;
} }
if(!$("input#rcode").val().match(/^[\w\d]+$/)){ if (!$("input#rcode").val().match(/^[\w\d]+$/)) {
$("#error").Popup("Please enter your password recovery code.", {type:'alert', duration:3000}); $("#error").Popup("Please enter your password recovery code.", {type: 'alert', duration: 3000});
return false;
}
if (send) {
return false; return false;
} }
if(send) return false;
send = true; send = true;
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: $SCRIPT_ROOT + ((hasAccount)? '/updateAccount':'/configAccount'), url: $SCRIPT_ROOT + ((hasAccount) ? '/updateAccount' : '/configAccount'),
data: {name: $("input#name").val(), username:$("input#username").val(), email:$("input#email").val(), data: {
password:((haspwd) ? $("input#password").val():""), rcode:$("input#rcode").val()}, name: $("input#name").val(),
success: function(data){ username: $("input#username").val(),
if(data.code ==1){ email: $("input#email").val(),
location.href = $SCRIPT_ROOT+"/" password: ((haspwd) ? $("input#password").val() : ""),
} rcode: $("input#rcode").val()
else{ },
$("#error").Popup(data.result, {type:'error', duration:5000}); success: function (data) {
if (data.code === 1) {
window.location.href = $SCRIPT_ROOT + "/";
} else {
$("#error").Popup(data.result, {type: 'error', duration: 5000});
} }
send = false; send = false;
}, },
error:function(){send = false;} error: function () { send = false; }
}); });
return false; return false;
}); });
......
/*jslint undef: true */
/*global $, window, $SCRIPT_ROOT */
/* vim: set et sts=4: */
/*Common javascript function*/ /*Common javascript function*/
String.prototype.toHtmlChar = function(){ String.prototype.toHtmlChar = function () {
var c = {'<':'&lt;', '>':'&gt;', '&':'&amp;', '"':'&quot;', "'":'&#039;', "use strict";
'#':'&#035;' }; var c = {
return this.replace( /[<&>'"#]/g, function(s) { return c[s]; } ); '<': '&lt;',
'>': '&gt;',
'&': '&amp;',
'"': '&quot;',
"'": '&#039;',
'#': '&#035;'
};
return this.replace(/[<&>'"#]/g, function (s) { return c[s]; });
}; };
String.prototype.trim = function () { String.prototype.trim = function () {
"use strict";
return this.replace(/^\s*/, "").replace(/\s*$/, ""); return this.replace(/^\s*/, "").replace(/\s*$/, "");
}; };
/****************************************/ /****************************************/
function setInput($elt) { function setInput($elt) {
if(!$elt){$elt = $('input[type="text"], input[type="password"]');} "use strict";
if (!$elt) {
$elt = $('input[type="text"], input[type="password"]');
}
$elt.addClass("idleField"); $elt.addClass("idleField");
$elt.focus(function() { $elt.focus(function () {
$(this).removeClass("idleField").addClass("focusField"); $(this).removeClass("idleField").addClass("focusField");
if (this.value == this.defaultValue){ if (this.value === this.defaultValue) {
this.value = ''; this.value = '';
} }
if(this.value != this.defaultValue){ if (this.value !== this.defaultValue) {
this.select(); this.select();
} }
}); });
$elt.blur(function() { $elt.blur(function () {
$(this).removeClass("focusField").addClass("idleField"); $(this).removeClass("focusField").addClass("idleField");
if ($.trim(this.value) === ''){ if ($.trim(this.value) === '') {
this.value = (this.defaultValue ? this.defaultValue : ''); this.value = (this.defaultValue || '');
} }
}); });
} }
/*******************Bind remove all button*******************/ /*******************Bind remove all button*******************/
function bindRemove(){ function bindRemove() {
$("a#removeSr").click(function(){ "use strict";
if(!window.confirm("Do you really want to remove all software release?")){ $("a#removeSr").click(function () {
if (!window.confirm("Do you really want to remove all software release?")) {
return false; return false;
} }
location.href = $SCRIPT_ROOT + '/removeSoftware'; window.location.href = $SCRIPT_ROOT + '/removeSoftware';
}); });
$("a#removeIst").click(function(){ $("a#removeIst").click(function () {
if(!window.confirm("Do you really want to remove all computer partition?")){ if (!window.confirm("Do you really want to remove all computer partition?")) {
return false; return false;
} }
location.href = $SCRIPT_ROOT + '/removeInstance'; window.location.href = $SCRIPT_ROOT + '/removeInstance';
}); });
} }
/**************************/ /**************************/
(function ($, document, window) { (function ($, document, window) {
"use strict";
$.extend($.fn, { $.extend($.fn, {
slideBox: function(state) { slideBox: function (state) {
if (!state) state = "hide"; if (!state) {
var header = $("#"+$(this).attr('id')+">h2"); state = "hide";
var box = $("#"+$(this).attr('id')+">div"); }
var header = $("#" + $(this).attr('id') + ">h2"),
box = $("#" + $(this).attr('id') + ">div");
header.addClass(state); header.addClass(state);
if(state=="hide"){box.css('display', 'none');} if (state === "hide") {
header.click(function(){ box.css('display', 'none');
}
header.click(function () {
var state = box.css("display"); var state = box.css("display");
if (state == "none"){ if (state === "none") {
box.slideDown("normal"); box.slideDown("normal");
header.removeClass("hide"); header.removeClass("hide");
header.addClass("show"); header.addClass("show");
} } else {
else{
box.slideUp("normal"); box.slideUp("normal");
header.removeClass("show"); header.removeClass("show");
header.addClass("hide"); header.addClass("hide");
......
/*jslint undef: true */
/*global document, escape, unescape */
/* vim: set et sts=4: */
/*Cookies Management*/ /*Cookies Management*/
function setCookie(name,value,expires,path,domain,secure){ function setCookie(name, value, expires, path, domain, secure) {
if (!expires){ "use strict";
if (!expires) {
var today = new Date(); var today = new Date();
expires = new Date(today.getTime() + 365 * 24 * 60 * 60 * 1000); expires = new Date(today.getTime() + 365 * 24 * 60 * 60 * 1000);
} }
...@@ -10,23 +15,21 @@ function setCookie(name,value,expires,path,domain,secure){ ...@@ -10,23 +15,21 @@ function setCookie(name,value,expires,path,domain,secure){
((domain) ? "; domain=" + domain : "") + ((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : ""); ((secure) ? "; secure" : "");
} }
function deleteCookie(name,path,domain) {
if (getCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "/") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
function getCookie(name) { function getCookie(name) {
var i,x,y,ARRcookies=document.cookie.split(";"); "use strict";
for (i=0;i<ARRcookies.length;i++){ var i,
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); x,
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); y,
x=x.replace(/^\s+|\s+$/g,""); result,
if (x==name){ ARRcookies = document.cookie.split(";");
var result = unescape(y); for (i = 0; i < ARRcookies.length; i += 1) {
if (result != "" && result != null){ x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x === name) {
result = unescape(y);
if (result !== "" && result !== null) {
return result; return result;
} }
return null; return null;
...@@ -34,4 +37,13 @@ function getCookie(name) { ...@@ -34,4 +37,13 @@ function getCookie(name) {
} }
return null; return null;
} }
function deleteCookie(name, path, domain) {
"use strict";
if (getCookie(name)) {
document.cookie = name + "=" +
(path ? "; path=" + path : "/") +
(domain ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
/**************************/ /**************************/
$(document).ready( function() { /*jslint undef: true */
var editor = ace.edit("editor"); /*global $, document, ace, $SCRIPT_ROOT */
editor.setTheme("ace/theme/crimson_editor"); /* vim: set et sts=4: */
var CurentMode = require("ace/mode/buildout").Mode;
editor.getSession().setMode(new CurentMode());
editor.getSession().setTabSize(2);
editor.getSession().setUseSoftTabs(true);
editor.renderer.setHScrollBarAlwaysVisible(false);
var file = $("input#profile").val(); $(document).ready(function () {
var workdir = $("input#workdir").val(); "use strict";
var edit = false;
var send = false;
selectFile(file);
$("#save").click(function(){ var editor, CurrentMode, file, workdir, edit, send;
if(!edit){
$("#error").Popup("Can not load your file, please make sure that you have selected a Software Release", {type:'alert', duration:5000});
return false;
}
if (send) return;
send =true
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/saveFileContent',
data: {file: file, content: editor.getSession().getValue()},
success: function(data){
if(data.code == 1){
$("#error").Popup("File Saved!", {type:'confirm', duration:2000});
}
else{
$("#error").Popup(data.result, {type:'error', duration:5000});
}
send = false;
}
});
return false;
});
$("#getmd5").click(function(){
getmd5sum();
return false;
});
$("#adddevelop").click(function(){
var developList = new Array();
var i=0;
$("#plist li").each(function(index){
var elt = $(this).find("input:checkbox");
if (elt.is(":checked")){
developList[i] = workdir+"/"+elt.val();
i++;
elt.attr("checked", false);
}
});
if (developList.length > 0){setDevelop(developList);}
return false;
});
function selectFile(file){ function selectFile(file) {
edit = false; edit = false;
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/getFileContent', url: $SCRIPT_ROOT + '/getFileContent',
data: "file=" + file, data: "file=" + file,
success: function(data){ success: function (data) {
if(data.code == 1){ if (data.code === 1) {
editor.getSession().setValue(data.result); editor.getSession().setValue(data.result);
edit = true; edit = true;
} } else {
else{ $("#error").Popup("Can not load your file, please make sure that you have selected a Software Release",
$("#error").Popup("Can not load your file, please make sure that you have selected a Software Release", {type:'alert', duration:5000}); {type: 'alert', duration: 5000});
} }
} }
}); });
return; return;
} }
function getmd5sum(){ function getmd5sum() {
if (send) return; if (send) {
send =true return;
}
send = true;
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/getmd5sum', url: $SCRIPT_ROOT + '/getmd5sum',
data: {file: file}, data: {file: file},
success: function(data){ success: function (data) {
if(data.code == 1){ if (data.code === 1) {
$("#md5sum").empty(); $("#md5sum").empty();
$("#md5sum").append('md5sum : <span>' + data.result + '</span>'); $("#md5sum").append('md5sum : <span>' + data.result + '</span>');
} } else {
else{ $("#error").Popup(data.result, {type: 'error', duration: 5000});
$("#error").Popup(data.result, {type:'error', duration:5000});
} }
send = false; send = false;
} }
}); });
} }
function setDevelop(developList){
if (developList==null || developList.length <= 0) return; function setDevelop(developList) {
editor.navigateFileStart(); if (developList === null || developList.length <= 0) {
editor.find('buildout',{caseSensitive: true,wholeWord: true}); return;
if(!editor.getSelectionRange().isEmpty()){
//editor.find("",{caseSensitive: true,wholeWord: true,regExp: true});
//if(!editor.getSelectionRange().isEmpty()){
//alert("found");
//}
//else{alert("no found");
//}
} }
else{ editor.navigateFileStart();
$("#error").Popup("Can not found part [buildout]! Please make sure that you have a cfg file", {type:'alert', duration:3000}); editor.find('buildout', {caseSensitive: true, wholeWord: true});
if (editor.getSelectionRange().isEmpty()) {
$("#error").Popup("Can not found part [buildout]! Please make sure that you have a cfg file",
{type: 'alert', duration: 3000});
return; return;
} }
//else {
// //editor.find("",{caseSensitive: true,wholeWord: true,regExp: true});
// //if (!editor.getSelectionRange().isEmpty()) {
// //alert("found");
// //}
// //else{alert("no found");
// //}
//}
editor.navigateLineEnd(); editor.navigateLineEnd();
$.post($SCRIPT_ROOT+"/getPath", {file:developList.join("#")}, function(data) { $.post($SCRIPT_ROOT + "/getPath", {file: developList.join("#")}, function (data) {
if(data.code==1){ if (data.code === 1) {
var result = data.result.split('#'); var i,
result = data.result.split('#');
editor.insert("\ndevelop =\n\t" + result[0] + "\n"); editor.insert("\ndevelop =\n\t" + result[0] + "\n");
for(var i=1; i<result.length; i++) for (i = 1; i < result.length; i += 1) {
editor.insert("\t" + result[i] + "\n"); editor.insert("\t" + result[i] + "\n");
} }
}
}) })
.error(function() { }) .error(function () { })
.complete(function(){}); .complete(function () {});
editor.insert("\n"); editor.insert("\n");
} }
editor = ace.edit("editor");
CurrentMode = require("ace/mode/buildout").Mode;
file = $("input#profile").val();
workdir = $("input#workdir").val();
edit = false;
send = false;
editor.setTheme("ace/theme/crimson_editor");
editor.getSession().setMode(new CurrentMode());
editor.getSession().setTabSize(2);
editor.getSession().setUseSoftTabs(true);
editor.renderer.setHScrollBarAlwaysVisible(false);
selectFile(file);
$("#save").click(function () {
if (!edit) {
$("#error").Popup("Can not load your file, please make sure that you have selected a Software Release",
{type: 'alert', duration: 5000});
return false;
}
if (send) {
return;
}
send = true;
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/saveFileContent',
data: {file: file, content: editor.getSession().getValue()},
success: function (data) {
if (data.code === 1) {
$("#error").Popup("File Saved!", {type: 'confirm', duration: 2000});
} else {
$("#error").Popup(data.result, {type: 'error', duration: 5000});
}
send = false;
}
});
return false;
});
$("#getmd5").click(function () {
getmd5sum();
return false;
});
$("#adddevelop").click(function () {
var developList = [],
i = 0;
$("#plist li").each(function (index) {
var elt = $(this).find("input:checkbox");
if (elt.is(":checked")) {
developList[i] = workdir + "/" + elt.val();
i += 1;
elt.attr("checked", false);
}
});
if (developList.length > 0) {
setDevelop(developList);
}
return false;
});
}); });
$(document).ready( function() { /*jslint undef: true */
var send = false; /*global $, document, $SCRIPT_ROOT */
var cloneRequest; /* vim: set et sts=4: */
$('#fileNavigator').gsFileManager({ script: $SCRIPT_ROOT+"/fileBrowser", root: "workspace/"});
$(document).ready(function () {
"use strict";
function configRadio() {
$("#modelist li").each(function (index) {
var boxselector = "#box" + index;
if ($(this).hasClass('checked')) {
$(this).removeClass('checked');
$(boxselector).slideUp("normal");
}
if ($(this).find("input:radio").is(':checked')) {
$(this).addClass('checked');
//change content here
$(boxselector).slideDown("normal");
}
if (index !== 2) {
$("input#password").val("");
$("input#cpassword").val("");
}
});
}
var send = false,
cloneRequest;
$('#fileNavigator').gsFileManager({ script: $SCRIPT_ROOT + "/fileBrowser", root: "workspace/"});
configRadio(); configRadio();
$("input#nothing").change(function(){ $("input#nothing").change(function () {
configRadio(); configRadio();
}); });
$("input#ssh").change(function(){ $("input#ssh").change(function () {
configRadio(); configRadio();
}); });
$("input#https").change(function(){ $("input#https").change(function () {
configRadio(); configRadio();
}); });
$("#clone").click(function(){ $("#clone").click(function () {
if(send){ if (send) {
cloneRequest.abort(); cloneRequest.abort();
$("#imgwaitting").fadeOut('normal'); $("#imgwaitting").fadeOut('normal');
$("#clone").empty(); $("#clone").empty();
...@@ -21,51 +48,49 @@ $(document).ready( function() { ...@@ -21,51 +48,49 @@ $(document).ready( function() {
send = false; send = false;
return; return;
} }
var repo_url = $("input#repo").val(); var repo_url = $("input#repo").val(),
var email = ""; email = "",
var name = ""; name = "";
/* /^(ht|f)tps?:\/\/[a-z0-9-\.]+\.[a-z]{2,4}\/?([^\s<>\#%"\,\{\}\\|\\\^\[\]`]+)?$/ */ /* /^(ht|f)tps?:\/\/[a-z0-9-\.]+\.[a-z]{2,4}\/?([^\s<>\#%"\,\{\}\\|\\\^\[\]`]+)?$/ */
if($("input#repo").val() === '' || !repo_url.match(/^[\w\d\.\/:~@_-]+$/)){ if ($("input#repo").val() === '' || !repo_url.match(/^[\w\d\.\/:~@_\-]+$/)) {
$("#error").Popup("Invalid url for the repository", {type:'alert', duration:3000}); $("#error").Popup("Invalid url for the repository", {type: 'alert', duration: 3000});
return false; return false;
} }
if($("input#name").val() === '' || !$("input#name").val().match(/^[\w\d\._-]+$/)){ if ($("input#name").val() === '' || !$("input#name").val().match(/^[\w\d\._\-]+$/)) {
$("#error").Popup("Invalid project name", {type:'alert', duration:3000}); $("#error").Popup("Invalid project name", {type: 'alert', duration: 3000});
return false; return false;
} }
if($("input#user").val() !== ""){ if ($("input#user").val() !== "") {
name = $("input#user").val(); name = $("input#user").val();
} }
if($("input#email").val() !== '' && $("input#email").val() !== "Enter your email adress..."){ if ($("input#email").val() !== '' && $("input#email").val() !== "Enter your email adress...") {
if(!$("input#email").val().match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)){ if (!$("input#email").val().match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) {
$("#error").Popup("Please enter a valid email adress!", {type:'alert', duration:3000}); $("#error").Popup("Please enter a valid email adress!", {type: 'alert', duration: 3000});
return false; return false;
} }
email = $("input#email").val(); email = $("input#email").val();
} }
if($("input#https").is(':checked')){ if ($("input#https").is(':checked')) {
if($("input#username").val() == "" || !$("input#username").val().match(/^[\w\d\._-]+$/)){ if ($("input#username").val() === "" || !$("input#username").val().match(/^[\w\d\._\-]+$/)) {
$("#error").Popup("Please enter a correct username", {type:'alert', duration:3000}); $("#error").Popup("Please enter a correct username", {type: 'alert', duration: 3000});
return false; return false;
} }
if($("input#password").val() != ""){ if ($("input#password").val() !== "") {
if(repo_url.indexOf("https://") != -1){ if (repo_url.indexOf("https://") !== -1) {
repo_url = "https://" + $("input#username").val() + repo_url = "https://" + $("input#username").val() +
":" + $("input#password").val() + ":" + $("input#password").val() +
"@" + repo_url.substring(8); "@" + repo_url.substring(8);
} } else {
else{ $("#error").Popup("The URL of your repository should start with 'https://'", {type: 'alert', duration: 3000});
$("#error").Popup("The URL of your repository should start with 'https://'", {type:'alert', duration:3000});
return false; return false;
} }
} } else {
else{ $("#error").Popup("Please enter your password", {type: 'alert', duration: 3000});
$("#error").Popup("Please enter your password", {type:'alert', duration:3000});
return false; return false;
} }
} } else if (repo_url.indexOf("https://") !== -1) {
else if(repo_url.indexOf("https://") != -1){ $("#error").Popup("Please select HTTPS Security Mode for this repository", {type: 'alert', duration: 3000});
$("#error").Popup("Please select HTTPS Security Mode for this repository", {type:'alert', duration:3000});
return false; return false;
} }
$("#imgwaitting").fadeIn('normal'); $("#imgwaitting").fadeIn('normal');
...@@ -75,27 +100,29 @@ $(document).ready( function() { ...@@ -75,27 +100,29 @@ $(document).ready( function() {
cloneRequest = $.ajax({ cloneRequest = $.ajax({
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/cloneRepository', url: $SCRIPT_ROOT + '/cloneRepository',
data: {repo: repo_url, name: ($("input#workdir").val() + "/" + data: {
$("input#name").val()), email:email, repo: repo_url,
user:name}, name: $("input#workdir").val() + "/" + $("input#name").val(),
success: function(data){ email: email,
if(data.code == 1){ user: name
},
success: function (data) {
if (data.code === 1) {
$("#file_navigation").fadeIn('normal'); $("#file_navigation").fadeIn('normal');
$("#error").Popup("Your repository is cloned!", {type:'confirm', duration:3000}); $("#error").Popup("Your repository is cloned!", {type: 'confirm', duration: 3000});
$("input#repo").val("Enter the url of your repository..."); $("input#repo").val("Enter the url of your repository...");
$("input#name").val("Enter the project name..."); $("input#name").val("Enter the project name...");
$('#fileNavigator').gsFileManager({ script: $SCRIPT_ROOT+"/fileBrowser", root: "workspace/"}); $('#fileNavigator').gsFileManager({ script: $SCRIPT_ROOT + "/fileBrowser", root: "workspace/"});
} } else {
else{ $("#error").Popup(data.result, {type: 'error'});
$("#error").Popup(data.result, {type:'error'});
} }
$("#imgwaitting").hide(); $("#imgwaitting").hide();
$("#clone").empty(); $("#clone").empty();
$("#clone").append("Clone"); $("#clone").append("Clone");
send = false; send = false;
}, },
error: function(request,error) { error: function (request, error) {
$("#error").Popup("unable to clone your project, please check your internet connection", {type:'error', duration:3000}); $("#error").Popup("unable to clone your project, please check your internet connection", {type: 'error', duration: 3000});
$("#imgwaitting").hide(); $("#imgwaitting").hide();
$("#clone").empty(); $("#clone").empty();
$("#clone").append("Clone"); $("#clone").append("Clone");
...@@ -103,26 +130,8 @@ $(document).ready( function() { ...@@ -103,26 +130,8 @@ $(document).ready( function() {
}); });
return false; return false;
}); });
function configRadio(){
$("#modelist li").each(function(index) {
var boxselector = "#box" + index;
if($(this).hasClass('checked')){
$(this).removeClass('checked');
$(boxselector).slideUp("normal");
}
if($(this).find("input:radio").is(':checked')){
$(this).addClass('checked');
//change content here
$(boxselector).slideDown("normal");
}
if(index != 2){
$("input#password").val("");
$("input#cpassword").val("");
}
});
}
function selectFile(file){ function selectFile(file) {
//nothing //nothing
return; return;
} }
......
$(document).ready(function() { /*jslint undef: true */
var editor; /*global $, document, window, alert, $SCRIPT_ROOT, setInput, ace */
/* vim: set et sts=4: */
$(document).ready(function () {
"use strict";
var editor,
send = false,
lastli = null,
partitionAmount = $('input#partitionAmount').val();
function setupTextarea($txt) {
var size = Number($txt.attr('id').split('_')[1]),
hiddenDiv = $(document.createElement('div')),
content = null;
hiddenDiv.attr('id', 'div_' + size);
hiddenDiv.addClass('hiddendiv');
$('div#parameterkw').append(hiddenDiv);
$txt.keyup(function () {
content = $txt.val().replace(/\n/g, '<br>');
hiddenDiv.html(content);
if (hiddenDiv.height() > $txt.height() && hiddenDiv.height() > 120) {
return;
}
$txt.css('height', hiddenDiv.height() + 'px');
});
}
function setupFileTree(path) {
var root = $("input#root").val();
if (root === '') {
return;
}
if (path) {
root += '/' + path + '/';
} else {
root += '/';
}
$('#fileNavigator').gsFileManager({script: $SCRIPT_ROOT + "/fileBrowser", root: root});
}
function configRadio() {
$('#slappart li').each(function () {
var $radio = $(this).find('input:radio'),
boxselector = '#box' + $radio.attr('id');
if ($(this).hasClass('checked')) {
$(this).removeClass('checked');
$(boxselector).slideUp('normal');
}
if ($radio.is(':checked')) {
$(this).addClass('checked');
//change content here
$(boxselector).slideDown('normal');
}
});
}
function setupSlappart() {
var i, elt, fileId;
for (i = 0; i < partitionAmount; i += 1) {
elt = $('#slappart' + i + 'Parameter');
fileId = $('#slappart' + i + 'Files');
if (elt && elt !== undefined) {
elt.click(function () {
alert($(this).html());
});
}
if (fileId && fileId !== undefined) {
fileId.click(function () {
$('#instancetabfiles').click();
setupFileTree($(this).attr('rel'));
});
}
}
}
function updateParameter() {
var xml = '<?xml version="1.0" encoding="utf-8"?>\n',
software_type = '',
software_type_input_value = $('input#software_type').val(),
size = $('#partitionParameter > tbody > tr').length,
i;
if (software_type_input_value !== '' && software_type_input_value !== 'Software Type here...') {
software_type = software_type_input_value;
}
xml += '<instance>\n';
if (size > 1) {
for (i = 2; i <= size; i += 1) {
if ($('input#txt_' + i).val() !== '') {
xml += '<parameter id="' + $('input#txt_' + i).val() + '">' + $('textarea#value_' + i).val() + '</parameter>\n';
}
}
}
xml += '</instance>\n';
$.ajax({
type: 'POST',
url: $SCRIPT_ROOT + '/saveParameterXml',
data: {software_type: software_type, parameter: xml},
success: function (data) {
if (data.code === 1) {
$('#error').Popup('Instance parameters has been updated, please run your instance now!', {type: 'confirm', duration: 5000});
} else {
$('#error').Popup(data.result, {type: 'error', duration: 5000});
}
}
});
}
function setupEditor(editable) {
editor = ace.edit('editor');
editor.setTheme('ace/theme/crimson_editor');
var CurentMode = require('ace/mode/text').Mode;
editor.getSession().setMode(new CurentMode());
editor.getSession().setTabSize(2);
editor.getSession().setUseSoftTabs(true);
editor.renderer.setHScrollBarAlwaysVisible(false);
if (!editable) {
editor.setReadOnly(true);
}
}
function loadParameter() {
$.ajax({
type: 'GET',
url: $SCRIPT_ROOT + '/getParameterXml/dict',
success: function (data) {
var dict, propertie, size;
if (data.code === 1) {
dict = data.result.instance;
for (propertie in dict) {
$("#add_attribute").click();
size = Number($("#partitionParameter > tbody > tr").last().attr('id').split('_')[1]);
$("input#txt_" + size).val(propertie);
$("textarea#value_" + size).val(dict[propertie]);
$("textarea#value_" + size).keyup();
}
} else {
$('#error').Popup(data.result, {type: 'error', duration: 5000});
}
}
});
}
setupFileTree(); setupFileTree();
$($('#slappart li')[0]).find('input:radio').attr('checked', true); $($('#slappart li')[0]).find('input:radio').attr('checked', true);
$('.menu-box-right>div').css('min-height', $('#slappart li').length * 26 + 20 + 'px'); $('.menu-box-right>div').css('min-height', $('#slappart li').length * 26 + 20 + 'px');
configRadio(); configRadio();
var send = false; $('#slappart li').each(function () {
var lastli = null;
var partitionAmount = $('input#partitionAmount').val();
$('#slappart li').each(function() {
lastli = $(this); lastli = $(this);
$(this).find('input:radio').change(function() { $(this).find('input:radio').change(function () {
configRadio(); configRadio();
}); });
}); });
if (lastli) {lastli.css('border-bottom', 'none');} if (lastli) {
lastli.css('border-bottom', 'none');
}
$('#parameterkw').slideBox('show'); $('#parameterkw').slideBox('show');
setupSlappart(); setupSlappart();
$('#reloadfiles').click(function() { $('#reloadfiles').click(function () {
setupFileTree(); setupFileTree();
}); });
$('#refresh').click(function() { $('#refresh').click(function () {
if (send) return; if (send) {
return;
}
$('#imgwaitting').fadeIn(); $('#imgwaitting').fadeIn();
$.ajax({ $.ajax({
type: 'GET', type: 'GET',
url: $SCRIPT_ROOT + '/supervisordStatus', url: $SCRIPT_ROOT + '/supervisordStatus',
data: '', data: '',
success: function(data) { success: function (data) {
if (data.code == 1) { if (data.code === 1) {
$('#supervisordcontent').empty(); $('#supervisordcontent').empty();
$('#supervisordcontent').append(data.result); $('#supervisordcontent').append(data.result);
} }
...@@ -37,25 +184,25 @@ $(document).ready(function() { ...@@ -37,25 +184,25 @@ $(document).ready(function() {
}); });
return false; return false;
}); });
$('#add_attribute').click(function() { $('#add_attribute').click(function () {
var size = Number($('#partitionParameter > tbody > tr').last().attr('id').split('_')[1]) + 1; var size = Number($('#partitionParameter > tbody > tr').last().attr('id').split('_')[1]) + 1,
var row = "<tr id='row_" + size + "'><td class='first'><input type='text' name='txt_" + size + "' id='txt_" + size + "'></td>" + row = "<tr id='row_" + size + "'><td class='first'><input type='text' name='txt_" + size + "' id='txt_" + size + "'></td>" +
"<td style='padding:6px'><textarea class='slap' id='value_" + size + "'></textarea>" + "<td style='padding:6px'><textarea class='slap' id='value_" + size + "'></textarea>" +
"</td><td valign='middle'><span style='margin-left: 10px;' id='btn_" + size + "' class='close'></span></td></tr>"; "</td><td valign='middle'><span style='margin-left: 10px;' id='btn_" + size + "' class='close'></span></td></tr>";
$('#partitionParameter').append(row); $('#partitionParameter').append(row);
setInput($('input#txt_' + size)); setInput($('input#txt_' + size));
setupTextarea($('textarea#value_' + size)); setupTextarea($('textarea#value_' + size));
$('#btn_' + size).click(function() { $('#btn_' + size).click(function () {
var index = $(this).attr('id').split('_')[1]; var index = $(this).attr('id').split('_')[1];
$('tr#row_' + index).remove(); $('tr#row_' + index).remove();
}); });
return false; return false;
}); });
$('#updateParameters').click(function() { $('#updateParameters').click(function () {
updateParameter(); updateParameter();
return false; return false;
}); });
$('#xmlview').click(function() { $('#xmlview').click(function () {
var content = '<h2 style="color: #4c6172; font: 18px \'Helvetica Neue\', Helvetica, Arial, sans-serif;">' + var content = '<h2 style="color: #4c6172; font: 18px \'Helvetica Neue\', Helvetica, Arial, sans-serif;">' +
'INSTANCE PARAMETERS: Load XML file</h2><p id="xmllog" class="message"><br/></p>'; 'INSTANCE PARAMETERS: Load XML file</h2><p id="xmllog" class="message"><br/></p>';
content += '<div class="main_content" style="height:230px"><pre id="editor"></pre></div>' + content += '<div class="main_content" style="height:230px"><pre id="editor"></pre></div>' +
...@@ -63,38 +210,53 @@ $(document).ready(function() { ...@@ -63,38 +210,53 @@ $(document).ready(function() {
$.ajax({ $.ajax({
type: 'GET', type: 'GET',
url: $SCRIPT_ROOT + '/getParameterXml/xml', url: $SCRIPT_ROOT + '/getParameterXml/xml',
success: function(data){ success: function (data) {
if(data.code == 1){ if (data.code === 1) {
$("#inline_instance").html(content); $("#inline_instance").html(content);
setupEditor(true); setupEditor(true);
$("a#inlineInstance").colorbox({inline:true, width: "600px", height: "410px", onComplete:function(){ $("a#inlineInstance").colorbox(
{
inline: true,
width: "600px",
height: "410px",
onComplete: function () {
editor.getSession().setValue(data.result); editor.getSession().setValue(data.result);
}}); }
}
);
$("a#inlineInstance").click(); $("a#inlineInstance").click();
$("#loadxml").click(function(){ $("#loadxml").click(function () {
//Parse XML file //Parse XML file
try { try {
var xmlDoc = $.parseXML(editor.getSession().getValue()), $xml = $(xmlDoc); var xmlDoc = $.parseXML(editor.getSession().getValue()), $xml = $(xmlDoc);
if ($xml.find('parsererror').length !== 0) {$('p#xmllog').html('Error: Invalid XML document!<br/>');return false;} if ($xml.find('parsererror').length !== 0) {
$('p#xmllog').html('Error: Invalid XML document!<br/>');
return false;
}
} catch (err) { } catch (err) {
$('p#xmllog').html('Error: Invalid XML document!<br/>');return false; $('p#xmllog').html('Error: Invalid XML document!<br/>');
return false;
} }
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: $SCRIPT_ROOT + '/saveParameterXml', url: $SCRIPT_ROOT + '/saveParameterXml',
data: {software_type: '', parameter: editor.getSession().getValue()}, data: {
success: function(data) { software_type: '',
if (data.code == 1) { parameter: editor.getSession().getValue()
location.href = $SCRIPT_ROOT + '/inspectInstance#tab3'; },
location.reload(); success: function (data) {
if (data.code === 1) {
window.location.href = $SCRIPT_ROOT + '/inspectInstance#tab3';
window.location.reload();
} else {
$('p#xmllog').html(data.result);
} }
else {$('p#xmllog').html(data.result);}
} }
}); });
return false; return false;
}); });
} } else {
else {
$('#error').Popup(data.result, {type: 'error', duration: 5000}); $('#error').Popup(data.result, {type: 'error', duration: 5000});
} }
} }
...@@ -102,162 +264,44 @@ $(document).ready(function() { ...@@ -102,162 +264,44 @@ $(document).ready(function() {
}); });
//Load previous instance parameters //Load previous instance parameters
loadParameter(); loadParameter();
$('a#parameterTab').click(function() { $('a#parameterTab').click(function () {
var size = $('#partitionParameter > tbody > tr').length; var i,
for (var i = 2; i <= size; i++) { size = $('#partitionParameter > tbody > tr').length;
for (i = 2; i <= size; i += 1) {
$('textarea#value_' + i).keyup(); $('textarea#value_' + i).keyup();
} }
}); });
function setupFileTree(path){
var root = $("input#root").val();
if (root === '') return;
if (path){
root += '/' + path + '/';
}
else{root += '/';}
$('#fileNavigator').gsFileManager({ script: $SCRIPT_ROOT+"/fileBrowser", root: root});
}
$("#parameter").load($SCRIPT_ROOT + '/getParameterXml'); $("#parameter").load($SCRIPT_ROOT + '/getParameterXml');
$("#update").click(function(){ $("#update").click(function () {
if($("#parameter").val() === ''){ if ($("#parameter").val() === '') {
$("#error").Popup("Can not save empty value!", {type:'alert', duration:3000}); $("#error").Popup("Can not save empty value!", {type: 'alert', duration: 3000});
} }
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: $SCRIPT_ROOT + '/saveParameterXml', url: $SCRIPT_ROOT + '/saveParameterXml',
data: {parameter: $('#parameter').val().trim()}, data: {parameter: $('#parameter').val().trim()},
success: function(data) { success: function (data) {
if (data.code == 1) { if (data.code === 1) {
$('#error').Popup('Instance parameters updated!', {type: 'info', duration: 3000}); $('#error').Popup('Instance parameters updated!', {type: 'info', duration: 3000});
} } else {
else {
$('#error').Popup(data.result, {type: 'error', duration: 5000}); $('#error').Popup(data.result, {type: 'error', duration: 5000});
} }
} }
}); });
}); });
function updateParameter() {
var xml = '<?xml version="1.0" encoding="utf-8"?>\n',
software_type = '',
software_type_input_value = $('input#software_type').val();
if (software_type_input_value !== '' && software_type_input_value !== 'Software Type here...') {
software_type = software_type_input_value;
}
xml += '<instance>\n';
var size = $('#partitionParameter > tbody > tr').length;
if (size > 1) {
for (var i = 2; i <= size; i++) {
if ($('input#txt_' + i).val() != '') {
xml += '<parameter id="' + $('input#txt_' + i).val() + '">' + $('textarea#value_' + i).val() + '</parameter>\n';
}
}
}
xml += '</instance>\n';
$.ajax({
type: 'POST',
url: $SCRIPT_ROOT + '/saveParameterXml',
data: {software_type: software_type, parameter: xml},
success: function(data) {
if (data.code == 1) {
$('#error').Popup('Instance parameters has been updated, please run your instance now!', {type: 'confirm', duration: 5000});
}
else {
$('#error').Popup(data.result, {type: 'error', duration: 5000});
}
}
});
}
function setupTextarea($txt) {
var size = Number($txt.attr('id').split('_')[1]);
var hiddenDiv = $(document.createElement('div')),
content = null;
hiddenDiv.attr('id', 'div_' + size);
hiddenDiv.addClass('hiddendiv');
$('div#parameterkw').append(hiddenDiv);
$txt.keyup(function() {
content = $txt.val().replace(/\n/g, '<br>');
hiddenDiv.html(content);
if (hiddenDiv.height() > $txt.height() && hiddenDiv.height() > 120) {
return;
}
$txt.css('height', hiddenDiv.height() + 'px');
});
}
function loadParameter() {
$.ajax({
type: 'GET',
url: $SCRIPT_ROOT + '/getParameterXml/dict',
success: function(data){
if(data.code == 1){
var dict = data.result['instance'];
for (var propertie in dict){
$("#add_attribute").click();
var size = Number($("#partitionParameter > tbody > tr").last().attr('id').split('_')[1]);
$("input#txt_"+size).val(propertie);
$("textarea#value_"+size).val(dict[propertie]);
$("textarea#value_"+size).keyup();
}
}
else {
$('#error').Popup(data.result, {type: 'error', duration: 5000});
}
}
});
}
function configRadio() {
$('#slappart li').each(function() {
var $radio = $(this).find('input:radio');
var boxselector = '#box' + $radio.attr('id');
if ($(this).hasClass('checked')) {
$(this).removeClass('checked');
$(boxselector).slideUp('normal');
}
if ($radio.is(':checked')) {
$(this).addClass('checked');
//change content here
$(boxselector).slideDown('normal');
}
});
}
function setupBox() { function setupBox() {
var state = $('#softwareType').css('display'); var state = $('#softwareType').css('display');
if (state == 'none') { if (state === 'none') {
$('#softwareType').slideDown('normal'); $('#softwareType').slideDown('normal');
$('#softwareTypeHead').removeClass('hide'); $('#softwareTypeHead').removeClass('hide');
$('#softwareTypeHead').addClass('show'); $('#softwareTypeHead').addClass('show');
} } else {
else {
$('#softwareType').slideUp('normal'); $('#softwareType').slideUp('normal');
$('#softwareTypeHead').removeClass('show'); $('#softwareTypeHead').removeClass('show');
$('#softwareTypeHead').addClass('hide'); $('#softwareTypeHead').addClass('hide');
} }
} }
function setupEditor(editable) {
editor = ace.edit('editor');
editor.setTheme('ace/theme/crimson_editor');
var CurentMode = require('ace/mode/text').Mode;
editor.getSession().setMode(new CurentMode());
editor.getSession().setTabSize(2);
editor.getSession().setUseSoftTabs(true);
editor.renderer.setHScrollBarAlwaysVisible(false);
if (!editable) {editor.setReadOnly(true);}
}
function setupSlappart() {
for (var i = 0; i < partitionAmount; i++) {
var elt = $('#slappart' + i + 'Parameter');
var fileId = $('#slappart' + i + 'Files');
if (elt && elt !== undefined) elt.click(function() {
alert($(this).html());
});
if (fileId && fileId !== undefined) fileId.click(function() {
$('#instancetabfiles').click();
setupFileTree($(this).attr('rel'));
});
}
}
}); });
$(document).ready( function() { /*jslint undef: true */
var editor; /*global $, document, window, $SCRIPT_ROOT, ace */
var send = false; /* vim: set et sts=4: */
var runnerDir = $("input#runnerdir").val();
$("#reloadfiles").click(function(){
$(document).ready(function () {
"use strict";
var editor,
send = false,
runnerDir = $("input#runnerdir").val();
function fillContent() {
$('#fileNavigator').gsFileManager({script: $SCRIPT_ROOT + "/fileBrowser", root: runnerDir});
}
$("#reloadfiles").click(function () {
fillContent(); fillContent();
}); });
fillContent(); fillContent();
function fillContent(){ $("#open").click(function () {
$('#fileNavigator').gsFileManager({ script: $SCRIPT_ROOT+"/fileBrowser", root: runnerDir});
}
$("#open").click(function(){
var elt = $("option:selected", $("#softwarelist")); var elt = $("option:selected", $("#softwarelist"));
if(elt.val() === "No Software Release found"){ if (elt.val() === "No Software Release found") {
$("#error").Popup("Please select your Software Release", {type:'alert', duration:5000}); $("#error").Popup("Please select your Software Release", {type: 'alert', duration: 5000});
return false; return false;
} }
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/setCurrentProject', url: $SCRIPT_ROOT + '/setCurrentProject',
data: "path=" + elt.attr('rel'), data: "path=" + elt.attr('rel'),
success: function(data){ success: function (data) {
if(data.code == 1){ if (data.code === 1) {
location.href = $SCRIPT_ROOT + '/editSoftwareProfile' window.location.href = $SCRIPT_ROOT + '/editSoftwareProfile';
} } else {
else{ $("#error").Popup(data.result, {type: 'error', duration: 5000});
$("#error").Popup(data.result, {type:'error', duration:5000});
} }
} }
}); });
return false; return false;
}); });
$("#delete").click(function(){ $("#delete").click(function () {
if($("#softwarelist").val() === "No Software Release found"){ if ($("#softwarelist").val() === "No Software Release found") {
$("#error").Popup("Please select your Software Release", {type:'alert', duration:5000}); $("#error").Popup("Please select your Software Release", {type: 'alert', duration: 5000});
return false; return false;
} }
if(send) return; if (send) {
if(!window.confirm("Do you really want to delete this software release?")){ return;
}
if (!window.confirm("Do you really want to delete this software release?")) {
return; return;
} }
send = false; send = false;
...@@ -47,24 +56,28 @@ $(document).ready( function() { ...@@ -47,24 +56,28 @@ $(document).ready( function() {
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/removeSoftwareDir', url: $SCRIPT_ROOT + '/removeSoftwareDir',
data: {md5:$("#softwarelist").val(), title:elt.attr('title')}, data: {
success: function(data){ md5: $("#softwarelist").val(),
if(data.code == 1){ title: elt.attr('title')
},
success: function (data) {
var i;
if (data.code === 1) {
$("#softwarelist").empty(); $("#softwarelist").empty();
for(var i=0; i<data.result.length; i++){ for (i = 0; i < data.result.length; i += 1) {
$("#softwarelist").append('<option value="' + data.result[i]['md5'] + $("#softwarelist").append('<option value="' + data.result[i].md5 +
'" title="' + data.result[i]['title'] +'" rel="' + '" title="' + data.result[i].title + '" rel="' +
data.result[i]['path'] +'">' + data.result[i]['title'] + '</option>'); data.result[i].path + '">' + data.result[i].title + '</option>');
} }
if(data.result.length < 1){ if (data.result.length < 1) {
$("#softwarelist").append('<option>No Software Release found</option>'); $("#softwarelist").append('<option>No Software Release found</option>');
$('#fileTree').empty(); $('#fileTree').empty();
} }
fillContent(); fillContent();
$("#error").Popup("Operation complete, Selected Software Release has been delete!", {type:'confirm', duration:5000}); $("#error").Popup("Operation complete, Selected Software Release has been delete!",
} {type: 'confirm', duration: 5000});
else{ } else {
$("#error").Popup(data.result, {type:'error'}); $("#error").Popup(data.result, {type: 'error'});
} }
send = false; send = false;
} }
...@@ -72,7 +85,7 @@ $(document).ready( function() { ...@@ -72,7 +85,7 @@ $(document).ready( function() {
return false; return false;
}); });
function setupEditor(){ function setupEditor() {
editor = ace.edit("editor"); editor = ace.edit("editor");
editor.setTheme("ace/theme/crimson_editor"); editor.setTheme("ace/theme/crimson_editor");
......
$(document).ready( function() { /*jslint undef: true */
/*global $, document, window, $SCRIPT_ROOT */
/* vim: set et sts=4: */
$(document).ready(function () {
"use strict";
var send = false; var send = false;
//change background //change background
$("body").css("background", "#9C9C9C"); $("body").css("background", "#9C9C9C");
$("#login").click(function(){ $("#login").click(function () {
if (send) return false; if (send) {
if($("input#clogin").val() === "" || !$("input#clogin").val().match(/^[\w\d\.-]+$/)){
$("#error").Popup("Please enter a valid user name", {type:'alert', duration:3000});
return false; return false;
} }
if($("input#cpwd").val() === "" || $("input#cpwd").val() ==="******"){ if ($("input#clogin").val() === "" || !$("input#clogin").val().match(/^[\w\d\.\-]+$/)) {
$("#error").Popup("Please enter your password", {type:'alert', duration:3000}); $("#error").Popup("Please enter a valid user name", {type: 'alert', duration: 3000});
return false;
}
if ($("input#cpwd").val() === "" || $("input#cpwd").val() === "******") {
$("#error").Popup("Please enter your password", {type: 'alert', duration: 3000});
return false; return false;
} }
send = true; send = true;
var param = {clogin:$("input#clogin").val(), cpwd:$("input#cpwd").val()}; var param = { clogin: $("input#clogin").val(), cpwd: $("input#cpwd").val() },
var url = $SCRIPT_ROOT + "/doLogin"; url = $SCRIPT_ROOT + "/doLogin";
$("#login").removeClass("button").addClass("dsblebutton"); $("#login").removeClass("button").addClass("dsblebutton");
$.post(url, param, function(data) { $.post(url, param, function (data) {
if (data.code==1){ if (data.code === 1) {
location.href = $SCRIPT_ROOT + '/'; window.location.href = $SCRIPT_ROOT + '/';
} } else {
else{ $("#error").Popup(data.result, {type: 'alert', duration: 3000});
$("#error").Popup(data.result, {type:'alert', duration:3000});
} }
}) })
.error(function() { .error(function () {
$("#error").Popup("Cannot send your account identifier please try again!!", $("#error").Popup("Cannot send your account identifier please try again!!",
{type:'alert', duration:3000});}) {type: 'alert', duration: 3000});
.complete(function() { })
.complete(function () {
$("#login").removeClass('dsblebutton').addClass('button'); $("#login").removeClass('dsblebutton').addClass('button');
send = false; send = false;
}); });
......
/*jslint undef: true */
/*global $, window, $SCRIPT_ROOT, setRunningState, setCookie, getCookie, deleteCookie */
/*global currentState: true, running: true, $current: true, processType: true, currentProcess: true */
/*global sendStop: true, processState: true, openedlogpage: true, logReadingPosition: true, speed: true */
/*global isRunning: true */
/* vim: set et sts=4: */
//Global Traitment!!! //Global Traitment!!!
var url = $SCRIPT_ROOT + "/slapgridResult"
var url = $SCRIPT_ROOT + "/slapgridResult";
var currentState = false; var currentState = false;
var running = true; var running = true;
var $current; var $current;
...@@ -10,85 +18,132 @@ var processState = "Checking"; //define slapgrid running state ...@@ -10,85 +18,132 @@ var processState = "Checking"; //define slapgrid running state
var openedlogpage = ""; //content software or instance if the current page is software or instance log, otherwise nothing var openedlogpage = ""; //content software or instance if the current page is software or instance log, otherwise nothing
var logReadingPosition = 0; var logReadingPosition = 0;
var speed = 5000; var speed = 5000;
var isRunning = function(){ var isRunning = function () {
if (running){ "use strict";
$("#error").Popup("Slapgrid is currently under execution!", {type:'alert', duration:3000}); if (running) {
$("#error").Popup("Slapgrid is currently under execution!",
{type: 'alert', duration: 3000});
} }
return running; return running;
} };
function setSpeed(value){
if (openedlogpage == ""){ function setSpeed(value) {
"use strict";
if (openedlogpage === "") {
speed = 5000; speed = 5000;
} else {
speed = value;
} }
else{ speed=value;}
} }
function getRunningState(){
var param = {position:logReadingPosition, log:(processState!="Checking" && openedlogpage==processType.toLowerCase())? openedlogpage:""} function clearAll(setStop) {
var jqxhr = $.post(url, param, function(data) { "use strict";
setRunningState(data) currentState = false;
running = setStop;
}
function getRunningState() {
"use strict";
var param = {
position: logReadingPosition,
log: (processState !== "Checking" && openedlogpage === processType.toLowerCase()) ? openedlogpage : ""
},
jqxhr = $.post(url, param, function (data) {
setRunningState(data);
logReadingPosition = data.content.position; logReadingPosition = data.content.position;
if(data.content.content != ""){ if (data.content.content !== "") {
$("#salpgridLog").append(data.content.content.toHtmlChar()); $("#salpgridLog").append(data.content.content.toHtmlChar());
$("#salpgridLog") $("#salpgridLog")
.scrollTop($("#salpgridLog")[0].scrollHeight - $("#salpgridLog") .scrollTop($("#salpgridLog")[0].scrollHeight - $("#salpgridLog").height());
.height()); }
if (running && processState === "Checking" && openedlogpage !== "") {
$("#salpgridLog").show();
$("#manualLog").hide();
} }
if (running && processState=="Checking" && openedlogpage != ""){$("#salpgridLog").show();$("#manualLog").hide();} processState = running ? "Running" : "Stopped";
processState = (running)?"Running":"Stopped"; })
.error(function () {
clearAll(false);
}) })
.error(function() { clearAll(false); }) .complete(function () {
.complete(function() { if (running) {
if (running){ setTimeout(function () {
setTimeout(function(){
getRunningState(); getRunningState();
}, speed); }, speed);
} }
}); });
} }
function clearAll(setStop){
currentState = false; function stopProcess() {
running = setStop; "use strict";
if (sendStop) {
return;
}
if (running) {
sendStop = true;
var urlfor = $SCRIPT_ROOT + "stopSlapgrid",
type = "slapgrid-sr.pid";
if ($("#instrun").text() === "Stop") {
type = "slapgrid-cp.pid";
}
$.post(urlfor, {type: type}, function (data) {
//if (data.result) {
//$("#error").Popup("Failled to run Slapgrid", {type:'error', duration:3000}); });
//}
})
.error(function () {
$("#error").Popup("Failed to stop Slapgrid process", {type: 'error', duration: 3000});
})
.complete(function () {
sendStop = false;
processState = "Stopped";
});
}
} }
function bindRun(){
$("#softrun").click(function(){ function bindRun() {
if($("#softrun").text() == "Stop"){ "use strict";
$("#softrun").click(function () {
if ($("#softrun").text() === "Stop") {
stopProcess(); stopProcess();
} } else {
else{ if (!isRunning()) {
if(!isRunning()){
setCookie("slapgridCMD", "Software"); setCookie("slapgridCMD", "Software");
location.href = $SCRIPT_ROOT + "/viewSoftwareLog"; window.location.href = $SCRIPT_ROOT + "/viewSoftwareLog";
} }
} }
return false; return false;
}); });
$("#instrun").click(function(){ $("#instrun").click(function () {
if($("#instrun").text() == "Stop"){ if ($("#instrun").text() === "Stop") {
stopProcess(); stopProcess();
} } else {
else{ if (!isRunning()) {
if(!isRunning()){
setCookie("slapgridCMD", "Instance"); setCookie("slapgridCMD", "Instance");
location.href = $SCRIPT_ROOT + "/viewInstanceLog"; window.location.href = $SCRIPT_ROOT + "/viewInstanceLog";
} }
} }
return false; return false;
}); });
} }
function setRunningState(data){
if (data.result){ function setRunningState(data) {
if(!currentState){ "use strict";
if (data.result) {
if (!currentState) {
$("#running").show(); $("#running").show();
running = true; running = true;
//change run menu title and style //change run menu title and style
if(data.software){ if (data.software) {
$("#softrun").empty(); $("#softrun").empty();
$("#softrun").append("Stop"); $("#softrun").append("Stop");
$("#softrun").css("color", "#0271BF"); $("#softrun").css("color", "#0271BF");
$current = $("#softrun"); $current = $("#softrun");
processType = "Software"; processType = "Software";
} }
if(data.instance){ if (data.instance) {
$("#instrun").empty(); $("#instrun").empty();
$("#instrun").append("Stop"); $("#instrun").append("Stop");
$("#instrun").css("color", "#0271BF"); $("#instrun").css("color", "#0271BF");
...@@ -96,65 +151,50 @@ function setRunningState(data){ ...@@ -96,65 +151,50 @@ function setRunningState(data){
processType = "Instance"; processType = "Instance";
} }
} }
} } else {
else{
$("#running").hide(); $("#running").hide();
running = false; //nothing is currently running running = false; //nothing is currently running
if ($current != undefined){ if ($current !== undefined) {
$current.empty(); $current.empty();
$current.append("Run"); $current.append("Run");
$current.css("color", "#000"); $current.css("color", "#000");
$current = undefined; $current = undefined;
currentState = false; currentState = false;
$("#error").Popup("Slapgrid completely finish running your " + processType + " Profile", {type:'info', duration:3000}); $("#error").Popup("Slapgrid completely finish running your " + processType + " Profile", {type: 'info', duration: 3000});
} }
} }
currentState = data.result; currentState = data.result;
} }
function runProcess(urlfor, data){
if(!isRunning()){ function runProcess(urlfor, data) {
"use strict";
if (!isRunning()) {
running = true; running = true;
processState = "Running"; processState = "Running";
currentProcess = $.post(urlfor) currentProcess = $.post(urlfor)
.error(function() { .error(function () {
$("#error").Popup("Failled to run Slapgrid", {type:'error', duration:3000}); }); $("#error").Popup("Failled to run Slapgrid", {type: 'error', duration: 3000});
});
setRunningState(data); setRunningState(data);
setTimeout("getRunningState()", 6000); setTimeout(getRunningState, 6000);
}
}
function stopProcess(){
if (sendStop) return;
if (running){
sendStop = true;
var urlfor = $SCRIPT_ROOT + "stopSlapgrid"
var type = "slapgrid-sr.pid";
if($("#instrun").text() == "Stop"){
type = "slapgrid-cp.pid";
}
$.post(urlfor, {type:type}, function(data){
//if (data.result){
//$("#error").Popup("Failled to run Slapgrid", {type:'error', duration:3000}); });
//}
})
.error(function() {
$("#error").Popup("Failled to stop Slapgrid process", {type:'error', duration:3000}); })
.complete(function() {sendStop = false;processState="Stopped";});
} }
} }
function checkSavedCmd(){ function checkSavedCmd() {
"use strict";
var result = getCookie("slapgridCMD"); var result = getCookie("slapgridCMD");
if (!result) return false; if (!result) {
if (result == "Software"){ return false;
}
if (result === "Software") {
running = false; running = false;
runProcess(($SCRIPT_ROOT + "/runSoftwareProfile"), runProcess(($SCRIPT_ROOT + "/runSoftwareProfile"),
{result: true, instance:false, software:true}); {result: true, instance: false, software: true});
} } else if (result === "Instance") {
else if(result == "Instance"){
running = false; running = false;
runProcess(($SCRIPT_ROOT + "/runInstanceProfile"), runProcess(($SCRIPT_ROOT + "/runInstanceProfile"),
{result: true, instance:true, software:false}); {result: true, instance: true, software: false});
} }
deleteCookie("slapgridCMD"); deleteCookie("slapgridCMD");
return (result != null); return (result !== null);
} }
$(document).ready( function() { /*jslint undef: true */
var method = $("input#method").val(); /*global $, document, window, $SCRIPT_ROOT */
var workdir = $("input#workdir").val(); /* vim: set et sts=4: */
if (method != "file"){
script = "/openFolder"; $(document).ready(function () {
$('#fileTree').fileTree({ root: workdir, script: $SCRIPT_ROOT + script, folderEvent: 'click', expandSpeed: 750, collapseSpeed: 750, multiFolder: false, selectFolder: true }, function(file) { "use strict";
var method = $("input#method").val(),
workdir = $("input#workdir").val();
function checkFolder(path) {
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/checkFolder',
data: "path=" + path,
success: function (data) {
var path = data.result;
$("input#path").val(path);
if (path !== "") {
$("#check").fadeIn('normal');
} else {
$("#check").hide();
}
}
});
return "";
}
function selectFile(file) {
$("#info").empty();
$("input#subfolder").val(file);
if (method === "open") {
$("#info").append("Selection: " + file);
checkFolder(file);
} else {
if ($("input#software").val() !== "" && $("input#software").val().match(/^[\w\d._\-]+$/)) {
$("#info").append("New Software in: " + file + $("input#software").val());
} else {
$("#info").append("Selection: " + file);
}
}
return;
}
if (method !== "file") {
$('#fileTree').fileTree({root: workdir, script: $SCRIPT_ROOT + '/openFolder', folderEvent: 'click', expandSpeed: 750, collapseSpeed: 750, multiFolder: false, selectFolder: true }, function (file) {
selectFile(file); selectFile(file);
}); });
} }
$("input#subfolder").val(""); $("input#subfolder").val("");
$("#create").click(function(){ $("#create").click(function () {
repo_url = $("input#software").val(); if ($("input#software").val() === "" || !$("input#software").val().match(/^[\w\d._\-]+$/)) {
if($("input#software").val() == "" || !$("input#software").val().match(/^[\w\d._-]+$/)){ $("#error").Popup("Invalid Software name", {type: 'alert', duration: 3000});
$("#error").Popup("Invalid Software name", {type:'alert', duration:3000})
return false; return false;
} }
if($("input#subfolder").val() == ""){ if ($("input#subfolder").val() === "") {
$("#error").Popup("Select the parent folder of your software!", {type:'alert', duration:3000}) $("#error").Popup("Select the parent folder of your software!", {type: 'alert', duration: 3000});
return false; return false;
} }
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/createSoftware', url: $SCRIPT_ROOT + '/createSoftware',
data: "folder=" + $("input#subfolder").val() + $("input#software").val(), data: "folder=" + $("input#subfolder").val() + $("input#software").val(),
success: function(data){ success: function (data) {
if(data.code == 1){ if (data.code === 1) {
location.href = $SCRIPT_ROOT + '/editSoftwareProfile' window.location.href = $SCRIPT_ROOT + '/editSoftwareProfile';
} } else {
else{ $("#error").Popup(data.result, {type: 'error', duration: 5000});
$("#error").Popup(data.result, {type:'error', duration:5000})
} }
} }
}); });
return false; return false;
}); });
$("#open").click(function(){ $("#open").click(function () {
$("#flash").fadeOut('normal'); $("#flash").fadeOut('normal');
$("#flash").empty(); $("#flash").empty();
$("#flash").fadeIn('normal'); $("#flash").fadeIn('normal');
if($("input#path").val() == ""){ if ($("input#path").val() === "") {
$("#error").Popup("Select a valid Software Release folder!", {type:'alert', duration:3000}) $("#error").Popup("Select a valid Software Release folder!", {type: 'alert', duration: 3000});
return false; return false;
} }
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/setCurrentProject', url: $SCRIPT_ROOT + '/setCurrentProject',
data: "path=" + $("input#path").val(), data: "path=" + $("input#path").val(),
success: function(data){ success: function (data) {
if(data.code == 1){ if (data.code === 1) {
location.href = $SCRIPT_ROOT + '/editSoftwareProfile' window.location.href = $SCRIPT_ROOT + '/editSoftwareProfile';
} } else {
else{ $("#error").Popup(data.result, {type: 'error', duration: 5000});
$("#error").Popup(data.result, {type:'error', duration:5000})
} }
} }
}); });
return false; return false;
}); });
function selectFile(file){
$("#info").empty();
$("input#subfolder").val(file);
path = "";
if(method == "open"){
$("#info").append("Selection: " + file);
checkFolder(file);
}
else{
if($("input#software").val() != "" && $("input#software").val().match(/^[\w\d._-]+$/)){
$("#info").append("New Software in: " + file + $("input#software").val());
}
else{
$("#info").append("Selection: " + file);
}
}
return;
}
function checkFolder(path){
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/checkFolder',
data: "path=" + path,
success: function(data){
var path = data.result;
$("input#path").val(path);
if (path != ""){
$("#check").fadeIn('normal');
}
else{
$("#check").hide();
}
}
});
return "";
}
}); });
$(document).ready( function() { /*jslint undef: true */
var send = false; /*global $, document, $SCRIPT_ROOT */
var getStatus; /* vim: set et sts=4: */
$(document).ready(function () {
"use strict";
var send = false,
getStatus;
function loadBranch(branch) {
var i, selected;
$("#activebranch").empty();
for (i = 0; i < branch.length; i += 1) {
selected = (branch[i].indexOf('*') === 0) ? "selected" : "";
$("#activebranch").append("<option value='" + branch[i] +
"' " + selected + ">" + branch[i] + "</option>");
}
}
function gitStatus() {
var project = $("#project").val(),
urldata = $("input#workdir").val() + "/" + project;
$("#status").empty();
$("#push").hide();
$("#flash").empty();
if (project === "") {
$("#status").append("<h2>Please select one project...</h2><br/><br/>");
$("#branchlist").hide();
return;
}
send = true;
getStatus = $.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/getProjectStatus',
data: "project=" + urldata,
success: function (data) {
var message;
if (data.code === 1) {
$("#branchlist").show();
$("#status").append("<h2>Your Repository status</h2>");
message = data.result.split('\n').join('<br/>');
//alert(message);
$("#status").append("<p>" + message + "</p>");
if (data.dirty) {
$("#push").show();
$("#status").append("<br/><h2>Display Diff for current Project</h2>");
$("#status").append("<p style='font-size:15px;'>You have changes in your project." +
" <a href='" + $SCRIPT_ROOT + "/getProjectDiff/"
+ encodeURI(project) + "'>Watch the diff</a></p>");
}
loadBranch(data.branch);
} else {
$("#error").Popup(data.result, {type: 'error', duration: 5000});
}
send = false;
}
});
}
function checkout(mode) {
if ($("input#branchname").val() === "" ||
$("input#branchname").val() === "Enter the branch name...") {
$("#error").Popup("Please Enter the branch name", {type: 'alert', duration: 3000});
return false;
}
var project = $("#project").val(),
branch = $("input#branchname").val();
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/newBranch',
data: {project: $("input#workdir").val() + "/" + project, name: branch, create: mode},
success: function (data) {
if (data.code === 1) {
$("input#branchname").val("Enter the branch name...");
gitStatus(); gitStatus();
$("#project").change(function(){ } else {
if (send){ $("#error").Popup(data.result, {type: 'error'});
}
}
});
return false;
}
gitStatus();
$("#project").change(function () {
if (send) {
getStatus.abort(); getStatus.abort();
send=false; send = false;
} }
gitStatus(); gitStatus();
}); });
$("#activebranch").change(function(){ $("#activebranch").change(function () {
var branch = $("#activebranch").val(); var branch = $("#activebranch").val(),
var project = $("#project").val(); project = $("#project").val();
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/changeBranch', url: $SCRIPT_ROOT + '/changeBranch',
data: "project=" + $("input#workdir").val() + "/" + project + "&name=" + branch, data: "project=" + $("input#workdir").val() + "/" + project + "&name=" + branch,
success: function(data){ success: function (data) {
if(data.code == 1){ if (data.code === 1) {
gitStatus(); gitStatus();
} } else {
else{ $("#error").Popup(data.result, {type: 'error', duration: 5000});
$("#error").Popup(data.result, {type:'error', duration:5000});
} }
} }
}); });
}); });
$("#addbranch").click(function(){ $("#addbranch").click(function () {
checkout("1"); checkout("1");
return false; return false;
}); });
$("#docheckout").click(function(){ $("#docheckout").click(function () {
checkout("0"); checkout("0");
return false; return false;
}); });
$("#commit").click(function(){ $("#commit").click(function () {
if($("input#commitmsg").val() == "" || if ($("input#commitmsg").val() === "" ||
$("input#commitmsg").val() == "Enter message..."){ $("input#commitmsg").val() === "Enter message...") {
$("#error").Popup("Please Enter the commit message", {type:'alert', duration:3000}); $("#error").Popup("Please Enter the commit message", {type: 'alert', duration: 3000});
return false; return false;
} }
if (send){ if (send) {
return false; return false;
} }
send = true; send = true;
...@@ -52,19 +137,18 @@ $(document).ready( function() { ...@@ -52,19 +137,18 @@ $(document).ready( function() {
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/pushProjectFiles', url: $SCRIPT_ROOT + '/pushProjectFiles',
data: {project: $("input#workdir").val() + "/" + project, msg: $("input#commitmsg").val()}, data: {project: $("input#workdir").val() + "/" + project, msg: $("input#commitmsg").val()},
success: function(data){ success: function (data) {
if(data.code == 1){ if (data.code === 1) {
if (data.result != ""){ if (data.result !== "") {
$("#error").Popup(data.result, {type:'error', duration:5000}); $("#error").Popup(data.result, {type: 'error', duration: 5000});
} else {
$("#error").Popup("Commit done!", {type: 'confirm', duration: 3000});
} }
else
$("#error").Popup("Commit done!", {type:'confirm', duration:3000});
gitStatus(); gitStatus();
} else {
$("#error").Popup(data.result, {type: 'error'});
} }
else{ $("#imgwaitting").hide();
$("#error").Popup(data.result, {type:'error'});
}
$("#imgwaitting").hide()
$("#commit").empty(); $("#commit").empty();
$("#commit").attr("value", "Commit"); $("#commit").attr("value", "Commit");
send = false; send = false;
...@@ -72,8 +156,9 @@ $(document).ready( function() { ...@@ -72,8 +156,9 @@ $(document).ready( function() {
}); });
return false; return false;
}); });
/* /*
$("#pullbranch").click(function(){ $("#pullbranch").click(function (){
if (send){ if (send){
return false; return false;
} }
...@@ -86,16 +171,15 @@ $(document).ready( function() { ...@@ -86,16 +171,15 @@ $(document).ready( function() {
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/pullProjectFiles', url: $SCRIPT_ROOT + '/pullProjectFiles',
data: "project=" + $("input#workdir").val() + "/" + project, data: "project=" + $("input#workdir").val() + "/" + project,
success: function(data){ success: function (data){
if(data.code == 1){ if (data.code == 1){
if (data.result != ""){ if (data.result != ""){
error(data.result); error(data.result);
} }
else else
error("Pull done!"); error("Pull done!");
gitStatus(); gitStatus();
} } else {
else{
error(data.result); error(data.result);
} }
$("#pullimgwaitting").hide() $("#pullimgwaitting").hide()
...@@ -106,75 +190,5 @@ $(document).ready( function() { ...@@ -106,75 +190,5 @@ $(document).ready( function() {
}); });
return false; return false;
});*/ });*/
function gitStatus(){
var project = $("#project").val();
$("#status").empty();
$("#push").hide();
$("#flash").empty();
if (project == ""){
$("#status").append("<h2>Please select one project...</h2><br/><br/>");
$("#branchlist").hide();
return;
}
send = true;
var urldata = $("input#workdir").val() + "/" + project;
getStatus = $.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/getProjectStatus',
data: "project=" + urldata,
success: function(data){
if(data.code == 1){
$("#branchlist").show();
$("#status").append("<h2>Your Repository status</h2>");
message = data.result.split('\n').join('<br/>');
//alert(message);
$("#status").append("<p>" + message + "</p>");
if(data.dirty){
$("#push").show();
$("#status").append("<br/><h2>Display Diff for current Project</h2>");
$("#status").append("<p style='font-size:15px;'>You have changes in your project." +
" <a href='" + $SCRIPT_ROOT + "/getProjectDiff/"
+ encodeURI(project) + "'>Watch the diff</a></p>");
}
loadBranch(data.branch);
}
else{
$("#error").Popup(data.result, {type:'error', duration:5000});
}
send = false;
}
});
}
function checkout(mode){
if($("input#branchname").val() == "" ||
$("input#branchname").val() == "Enter the branch name..."){
$("#error").Popup("Please Enter the branch name", {type:'alert', duration:3000});
return false;
}
var project = $("#project").val();
var branch = $("input#branchname").val();
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/newBranch',
data: {project:$("input#workdir").val() + "/" + project, name:branch, create:mode},
success: function(data){
if(data.code == 1){
$("input#branchname").val("Enter the branch name...");
gitStatus();
}
else{
$("#error").Popup(data.result, {type:'error'});
}
}
});
return false;
}
function loadBranch(branch){
$("#activebranch").empty();
for(i=0; i< branch.length; i++){
selected = (branch[i].indexOf('*') == 0)? "selected":"";
$("#activebranch").append("<option value='" + branch[i] +
"' " + selected + ">" + branch[i] + "</option>");
}
}
}); });
$(document).ready( function() { /*jslint undef: true */
var editor = ace.edit("editor"); /*global $, document, $SCRIPT_ROOT, ace */
/*global path: true */
/* vim: set et sts=4: */
$(document).ready(function () {
"use strict";
var editor = ace.edit("editor"),
CurrentMode,
script = "/readFolder",
softwareDisplay = true,
Mode,
modes,
projectDir = $("input#project").val(),
workdir = $("input#workdir").val(),
currentProject = workdir + "/" + projectDir.replace(workdir, "").split('/')[1],
send = false,
edit = false;
function setEditMode(file) {
var i,
CurrentMode = require("ace/mode/text").Mode;
editor.getSession().setMode(new CurrentMode());
for (i = 0; i < modes.length; i += 1) {
if (modes[i].extRe.test(file)) {
editor.getSession().setMode(modes[i].mode);
break;
}
}
}
function selectFile(file) {
$("#info").empty();
$("#info").append(file);
$("input#subfolder").val(file);
$("#md5sum").empty();
path = "";
send = false;
edit = false;
if (file.substr(-1) !== "/") {
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/getFileContent',
data: {file: file},
success: function (data) {
var name, start;
if (data.code === 1) {
$("#edit_info").empty();
name = file.split('/');
if (file.length > 65) {
//substring title.
start = file.length - 65;
file = "..." + file.substring(file.indexOf("/", (start + 1)));
}
$("#edit_info").append("Current file: " + file);
$("a#option").show();
editor.getSession().setValue(data.result);
setEditMode(name[name.length - 1]);
edit = true;
} else {
$("#error").Popup(data.result, {type: 'error', duration: 5000});
}
send = false;
}
});
} else {
$("#edit_info").empty();
$("#edit_info").append("No file selected");
$("a#option").hide();
editor.getSession().setValue("");
}
return;
}
function setDetailBox() {
var state = $("#details_box").css("display");
if (state === "none") {
$("#details_box").slideDown("normal");
$("#details_head").removeClass("hide");
$("#details_head").addClass("show");
} else {
$("#details_box").slideUp("normal");
$("#details_head").removeClass("show");
$("#details_head").addClass("hide");
}
}
function switchContent() {
var root = projectDir;
if (!softwareDisplay) {
$("#switch").empty();
$("#switch").append("Switch to Software files");
root = currentProject;
} else {
$("#switch").empty();
$("#switch").append("Switch to Project files");
}
$('#fileTree').fileTree({ root: root, script: $SCRIPT_ROOT + script, folderEvent: 'click', expandSpeed: 750, collapseSpeed: 750, multiFolder: false, selectFolder: true }, function (file) {
selectFile(file);
});
$("#info").empty();
$("#info").append("Select directory or nothing for root directory...");
$("input#subfolder").val("");
}
function getmd5sum() {
var file = $("input#subfolder").val();
if (send) {
return;
}
send = true;
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/getmd5sum',
data: {file: $("input#subfolder").val()},
success: function (data) {
if (data.code === 1) {
$("#md5sum").empty();
$("#md5sum").append('md5sum : <span>' + data.result + '</span>');
} else {
$("#error").Popup(data.result, {type: 'error', duration: 5000});
}
send = false;
}
});
}
function setDevelop(developList) {
if (developList === null || developList.length <= 0) {
return;
}
editor.navigateFileStart();
editor.find('buildout', {caseSensitive: true, wholeWord: true});
if (!editor.getSelectionRange().isEmpty()) {
//editor.find("",{caseSensitive: true,wholeWord: true,regExp: true});
//if (!editor.getSelectionRange().isEmpty()) {
//alert("found");
//}
//else{alert("no found");
//}
} else {
$("#error").Popup("Can not found part [buildout]! Please make sure that you have a cfg file", {type: 'alert', duration: 3000});
return;
}
editor.navigateLineEnd();
$.post($SCRIPT_ROOT + "/getPath", {file: developList.join("#")}, function (data) {
var result, i;
if (data.code === 1) {
result = data.result.split('#');
editor.insert("\ndevelop =\n\t" + result[0] + "\n");
for (i = 1; i < result.length; i += 1) {
editor.insert("\t" + result[i] + "\n");
}
}
})
.error(function () {})
.complete(function () {});
editor.insert("\n");
}
editor.setTheme("ace/theme/crimson_editor"); editor.setTheme("ace/theme/crimson_editor");
var CurentMode = require("ace/mode/text").Mode; CurrentMode = require("ace/mode/text").Mode;
editor.getSession().setMode(new CurentMode()); editor.getSession().setMode(new CurrentMode());
editor.getSession().setTabSize(2); editor.getSession().setTabSize(2);
editor.getSession().setUseSoftTabs(true); editor.getSession().setUseSoftTabs(true);
editor.renderer.setHScrollBarAlwaysVisible(false); editor.renderer.setHScrollBarAlwaysVisible(false);
var script = "/readFolder"; Mode = function (name, desc, Clazz, extensions) {
var softwareDisplay = true;
var Mode = function(name, desc, clazz, extensions) {
this.name = name; this.name = name;
this.desc = desc; this.desc = desc;
this.clazz = clazz; this.clazz = Clazz;
this.mode = new clazz(); this.mode = new Clazz();
this.mode.name = name; this.mode.name = name;
this.extRe = new RegExp("^.*\\.(" + extensions.join("|") + ")$"); this.extRe = new RegExp("^.*\\.(" + extensions.join("|") + ")$");
}; };
var modes = [ modes = [
new Mode("php", "PHP",require("ace/mode/php").Mode, ["php", "in", "inc"]), new Mode("php", "PHP", require("ace/mode/php").Mode, ["php", "in", "inc"]),
new Mode("python", "Python", require("ace/mode/python").Mode, ["py"]), new Mode("python", "Python", require("ace/mode/python").Mode, ["py"]),
new Mode("buildout", "Python Buildout config", require("ace/mode/buildout").Mode, ["cfg"]) new Mode("buildout", "Python Buildout config", require("ace/mode/buildout").Mode, ["cfg"])
]; ];
var projectDir = $("input#project").val(); $('#fileTree').fileTree({ root: projectDir, script: $SCRIPT_ROOT + script, folderEvent: 'click', expandSpeed: 750, collapseSpeed: 750, multiFolder: false, selectFolder: true }, function (file) {
var workdir = $("input#workdir").val();
var currentProject = workdir + "/" + projectDir.replace(workdir, "").split('/')[1];
var send = false;
var edit = false;
$('#fileTree').fileTree({ root: projectDir, script: $SCRIPT_ROOT + script, folderEvent: 'click', expandSpeed: 750, collapseSpeed: 750, multiFolder: false, selectFolder: true }, function(file) {
selectFile(file); selectFile(file);
}); });
setDetailBox(); setDetailBox();
$("#add").click(function(){ $("#add").click(function () {
var path = (softwareDisplay)? projectDir:currentProject; var path = softwareDisplay ? projectDir : currentProject;
if (send) return false; if (send) {
if($("input#file").val() == "" || return false;
$("input#file").val() == "Enter name here..."){ }
$("#error").Popup("Please enter your file or folder name", {type:'alert', duration:3000}); if ($("input#file").val() === "" || $("input#file").val() === "Enter name here...") {
$("#error").Popup("Please enter your file or folder name", {type: 'alert', duration: 3000});
return false; return false;
} }
if($("input#subfolder").val() != ""){ if ($("input#subfolder").val() !== "") {
path = $("input#subfolder").val(); path = $("input#subfolder").val();
} }
path = path + "/" + $("input#file").val(); path = path + "/" + $("input#file").val();
...@@ -50,8 +207,8 @@ $(document).ready( function() { ...@@ -50,8 +207,8 @@ $(document).ready( function() {
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/createFile', url: $SCRIPT_ROOT + '/createFile',
data: "file=" + path + "&type=" + $("#type").val(), data: "file=" + path + "&type=" + $("#type").val(),
success: function(data){ success: function (data) {
if(data.code == 1){ if (data.code === 1) {
switchContent(); switchContent();
$("input#file").val(""); $("input#file").val("");
$("#flash").fadeOut('normal'); $("#flash").fadeOut('normal');
...@@ -59,9 +216,8 @@ $(document).ready( function() { ...@@ -59,9 +216,8 @@ $(document).ready( function() {
$("#info").empty(); $("#info").empty();
$("#info").append("Select parent directory or nothing for root..."); $("#info").append("Select parent directory or nothing for root...");
$("input#subfolder").val(""); $("input#subfolder").val("");
} } else {
else{ $("#error").Popup(data.result, {type: 'error', duration: 5000});
$("#error").Popup(data.result, {type:'error', duration:5000});
} }
send = false; send = false;
} }
...@@ -69,23 +225,27 @@ $(document).ready( function() { ...@@ -69,23 +225,27 @@ $(document).ready( function() {
return false; return false;
}); });
$("#save").click(function(){ $("#save").click(function () {
if(!edit){ if (!edit) {
$("#error").Popup("Please select the file to edit", {type:'alert', duration:3000}); $("#error").Popup("Please select the file to edit", {type: 'alert', duration: 3000});
return false;
}
if (send) {
return false; return false;
} }
if (send) return false;
send = true; send = true;
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: $SCRIPT_ROOT + '/saveFileContent', url: $SCRIPT_ROOT + '/saveFileContent',
data: {file: $("input#subfolder").val(), content: editor.getSession().getValue()}, data: {
success: function(data){ file: $("input#subfolder").val(),
if(data.code == 1){ content: editor.getSession().getValue()
$("#error").Popup("File saved succefuly!", {type:'confirm', duration:3000}); },
} success: function (data) {
else{ if (data.code === 1) {
$("#error").Popup(data.result, {type:'error', duration:5000}); $("#error").Popup("File saved succefuly!", {type: 'confirm', duration: 3000});
} else {
$("#error").Popup(data.result, {type: 'error', duration: 5000});
} }
send = false; send = false;
} }
...@@ -93,21 +253,21 @@ $(document).ready( function() { ...@@ -93,21 +253,21 @@ $(document).ready( function() {
return false; return false;
}); });
$("#details_head").click(function(){ $("#details_head").click(function () {
setDetailBox(); setDetailBox();
}); });
$("#switch").click(function(){ $("#switch").click(function () {
softwareDisplay = !softwareDisplay; softwareDisplay = !softwareDisplay;
switchContent(); switchContent();
return false; return false;
}); });
$("#getmd5").click(function(){ $("#getmd5").click(function () {
getmd5sum(); getmd5sum();
return false; return false;
}); });
$("#clearselect").click(function(){ $("#clearselect").click(function () {
$("#info").empty(); $("#info").empty();
$("#info").append("Select directory or nothing for root directory..."); $("#info").append("Select directory or nothing for root directory...");
$("input#subfolder").val(""); $("input#subfolder").val("");
...@@ -118,158 +278,22 @@ $(document).ready( function() { ...@@ -118,158 +278,22 @@ $(document).ready( function() {
$("a#option").hide(); $("a#option").hide();
return false; return false;
}); });
$("#adddevelop").click(function(){ $("#adddevelop").click(function () {
var developList = new Array(); var developList = [],
var i=0; i = 0;
$("#plist li").each(function(index){ $("#plist li").each(function (index) {
var elt = $(this).find("input:checkbox"); var elt = $(this).find("input:checkbox");
if (elt.is(":checked")){ if (elt.is(":checked")) {
developList[i] = workdir+"/"+elt.val(); developList[i] = workdir + "/" + elt.val();
i++; i += 1;
elt.attr("checked", false); elt.attr("checked", false);
} }
}); });
if (developList.length > 0){setDevelop(developList);} if (developList.length > 0) {
return false; setDevelop(developList);
});
function getmd5sum(){
var file = $("input#subfolder").val();
if (send) return;
send =true
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/getmd5sum',
data: {file: $("input#subfolder").val()},
success: function(data){
if(data.code == 1){
$("#md5sum").empty();
$("#md5sum").append('md5sum : <span>' + data.result + '</span>');
}
else{
$("#error").Popup(data.result, {type:'error', duration:5000});
}
send = false;
}
});
} }
return false;
function switchContent(){
var root = projectDir;
if(!softwareDisplay){
$("#switch").empty();
$("#switch").append("Switch to Software files");
root = currentProject;
}
else{
$("#switch").empty();
$("#switch").append("Switch to Project files");
}
$('#fileTree').fileTree({ root: root, script: $SCRIPT_ROOT + script, folderEvent: 'click', expandSpeed: 750, collapseSpeed: 750, multiFolder: false, selectFolder: true }, function(file) {
selectFile(file);
}); });
$("#info").empty();
$("#info").append("Select directory or nothing for root directory...");
$("input#subfolder").val("");
}
function setDetailBox(){
var state = $("#details_box").css("display");
if (state == "none"){
$("#details_box").slideDown("normal");
$("#details_head").removeClass("hide");
$("#details_head").addClass("show");
}
else{
$("#details_box").slideUp("normal");
$("#details_head").removeClass("show");
$("#details_head").addClass("hide");
}
}
function selectFile(file){
$("#info").empty();
$("#info").append(file);
$("input#subfolder").val(file);
$("#md5sum").empty();
path = "";
send = false;
edit = false;
if(file.substr(-1) != "/"){
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + '/getFileContent',
data: {file: file},
success: function(data){
if(data.code == 1){
$("#edit_info").empty();
var name = file.split('/');
if(file.length > 65){
//substring title.
var start = file.length - 65;
file = "..." + file.substring(file.indexOf("/", (start + 1)));
}
$("#edit_info").append("Current file: " +
file);
$("a#option").show();
editor.getSession().setValue(data.result);
setEditMode(name[name.length - 1]);
edit = true;
}
else{
$("#error").Popup(data.result, {type:'error', duration:5000});
}
send = false;
}
});
}
else{
$("#edit_info").empty();
$("#edit_info").append("No file selected");
$("a#option").hide();
editor.getSession().setValue("");
}
return;
}
function setEditMode(file){
var CurentMode = require("ace/mode/text").Mode;
editor.getSession().setMode(new CurentMode());
for (var i=0; i< modes.length; i++){
if(modes[i].extRe.test(file)){
editor.getSession().setMode(modes[i].mode);
set = true;
break;
}
}
}
function setDevelop(developList){
if (developList==null || developList.length <= 0) return;
editor.navigateFileStart();
editor.find('buildout',{caseSensitive: true,wholeWord: true});
if(!editor.getSelectionRange().isEmpty()){
//editor.find("",{caseSensitive: true,wholeWord: true,regExp: true});
//if(!editor.getSelectionRange().isEmpty()){
//alert("found");
//}
//else{alert("no found");
//}
}
else{
$("#error").Popup("Can not found part [buildout]! Please make sure that you have a cfg file", {type:'alert', duration:3000});
return;
}
editor.navigateLineEnd();
$.post($SCRIPT_ROOT+"/getPath", {file:developList.join("#")}, function(data) {
if(data.code==1){
var result = data.result.split('#');
editor.insert("\ndevelop =\n\t" + result[0] + "\n");
for(var i=1; i<result.length; i++)
editor.insert("\t" + result[i] + "\n");
}
})
.error(function() { })
.complete(function(){});
editor.insert("\n");
}
}); });
$(document).ready( function() { /*jslint undef: true */
openedlogpage = $("input#type").val(); /*global $, document, window, processState, getCookie, setCookie, setSpeed, $SCRIPT_ROOT */
updatelogBox(); /*global openedlogpage: true */
var state = getCookie("autoUpdate"); /* vim: set et sts=4: */
$("#logheader").click(function(){ $(document).ready(function () {
setupBox(); "use strict";
});
$("#manual").change(function(){
setCookie("autoUpdate", "manual");
if ($("input#type").val() == "instance"){location.href = $SCRIPT_ROOT + "/viewInstanceLog";}
else{location.href = $SCRIPT_ROOT + "/viewSoftwareLog";}
});
$("#live").change(function(){
updatelogBox();$("#logconfigbox").find("input:radio").attr('checked', false);$("#live").attr('checked', true);
setSpeed(100);setCookie("autoUpdate", "live");openedlogpage = $("input#type").val();});
$("#slow").change(function(){
updatelogBox();$("#logconfigbox").find("input:radio").attr('checked', false);$("#slow").attr('checked', true);
setSpeed(2500);setCookie("autoUpdate", "slow");openedlogpage = $("input#type").val();});
if(state){
$("#"+state).attr('checked', true);
updatelogBox();
if (state == "manual"){
openedlogpage = ""; setSpeed(0);
}
else{setSpeed((state=="live")?100:2500);}
}
else{$("#slow").attr('checked', true);}
function setupBox(){ function setupBox() {
var state = $("#logconfigbox").css("display"); var state = $("#logconfigbox").css("display");
if (state == "none"){ if (state === "none") {
$("#logconfigbox").slideDown("normal"); $("#logconfigbox").slideDown("normal");
$("#logheader").removeClass("hide"); $("#logheader").removeClass("hide");
$("#logheader").addClass("show"); $("#logheader").addClass("show");
} } else {
else{
$("#logconfigbox").slideUp("normal"); $("#logconfigbox").slideUp("normal");
$("#logheader").removeClass("show"); $("#logheader").removeClass("show");
$("#logheader").addClass("hide"); $("#logheader").addClass("hide");
} }
} }
function updatelogBox(){ function updatelogBox() {
if(processState=="Stopped" || processState=="Checking" || $("#manual").is(":checked")){ if (processState === "Stopped" || processState === "Checking" || $("#manual").is(":checked")) {
$("#salpgridLog").hide(); $("#salpgridLog").hide();
$("#manualLog").show(); $("#manualLog").show();
$("#manualLog") $("#manualLog")
.scrollTop($("#manualLog")[0].scrollHeight - $("#manualLog") .scrollTop($("#manualLog")[0].scrollHeight - $("#manualLog").height());
.height()); } else {
}
else{
$("#salpgridLog").show(); $("#salpgridLog").show();
$("#manualLog").hide(); $("#manualLog").hide();
} }
} }
openedlogpage = $("input#type").val();
updatelogBox();
var state = getCookie("autoUpdate");
$("#logheader").click(function () {
setupBox();
});
$("#manual").change(function () {
setCookie("autoUpdate", "manual");
if ($("input#type").val() === "instance") {
window.location.href = $SCRIPT_ROOT + "/viewInstanceLog";
} else {
window.location.href = $SCRIPT_ROOT + "/viewSoftwareLog";
}
});
$("#live").change(function () {
updatelogBox();
$("#logconfigbox").find("input:radio").attr('checked', false);
$("#live").attr('checked', true);
setSpeed(100);
setCookie("autoUpdate", "live");
openedlogpage = $("input#type").val();
});
$("#slow").change(function () {
updatelogBox();
$("#logconfigbox").find("input:radio").attr('checked', false);
$("#slow").attr('checked', true);
setSpeed(2500);
setCookie("autoUpdate", "slow");
openedlogpage = $("input#type").val();
});
if (state) {
$("#" + state).attr('checked', true);
updatelogBox();
if (state === "manual") {
openedlogpage = "";
setSpeed(0);
} else {
setSpeed((state === "live") ? 100 : 2500);
}
} else {
$("#slow").attr('checked', true);
}
}); });
...@@ -26,7 +26,7 @@ class NetworkcacheParser(OptionParser): ...@@ -26,7 +26,7 @@ class NetworkcacheParser(OptionParser):
""" """
def __init__(self, usage=None, version=None): def __init__(self, usage=None, version=None):
""" """
Initialize all options possibles. Initialize all possible options.
""" """
OptionParser.__init__(self, usage=usage, version=version, OptionParser.__init__(self, usage=usage, version=version,
option_list=[ option_list=[
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment