1
0
mirror of https://github.com/django/django.git synced 2025-07-05 10:19:20 +00:00

[per-object-permissions] Removed AJAX code from branch. Will possibly be integrated in at another point.

git-svn-id: http://code.djangoproject.com/svn/django/branches/per-object-permissions@3556 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Christopher Long 2006-08-11 14:05:39 +00:00
parent 98bb076a49
commit e46e6f6a3f
2 changed files with 0 additions and 259 deletions

View File

@ -1,250 +0,0 @@
var add_row_level_permission = {
init: function() {
// Grab the elements well need.
add_row_level_permission.form = document.getElementById("addRLPForm");
add_row_level_permission.results_div = document.getElementById("rlpResults");
// This is so we can fade it in later.
YAHOO.util.Dom.setStyle(add_row_level_permission.results_div, "opacity", 0);
// Hijack the form.
YAHOO.util.Event.addListener(add_row_level_permission.form, "submit", add_row_level_permission.submit_func);
},
submit_func: function(e) {
YAHOO.util.Event.preventDefault(e);
//TODO: Remove any error messages here
YAHOO.util.Connect.setForm(add_row_level_permission.form);
//Temporarily disable the form.
for(var i=0; i<add_row_level_permission.form.elements.length; i++) {
add_row_level_permission.form.elements[i].disabled = true;
}
var cObj = YAHOO.util.Connect.asyncRequest("POST",
add_row_level_permission.form.action+"?ajax" ,
add_row_level_permission.ajax_callback);
},
ajax_callback: {
success: function(o) {
var response_obj = eval('(' + o.responseText + ')');
// Set up the animation on the results div.
var result_fade_out = null;
if(response_obj.result) {
result_fade_out = row_level_permission.output_success(response_obj.text, add_row_level_permission.results_div);
var results=response_obj.results
var new_rows = [];
var table = row_level_permission_ajax.edit_table;
for(var i=0; i<results.length; i++) {
row = add_row_level_permission.add_rlp_row(results[i].id, results[i].permission, results[i].hash);
var row_fade_in = new YAHOO.util.Anim(row, {
opacity: { from: 0, to: 100 }
}, 1, YAHOO.util.Easing.easeOut);
row_fade_in.onStart.subscribe(function() {
table.appendChild(row);
});
row_fade_in.animate();
}
} else {
result_fade_out = row_level_permission_ajax.output_error(response_obj.text,
add_row_level_permission.results_div);
}
for(var i=0; i<add_row_level_permission.form.elements.length; i++)
add_row_level_permission.form.elements[i].disabled = false;
result_fade_out.animate();
},
failure: function(o) {
alert('An error has occurred');
for(var i=0; i<add_row_level_permission.form.elements.length; i++)
add_row_level_permission.form.elements[i].disabled = false;
}
},
add_rlp_row: function(id, permission, hash) {
var emptyRow = document.getElementById('empty_editRLP');
var newRow = emptyRow.cloneNode(true);
var form = YAHOO.util.Dom.getElementsByClassName('editRLPForm', 'form', newRow);
form=form[0];
form.owner.options.selectedIndex = add_row_level_permission.form.owner.selectedIndex;
form.perm.options.selectedIndex = row_level_permission_ajax.find_in_select(form.perm, permission);
form.negative.checked =add_row_level_permission.form.negative.checked;
form.id = "editRLPForm-"+id;
newRow.id = "editRLP-"+id;
var delete_link = YAHOO.util.Dom.getElementsByClassName('deleteLink', 'a', form);
delete_link = delete_link[0];
delete_link.href = "../../../auth/row_level_permission/"+hash+"/delete/";
var copy_link = YAHOO.util.Dom.getElementsByClassName('copyToNewLink', 'a', newRow);
copy_link = copy_link[0];
copy_link.href = "javascript:row_level_permission.copyToNew("+id+")";
form.action = "../../../auth/row_level_permission/"+hash+"/change/"
row_level_permission_ajax.add_delete_listener(delete_link);
row_level_permission_ajax.add_apply_listener(form);
return newRow;
},
};
var row_level_permission_ajax = {
init: function() {
row_level_permission_ajax.results_div = document.getElementById("rlpResults");
row_level_permission_ajax.edit_table = document.getElementById('current-rlpTable');
},
find_in_select: function(select,val) {
options = select.options;
for(var i=0; i<options.length; i++) {
if(options[i].value==val) {
return i
}
}
return -1;
},
add_apply_listener: function(el) {
YAHOO.util.Event.addListener(
el,
'submit',
function(e) {
YAHOO.util.Event.preventDefault(e);
row_level_permission_ajax.applyRLP(this.action, this);
}
);
},
add_delete_listener: function(el) {
YAHOO.util.Event.addListener(
el,
'click',
function(e) {
YAHOO.util.Event.preventDefault(e);
row_level_permission_ajax.deleteRLP(this.href);
}
);
},
deleteRLP: function(url) {
var confirm_ans = confirm("Are you sure?");
if(confirm_ans)
var cObj = YAHOO.util.Connect.asyncRequest("POST",
url+"?ajax" ,
row_level_permission_ajax.delete_callback);
return false;
},
delete_callback: {
success: function(o)
{
var response_obj = eval('(' + o.responseText + ')');
// Set up the animation on the results div.
var result_fade_out = null;
if(response_obj.result) {
result_fade_out = row_level_permission_ajax.output_success(response_obj.text, document.getElementById("rlpResults"));
var row_fade_out = new YAHOO.util.Anim('editRLP-'+response_obj.id, {
opacity: { from:100, to: 0 }
}, 1, YAHOO.util.Easing.easeOut);
row_fade_out.onComplete.subscribe(function() {
var row = document.getElementById('editRLP-'+response_obj.id);
var table = row_level_permission_ajax.edit_table;
table.removeChild(row);
});
row_fade_out.animate();
} else {
result_fade_out = row_level_permission_ajax.output_errort(response_obj.text,
row_level_permission_ajax.results_div);
}
result_fade_out.animate();
},
failure: function(o)
{
alert('An error has occurred');
}
},
output_error: function(text, div){
YAHOO.util.Dom.replaceClass(div, "system-message", "errornote");
return row_level_permission_ajax.output_text(text, div);
},
output_success: function(text, div){
YAHOO.util.Dom.replaceClass(div, "errornote", "system-message");
return row_level_permission_ajax.output_text(text, div);
},
output_text: function (text, div) {
var result_fade_out = new YAHOO.util.Anim(div, {
opacity: { to: 0 }
}, 0.25, YAHOO.util.Easing.easeOut);
var success_message = document.createElement('p');
success_message.innerHTML = text;
YAHOO.util.Dom.setStyle(div, 'display', 'block');
var result_fade_in = new YAHOO.util.Anim(div, {
opacity: { to: 1 }
}, 0.25, YAHOO.util.Easing.easeIn);
result_fade_out.onComplete.subscribe(function() {
div.innerHTML = '';
div.appendChild(success_message);
result_fade_in.animate();
});
return result_fade_out;
},
applyRLP: function(url, form) {
YAHOO.util.Connect.setForm(form);
var cObj = YAHOO.util.Connect.asyncRequest("POST",
url+"?ajax" ,
row_level_permission_ajax.apply_callback);
return false;
},
apply_callback: {
success: function(o)
{
var response_obj = eval('(' + o.responseText + ')');
// Set up the animation on the results div.
var result_fade_out = null;
if(response_obj.result) {
result_fade_out = row_level_permission_ajax.output_success(response_obj.text, document.getElementById("rlpResults"));
var row_highlight_on = new YAHOO.util.ColorAnim('editRLP-'+response_obj.id, {
backgroundColor: { to: 'rgb(255, 255, 204)' }
}, 1);
var row_highlight_off = new YAHOO.util.ColorAnim('editRLP-'+response_obj.id, {
backgroundColor: { to: 'rgb(255, 255, 255)' }
}, 1);
row_highlight_on.onComplete.subscribe(function() {
row_highlight_off.animate();
});
row_highlight_on.animate();
} else {
result_fade_out = row_level_permission_ajax.output_errort(response_obj.text,
row_level_permission_ajax.results_div);
}
result_fade_out.animate();
},
failure: function(o)
{
alert('An error has occurred');
}
},
};
function init() {
add_row_level_permission.init();
row_level_permission_ajax.init();
forms = document.forms;
for(var i=0; i<forms.length; i++) {
forms[i].reset;
}
row_level_permission_ajax.add_delete_listener(YAHOO.util.Dom.getElementsByClassName( "deleteLink", 'a'));
row_level_permission_ajax.add_apply_listener(YAHOO.util.Dom.getElementsByClassName( "editRLPForm", 'form'));
}
YAHOO.util.Event.addListener(window, 'load', init);

View File

@ -1,14 +1,5 @@
{% load i18n admin_modify %} {% load i18n admin_modify %}
{% comment %}Start of AJAX{% endcomment %}
{% include_admin_script "js/lib/YahooUI/yahoo/yahoo-debug.js" %}
{% include_admin_script "js/lib/YahooUI/event/event-debug.js" %}
{% include_admin_script "js/lib/YahooUI/connection/connection-debug.js" %}
{% include_admin_script "js/lib/YahooUI/dom/dom-debug.js" %}
{% include_admin_script "js/lib/YahooUI/animation/animation-debug.js" %}
{% include_admin_script "js/row_level_permission_ajax.js" %}
{% comment %}End of AJAX{% endcomment %}
{% include_admin_script "js/row_level_permission.js" %} {% include_admin_script "js/row_level_permission.js" %}