Author: clong
Date: 2006-08-11 08:57:28 -0500 (Fri, 11 Aug 2006)
New Revision: 3555
Added:
django/branches/per-object-permissions/django/contrib/admin/media/js/row_level_permission_ajax.js
Modified:
django/branches/per-object-permissions/django/contrib/admin/media/js/row_level_permission.js
django/branches/per-object-permissions/django/contrib/admin/templates/admin/row_level_permission.html
Log:
[per-object-permissions] Separated the AJAX javascript from the non-AJAX JS
Modified:
django/branches/per-object-permissions/django/contrib/admin/media/js/row_level_permission.js
===================================================================
---
django/branches/per-object-permissions/django/contrib/admin/media/js/row_level_permission.js
2006-08-11 07:01:29 UTC (rev 3554)
+++
django/branches/per-object-permissions/django/contrib/admin/media/js/row_level_permission.js
2006-08-11 13:57:28 UTC (rev 3555)
@@ -1,238 +1,6 @@
-var add_row_level_permission = {
- init: function() {
- // Grab the elements we’ll 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.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.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.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.add_delete_listener(delete_link);
- row_level_permission.add_apply_listener(form);
-
- return newRow;
- },
-};
-
var row_level_permission = {
- init: function() {
- row_level_permission.results_div =
document.getElementById("rlpResults");
- row_level_permission.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.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.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.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.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.edit_table;
- table.removeChild(row);
- });
- row_fade_out.animate();
- } else {
- result_fade_out =
row_level_permission.output_errort(response_obj.text,
-
row_level_permission.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.output_text(text, div);
- },
-
- output_success: function(text, div){
- YAHOO.util.Dom.replaceClass(div, "errornote", "system-message");
- return row_level_permission.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.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.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.output_errort(response_obj.text,
-
row_level_permission.results_div);
- }
- result_fade_out.animate();
- },
- failure: function(o)
- {
- alert('An error has occurred');
- }
- },
-
copyToNew: function (id)
{
var newForm = add_row_level_permission.form;
Added:
django/branches/per-object-permissions/django/contrib/admin/media/js/row_level_permission_ajax.js
===================================================================
---
django/branches/per-object-permissions/django/contrib/admin/media/js/row_level_permission_ajax.js
(rev 0)
+++
django/branches/per-object-permissions/django/contrib/admin/media/js/row_level_permission_ajax.js
2006-08-11 13:57:28 UTC (rev 3555)
@@ -0,0 +1,250 @@
+var add_row_level_permission = {
+ init: function() {
+ // Grab the elements we’ll 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);
\ No newline at end of file
Modified:
django/branches/per-object-permissions/django/contrib/admin/templates/admin/row_level_permission.html
===================================================================
---
django/branches/per-object-permissions/django/contrib/admin/templates/admin/row_level_permission.html
2006-08-11 07:01:29 UTC (rev 3554)
+++
django/branches/per-object-permissions/django/contrib/admin/templates/admin/row_level_permission.html
2006-08-11 13:57:28 UTC (rev 3555)
@@ -1,32 +1,17 @@
{% 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/lib/YahooUI/logger/logger-debug.js" %}
+{% include_admin_script "js/row_level_permission_ajax.js" %}
+{% comment %}End of AJAX{% endcomment %}
+
{% include_admin_script "js/row_level_permission.js" %}
-<link rel="stylesheet" type="text/css"
href="/media/js/lib/YahooUI/logger/logger.css" />
-<script type="text/javascript">
-
-function init() {
- add_row_level_permission.init();
- row_level_permission.init();
-
- forms = document.forms;
- for(var i=0; i<forms.length; i++) {
- forms[i].reset;
- }
-
-
row_level_permission.add_delete_listener(YAHOO.util.Dom.getElementsByClassName(
"deleteLink", 'a'));
-
row_level_permission.add_apply_listener(YAHOO.util.Dom.getElementsByClassName(
"editRLPForm", 'form'));
-}
-
-YAHOO.util.Event.addListener(window, 'load', init);
-</script>
-
<h1>{% trans "Row Level Permissions" %}</h1>
<div id="rlpResults">
</div>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates
-~----------~----~----~----~------~----~------~--~---