fix for edit module and stuff

This commit is contained in:
Harry Bomrah 2015-01-08 19:00:32 +08:00
parent ddb0432cdf
commit 70644e2739
2 changed files with 103 additions and 72 deletions

View File

@ -16,21 +16,21 @@
<% else %>
<% @registered_modules.each do |rm| %>
<tr>
<td><%= rm.name %></td>
<td width="20%"><%= rm.name %></td>
<% if rm.category.nil? %>
<td>No category assigned.</td>
<td width="20%">No category assigned.</td>
<% else %>
<td><%= rm.category.title %></td>
<td width="20%"><%= rm.category.title %></td>
<% end %>
<% user = User.find(rm.create_user_id) %>
<td><%= user.name rescue user.user_name %></td>
<td width="20%"><%= user.name rescue user.user_name %></td>
<% if rm.approved %>
<td>
<a class="btn btn-small btn-info action-btns" data-id="<%= rm.id.to_s %>" href="/admin/admin_modules/install_site_list?id=<%= rm.id.to_s %>" for="installation">Install</a>
<a class="btn btn-small btn-danger action-btns" data-id="<%= rm.id.to_s %>" href="/admin/admin_modules/uninstall_site_list?id=<%= rm.id.to_s %>" for="uninstallation">Uninstall</a>
<a class="btn btn-small btn-warning action-btns" data-id="<%= rm.id.to_s %>" href="/admin/admin_modules/revokelist?id=<%= rm.id.to_s %>" for="revoke_access">Revoke Access</a>
<a class="btn btn-small btn-success action-btns" data-id="<%= rm.id.to_s %>" href="/admin/admin_modules/grantlist?id=<%= rm.id.to_s %>" for="grant_access">Grant Access</a>
<a class="btn btn-small" href="/admin/admin_modules/approve?module_id=<%= rm.id.to_s %>" data-toggle="modal" data-target="#approveModal">Edit</a>
<a class="btn btn-small" href="/admin/admin_modules/approve?module_id=<%= rm.id.to_s %>" data-toggle="modal" data-target="#editModal">Edit</a>
</td>
<% else %>
<td>

View File

@ -15,6 +15,19 @@
<button class="btn btn-primary" id="approveModuleBtn">Approve</button>
</div>
</div>
<div id="editModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Edit Module</h3>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary" id="editModuleBtn">Save</button>
</div>
</div>
<div id="actionsModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
@ -39,83 +52,101 @@
}).done(function(data){
$("#index_table").html(data);
$("#approveModal").modal("hide");
bindHandlers();
})
}
})
})
var actionsModal = $("#actionsModal");
var btn_type = null;
var module_id = null;
$(".action-btns").on("click",function(){
btn_type = $(this).attr("for");
module_id = $(this).data("id");
$.ajax({
"url" : $(this).attr("href"),
"type" : "get",
"dataType" : "html"
}).done(function(data){
actionsModal.find(".modal-body").html(data);
actionsModal.modal("show");
changeModalTitle(btn_type);
$("#editModuleBtn").on("click",function(){
$("#approveSiteForm").ajaxSubmit({
success : function(){
$.ajax({
"url" : "/admin/admin_modules",
"dataType" : "html",
"type" : "get"
}).done(function(data){
$("#index_table").html(data);
$("#editModal").modal("hide");
bindHandlers();
})
}
})
return false;
})
$("#submitModalBtn").on("click",function(){
var websites = [],
url = null;
actionsModal.find("input[type=checkbox]:checked").each(function(){
websites.push($(this).val());
})
switch(btn_type){
case "installation":
url = "/admin/admin_modules/install";
break;
case "uninstallation":
url = "/admin/admin_modules/uninstall";
break;
case "revoke_access":
url = "/admin/admin_modules/revoke";
break;
case "grant_access":
url = "/admin/admin_modules/grant";
break;
}
if(websites.length > 0 && confirm("Are you sure?")){
var bindHandlers = function(){
var actionsModal = $("#actionsModal");
var btn_type = null;
var module_id = null;
$(".action-btns").on("click",function(){
btn_type = $(this).attr("for");
module_id = $(this).data("id");
$.ajax({
"url" : url,
"data" : {"websites" : websites,"module" : module_id},
"dataType" : "json",
"type" : "post"
}).done(function(){
actionsModal.modal("hide");
"url" : $(this).attr("href"),
"type" : "get",
"dataType" : "html"
}).done(function(data){
actionsModal.find(".modal-body").html(data);
actionsModal.modal("show");
changeModalTitle(btn_type);
})
}
})
return false;
})
var changeModalTitle = function(type){
var title = "",
btn_title = "";
switch(type){
case "installation":
title = "Select the sites to install this module.";
btn_title = "Install";
break;
case "uninstallation":
title = "Select the sites to unistall this module.";
btn_title = "Uninstall";
break;
case "revoke_access":
title = "Select the sites to revoke the access.";
btn_title = "Revoke";
break;
case "grant_access":
title = "Select the sites to grant the access.";
btn_title = "Grant";
break;
$("#submitModalBtn").on("click",function(){
var websites = [],
url = null;
actionsModal.find("input[type=checkbox]:checked").each(function(){
websites.push($(this).val());
})
switch(btn_type){
case "installation":
url = "/admin/admin_modules/install";
break;
case "uninstallation":
url = "/admin/admin_modules/uninstall";
break;
case "revoke_access":
url = "/admin/admin_modules/revoke";
break;
case "grant_access":
url = "/admin/admin_modules/grant";
break;
}
if(websites.length > 0 && confirm("Are you sure?")){
$.ajax({
"url" : url,
"data" : {"websites" : websites,"module" : module_id},
"dataType" : "json",
"type" : "post"
}).done(function(){
actionsModal.modal("hide");
})
}
})
var changeModalTitle = function(type){
var title = "",
btn_title = "";
switch(type){
case "installation":
title = "Select the sites to install this module.";
btn_title = "Install";
break;
case "uninstallation":
title = "Select the sites to unistall this module.";
btn_title = "Uninstall";
break;
case "revoke_access":
title = "Select the sites to revoke the access.";
btn_title = "Revoke";
break;
case "grant_access":
title = "Select the sites to grant the access.";
btn_title = "Grant";
break;
}
actionsModal.find(".modal-header h3").text(title);
$("#submitModalBtn").text(btn_title);
}
actionsModal.find(".modal-header h3").text(title);
$("#submitModalBtn").text(btn_title);
}
</script>