diff --git a/static/resources/css/base.css b/static/resources/css/base.css
index 0f8b9bd14..685da65ea 100644
--- a/static/resources/css/base.css
+++ b/static/resources/css/base.css
@@ -13,7 +13,6 @@
limitations under the License.
*/
.footer {
- margin-top: 60px;
width: 100%;
/* Set the fixed height of the footer here */
height: 60px;
diff --git a/static/resources/js/change-password.js b/static/resources/js/change-password.js
index 4c8c2efdc..0a536b7b4 100644
--- a/static/resources/js/change-password.js
+++ b/static/resources/js/change-password.js
@@ -24,7 +24,7 @@ jQuery(function(){
error: function(jqXhr){
if(jqXhr && jqXhr.status == 401){
document.location = "/signIn";
- }
+ }
}
}).exec();
@@ -36,12 +36,12 @@ jQuery(function(){
function bindEnterKey(){
$(document).on("keydown", function(e){
if(e.keyCode == 13){
- e.preventDefault();
- if($("#txtCommonSearch").is(":focus")){
- document.location = "/search?q=" + $("#txtCommonSearch").val();
- }else{
- $("#btnSubmit").trigger("click");
- }
+ e.preventDefault();
+ if($("#txtCommonSearch").is(":focus")){
+ document.location = "/search?q=" + $("#txtCommonSearch").val();
+ }else{
+ $("#btnSubmit").trigger("click");
+ }
}
});
}
@@ -61,35 +61,35 @@ jQuery(function(){
type: "put",
data: {"old_password": oldPassword, "new_password" : password},
beforeSend: function(e){
- unbindEnterKey();
- $("h1").append(spinner.el);
- $("#btnSubmit").prop("disabled", true);
+ unbindEnterKey();
+ $("h1").append(spinner.el);
+ $("#btnSubmit").prop("disabled", true);
},
complete: function(xhr, status){
spinner.stop();
$("#btnSubmit").prop("disabled", false);
if(xhr && xhr.status == 200){
$("#dlgModal")
- .dialogModal({
- "title": i18n.getMessage("title_change_password"),
- "content": i18n.getMessage("change_password_successfully"),
- "callback": function(){
- window.close();
- }
- });
+ .dialogModal({
+ "title": i18n.getMessage("title_change_password"),
+ "content": i18n.getMessage("change_password_successfully"),
+ "callback": function(){
+ window.close();
+ }
+ });
}
},
error: function(jqXhr, status, error){
if(jqXhr && jqXhr.responseText.length){
$("#dlgModal")
- .dialogModal({
- "title": i18n.getMessage("title_change_password"),
- "content": i18n.getMessage(jqXhr.responseText),
- "callback": function(){
- bindEnterKey();
- return;
- }
- });
+ .dialogModal({
+ "title": i18n.getMessage("title_change_password"),
+ "content": i18n.getMessage(jqXhr.responseText),
+ "callback": function(){
+ bindEnterKey();
+ return;
+ }
+ });
}
}
}).exec();
diff --git a/static/resources/js/common.js b/static/resources/js/common.js
index 7c7397d6b..411ea315c 100644
--- a/static/resources/js/common.js
+++ b/static/resources/js/common.js
@@ -12,8 +12,9 @@
See the License for the specific language governing permissions and
limitations under the License.
*/
+
var AjaxUtil = function(params){
-
+
this.url = params.url;
this.data = params.data;
this.dataRaw = params.dataRaw;
@@ -31,39 +32,39 @@ AjaxUtil.prototype.exec = function(){
var self = this;
return $.ajax({
- url: self.url,
- contentType: (self.dataRaw ? "application/x-www-form-urlencoded; charset=UTF-8" : "application/json; charset=utf-8"),
- data: JSON.stringify(self.data) || self.dataRaw,
- type: self.type,
- dataType: "json",
- success: function(data, status, xhr){
- if(self.success != null){
- self.success(data, status, xhr);
- }
- },
- complete: function(jqXhr, status) {
- if(self.complete != null){
- self.complete(jqXhr, status);
- }
- },
- error: function(jqXhr){
- if(self.error != null){
- self.error(jqXhr);
- }else{
- var errorMessage = self.errors[jqXhr.status] || jqXhr.responseText;
- if(jqXhr.status == 401){
- var lastUri = location.pathname + location.search;
- if(lastUri != ""){
- document.location = "/signIn?uri=" + encodeURIComponent(lastUri);
- }else{
- document.location = "/signIn";
+ url: self.url,
+ contentType: (self.dataRaw ? "application/x-www-form-urlencoded; charset=UTF-8" : "application/json; charset=utf-8"),
+ data: JSON.stringify(self.data) || self.dataRaw,
+ type: self.type,
+ dataType: "json",
+ success: function(data, status, xhr){
+ if(self.success != null){
+ self.success(data, status, xhr);
+ }
+ },
+ complete: function(jqXhr, status) {
+ if(self.complete != null){
+ self.complete(jqXhr, status);
+ }
+ },
+ error: function(jqXhr){
+ if(self.error != null){
+ self.error(jqXhr);
+ }else{
+ var errorMessage = self.errors[jqXhr.status] || jqXhr.responseText;
+ if(jqXhr.status == 401){
+ var lastUri = location.pathname + location.search;
+ if(lastUri != ""){
+ document.location = "/signIn?uri=" + encodeURIComponent(lastUri);
+ }else{
+ document.location = "/signIn";
+ }
+ }else if($.trim(errorMessage).length > 0){
+ $("#dlgModal").dialogModal({"title": i18n.getMessage("operation_failed"), "content": errorMessage});
}
- }else if($.trim(errorMessage).length > 0){
- $("#dlgModal").dialogModal({"title": i18n.getMessage("operation_failed"), "content": errorMessage});
}
}
- }
- });
+ });
};
var SUPPORT_LANGUAGES = {
@@ -133,7 +134,7 @@ jQuery(function(){
var self = this;
$("#dlgLabel", self).text(settings.title);
-
+
if(options.text){
$("#dlgBody", self).html(settings.content);
}else if(typeof settings.content == "object"){
@@ -141,9 +142,9 @@ jQuery(function(){
var lines = ['
');
$("#dlgBody", self).html(lines.join(""));
@@ -153,10 +154,15 @@ jQuery(function(){
}
if(settings.callback != null){
- $("#dlgConfirm").on("click", function(){
- settings.callback();
+ var hasEntered = false;
+ $("#dlgConfirm").on("click", function(e){
+ if(!hasEntered) {
+ hasEntered = true;
+ settings.callback();
+
+ }
});
}
$(self).modal('show');
}
-});
+});
\ No newline at end of file
diff --git a/static/resources/js/forgot-password.js b/static/resources/js/forgot-password.js
index b7c4be9e6..d6fdea319 100644
--- a/static/resources/js/forgot-password.js
+++ b/static/resources/js/forgot-password.js
@@ -13,26 +13,26 @@
limitations under the License.
*/
jQuery(function(){
-
+
$("#divErrMsg").css({"display": "none"});
validateOptions.Items = ["#EmailF"];
function bindEnterKey(){
$(document).on("keydown", function(e){
if(e.keyCode == 13){
- e.preventDefault();
- if($("#txtCommonSearch").is(":focus")){
- document.location = "/search?q=" + $("#txtCommonSearch").val();
- }else{
- $("#btnSubmit").trigger("click");
- }
+ e.preventDefault();
+ if($("#txtCommonSearch").is(":focus")){
+ document.location = "/search?q=" + $("#txtCommonSearch").val();
+ }else{
+ $("#btnSubmit").trigger("click");
+ }
}
});
}
function unbindEnterKey(){
$(document).off("keydown");
}
- bindEnterKey();
+ bindEnterKey();
var spinner = new Spinner({scale:1}).spin();
$("#btnSubmit").on("click", function(){
@@ -44,20 +44,20 @@ jQuery(function(){
"type": "get",
"data": {"username": username, "email": email},
"beforeSend": function(e){
- unbindEnterKey();
- $("h1").append(spinner.el);
- $("#btnSubmit").prop("disabled", true);
+ unbindEnterKey();
+ $("h1").append(spinner.el);
+ $("#btnSubmit").prop("disabled", true);
},
"success": function(data, status, xhr){
if(xhr && xhr.status == 200){
$("#dlgModal")
- .dialogModal({
- "title": i18n.getMessage("title_forgot_password"),
- "content": i18n.getMessage("email_has_been_sent"),
- "callback": function(){
- document.location="/";
- }
- });
+ .dialogModal({
+ "title": i18n.getMessage("title_forgot_password"),
+ "content": i18n.getMessage("email_has_been_sent"),
+ "callback": function(){
+ document.location="/";
+ }
+ });
}
},
@@ -68,14 +68,14 @@ jQuery(function(){
"error": function(jqXhr, status, error){
if(jqXhr){
$("#dlgModal")
- .dialogModal({
- "title": i18n.getMessage("title_forgot_password"),
- "content": i18n.getMessage(jqXhr.responseText),
- "callback": function(){
- bindEnterKey();
- return;
- }
- });
+ .dialogModal({
+ "title": i18n.getMessage("title_forgot_password"),
+ "content": i18n.getMessage(jqXhr.responseText),
+ "callback": function(){
+ bindEnterKey();
+ return;
+ }
+ });
}
}
});
diff --git a/static/resources/js/header-login.js b/static/resources/js/header-login.js
index 8e1a6e35e..1bd5cda0d 100644
--- a/static/resources/js/header-login.js
+++ b/static/resources/js/header-login.js
@@ -13,20 +13,20 @@
limitations under the License.
*/
jQuery(function(){
- $("#btnSignUp").css({"visibility": "visible"});
+ $("#btnSignUp").css({"visibility": "visible"});
$(document).on("keydown", function(e){
if(e.keyCode == 13){
e.preventDefault();
if($("#txtCommonSearch").is(":focus")){
- document.location = "/search?q=" + $("#txtCommonSearch").val();
+ document.location = "/search?q=" + $("#txtCommonSearch").val();
}
}
});
$("#btnSignIn").on("click", function(){
document.location = "/signIn";
});
- $("#btnSignUp").on("click", function(){
+ $("#btnSignUp").on("click", function(){
document.location = "/register";
});
});
\ No newline at end of file
diff --git a/static/resources/js/item-detail.js b/static/resources/js/item-detail.js
index b37089d75..9deb09e34 100644
--- a/static/resources/js/item-detail.js
+++ b/static/resources/js/item-detail.js
@@ -23,465 +23,451 @@ jQuery(function(){
if(jqXhr.status == 403){
return false;
}
- }
+ }
}
}).exec()
- ).then(function(){
- noNeedToLoginCallback();
- needToLoginCallback();
- }).fail(function(){
- noNeedToLoginCallback();
- });
-
- function noNeedToLoginCallback(){
-
- $("#tabItemDetail a:first").tab("show");
- $("#btnFilterOption button:first").addClass("active");
- $("#divErrMsg").hide();
-
- if($("#public").val() == 1){
- $("#tabItemDetail li:eq(1)").hide();
- $("#tabItemDetail li:eq(2)").hide();
- }
-
- listRepo($("#repoName").val());
-
- function listRepo(repoName){
+ ).then(function(){
+ noNeedToLoginCallback();
+ needToLoginCallback();
+ }).fail(function(){
+ noNeedToLoginCallback();
+ });
+ function noNeedToLoginCallback(){
+
+ $("#tabItemDetail a:first").tab("show");
+ $("#btnFilterOption button:first").addClass("active");
$("#divErrMsg").hide();
+
+ if($("#public").val() == 1){
+ $("#tabItemDetail li:eq(1)").hide();
+ $("#tabItemDetail li:eq(2)").hide();
+ }
+
+ listRepo($("#repoName").val());
+
+ function listRepo(repoName){
+
+ $("#divErrMsg").hide();
- new AjaxUtil({
- url: "/api/repositories?project_id=" + $("#projectId").val() + "&q=" + repoName,
- type: "get",
- success: function(data, status, xhr){
- if(xhr && xhr.status == 200){
- $("#accordionRepo").children().remove();
- if(data == null){
- $("#divErrMsg").show();
- $("#divErrMsg center").html(i18n.getMessage("no_repo_exists"));
- return;
- }
- $.each(data, function(i, e){
- var targetId = e.replace(/\//g, "------");
- var row = '' +
+ new AjaxUtil({
+ url: "/api/repositories?project_id=" + $("#projectId").val() + "&q=" + repoName,
+ type: "get",
+ success: function(data, status, xhr){
+ if(xhr && xhr.status == 200){
+ $("#accordionRepo").children().remove();
+ if(data == null){
+ $("#divErrMsg").show();
+ $("#divErrMsg center").html(i18n.getMessage("no_repo_exists"));
+ return;
+ }
+ $.each(data, function(i, e){
+ var targetId = e.replace(/\//g, "------");
+ var row = '
' +
'
' +
- '
' +
- '
' +
- '
' +
- '
' +
- '' +
- '' +
- ' ' + i18n.getMessage("tag")+ ' ' +
- ' ' + i18n.getMessage("pull_command") + ' ' +
- ' ' +
- ' ' +
- '' +
- ' ' +
- '
'
- '
' +
- '
' +
- '
' +
- '
';
- $("#accordionRepo").append(row);
- });
- if(repoName != ""){
- $("#txtRepoName").val(repoName);
- $("#accordionRepo #heading0 a").trigger("click");
+ '
' +
+ '
' +
+ '' +
+ '
' +
+ '
' +
+ '
' +
+ '' +
+ '' +
+ ' ' + i18n.getMessage("tag")+ ' ' +
+ ' ' + i18n.getMessage("pull_command") + ' ' +
+ ' ' +
+ ' ' +
+ '' +
+ ' ' +
+ '
'
+ '
' +
+ '
' +
+ '
' +
+ '';
+ $("#accordionRepo").append(row);
+ });
+ if(repoName != ""){
+ $("#txtRepoName").val(repoName);
+ $("#accordionRepo #heading0 a").trigger("click");
+ }
}
}
- }
- }).exec();
- }
- $("#btnSearchRepo").on("click", function(){
- listRepo($.trim($("#txtRepoName").val()));
- });
-
- $('#accordionRepo').on('show.bs.collapse', function (e) {
- $('#accordionRepo .in').collapse('hide');
- var targetId = $(e.target).attr("targetId");
- var repoName = targetId.replace(/------/g, "/");
- new AjaxUtil({
- url: "/api/repositories/tags?repo_name=" + repoName,
- type: "get",
- success: function(data, status, xhr){
- $('#' + targetId +' table tbody tr').remove();
- var row = [];
- for(var i in data){
- var tagName = data[i]
- row.push('' + tagName + ' ');
- }
- $('#' + targetId +' table tbody').append(row.join(""));
- $('#' + targetId +' table tbody tr a').on("click", function(e){
- var imageId = $(this).attr("imageId");
- var repoName = $(this).attr("repoName");
- new AjaxUtil({
- url: "/api/repositories/manifests?repo_name=" + repoName + "&tag=" + imageId,
- type: "get",
- success: function(data, status, xhr){
- if(data){
- for(var i in data){
- if(data[i] == ""){
- data[i] = "N/A";
- }
- }
- data.Created = moment(new Date(data.Created)).format("YYYY-MM-DD HH:mm:ss");
-
- $("#dlgModal").dialogModal({"title": i18n.getMessage("image_details"), "content": data});
- }
- }
- }).exec();
- });
- }
- }).exec();
- });
- }
-
- function needToLoginCallback(){
-
- var hasAuthorization = false;
-
- $.when(
- new AjaxUtil({
- url: "/api/projects/" + $("#projectId").val() + "/members/current",
- type: "get",
- success: function(data, status, xhr){
- if(xhr && xhr.status == 200 && data.roles != null && data.roles.length > 0){
- hasAuthorization = true;
- }
- }
- }).exec())
- .done(function(){
-
- if(!hasAuthorization) return false;
-
- $("#tabItemDetail a:eq(1)").css({"visibility": "visible"});
- $("#tabItemDetail a:eq(2)").css({"visibility": "visible"});
-
- $(".glyphicon .glyphicon-pencil", "#tblUser").on("click", function(e){
- $("#txtUserName").hide();
- $("#lblUserName").show();
- $("#dlgUserTitle").text(i18n.getMessage("edit_members"));
- });
-
- $("#btnAddUser").on("click", function(){
- $("#operationType").val("add");
- $("#spnSearch").show();
- $("#txtUserName").prop("disabled", false)
- $("#txtUserName").val("");
- $("#lstRole input[name=chooseRole]:radio").prop("checked", false);
- $("#dlgUserTitle").text(i18n.getMessage("add_members"));
- });
-
- $("#btnSave").on("click", function(){
-
- var username = $("#txtUserName").val();
- if($.trim(username).length == 0){
- $("#dlgModal").dialogModal({"title": i18n.getMessage("add_member_failed"), "content": i18n.getMessage("please_input_username")});
- return;
- }
- var projectId = $("#projectId").val();
- var operationType = $("#operationType").val();
- var userId = $("#editUserId").val();
-
- var checkedRole = $("#lstRole input[name='chooseRole']:checked")
- if(checkedRole.length == 0){
- $("#dlgModal").dialogModal({"title": i18n.getMessage("add_member_failed"), "content": i18n.getMessage("please_assign_a_role_to_user")});
- return;
- }
-
- var checkedRoleItemList = [];
- $.each(checkedRole, function(i, e){
- checkedRoleItemList.push(new Number($(this).val()));
- });
-
- var ajaxOpts = {};
- if(operationType == "add"){
- ajaxOpts.url = "/api/projects/" + projectId + "/members/";
- ajaxOpts.type = "post";
- ajaxOpts.data = {"roles" : checkedRoleItemList, "user_name": username};
- }else if(operationType == "edit"){
- ajaxOpts.url = "/api/projects/" + projectId + "/members/" + userId;
- ajaxOpts.type = "put";
- ajaxOpts.data = {"roles" : checkedRoleItemList};
- }
-
- new AjaxUtil({
- url: ajaxOpts.url,
- data: ajaxOpts.data,
- type: ajaxOpts.type,
- complete: function(jqXhr, status){
- if(jqXhr && jqXhr.status == 200){
- $("#btnCancel").trigger("click");
- listUser(null);
- }
- },
- errors: {
- 404: i18n.getMessage("user_id_does_not_exist"),
- 409: i18n.getMessage("user_id_exists"),
- 403: i18n.getMessage("insufficient_privileges")
- }
- }).exec();
- });
-
- var name_mapping = {
- "projectAdmin": "Project Admin",
- "developer": "Developer",
- "guest": "Guest"
- }
-
- function listUserByProjectCallback(userList){
- var loginedUserId = $("#userId").val();
- var loginedUserRoleId = $("#roleId").val();
- var ownerId = $("#ownerId").val();
-
- $("#tblUser tbody tr").remove();
- for(var i = 0; i < userList.length; ){
-
- var userId = userList[i].user_id;
- var roleId = userList[i].role_id;
- var username = userList[i].username;
-// var roleNameList = [];
-
-// for(var j = i; j < userList.length; i++, j++){
-// if(userList[j].UserId == userId){
-// roleNameList.push(name_mapping[userList[j].Rolename]);
-// }else{
-// break;
-// }
-// }
-
-// var row = '' +
-// '' + username + ' ' +
-// '' + roleNameList.join(",") + ' ' +
-// '';
- var row = ' ' +
- '' + username + ' ' +
- '' + '--' + ' ' +
- '';
- var isShowOperations = true;
- if(loginedUserRoleId >= 3 /*role: developer guest*/){
- isShowOperations = false;
- }else if(ownerId == userId){
- isShowOperations = false;
- }else if (loginedUserId == userId){
- isShowOperations = false;
- }
- if(isShowOperations){
- row += ' ' +
- ' ';
- }
-
- row += ' ';
- $("#tblUser tbody").append(row);
-
- }
- }
-
- function searchAccessLogCallback(LogList){
- $("#tabOperationLog tbody tr").remove();
- $.each(LogList || [], function(i, e){
- $("#tabOperationLog tbody").append(
- '' +
- '' + e.Username + ' ' +
- '' + e.repo_name + ' ' +
- '' + e.repo_tag + ' ' +
- '' + e.operation + ' ' +
- '' + moment(new Date(e.op_time)).format("YYYY-MM-DD HH:mm:ss") + ' ' +
- ' ');
- });
- }
-
- function getUserRoleCallback(userId){
- new AjaxUtil({
- url: "/api/projects/" + $("#projectId").val() + "/members/" + userId,
- type: "get",
- success: function(data, status, xhr){
- var user = data;
- $("#operationType").val("edit");
- $("#editUserId").val(user.user_id);
- $("#spnSearch").hide();
- $("#txtUserName").val(user.user_name);
- $("#txtUserName").prop("disabled", true);
- $("#btnSave").removeClass("disabled");
- $("#dlgUserTitle").text(i18n.getMessage("edit_members"));
- $("#lstRole input[name=chooseRole]:radio").not('[value=' + user.role_id + ']').prop("checked", false)
- $.each(user.roles, function(i, e){
- $("#lstRole input[name=chooseRole]:radio").filter('[value=' + e.role_id + ']').prop("checked", "checked");
- });
- }
}).exec();
}
- function listUser(username){
- $.when(
- new AjaxUtil({
- url: "/api/projects/" + $("#projectId").val() + "/members?username=" + (username == null ? "" : username),
- type: "get",
- errors: {
- 403: ""
- },
- success: function(data, status, xhr){
- return data || [];
- }
- }).exec()
- ).done(function(userList){
-// listUserByProjectCallback(userList || []);
- $("#tblUser .glyphicon-pencil").on("click", function(e){
- var userId = $(this).attr("userid")
- getUserRoleCallback(userId);
- });
- $("#tblUser .glyphicon-trash").on("click", function(){
- var userId = $(this).attr("userid");
- new AjaxUtil({
- url: "/api/projects/" + $("#projectId").val() + "/members/" + userId,
- type: "delete",
- complete: function(jqXhr, status){
- if(jqXhr && jqXhr.status == 200){
- listUser(null);
- }
- }
- }).exec();
- });
- });
- }
- listUser(null);
- listOperationLogs();
-
- function listOperationLogs(){
- var projectId = $("#projectId").val();
-
- $.when(
- new AjaxUtil({
- url : "/api/projects/" + projectId + "/logs/filter",
- data: {},
- type: "post",
- success: function(data){
- return data || [];
- }
- }).exec()
- ).done(function(operationLogs){
- searchAccessLogCallback(operationLogs);
- });
- }
-
- $("#btnSearchUser").on("click", function(){
- var username = $("#txtSearchUser").val();
- if($.trim(username).length == 0){
- username = null;
- }
- listUser(username);
+ $("#btnSearchRepo").on("click", function(){
+ listRepo($.trim($("#txtRepoName").val()));
});
- function toUTCSeconds(date, hour, min, sec) {
- var t = new Date(date);
- t.setHours(hour);
- t.setMinutes(min);
- t.setSeconds(sec);
- var utcTime = new Date(t.getUTCFullYear(),
+ $('#accordionRepo').on('show.bs.collapse', function (e) {
+ $('#accordionRepo .in').collapse('hide');
+ var targetId = $(e.target).attr("targetId");
+ var repoName = targetId.replace(/------/g, "/");
+ new AjaxUtil({
+ url: "/api/repositories/tags?repo_name=" + repoName,
+ type: "get",
+ success: function(data, status, xhr){
+ $('#' + targetId +' table tbody tr').remove();
+ var row = [];
+ for(var i in data){
+ var tagName = data[i]
+ row.push('' + tagName + ' ');
+ }
+ $('#' + targetId +' table tbody').append(row.join(""));
+ $('#' + targetId +' table tbody tr a').on("click", function(e){
+ var imageId = $(this).attr("imageId");
+ var repoName = $(this).attr("repoName");
+ new AjaxUtil({
+ url: "/api/repositories/manifests?repo_name=" + repoName + "&tag=" + imageId,
+ type: "get",
+ success: function(data, status, xhr){
+ if(data){
+ for(var i in data){
+ if(data[i] == ""){
+ data[i] = "N/A";
+ }
+ }
+ data.Created = moment(new Date(data.Created)).format("YYYY-MM-DD HH:mm:ss");
+ $("#dlgModal").dialogModal({"title": i18n.getMessage("image_details"), "content": data});
+ }
+ }
+ }).exec();
+ });
+ }
+ }).exec();
+ });
+ }
+
+ function needToLoginCallback(){
+
+ var hasAuthorization = false;
+
+ $.when(
+ new AjaxUtil({
+ url: "/api/projects/" + $("#projectId").val() + "/members/current",
+ type: "get",
+ success: function(data, status, xhr){
+ if(xhr && xhr.status == 200 && data.roles != null && data.roles.length > 0){
+ hasAuthorization = true;
+ }
+ }
+ }).exec())
+ .done(function(){
+
+ if(!hasAuthorization) return false;
+
+ $("#tabItemDetail a:eq(1)").css({"visibility": "visible"});
+ $("#tabItemDetail a:eq(2)").css({"visibility": "visible"});
+
+ $(".glyphicon .glyphicon-pencil", "#tblUser").on("click", function(e){
+ $("#txtUserName").hide();
+ $("#lblUserName").show();
+ $("#dlgUserTitle").text(i18n.getMessage("edit_members"));
+ });
+
+ $("#btnAddUser").on("click", function(){
+ $("#operationType").val("add");
+ $("#spnSearch").show();
+ $("#txtUserName").prop("disabled", false)
+ $("#txtUserName").val("");
+ $("#lstRole input[name=chooseRole]:radio").prop("checked", false);
+ $("#dlgUserTitle").text(i18n.getMessage("add_members"));
+ });
+
+ $("#btnSave").on("click", function(){
+
+ var username = $("#txtUserName").val();
+ if($.trim(username).length == 0){
+ $("#dlgModal").dialogModal({"title": i18n.getMessage("add_member_failed"), "content": i18n.getMessage("please_input_username")});
+ return;
+ }
+ var projectId = $("#projectId").val();
+ var operationType = $("#operationType").val();
+ var userId = $("#editUserId").val();
+
+ var checkedRole = $("#lstRole input[name='chooseRole']:checked")
+ if(checkedRole.length == 0){
+ $("#dlgModal").dialogModal({"title": i18n.getMessage("add_member_failed"), "content": i18n.getMessage("please_assign_a_role_to_user")});
+ return;
+ }
+
+ var checkedRoleItemList = [];
+ $.each(checkedRole, function(i, e){
+ checkedRoleItemList.push(new Number($(this).val()));
+ });
+
+ var ajaxOpts = {};
+ if(operationType == "add"){
+ ajaxOpts.url = "/api/projects/" + projectId + "/members/";
+ ajaxOpts.type = "post";
+ ajaxOpts.data = {"roles" : checkedRoleItemList, "username": username};
+ }else if(operationType == "edit"){
+ ajaxOpts.url = "/api/projects/" + projectId + "/members/" + userId;
+ ajaxOpts.type = "put";
+ ajaxOpts.data = {"roles" : checkedRoleItemList};
+ }
+
+ new AjaxUtil({
+ url: ajaxOpts.url,
+ data: ajaxOpts.data,
+ type: ajaxOpts.type,
+ complete: function(jqXhr, status){
+ if(jqXhr && jqXhr.status == 200){
+ $("#btnCancel").trigger("click");
+ listUser(null);
+ }
+ },
+ errors: {
+ 404: i18n.getMessage("user_id_does_not_exist"),
+ 409: i18n.getMessage("user_id_exists"),
+ 403: i18n.getMessage("insufficient_privileges")
+ }
+ }).exec();
+ });
+
+ var name_mapping = {
+ "projectAdmin": "Project Admin",
+ "developer": "Developer",
+ "guest": "Guest"
+ }
+
+ function listUserByProjectCallback(userList){
+ var loginedUserId = $("#userId").val();
+ var loginedUserRoleId = $("#roleId").val();
+ var ownerId = $("#ownerId").val();
+
+ $("#tblUser tbody tr").remove();
+ for(var i = 0; i < userList.length; i++){
+
+ var userId = userList[i].user_id;
+ var roleId = userList[i].role_id;
+ var username = userList[i].username;
+
+ var row = '' +
+ '' + username + ' ' +
+ '' + name_mapping[userList[i].role_name] + ' ' +
+ '';
+ var isShowOperations = true;
+ if(loginedUserRoleId >= 3 /*role: developer guest*/){
+ isShowOperations = false;
+ }else if(ownerId == userId){
+ isShowOperations = false;
+ }else if (loginedUserId == userId){
+ isShowOperations = false;
+ }
+ if(isShowOperations){
+ row += ' ' +
+ ' ';
+ }
+
+ row += ' ';
+ $("#tblUser tbody").append(row);
+
+ }
+ }
+
+ function searchAccessLogCallback(LogList){
+ $("#tabOperationLog tbody tr").remove();
+ $.each(LogList || [], function(i, e){
+ $("#tabOperationLog tbody").append(
+ '' +
+ '' + e.username + ' ' +
+ '' + e.repo_name + ' ' +
+ '' + e.repo_tag + ' ' +
+ '' + e.operation + ' ' +
+ '' + moment(new Date(e.op_time)).format("YYYY-MM-DD HH:mm:ss") + ' ' +
+ ' ');
+ });
+ }
+
+ function getUserRoleCallback(userId){
+ new AjaxUtil({
+ url: "/api/projects/" + $("#projectId").val() + "/members/" + userId,
+ type: "get",
+ success: function(data, status, xhr){
+ var user = data;
+ $("#operationType").val("edit");
+ $("#editUserId").val(user.user_id);
+ $("#spnSearch").hide();
+ $("#txtUserName").val(user.username);
+ $("#txtUserName").prop("disabled", true);
+ $("#btnSave").removeClass("disabled");
+ $("#dlgUserTitle").text(i18n.getMessage("edit_members"));
+ $("#lstRole input[name=chooseRole]:radio").not('[value=' + user.role_id + ']').prop("checked", false)
+ $.each(user.roles, function(i, e){
+ $("#lstRole input[name=chooseRole]:radio").filter('[value=' + e.role_id + ']').prop("checked", "checked");
+ });
+ }
+ }).exec();
+ }
+ function listUser(username){
+ $.when(
+ new AjaxUtil({
+ url: "/api/projects/" + $("#projectId").val() + "/members?username=" + (username == null ? "" : username),
+ type: "get",
+ errors: {
+ 403: ""
+ },
+ success: function(data, status, xhr){
+ return data || [];
+ }
+ }).exec()
+ ).done(function(userList){
+ listUserByProjectCallback(userList || []);
+ $("#tblUser .glyphicon-pencil").on("click", function(e){
+ var userId = $(this).attr("userid")
+ getUserRoleCallback(userId);
+ });
+ $("#tblUser .glyphicon-trash").on("click", function(){
+ var userId = $(this).attr("userid");
+ new AjaxUtil({
+ url: "/api/projects/" + $("#projectId").val() + "/members/" + userId,
+ type: "delete",
+ complete: function(jqXhr, status){
+ if(jqXhr && jqXhr.status == 200){
+ listUser(null);
+ }
+ }
+ }).exec();
+ });
+ });
+ }
+ listUser(null);
+ listOperationLogs();
+
+ function listOperationLogs(){
+ var projectId = $("#projectId").val();
+
+ $.when(
+ new AjaxUtil({
+ url : "/api/projects/" + projectId + "/logs/filter",
+ data: {},
+ type: "post",
+ success: function(data){
+ return data || [];
+ }
+ }).exec()
+ ).done(function(operationLogs){
+ searchAccessLogCallback(operationLogs);
+ });
+ }
+
+ $("#btnSearchUser").on("click", function(){
+ var username = $("#txtSearchUser").val();
+ if($.trim(username).length == 0){
+ username = null;
+ }
+ listUser(username);
+ });
+
+ function toUTCSeconds(date, hour, min, sec) {
+ var t = new Date(date);
+ t.setHours(hour);
+ t.setMinutes(min);
+ t.setSeconds(sec);
+ var utcTime = new Date(t.getUTCFullYear(),
t.getUTCMonth(),
t.getUTCDate(),
t.getUTCHours(),
t.getUTCMinutes(),
t.getUTCSeconds());
- return utcTime.getTime() / 1000;
- }
-
- $("#btnFilterLog").on("click", function(){
-
- var projectId = $("#projectId").val();
- var username = $("#txtSearchUserName").val();
-
- var beginTimestamp = 0;
- var endTimestamp = 0;
-
- if($("#begindatepicker").val() != ""){
- beginTimestamp = toUTCSeconds($("#begindatepicker").val(), 0, 0, 0);
- }
- if($("#enddatepicker").val() != ""){
- endTimestamp = toUTCSeconds($("#enddatepicker").val(), 23, 59, 59);
- }
-
- new AjaxUtil({
- url: "/api/projects/" + projectId + "/logs/filter",
- data:{"Username":username, "project_id" : Number(projectId), "keywords" : getKeyWords() , "begin_timestamp" : beginTimestamp, "end_timestamp" : endTimestamp},
- type: "post",
- success: function(data, status, xhr){
- if(xhr && xhr.status == 200){
- searchAccessLogCallback(data);
+ return utcTime.getTime() / 1000;
}
- }
- }).exec();
- });
-
- $("#spnFilterOption input[name=chkAll]").on("click", function(){
- $("#spnFilterOption input[name=chkOperation]").prop("checked", $(this).prop("checked"));
- });
-
- $("#spnFilterOption input[name=chkOperation]").on("click", function(){
- if(!$(this).prop("checked")){
- $("#spnFilterOption input[name=chkAll]").prop("checked", false);
- }
-
- var selectedAll = true;
-
- $("#spnFilterOption input[name=chkOperation]").each(function(i, e){
- if(!$(e).prop("checked")){
- selectedAll = false;
- }
- });
-
- if(selectedAll){
- $("#spnFilterOption input[name=chkAll]").prop("checked", true);
- }
- });
-
- function getKeyWords(){
- var keywords = "";
- var checkedItemList=$("#spnFilterOption input[name=chkOperation]:checked");
- var keywords = [];
- $.each(checkedItemList, function(i, e){
- var itemValue = $(e).val();
- if(itemValue == "others" && $.trim($("#txtOthers").val()).length > 0){
- keywords.push($("#txtOthers").val());
- }else{
- keywords.push($(e).val());
- }
- });
- return keywords.join("/");
- }
-
- $('#datetimepicker1').datetimepicker({
- locale: i18n.getLocale(),
- ignoreReadonly: true,
- format: 'L',
- showClear: true
- });
- $('#datetimepicker2').datetimepicker({
- locale: i18n.getLocale(),
- ignoreReadonly: true,
- format: 'L',
- showClear: true
- });
- });
- }
-
- $(document).on("keydown", function(e){
- if(e.keyCode == 13){
- e.preventDefault();
- if($("#tabItemDetail li:eq(0)").is(":focus") || $("#txtRepoName").is(":focus")){
- $("#btnSearchRepo").trigger("click");
- }else if($("#tabItemDetail li:eq(1)").is(":focus") || $("#txtSearchUser").is(":focus")){
- $("#btnSearchUser").trigger("click");
- }else if($("#tabItemDetail li:eq(2)").is(":focus") || $("#txtSearchUserName").is(":focus")){
- $("#btnFilterLog").trigger("click");
- }else if($("#txtUserName").is(":focus") || $("#lstRole :radio").is(":focus")){
- $("#btnSave").trigger("click");
- }
+
+ $("#btnFilterLog").on("click", function(){
+
+ var projectId = $("#projectId").val();
+ var username = $("#txtSearchUserName").val();
+
+ var beginTimestamp = 0;
+ var endTimestamp = 0;
+
+ if($("#begindatepicker").val() != ""){
+ beginTimestamp = toUTCSeconds($("#begindatepicker").val(), 0, 0, 0);
+ }
+ if($("#enddatepicker").val() != ""){
+ endTimestamp = toUTCSeconds($("#enddatepicker").val(), 23, 59, 59);
+ }
+
+ new AjaxUtil({
+ url: "/api/projects/" + projectId + "/logs/filter",
+ data:{"username":username, "project_id" : Number(projectId), "keywords" : getKeyWords() , "begin_timestamp" : beginTimestamp, "end_timestamp" : endTimestamp},
+ type: "post",
+ success: function(data, status, xhr){
+ if(xhr && xhr.status == 200){
+ searchAccessLogCallback(data);
+ }
+ }
+ }).exec();
+ });
+
+ $("#spnFilterOption input[name=chkAll]").on("click", function(){
+ $("#spnFilterOption input[name=chkOperation]").prop("checked", $(this).prop("checked"));
+ });
+
+ $("#spnFilterOption input[name=chkOperation]").on("click", function(){
+ if(!$(this).prop("checked")){
+ $("#spnFilterOption input[name=chkAll]").prop("checked", false);
+ }
+
+ var selectedAll = true;
+
+ $("#spnFilterOption input[name=chkOperation]").each(function(i, e){
+ if(!$(e).prop("checked")){
+ selectedAll = false;
+ }
+ });
+
+ if(selectedAll){
+ $("#spnFilterOption input[name=chkAll]").prop("checked", true);
+ }
+ });
+
+ function getKeyWords(){
+ var keywords = "";
+ var checkedItemList=$("#spnFilterOption input[name=chkOperation]:checked");
+ var keywords = [];
+ $.each(checkedItemList, function(i, e){
+ var itemValue = $(e).val();
+ if(itemValue == "others" && $.trim($("#txtOthers").val()).length > 0){
+ keywords.push($("#txtOthers").val());
+ }else{
+ keywords.push($(e).val());
+ }
+ });
+ return keywords.join("/");
+ }
+
+ $('#datetimepicker1').datetimepicker({
+ locale: i18n.getLocale(),
+ ignoreReadonly: true,
+ format: 'L',
+ showClear: true
+ });
+ $('#datetimepicker2').datetimepicker({
+ locale: i18n.getLocale(),
+ ignoreReadonly: true,
+ format: 'L',
+ showClear: true
+ });
+ });
+}
+
+$(document).on("keydown", function(e){
+ if(e.keyCode == 13){
+ e.preventDefault();
+ if($("#tabItemDetail li:eq(0)").is(":focus") || $("#txtRepoName").is(":focus")){
+ $("#btnSearchRepo").trigger("click");
+ }else if($("#tabItemDetail li:eq(1)").is(":focus") || $("#txtSearchUser").is(":focus")){
+ $("#btnSearchUser").trigger("click");
+ }else if($("#tabItemDetail li:eq(2)").is(":focus") || $("#txtSearchUserName").is(":focus")){
+ $("#btnFilterLog").trigger("click");
+ }else if($("#txtUserName").is(":focus") || $("#lstRole :radio").is(":focus")){
+ $("#btnSave").trigger("click");
}
- });
+ }
+});
})
diff --git a/static/resources/js/login.js b/static/resources/js/login.js
index 9b0bfda2b..21c0b6cd2 100644
--- a/static/resources/js/login.js
+++ b/static/resources/js/login.js
@@ -24,7 +24,7 @@ jQuery(function(){
},
error: function(jqXhr){
if(jqXhr.status == 401)
- return false;
+ return false;
}
}).exec();
diff --git a/static/resources/js/project.js b/static/resources/js/project.js
index a59dfa85a..427aa39dd 100644
--- a/static/resources/js/project.js
+++ b/static/resources/js/project.js
@@ -13,7 +13,7 @@
limitations under the License.
*/
jQuery(function(){
-
+
new AjaxUtil({
url: "/api/users/current",
type: "get",
@@ -29,57 +29,57 @@ jQuery(function(){
function renderForAnyRole(){
$("#tabProject a:first").tab("show");
-
+
$(document).on("keydown", function(e){
if(e.keyCode == 13){
- e.preventDefault();
- if($("#tabProject li:eq(0)").is(":focus") || $("#txtSearchProject").is(":focus")){
- $("#btnSearch").trigger("click");
- }else if($("#tabProject li:eq(1)").is(":focus") || $("#txtSearchPublicProjects").is(":focus")){
- $("#btnSearchPublicProjects").trigger("click");
- }else if($("#tabProject li:eq(1)").is(":focus") || $("#txtSearchUsername").is(":focus")){
- $("#btnSearchUsername").trigger("click");
- }else if($("#dlgAddProject").is(":focus") || $("#projectName").is(":focus")){
- $("#btnSave").trigger("click");
- }
+ e.preventDefault();
+ if($("#tabProject li:eq(0)").is(":focus") || $("#txtSearchProject").is(":focus")){
+ $("#btnSearch").trigger("click");
+ }else if($("#tabProject li:eq(1)").is(":focus") || $("#txtSearchPublicProjects").is(":focus")){
+ $("#btnSearchPublicProjects").trigger("click");
+ }else if($("#tabProject li:eq(1)").is(":focus") || $("#txtSearchUsername").is(":focus")){
+ $("#btnSearchUsername").trigger("click");
+ }else if($("#dlgAddProject").is(":focus") || $("#projectName").is(":focus")){
+ $("#btnSave").trigger("click");
+ }
}
});
-
+
function listProject(projectName, isPublic){
currentPublic = isPublic;
$.when(
new AjaxUtil({
- url: "/api/projects?is_public=" + isPublic + "&project_name=" + (projectName == null ? "" : projectName) + "×tamp=" + new Date().getTime(),
- type: "get",
- success: function(data, status, xhr){
- $("#tblProject tbody tr").remove();
- $.each(data || [], function(i, e){
- var row = '' +
- '' + e.name + ' ' +
- '' + moment(new Date(e.creation_time)).format("YYYY-MM-DD HH:mm:ss") + ' ';
- if(e.Public == 1 && e.Togglable){
- row += '' + i18n.getMessage("button_on")+ ' '
- } else if (e.Public == 1) {
- row += '' + i18n.getMessage("button_on")+ ' ';
- } else if (e.Public == 0 && e.Togglable) {
- row += '' + i18n.getMessage("button_off")+ ' ';
- } else if (e.Public == 0) {
- row += '' + i18n.getMessage("button_off")+ ' ';
- row += ' ';
- }
- $("#tblProject tbody").append(row);
- });
- }
- }).exec())
+ url: "/api/projects?is_public=" + isPublic + "&project_name=" + (projectName == null ? "" : projectName) + "×tamp=" + new Date().getTime(),
+ type: "get",
+ success: function(data, status, xhr){
+ $("#tblProject tbody tr").remove();
+ $.each(data || [], function(i, e){
+ var row = '' +
+ '' + e.name + ' ' +
+ '' + moment(new Date(e.creation_time)).format("YYYY-MM-DD HH:mm:ss") + ' ';
+ if(e.public == 1 && e.Togglable){
+ row += '' + i18n.getMessage("button_on")+ ' '
+ } else if (e.public == 1) {
+ row += '' + i18n.getMessage("button_on")+ ' ';
+ } else if (e.public == 0 && e.Togglable) {
+ row += '' + i18n.getMessage("button_off")+ ' ';
+ } else if (e.public == 0) {
+ row += '' + i18n.getMessage("button_off")+ ' ';
+ row += ' ';
+ }
+ $("#tblProject tbody").append(row);
+ });
+ }
+ }).exec())
.done(function() {
- $("#tblProject tbody tr :button").on("click", function(){
- var projectId = $(this).attr("projectid");
- var self = this;
- new AjaxUtil({
- url: "/api/projects/" + projectId,
- data: {"public": ($(self).hasClass("btn-success") ? false : true)},
- type: "put",
- complete: function(jqXhr, status) {
+ $("#tblProject tbody tr :button").on("click", function(){
+ var projectId = $(this).attr("projectid");
+ var self = this;
+ new AjaxUtil({
+ url: "/api/projects/" + projectId,
+ data: {"public": ($(self).hasClass("btn-success") ? false : true)},
+ type: "put",
+ complete: function(jqXhr, status) {
if($(self).hasClass("btn-success")){
$(self).removeClass("btn-success").addClass("btn-danger");
$(self).html(i18n.getMessage("button_off"));
@@ -88,9 +88,9 @@ jQuery(function(){
$(self).html(i18n.getMessage("button_on"));
}
}
- }).exec();
- });
- });
+ }).exec();
+ });
+ });
}
listProject(null, 0);
var currentPublic = 0;
@@ -119,7 +119,7 @@ jQuery(function(){
$("#projectName").val("");
$("#projectName").parent().addClass("has-feedback");
$("#projectName").siblings("span").removeClass("glyphicon-warning-sign").removeClass("glyphicon-ok");
- $("#isPublic").prop('checked', false);
+ $("#isPublic").prop('checked', false);
});
$("#btnSave").on("click", function(){
@@ -161,9 +161,9 @@ jQuery(function(){
$("#tblUser tbody tr").remove();
$.each(data || [], function(i, e){
var row = '' +
- '' + e.username + ' ' +
- '' + e.email + ' ';
- if(e.HasAdminRole == 1){
+ '' + e.username + ' ' +
+ '' + e.email + ' ';
+ if(e.has_admin_role == 1){
row += '' + i18n.getMessage("button_on") + ' ';
} else {
row += '' + i18n.getMessage("button_off") + ' ';
@@ -174,39 +174,39 @@ jQuery(function(){
});
}
}).exec()
- ).done(function(){
- $("#tblUser tbody tr :button").on("click",function(){
- var userId = $(this).attr("userid");
- var self = this;
- new AjaxUtil({
- url: "/api/users/" + userId,
- type: "put",
- complete: function(jqXhr, status){
- if(jqXhr && jqXhr.status == 200){
- if($(self).hasClass("btn-success")){
- $(self).removeClass("btn-success").addClass("btn-danger");
- $(self).html(i18n.getMessage("button_off"));
- }else{
- $(self).removeClass("btn-danger").addClass("btn-success");
- $(self).html(i18n.getMessage("button_on"));
- }
- }
- }
- }).exec();
- });
- $("#tblUser tbody tr").on("mouseover", function(){
- $(".tdDeleteUser", this).css({"visibility":"visible"});
- }).on("mouseout", function(){
- $(".tdDeleteUser", this).css({"visibility":"hidden"});
- });
- $("#tblUser tbody tr .tdDeleteUser").on("click", function(){
- var userId = $(this).attr("userid");
- $("#dlgModal")
+ ).done(function(){
+ $("#tblUser tbody tr :button").on("click",function(){
+ var userId = $(this).attr("userid");
+ var self = this;
+ new AjaxUtil({
+ url: "/api/users/" + userId,
+ type: "put",
+ complete: function(jqXhr, status){
+ if(jqXhr && jqXhr.status == 200){
+ if($(self).hasClass("btn-success")){
+ $(self).removeClass("btn-success").addClass("btn-danger");
+ $(self).html(i18n.getMessage("button_off"));
+ }else{
+ $(self).removeClass("btn-danger").addClass("btn-success");
+ $(self).html(i18n.getMessage("button_on"));
+ }
+ }
+ }
+ }).exec();
+ });
+ $("#tblUser tbody tr").on("mouseover", function(e){
+ $(".tdDeleteUser", this).css({"visibility":"visible"});
+ }).on("mouseout", function(e){
+ $(".tdDeleteUser", this).css({"visibility":"hidden"});
+ });
+ $("#tblUser tbody tr .tdDeleteUser").on("click", function(e){
+ var userId = $(this).attr("userid");
+ $("#dlgModal")
.dialogModal({
"title": i18n.getMessage("delete_user"),
"content": i18n.getMessage("are_you_sure_to_delete_user") + $(this).attr("username") + " ?",
"enableCancel": true,
- "callback": function(){
+ "callback": function(){
new AjaxUtil({
url: "/api/users/" + userId,
type: "delete",
@@ -218,17 +218,18 @@ jQuery(function(){
error: function(jqXhr){}
}).exec();
}
+ });
+
});
});
+ }
+ listUserAdminRole(null);
+ $("#btnSearchUsername").on("click", function(){
+ var username = $("#txtSearchUsername").val();
+ if($.trim(username).length == 0){
+ username = null;
+ }
+ listUserAdminRole(username);
});
}
- listUserAdminRole(null);
- $("#btnSearchUsername").on("click", function(){
- var username = $("#txtSearchUsername").val();
- if($.trim(username).length == 0){
- username = null;
- }
- listUserAdminRole(username);
- });
- }
-})
+ })
diff --git a/static/resources/js/register.js b/static/resources/js/register.js
index 3fa2882b4..397087c01 100644
--- a/static/resources/js/register.js
+++ b/static/resources/js/register.js
@@ -30,14 +30,14 @@ jQuery(function(){
$("#btnPageSignUp").on("click", function(){
validateOptions.Validate(function() {
- var username = $.trim($("#Username").val());
- var email = $.trim($("#Email").val());
- var password = $.trim($("#Password").val());
- var confirmedPassword = $.trim($("#ConfirmedPassword").val());
- var realname = $.trim($("#Realname").val());
- var comment = $.trim($("#Comment").val());
- var isAdmin = $("#isAdmin").val();
-
+ var username = $.trim($("#Username").val());
+ var email = $.trim($("#Email").val());
+ var password = $.trim($("#Password").val());
+ var confirmedPassword = $.trim($("#ConfirmedPassword").val());
+ var realname = $.trim($("#Realname").val());
+ var comment = $.trim($("#Comment").val());
+ var isAdmin = $("#isAdmin").val();
+
new AjaxUtil({
url : "/api/users",
data: {"username": username, "password": password, "realname": realname, "comment": comment, "email": email},
@@ -47,29 +47,29 @@ jQuery(function(){
},
error:function(jqxhr, status, error){
$("#dlgModal")
- .dialogModal({
- "title": i18n.getMessage("title_sign_up"),
- "content": i18n.getMessage("internal_error"),
- "callback": function(){
- return;
- }
- });
+ .dialogModal({
+ "title": i18n.getMessage("title_sign_up"),
+ "content": i18n.getMessage("internal_error"),
+ "callback": function(){
+ return;
+ }
+ });
},
complete: function(xhr, status){
$("#btnPageSignUp").prop("disabled", false);
if(xhr && xhr.status == 201){
$("#dlgModal")
- .dialogModal({
- "title": isAdmin == "true" ? i18n.getMessage("title_add_user") : i18n.getMessage("title_sign_up"),
- "content": isAdmin == "true" ? i18n.getMessage("added_user_successfully") : i18n.getMessage("registered_successfully"),
- "callback": function(){
- if(isAdmin == "true") {
- document.location = "/registry/project";
- }else{
- document.location = "/signIn";
- }
+ .dialogModal({
+ "title": isAdmin == "true" ? i18n.getMessage("title_add_user") : i18n.getMessage("title_sign_up"),
+ "content": isAdmin == "true" ? i18n.getMessage("added_user_successfully") : i18n.getMessage("registered_successfully"),
+ "callback": function(){
+ if(isAdmin == "true") {
+ document.location = "/registry/project";
+ }else{
+ document.location = "/signIn";
}
- });
+ }
+ });
}
}
}).exec();
diff --git a/static/resources/js/reset-password.js b/static/resources/js/reset-password.js
index 0a3efc566..a6c504f48 100644
--- a/static/resources/js/reset-password.js
+++ b/static/resources/js/reset-password.js
@@ -17,11 +17,11 @@ jQuery(function(){
$("#Password,#ConfirmedPassword").on("blur", validateCallback);
validateOptions.Items = ["#Password", "#ConfirmedPassword"];
- function bindEnterKey(){
+ function bindEnterKey(){
$(document).on("keydown", function(e){
if(e.keyCode == 13){
- e.preventDefault();
- $("#btnSubmit").trigger("click");
+ e.preventDefault();
+ $("#btnSubmit").trigger("click");
}
});
}
@@ -30,7 +30,6 @@ jQuery(function(){
}
bindEnterKey();
-
var spinner = new Spinner({scale:1}).spin();
$("#btnSubmit").on("click", function(){
@@ -42,20 +41,20 @@ jQuery(function(){
"type": "post",
"data": {"reset_uuid": resetUuid, "password": password},
"beforeSend": function(e){
- unbindEnterKey();
- $("h1").append(spinner.el);
- $("#btnSubmit").prop("disabled", true);
+ unbindEnterKey();
+ $("h1").append(spinner.el);
+ $("#btnSubmit").prop("disabled", true);
},
"success": function(data, status, xhr){
if(xhr && xhr.status == 200){
$("#dlgModal")
- .dialogModal({
- "title": i18n.getMessage("title_reset_password"),
- "content": i18n.getMessage("reset_password_successfully"),
- "callback": function(){
- document.location="/signIn";
- }
- });
+ .dialogModal({
+ "title": i18n.getMessage("title_reset_password"),
+ "content": i18n.getMessage("reset_password_successfully"),
+ "callback": function(){
+ document.location="/signIn";
+ }
+ });
}
},
@@ -66,14 +65,14 @@ jQuery(function(){
"error": function(jqXhr, status, error){
if(jqXhr){
$("#dlgModal")
- .dialogModal({
- "title": i18n.getMessage("title_reset_password"),
- "content": i18n.getMessage(jqXhr.responseText),
- "callback": function(){
- bindEnterKey();
- return;
- }
- });
+ .dialogModal({
+ "title": i18n.getMessage("title_reset_password"),
+ "content": i18n.getMessage(jqXhr.responseText),
+ "callback": function(){
+ bindEnterKey();
+ return;
+ }
+ });
}
}
});
diff --git a/static/resources/js/search.js b/static/resources/js/search.js
index 5284866f9..e0158baa8 100644
--- a/static/resources/js/search.js
+++ b/static/resources/js/search.js
@@ -60,12 +60,12 @@ jQuery(function(){
$.each(data, function(i, e){
var project, description, repoName;
switch(discriminator){
- case "project":
+ case "project":
project = new Project(e.id, e.name, e.public);
description = project.name;
repoName = "";
break;
- case "repository":
+ case "repository":
project = new Project(e.project_id, e.project_name, e.project_public);
description = e.repository_name;
repoName = e.repository_name.substring(e.repository_name.lastIndexOf("/") + 1);
diff --git a/static/resources/js/sign-in.js b/static/resources/js/sign-in.js
index 1602a6b04..2aaa24c5f 100644
--- a/static/resources/js/sign-in.js
+++ b/static/resources/js/sign-in.js
@@ -56,7 +56,7 @@ jQuery(function(){
success: function(jqXhr, status){
var lastUri = location.search;
if(lastUri != "" && lastUri.indexOf("=") > 0){
- document.location = decodeURIComponent(lastUri.split("=")[1]);
+ document.location = decodeURIComponent(lastUri.split("=")[1]);
}else{
document.location = "/registry/project";
}
@@ -69,10 +69,10 @@ jQuery(function(){
i18nKey = "check_your_username_or_password"
}
$("#dlgModal")
- .dialogModal({
- "title": i18n.getMessage("title_login_failed"),
- "content": i18n.getMessage(i18nKey)
- });
+ .dialogModal({
+ "title": i18n.getMessage("title_login_failed"),
+ "content": i18n.getMessage(i18nKey)
+ });
}
});
});
diff --git a/static/resources/js/validate-options.js b/static/resources/js/validate-options.js
index 34f28ead9..492366ca7 100644
--- a/static/resources/js/validate-options.js
+++ b/static/resources/js/validate-options.js
@@ -26,18 +26,18 @@ var validateOptions = {
"Username" :{
"Required": { "value" : true, "errMsg" : i18n.getMessage("username_is_required")},
"CheckExist": { "value" : function(value){
- var result = true;
- $.ajax({
- url: "/userExists",
- data: {"target": "username", "value" : value},
+ var result = true;
+ $.ajax({
+ url: "/userExists",
+ data: {"target": "username", "value" : value},
dataType: "json",
- type: "post",
- async: false,
- success: function(data){
- result = data;
- }
- });
- return result;
+ type: "post",
+ async: false,
+ success: function(data){
+ result = data;
+ }
+ });
+ return result;
}, "errMsg" : i18n.getMessage("username_has_been_taken")},
"MaxLength": {"value" : 20, "errMsg" : i18n.getMessage("username_is_too_long")},
"IllegalChar": {"value": [",","~","#", "$", "%"] , "errMsg": i18n.getMessage("username_contains_illegal_chars")}
@@ -45,40 +45,40 @@ var validateOptions = {
"Email" :{
"Required": { "value" : true, "errMsg" : i18n.getMessage("email_is_required")},
"RegExp": {"value": /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
- "errMsg": i18n.getMessage("email_contains_illegal_chars")},
+ "errMsg": i18n.getMessage("email_contains_illegal_chars")},
"CheckExist": { "value" : function(value){
- var result = true;
- $.ajax({
- url: "/userExists",
- data: {"target": "email", "value": value},
- dataType: "json",
- type: "post",
- async: false,
- success: function(data){
- result = data;
- }
- });
- return result;
- }, "errMsg" : i18n.getMessage("email_has_been_taken")}
+ var result = true;
+ $.ajax({
+ url: "/userExists",
+ data: {"target": "email", "value": value},
+ dataType: "json",
+ type: "post",
+ async: false,
+ success: function(data){
+ result = data;
+ }
+ });
+ return result;
+ }, "errMsg" : i18n.getMessage("email_has_been_taken")}
},
"EmailF" :{
"Required": { "value" : true, "errMsg" : i18n.getMessage("email_is_required")},
"RegExp": {"value": /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
- "errMsg": i18n.getMessage("email_content_illegal")},
+ "errMsg": i18n.getMessage("email_content_illegal")},
"CheckIfNotExist": { "value" : function(value){
- var result = true;
- $.ajax({
- url: "/userExists",
- data: {"target": "email", "value": value},
- dataType: "json",
- type: "post",
- async: false,
- success: function(data){
- result = data;
- }
- });
- return result;
- }, "errMsg" : i18n.getMessage("email_does_not_exist")}
+ var result = true;
+ $.ajax({
+ url: "/userExists",
+ data: {"target": "email", "value": value},
+ dataType: "json",
+ type: "post",
+ async: false,
+ success: function(data){
+ result = data;
+ }
+ });
+ return result;
+ }, "errMsg" : i18n.getMessage("email_does_not_exist")}
},
"Realname" :{
"Required": { "value" : true, "errMsg" : i18n.getMessage("realname_is_required")},
@@ -119,7 +119,7 @@ function validateCallback(target){
var currentId = $(target).attr("id");
var validateItem = validateOptions[currentId];
- var errMsg = "";
+ var errMsg = "";
for(var checkTitle in validateItem){
diff --git a/views/change-password.tpl b/views/change-password.tpl
index cdcbdb9a5..9dfa50494 100644
--- a/views/change-password.tpl
+++ b/views/change-password.tpl
@@ -16,32 +16,32 @@
diff --git a/views/forgot-password.tpl b/views/forgot-password.tpl
index 64f8656b7..0a2738479 100644
--- a/views/forgot-password.tpl
+++ b/views/forgot-password.tpl
@@ -19,19 +19,19 @@
{{i18n .Lang "title_forgot_password"}}
diff --git a/views/index.tpl b/views/index.tpl
index e92eaa5cb..dec019fb1 100644
--- a/views/index.tpl
+++ b/views/index.tpl
@@ -13,25 +13,25 @@
limitations under the License.
-->
-
-
-
-
{{i18n .Lang "index_title"}}
-
-
+
+
+
+
{{i18n .Lang "index_title"}}
+
+
-
-
-
-
-
{{i18n .Lang "index_desc"}}
-
{{i18n .Lang "index_desc_0"}}
-
{{i18n .Lang "index_desc_1"}}
-
{{i18n .Lang "index_desc_2"}}
-
{{i18n .Lang "index_desc_3"}}
-
{{i18n .Lang "index_desc_4"}}
-
{{i18n .Lang "index_desc_5"}}
-
-
-
+
+
+
+
+
{{i18n .Lang "index_desc"}}
+
{{i18n .Lang "index_desc_0"}}
+
{{i18n .Lang "index_desc_1"}}
+
{{i18n .Lang "index_desc_2"}}
+
{{i18n .Lang "index_desc_3"}}
+
{{i18n .Lang "index_desc_4"}}
+
{{i18n .Lang "index_desc_5"}}
+
+
+
\ No newline at end of file
diff --git a/views/item-detail.tpl b/views/item-detail.tpl
index e9cdb2753..cce2c2aa3 100644
--- a/views/item-detail.tpl
+++ b/views/item-detail.tpl
@@ -18,7 +18,7 @@
{{.ProjectName}}